t3.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "rio.h"
#include "load.h"
#include "elm.h"
#include "node.h"
#include "material.h"
#include "alg.h"

Include dependency graph for t3.c:

Go to the source code of this file.

Data Structures

struct  sT3Data

Functions

static void _T3GetCoord (sElement *, sCoord[])
static double _T3Area (sCoord[])
static double _T3MinHeight (sCoord[])
static void _T3GetDisplacement (sElement *, double *, double[])
static void _T3BMatrix (sElement *, double[3][6])
static void _T3ElementCenter (sElement *, sCoord[])
static double _T3PoroPressure (sElement *elm, double lambda)
static void _T3GetCoord (sElement *elm, sCoord coord[3])
static void _T3ElementCenter (sElement *elm, sCoord coord[1])
static double _T3Area (sCoord coord[3])
static double _T3MinHeight (sCoord coord[3])
static void _T3GetDisplacement (sElement *elm, double *U, double ue[6])
static void T3New (int, int, int, int, sElement **, sElement **, sNode *)
static void T3Free (sElement *)
static void T3Read (sElement *)
static int T3ReadInitStress (sElement *)
static void T3ReadProfile (sElement *)
static void T3MassMatrix (sElement *, double *)
static double T3RigidCoeff (sElement *)
static void T3Connect (sElement *, int *)
static void T3NumNodes (sElement *, int *)
static void T3Gravity (sElement *, double *, double *, double *)
static void T3AssVector (sElement *, double *, double *)
static void T3StressStrain (sElement *, double, double *, double *, sTensor *, sTensor *)
static void T3TimeStep (sElement *, double *)
static void T3InterForce (sElement *, sTensor *, double *)
static void T3WriteStress (sElement *, FILE *, double *, double *)
static void T3WriteNodalResult (sElement *, FILE *, FILE *)
static void T3WriteGaussResult (sElement *, FILE *, FILE *)
static void T3WriteGaussVectorResult (sElement *, int, FILE *, FILE *)
static void T3UpdateStress (sElement *, double, double *, sTensor *)
static void T3PercForces (sElement *, double *)
static void T3SetPressure (sElement *, double)
static void T3SetInitStress (sElement *, sTensor *)
static void T3ViscoForce (sElement *, double, sTensor *, double *)
static void T3Jacobian (sElement *, double[3][3], double[3][3])
static void T3Volume (sElement *, double *)
static void T3KMatrix (sElement *, double[24][24])
static void T3GetDof (sElement *, int[24], int *)
static void T3Load (sElement *elm, eLoadType ltype, int key, int noi, int noj, int nok, int *nol, double *q1x, double *q1y, double *q1z, double *q2x, double *q2y, double *q2z, double *q3x, double *q3y, double *q3z, double *q4x, double *q4y, double *q4z)
static void T3GetInc (sElement *elm, int inc[8], int *index)
void T3Init (void)

Variables

static double GForce = 9.85


Function Documentation

static double _T3Area ( sCoord  coord[3]  )  [static]

Definition at line 148 of file t3.c.

References sCoord::x, and sCoord::y.

static double _T3Area ( sCoord  []  )  [static]

Referenced by _T3MinHeight(), T3Gravity(), T3KMatrix(), T3MassMatrix(), T3RigidCoeff(), and T3Volume().

Here is the caller graph for this function:

static void _T3BMatrix ( sElement elm,
double  bm[3][6] 
) [static]

Definition at line 228 of file t3.c.

References _T3GetCoord(), sCoord::x, and sCoord::y.

Referenced by T3InterForce(), T3KMatrix(), T3PercForces(), T3StressStrain(), T3UpdateStress(), and T3ViscoForce().

Here is the call graph for this function:

Here is the caller graph for this function:

static void _T3ElementCenter ( sElement elm,
sCoord  coord[1] 
) [static]

Definition at line 119 of file t3.c.

References sNode::coord, sElement::data, sT3Data::inc, NodeVector, sT3Data::NumNodes, NumNodes, sCoord::x, sCoord::y, and sCoord::z.

static void _T3ElementCenter ( sElement ,
sCoord  [] 
) [static]

static void _T3GetCoord ( sElement elm,
sCoord  coord[3] 
) [static]

Definition at line 94 of file t3.c.

References sNode::coord, sElement::data, sT3Data::inc, sElement::nodes, sCoord::x, sCoord::y, and sCoord::z.

static void _T3GetCoord ( sElement ,
sCoord  [] 
) [static]

Referenced by _T3BMatrix(), T3Gravity(), T3Jacobian(), T3KMatrix(), T3MassMatrix(), T3PercForces(), T3RigidCoeff(), T3SetPressure(), T3TimeStep(), and T3Volume().

Here is the caller graph for this function:

static void _T3GetDisplacement ( sElement elm,
double *  U,
double  ue[6] 
) [static]

Definition at line 206 of file t3.c.

References sElement::data, sT3Data::inc, and NumNodes.

static void _T3GetDisplacement ( sElement ,
double *  ,
double  [] 
) [static]

Referenced by T3StressStrain(), and T3UpdateStress().

Here is the caller graph for this function:

static double _T3MinHeight ( sCoord  coord[3]  )  [static]

Definition at line 167 of file t3.c.

References _T3Area().

Here is the call graph for this function:

static double _T3MinHeight ( sCoord  []  )  [static]

Referenced by T3TimeStep().

Here is the caller graph for this function:

static double _T3PoroPressure ( sElement elm,
double  lambda 
) [static]

Definition at line 811 of file t3.c.

References Config, sElement::data, GForce, sConfig::loadfactor, MatDensity, sT3Data::matid, MatList, and sT3Data::prof.

Referenced by T3StressStrain(), and T3WriteGaussResult().

Here is the caller graph for this function:

static void T3AssVector ( sElement elm,
double *  GMatrix,
double *  matrix 
) [static]

Definition at line 658 of file t3.c.

References sElement::data, ElmConnect, and sT3Data::NumNodes.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3Connect ( sElement elm,
int *  conn 
) [static]

Definition at line 592 of file t3.c.

References sElement::data, sT3Data::inc, and NumNodes.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3Free ( sElement elm  )  [static]

Definition at line 363 of file t3.c.

References sElement::data, and sT3Data::iPress.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3GetDof ( sElement elm,
int  u[24],
int *  index 
) [static]

Definition at line 1627 of file t3.c.

References sElement::data, sT3Data::inc, and NumNodes.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3GetInc ( sElement elm,
int  inc[8],
int *  index 
) [static]

Definition at line 1647 of file t3.c.

References sElement::data, sT3Data::inc, and NumNodes.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3Gravity ( sElement elm,
double *  qx,
double *  qy,
double *  qz 
) [static]

Definition at line 620 of file t3.c.

References _T3Area(), _T3GetCoord(), sElement::data, GravForce, MatDensity, sT3Data::matid, and MatList.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void T3Init ( void   ) 

static void T3InterForce ( sElement elm,
sTensor stress,
double *  intforce 
) [static]

Definition at line 885 of file t3.c.

References _T3BMatrix(), sElement::data, ElmRigidCoeff, sT3Data::iPress, sT3Data::istr, sT3Data::NumNodes, sTensor::xx, sTensor::xy, and sTensor::yy.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3Jacobian ( sElement elm,
double  jac[3][3],
double  ijac[3][3] 
) [static]

Definition at line 1502 of file t3.c.

References _T3GetCoord(), sCoord::x, and sCoord::y.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3KMatrix ( sElement elm,
double  k[24][24] 
) [static]

Definition at line 1559 of file t3.c.

References _T3Area(), _T3BMatrix(), _T3GetCoord(), sElement::data, MatConstitutiveMatrix, sT3Data::matid, and MatList.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3Load ( sElement elm,
eLoadType  ltype,
int  key,
int  noi,
int  noj,
int  nok,
int *  nol,
double *  q1x,
double *  q1y,
double *  q1z,
double *  q2x,
double *  q2y,
double *  q2z,
double *  q3x,
double *  q3y,
double *  q3z,
double *  q4x,
double *  q4y,
double *  q4z 
) [static]

Definition at line 531 of file t3.c.

References sNode::coord, sElement::nodes, UNIFORM, sCoord::x, and sCoord::y.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3MassMatrix ( sElement elm,
double *  mass 
) [static]

Definition at line 471 of file t3.c.

References _T3Area(), _T3GetCoord(), sElement::data, MatDensity, sT3Data::matid, and MatList.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3New ( int  label,
int  matid,
int  intord,
int  tckid,
sElement **  elm,
sElement **  elist,
sNode nodes 
) [static]

Definition at line 316 of file t3.c.

References DSP_NO, sT3Data::effdef, sT3Data::iPress, sT3Data::istr, sT3Data::matid, NONE, sT3Data::NumNodes, sT3Data::NumTensComp, sT3Data::prof, T3, and sT3Data::tckid.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3NumNodes ( sElement elm,
int *  nnodes 
) [static]

Definition at line 608 of file t3.c.

References sElement::data, and sT3Data::NumNodes.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3PercForces ( sElement elm,
double *  pforce 
) [static]

Definition at line 1325 of file t3.c.

References _T3BMatrix(), _T3GetCoord(), sElement::data, sNode::dof, sT3Data::inc, sT3Data::matid, MatList, sElement::nodes, sT3Data::NumNodes, sDof::psi, sTensor::xx, sCoord::y, and sTensor::yy.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3Read ( sElement elm  )  [static]

Definition at line 391 of file t3.c.

References sElement::data, sT3Data::inc, and nf.

Referenced by T3Init().

Here is the caller graph for this function:

static int T3ReadInitStress ( sElement elm  )  [static]

Definition at line 416 of file t3.c.

References sElement::data, sT3Data::istr, and nf.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3ReadProfile ( sElement elm  )  [static]

Definition at line 449 of file t3.c.

References sElement::data, nf, and sT3Data::prof.

Referenced by T3Init().

Here is the caller graph for this function:

static double T3RigidCoeff ( sElement elm  )  [static]

Definition at line 509 of file t3.c.

References _T3Area(), and _T3GetCoord().

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3SetInitStress ( sElement elm,
sTensor istress 
) [static]

Definition at line 1412 of file t3.c.

References sElement::data, sT3Data::istr, sTensor::xx, sTensor::xy, and sTensor::yy.

Referenced by T3Init().

Here is the caller graph for this function:

static void T3SetPressure ( sElement elm,
double  pot 
) [static]

Definition at line 1381 of file t3.c.

References _T3GetCoord(), sElement::data, ElementInitTensor(), and sCoord::y.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3StressStrain ( sElement elm,
double  dt,
double *  U,
double *  yield,
sTensor stre,
sTensor stra 
) [static]

Definition at line 687 of file t3.c.

References _T3BMatrix(), _T3GetDisplacement(), _T3PoroPressure(), sElement::data, sT3Data::effdef, ElementOffPlaneStress(), sT3Data::istr, sMaterial::Lambda, MatConstitutiveMatrix, sT3Data::matid, MatList, MatNuParameter, MatUpdateParameter, MatUpdateStress, sT3Data::NumNodes, sTensor::rf, sTensor::xx, sTensor::xy, sTensor::yy, and sTensor::zz.

Referenced by T3Init(), and T3WriteStress().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3TimeStep ( sElement elm,
double *  dt 
) [static]

Definition at line 847 of file t3.c.

References _T3GetCoord(), _T3MinHeight(), sElement::data, KELVIN, sT3Data::matid, MatList, MatTimeStep, and sMaterial::type.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3UpdateStress ( sElement elm,
double  dtime,
double *  V,
sTensor stre 
) [static]

Definition at line 1277 of file t3.c.

References _T3BMatrix(), _T3GetDisplacement(), sElement::data, sTensor::xx, sTensor::xy, and sTensor::yy.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3ViscoForce ( sElement elm,
double  timeStep,
sTensor stress,
double *  vforce 
) [static]

Definition at line 1431 of file t3.c.

References _T3BMatrix(), sElement::data, ElmRigidCoeff, MatConstitutiveMatrix, MaterialIsVisco(), sT3Data::matid, MatList, MatViscoStrain, sT3Data::NumNodes, sTensor::xx, sTensor::xy, and sTensor::yy.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3Volume ( sElement elm,
double *  v 
) [static]

Definition at line 1545 of file t3.c.

References _T3Area(), and _T3GetCoord().

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3WriteGaussResult ( sElement elm,
FILE *  out,
FILE *  tmp 
) [static]

Definition at line 1049 of file t3.c.

References _T3PoroPressure(), Config, sElement::data, sPTensor::dir1, sPTensor::dir2, sPTensor::dir3, sConfig::gaussresults, sElement::label, sMaterial::Lambda, sT3Data::matid, MatList, sConfig::numgaussresults, PrincipalTensor(), sTensor::rf, sTensor::xx, sTensor::xy, sTensor::yy, and sTensor::zz.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3WriteGaussVectorResult ( sElement elm,
int  version,
FILE *  out,
FILE *  tmp 
) [static]

Definition at line 1182 of file t3.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, sElement::label, and PrincipalTensor().

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3WriteNodalResult ( sElement elm,
FILE *  out,
FILE *  tmp 
) [static]

Definition at line 995 of file t3.c.

References sPTensor::dir1, sPTensor::dir2, sPTensor::dir3, sElement::label, PrincipalTensor(), sTensor::xx, sTensor::xy, sTensor::yy, and sTensor::zz.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void T3WriteStress ( sElement elm,
FILE *  out,
double *  U,
double *  V 
) [static]

Definition at line 948 of file t3.c.

References DONE, sElement::rezone, T3StressStrain(), sTensor::xx, sTensor::xy, sTensor::xz, sTensor::yy, sTensor::yz, and sTensor::zz.

Referenced by T3Init().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

double GForce = 9.85 [static]

Definition at line 87 of file t3.c.


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