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  sRezone
struct  sTensor
struct  sPTensor
struct  sDerivRST
struct  sOrder
struct  sElement
struct  sElmClass

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 enum _elmtype eElmType

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

sOrderIntOrder
double * Thickness
sElmClass ElmClass [NumElmTypes]
sElement ** ElmList
int NumElements
int NumIntOrder
int NumThickness
int NumRezones
sRezoneRezone


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 InternalForces(), 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 InternalForces(), and PrescribedValues().

#define ElmJacobian ( elm,
j,
 ) 

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,
 ) 

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,
 ) 

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.

Referenced by PrescribedValues().

#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 InternalForces(), 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.

Referenced by InternalForces().

#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,
 ) 

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,
 ) 

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,
 ) 

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,
 ) 

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,
 ) 

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


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, ElmNumNodes, LineForce, NumElements, and NumLineForce.

void ElementFree ( void   ) 

Definition at line 109 of file elm.c.

References ElmFree, and NumElements.

void ElementInit ( void   ) 

Definition at line 78 of file elm.c.

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

Here is the call graph for this function:

void ElementInitTensor ( sTensor  ) 

Definition at line 341 of file elm.c.

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

void ElementOffPlaneStress ( double  ,
sTensor  
)

Definition at line 323 of file elm.c.

References sPTensor::dir1, sPTensor::dir3, PrincipalTensor(), and sTensor::zz.

Here is the call graph for this function:

void PrincipalTensor ( sTensor tensor,
sPTensor ptensor 
)

Definition at line 164 of file elm.c.

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

Here is the call graph for this function:

void PrincipalTensordInitStress ( sTensor ,
sPTensor  
)


Variable Documentation

sElmClass ElmClass[NumElmTypes]

Definition at line 27 of file elm.c.

sElement** ElmList

Definition at line 28 of file elm.c.

sOrder* IntOrder

Definition at line 34 of file elm.c.

int NumElements

Definition at line 29 of file elm.c.

int NumIntOrder

Definition at line 36 of file elm.c.

int NumRezones

Definition at line 42 of file elm.c.

int NumThickness

Definition at line 37 of file elm.c.

sRezone* Rezone

Definition at line 43 of file elm.c.

double* Thickness

Definition at line 35 of file elm.c.


Generated on Tue Oct 23 11:23:50 2007 for Relax by  doxygen 1.5.3