elm.h File Reference

#include "node.h"
#include "load.h"

Include dependency graph for elm.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _rezone
struct  _tensor
struct  _ptensor
struct  _derivrst
struct  _order
struct  _element
struct  _elmclass

Defines

#define ElmInit(type)
#define ElmNew(type, label, matid, itord, tckid, elm, list, n)
#define ElmFree(elm)
#define ElmRead(elm)
#define ElmReadInitStress(elm)
#define ElmReadProfile(elm)
#define ElmMass(elm, mm)
#define ElmRigidCoeff(elm)   (*ElmClass[elm->type].rigidcoeff)( elm )
#define ElmLoad(elm, type, key, noi, noj, nok, nol, q1x, q1y, q1z, q2x, q2y, q2z, q3x, q3y, q3z, q4x, q4y, q4z)
#define ElmConnect(elm, conn)
#define ElmSetConnect(elm, conn)
#define ElmUpdateConnect(elm)
#define ElmNumNodes(elm, num)
#define ElmGravity(elm, qx, qy, qz)
#define ElmAssVector(elm, gm, em)
#define ElmStressStrain(elm, dt, u, y, stre, stra)
#define ElmTimeStep(elm, dt)
#define ElmInterForce(elm, gv, ev)
#define ElmWriteStress(elm, f, u, v)
#define ElmWriteNodalResults(elm, f, t)
#define ElmWriteGaussResults(elm, f, t)
#define ElmWriteGaussVectorResults(elm, v, f, t)
#define ElmUpdateStress(elm, dt, v, str)
#define ElmPercForce(elm, pf)
#define ElmSetPressure(elm, pot)
#define ElmSetInitStress(elm, str)
#define ElmViscoForce(elm, ts, gv, ev)
#define ElmJacobian(elm, j, i)
#define ElmVolume(elm, v)
#define ElmKMatrix(elm, k)
#define ElmGetDof(elm, u, index)
#define ElmGetInc(elm, inc, index)

Typedefs

typedef _rezone sRezone
typedef _tensor sTensor
typedef _ptensor sPTensor
typedef _derivrst sDerivRST
typedef _order sOrder
typedef enum _elmtype eElmType
typedef _element sElement
typedef _elmclass sElmClass

Enumerations

enum  _elmtype {
  T3, Q4, BRICK8, TETR4,
  INFINITE, INTERFACE, LINE2, DKT,
  NumElmTypes
}

Functions

void ElementInit (void)
void ElementFree (void)
void ElementBuildAdjacence (void)
void PrincipalTensordInitStress (sTensor *, sPTensor *)
void PrincipalTensor (sTensor *tensor, sPTensor *ptensor)
void ElementOffPlaneStress (double, sTensor *)
void ElementInitTensor (sTensor *)

Variables

sOrder * IntOrder
double * Thickness
sElmClass ElmClass [NumElmTypes]
sElement ** ElmList
int NumElements
int NumIntOrder
int NumThickness
int NumRezones
sRezone * Rezone


Define Documentation

#define ElmAssVector ( elm,
gm,
em   ) 

Value:

if(ElmClass[elm->type].assvector != 0L )        \
         (*ElmClass[elm->type].assvector)( elm, gm, em )

Definition at line 241 of file elm.h.

Referenced by MassVector(), and PercolationForces().

#define ElmConnect ( elm,
conn   ) 

Value:

if(ElmClass[elm->type].connect != 0L )          \
         (*ElmClass[elm->type].connect)( elm, conn )

Definition at line 221 of file elm.h.

Referenced by _checkPointInExtrem(), _curvePolySlide(), _curveSlide(), _curveToGlobal(), _curveToLocal(), BRICK8AssVector(), ConstCurveBuild(), ConstCurveRead(), ConstShotBuild(), ConstSurfaceBuild(), DKTAssVector(), DoRezone(), ElementBuildAdjacence(), EvaluateTolerance(), INFINITEAssVector(), INTERFACEAssVector(), LINE2AssVector(), PolyInvSurf(), PrescribedValues(), Q4AssVector(), StandardVEViscoForces(), T3AssVector(), TETR4AssVector(), and UpdatePrescribedValues().

#define ElmFree ( elm   ) 

Value:

if(ElmClass[elm->type].free != 0L)              \
         (*ElmClass[elm->type].free)( elm )

Definition at line 191 of file elm.h.

Referenced by ConstCurveFree(), ConstShotFree(), ConstSurfaceFree(), and ElementFree().

#define ElmGetDof ( elm,
u,
index   ) 

Value:

if(ElmClass[elm->type].GetDof != 0L)                    \
         (*ElmClass[elm->type].GetDof)(elm,u,index)

Definition at line 305 of file elm.h.

Referenced by BuildAVector().

#define ElmGetInc ( elm,
inc,
index   ) 

Value:

if(ElmClass[elm->type].GetInc != 0L)                    \
         (*ElmClass[elm->type].GetInc)(elm,inc,index)

Definition at line 309 of file elm.h.

Referenced by BuildNodeList().

#define ElmGravity ( elm,
qx,
qy,
qz   ) 

Value:

if(ElmClass[elm->type].gravity != 0L )          \
         (*ElmClass[elm->type].gravity)( elm, qx, qy, qz )

Definition at line 237 of file elm.h.

Referenced by PrescribedValues(), and UpdatePrescribedValues().

#define ElmInit ( type   ) 

Value:

if(ElmClass[type].init != 0L)                   \
         (*ElmClass[type].init)( )

Definition at line 183 of file elm.h.

Referenced by ElementInit().

#define ElmInterForce ( elm,
gv,
ev   ) 

Value:

if(ElmClass[elm->type].intforce != 0L )         \
         (*ElmClass[elm->type].intforce)( elm, gv, ev )

Definition at line 253 of file elm.h.

Referenced by PrescribedValues().

#define ElmJacobian ( elm,
j,
i   ) 

Value:

if(ElmClass[elm->type].jacobian != 0L)                  \
         (*ElmClass[elm->type].jacobian)(elm,j,i)

Definition at line 293 of file elm.h.

Referenced by _curveSlide(), _curveToGlobal(), _curveToLocal(), ConstCurveBuild(), ConstShotBuild(), ConstShotGlobal(), ConstShotLocal(), and ConstShotSlide().

#define ElmKMatrix ( elm,
k   ) 

Value:

if(ElmClass[elm->type].KMatrix != 0L)                   \
         (*ElmClass[elm->type].KMatrix)(elm,k)

Definition at line 301 of file elm.h.

Referenced by BuildAVector().

#define ElmLoad ( elm,
type,
key,
noi,
noj,
nok,
nol,
q1x,
q1y,
q1z,
q2x,
q2y,
q2z,
q3x,
q3y,
q3z,
q4x,
q4y,
q4z   ) 

Value:

if(ElmClass[elm->type].load != 0L )                     \
         (*ElmClass[elm->type].load)( elm, type, key, noi, noj, nok, nol,       \
                                      q1x, q1y, q1z, q2x, q2y, q2z, q3x, q3y, q3z, q4x, q4y, q4z )

Definition at line 216 of file elm.h.

Referenced by PrescribedValues(), and UpdatePrescribedValues().

#define ElmMass ( elm,
mm   ) 

Value:

if(ElmClass[elm->type].mass != 0L)              \
         (*ElmClass[elm->type].mass)( elm, mm )

Definition at line 209 of file elm.h.

Referenced by MassVector().

#define ElmNew ( type,
label,
matid,
itord,
tckid,
elm,
list,
n   ) 

Value:

if(ElmClass[type].new != 0L)                    \
         (*ElmClass[type].new)( label, matid, itord, tckid, elm, list, n )

Definition at line 187 of file elm.h.

Referenced by _NfiReadElementBRICK8(), _NfiReadElementDKT(), _NfiReadElementINFINITE(), _NfiReadElementINTERFACE(), _NfiReadElementLINE2(), _NfiReadElementQ4(), _NfiReadElementT3(), _NfiReadElementTETR4(), ConstCurveRead(), ConstShotRead(), and ConstSurfaceRead().

#define ElmNumNodes ( elm,
num   ) 

Value:

if(ElmClass[elm->type].numnodes != 0L )         \
         (*ElmClass[elm->type].numnodes)( elm, num )

Definition at line 233 of file elm.h.

Referenced by ConstCurveBuild(), ConstShotBuild(), DoRezone(), ElementBuildAdjacence(), PrescribedValues(), StandardVEViscoForces(), and UpdatePrescribedValues().

#define ElmPercForce ( elm,
pf   ) 

Value:

if(ElmClass[elm->type].percforce != 0L )                \
         (*ElmClass[elm->type].percforce)( elm, pf )

Definition at line 277 of file elm.h.

Referenced by PercolationForces().

#define ElmRead ( elm   ) 

Value:

if(ElmClass[elm->type].read != 0L )             \
         (*ElmClass[elm->type].read)( elm )

Definition at line 195 of file elm.h.

Referenced by _NfiReadElementBRICK8(), _NfiReadElementDKT(), _NfiReadElementINFINITE(), _NfiReadElementINTERFACE(), _NfiReadElementLINE2(), _NfiReadElementQ4(), _NfiReadElementT3(), _NfiReadElementTETR4(), ConstCurveRead(), and ConstSurfaceRead().

#define ElmReadInitStress ( elm   ) 

Value:

(( ElmClass[elm->type].readinitstr != 0L ) ?    \
         (*ElmClass[elm->type].readinitstr)( elm ) :    \
         0 )

Definition at line 199 of file elm.h.

Referenced by _NfiReadLoadCaseDomainInitStressUni().

#define ElmReadProfile ( elm   ) 

Value:

if( ElmClass[elm->type].readprofile != 0L )     \
          (*ElmClass[elm->type].readprofile)( elm )

Definition at line 204 of file elm.h.

Referenced by _NfiReadElementProfileBRICK8(), _NfiReadElementProfileQ4(), _NfiReadElementProfileT3(), and _NfiReadElementProfileTETRA4().

#define ElmRigidCoeff ( elm   )     (*ElmClass[elm->type].rigidcoeff)( elm )

Definition at line 213 of file elm.h.

Referenced by DKTInterForce(), INTERFACEInterForce(), INTERFACEViscoForce(), LINE2InterForce(), LINE2ViscoForce(), T3InterForce(), and T3ViscoForce().

#define ElmSetConnect ( elm,
conn   ) 

Value:

if(ElmClass[elm->type].setconnect != 0L )       \
         (*ElmClass[elm->type].setconnect)( elm, conn )

Definition at line 225 of file elm.h.

Referenced by ConstCurveRead(), and ConstShotRead().

#define ElmSetInitStress ( elm,
str   ) 

Value:

if(ElmClass[elm->type].setinitstress != 0L )            \
         (*ElmClass[elm->type].setinitstress)( elm, str )

Definition at line 285 of file elm.h.

Referenced by LoadCaseAnalysis().

#define ElmSetPressure ( elm,
pot   ) 

Value:

if(ElmClass[elm->type].setpressure != 0L )              \
         (*ElmClass[elm->type].setpressure)( elm, pot )

Definition at line 281 of file elm.h.

#define ElmStressStrain ( elm,
dt,
u,
y,
stre,
stra   ) 

Value:

if(ElmClass[elm->type].strstrain != 0L )        \
         (*ElmClass[elm->type].strstrain)( elm, dt, u, y, stre, stra )

Definition at line 245 of file elm.h.

Referenced by LoadCaseAnalysis(), and StandardVEViscoForces().

#define ElmTimeStep ( elm,
dt   ) 

Value:

if(ElmClass[elm->type].timestep != 0L )         \
         (*ElmClass[elm->type].timestep)( elm, dt )

Definition at line 249 of file elm.h.

Referenced by _TimeIncrement().

#define ElmUpdateConnect ( elm   ) 

Value:

if(ElmClass[elm->type].updateconnect != 0L )    \
         (*ElmClass[elm->type].updateconnect)( elm )

Definition at line 229 of file elm.h.

Referenced by ConstCurveRead().

#define ElmUpdateStress ( elm,
dt,
v,
str   ) 

Value:

if(ElmClass[elm->type].updatestress != 0L )             \
         (*ElmClass[elm->type].updatestress)( elm, dt, v, str )

Definition at line 273 of file elm.h.

#define ElmViscoForce ( elm,
ts,
gv,
ev   ) 

Value:

if(ElmClass[elm->type].viscoforce != 0L )               \
         (*ElmClass[elm->type].viscoforce)( elm, ts, gv, ev )

Definition at line 289 of file elm.h.

Referenced by StandardVEViscoForces().

#define ElmVolume ( elm,
v   ) 

Value:

if(ElmClass[elm->type].volume != 0L)                    \
         (*ElmClass[elm->type].volume)(elm,v)

Definition at line 297 of file elm.h.

#define ElmWriteGaussResults ( elm,
f,
t   ) 

Value:

if(ElmClass[elm->type].writegauresult != 0L )           \
         (*ElmClass[elm->type].writegauresult)( elm, f, t )

Definition at line 265 of file elm.h.

Referenced by _NfiWriteResultStep().

#define ElmWriteGaussVectorResults ( elm,
v,
f,
t   ) 

Value:

if(ElmClass[elm->type].writegauvecresult != 0L )        \
         (*ElmClass[elm->type].writegauvecresult)( elm, v, f, t )

Definition at line 269 of file elm.h.

Referenced by _NfiWriteResultStep().

#define ElmWriteNodalResults ( elm,
f,
t   ) 

Value:

if(ElmClass[elm->type].writendlresult != 0L )           \
         (*ElmClass[elm->type].writendlresult)( elm, f, t )

Definition at line 261 of file elm.h.

Referenced by _NfiWriteResultStep().

#define ElmWriteStress ( elm,
f,
u,
v   ) 

Value:

if(ElmClass[elm->type].writestr != 0L )         \
         (*ElmClass[elm->type].writestr)( elm, f, u, v )

Definition at line 257 of file elm.h.

Referenced by HybridAnalysis(), HybridPrintResult(), ImpBFGSAnalysis(), ImpBFGSPrintResult(), ImpLinearAnalysis(), ImpLinearPrintResult(), ImpNRMAnalysis(), ImpNRMPrintResult(), LoadCaseAnalysis(), LoadStepAnalysis(), RezoneAnalysis(), StandardAnalysis(), StandardPrintResult(), StandardVEAnalysis(), StandardVEFlacAnalysis(), and StandardVEFlacPrintResult().


Typedef Documentation

typedef enum _elmtype eElmType

typedef struct _derivrst sDerivRST

typedef struct _element sElement

typedef struct _elmclass sElmClass

typedef struct _order sOrder

typedef struct _ptensor sPTensor

typedef struct _rezone sRezone

typedef struct _tensor sTensor


Enumeration Type Documentation

enum _elmtype

Enumerator:
T3 
Q4 
BRICK8 
TETR4 
INFINITE 
INTERFACE 
LINE2 
DKT 
NumElmTypes 

Definition at line 83 of file elm.h.


Function Documentation

void ElementBuildAdjacence ( void   ) 

Definition at line 130 of file elm.c.

References ElmConnect, ElmList, ElmNumNodes, LineForce, NumElements, and NumLineForce.

Referenced by PrescribedValues().

Here is the caller graph for this function:

void ElementFree ( void   ) 

Definition at line 109 of file elm.c.

References ElmFree, ElmList, and NumElements.

void ElementInit ( void   ) 

Definition at line 78 of file elm.c.

References BRICK8, BRICK8Init(), DKT, DKTInit(), ElmClass, ElmInit, ElmList, INFINITE, INFINITEInit(), _elmclass::init, INTERFACE, INTERFACEInit(), LINE2, LINE2Init(), NumElements, NumElmTypes, Q4, Q4Init(), T3, T3Init(), TETR4, and TETR4Init().

Referenced by _NfiReadElement().

Here is the call graph for this function:

Here is the caller graph for this function:

void ElementInitTensor ( sTensor *   ) 

Definition at line 341 of file elm.c.

References _tensor::xx, _tensor::xy, _tensor::xz, _tensor::yy, _tensor::yz, and _tensor::zz.

Referenced by INTERFACESetPressure(), LINE2SetPressure(), and T3SetPressure().

Here is the caller graph for this function:

void ElementOffPlaneStress ( double  ,
sTensor *   
)

Definition at line 323 of file elm.c.

References _ptensor::dir1, _ptensor::dir3, PrincipalTensor(), and _tensor::zz.

Referenced by LINE2StressStrain(), Q4StressStrain(), and T3StressStrain().

Here is the call graph for this function:

Here is the caller graph for this function:

void PrincipalTensor ( sTensor *  tensor,
sPTensor *  ptensor 
)

Definition at line 164 of file elm.c.

References _ptensor::cos1x, _ptensor::cos1y, _ptensor::cos1z, _ptensor::cos2x, _ptensor::cos2y, _ptensor::cos2z, _ptensor::cos3x, _ptensor::cos3y, _ptensor::cos3z, _ptensor::dir1, _ptensor::dir2, _ptensor::dir3, fn_tp(), NDof, PI, _tensor::xx, _tensor::xy, _tensor::xz, _tensor::yy, _tensor::yz, ZERO, and _tensor::zz.

Referenced by BRICK8WriteGaussResult(), BRICK8WriteGaussVectorResult(), BRICK8WriteNodalResult(), DKTWriteGaussResult(), DKTWriteGaussVectorResult(), DKTWriteNodalResult(), ElementOffPlaneStress(), INFINITEWriteGaussResult(), INFINITEWriteGaussVectorResult(), INFINITEWriteNodalResult(), LINE2WriteGaussResult(), LINE2WriteGaussVectorResult(), LINE2WriteNodalResult(), LINE2WriteStress(), MaxwellUpdateStress(), Q4WriteGaussResult(), Q4WriteGaussVectorResult(), Q4WriteNodalResult(), T3WriteGaussResult(), T3WriteGaussVectorResult(), T3WriteNodalResult(), TETR4WriteGaussResult(), TETR4WriteGaussVectorResult(), TETR4WriteNodalResult(), and TETR4WriteStress().

Here is the call graph for this function:

Here is the caller graph for this function:

void PrincipalTensordInitStress ( sTensor *  ,
sPTensor *   
)


Variable Documentation

sElmClass ElmClass[NumElmTypes]

Definition at line 27 of file elm.c.

Referenced by BRICK8Init(), DKTInit(), ElementInit(), INFINITEInit(), INTERFACEInit(), LINE2Init(), Q4Init(), T3Init(), TETR4Init(), and UIStart().

sElement** ElmList

Definition at line 28 of file elm.c.

Referenced by _NfiReadElementBRICK8(), _NfiReadElementDKT(), _NfiReadElementINFINITE(), _NfiReadElementINTERFACE(), _NfiReadElementLINE2(), _NfiReadElementProfileBRICK8(), _NfiReadElementProfileQ4(), _NfiReadElementProfileT3(), _NfiReadElementProfileTETRA4(), _NfiReadElementQ4(), _NfiReadElementT3(), _NfiReadElementTETR4(), _NfiReadLoadCaseDomainInitStressUni(), _NfiWriteResultStep(), _TimeIncrement(), BuildAVector(), BuildNodeList(), DoRezone(), ElementBuildAdjacence(), ElementFree(), ElementInit(), HybridAnalysis(), HybridPrintResult(), ImpBFGSAnalysis(), ImpBFGSPrintResult(), ImpLinearAnalysis(), ImpLinearPrintResult(), ImpNRMAnalysis(), ImpNRMPrintResult(), LoadCaseAnalysis(), LoadStepAnalysis(), MassVector(), PercolationForces(), PrescribedValues(), RezoneAnalysis(), StandardAnalysis(), StandardPrintResult(), StandardVEAnalysis(), StandardVEFlacAnalysis(), StandardVEFlacPrintResult(), StandardVEViscoForces(), UIStart(), and UpdatePrescribedValues().

sOrder* IntOrder

Definition at line 34 of file elm.c.

Referenced by _NfiReadIntegrationOrder().

int NumElements

Definition at line 29 of file elm.c.

Referenced by _NfiReadElement(), _NfiReadLoadCaseDomainInitStressUni(), _NfiWriteResultStep(), _TimeIncrement(), BuildAVector(), BuildNodeList(), ElementBuildAdjacence(), ElementFree(), ElementInit(), HybridAnalysis(), HybridPrintResult(), ImpBFGSAnalysis(), ImpBFGSPrintResult(), ImpLinearAnalysis(), ImpLinearPrintResult(), ImpNRMAnalysis(), ImpNRMPrintResult(), LoadCaseAnalysis(), LoadStepAnalysis(), PrescribedValues(), RezoneAnalysis(), StandardAnalysis(), StandardPrintResult(), StandardVEAnalysis(), StandardVEFlacAnalysis(), StandardVEFlacPrintResult(), StandardVEViscoForces(), UIStart(), and UpdatePrescribedValues().

int NumIntOrder

Definition at line 36 of file elm.c.

Referenced by _NfiReadIntegrationOrder().

int NumRezones

Definition at line 42 of file elm.c.

Referenced by _NfiReadRezone(), NfiWriteResults(), and RezoneAnalysis().

int NumThickness

Definition at line 37 of file elm.c.

Referenced by _NfiReadThickness().

sRezone* Rezone

Definition at line 43 of file elm.c.

Referenced by _NfiReadRezone(), _NfiReadRezoneCaseElement(), and DoRezone().

double* Thickness

Definition at line 35 of file elm.c.

Referenced by _NfiReadThickness().


Generated on Fri Oct 5 15:54:59 2007 for ReconMS by  doxygen 1.5.1