Element_Library > Frame_Elements > DistrInelastic > Dinel3dFrm_EBwFF


Dinel3dFrm_EBwFF

Purpose

3d-frame element with distributed inelasticity (iterative force formulation)

Synopsis

ElemResp = Dinel3dFrm_EBwFF (action,el_no,xyz,ElemData,ElemState)

Description

DINEL3dFRM_EBwITERFF 3d-frame element with distributed inelasticity (iterative force formulation)
  ELEMRESP = DINEL3dFRM_EBwITERFF (ACTION,EL_NO,XYZ,ELEMDATA,ELEMSTATE)
  function determines the response of 3d frame element with distributed inelasticity for any
           type of section and material under linear and nonlinear geometry;
           iterative force formulation with small deformations
           reference: Spacone/Filippou/Taucer IJSDEE, Vol.25, No.7, July 1996, pp. 711-725
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  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
        Tol     = relative tolerance for convergence of state determination (10^-16)
        MaxIter = maximum number of iterations for state convergence (15)
        SubDivNo= number of element deformation subdivisions (5)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  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
  • 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
This function is called by: