Dinel3dFrm_EBwDF
Purpose
Euler-Bernoulli 3d-frame element with distributed inelasticity (displacement formulation)
Synopsis
ElemResp = Dinel3dFrm_EBwDF (action,el_no,xyz,ElemData,ElemState)
Description
DINEL3DFRM_EBwDF Euler-Bernoulli 3d-frame element with distributed inelasticity (displacement formulation) ELEMRESP = DINEL3DFRM_EBwDF (ACTION,EL_NO,XYZ,ELEMDATA,ELEMSTATE) function determines the response of a Euler-Bernoulli 3d frame element with distributed inelasticity for any type of section and material under linear and nonlinear geometry; Displacement formulation with small deformations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When the character variable ACTION has one of the following values, the function performs the listed operations and returns the results in ELEMRESP: ACTION = 'size': report size of element arrays 'chec': check element property data for omissions and assign default values 'init': initialize element history variables 'forc': report element resisting forces 'stif': report element stiffness matrix and resisting forces 'mass': report lumped mass vector and consistent mass matrix 'post': report post-processing information 'defo': report function handle for deformed shape ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The data structure ELEMRESP stands for the following data object(s) for each ACTION: ELEMRESP = ARSZ for action = 'size' ELEMRESP = ELEMDATA for action = 'chec' ELEMRESP = ELEMSTATE for action = 'init' ELEMRESP = ELEMSTATE for action = 'stif' ELEMRESP = ELEMSTATE for action = 'forc' ELEMRESP = ELEMMASS for action = 'mass' ELEMRESP = ELEMPOST for action = 'post' ELEMRESP = FunHandle for action = 'defo' ELEMRESP is empty for unsupported keywords ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ARSZ is an Boolean array of size NDF x NEN, where NDF = number of DOFs/node, NEN = number of nodes, with unit values corresponding to the active element DOFs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ELEMDATA is a data structure with element property information in fields Geom = character variable for geometric transformation of node variables (linear, PDelta or corotational) (default=linear) yornt = y-axis orientation in global reference system (x, y, z) w = uniform element loads LdId = load history no for element local loading in direction of Px, Py, Pz, Mt, My and Mz MR = moment release code (0=cont,1=hinge) (default=[0;0;0;0]) rho = mass density JntOff = rigid joint offsets in global X, Y, Z at element ends; column 1 for node i, column 2 for node j SecName = function name for section s-e response SecData{i} = section property data at integration point i (see function with SecName) nIP = number of integration points IntTyp = function name for element integration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ELEMSTATE is a data structure with the current element state; it has the fields u = vector of total element displacements in global reference Du = vector of element displacement increments from last convergence DDu = vector of element displacement increments from last iteration ke = element stiffness matrix in global reference; updated under ACTION = 'stif' p = element resisting force vector in global reference; updated under ACTION = 'stif' or 'forc' Past = element history variables at last converged state Pres = current element history variables lamda = row vector of current load factor(s) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ELEMPOST is a data structure with element response information for post-processing in fields v = element deformations q = element basic forces Sec{i} = section response information at integration point i (see function with SecName)
Cross-Reference Information
This function calls:
- ElementLoading determines current distributed element load value
- ExtrReshu extracts displacements and increments from State and reshapes into array
- Check3dFrmAxes check that y-axis is not co-linear with element chord
- Extract_BasicEl2SecState extract section state from basic element state
- ElmLenOr element length and x-axis orientation (direction cosines)
- GeomTran_3dFrm kinematic matrices and deformations for a 2-node 3d frame element
- kg_3dFrm geometric stiffness matrix for 2-node 3d frame element different options