dkt.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 dkt.c:

Go to the source code of this file.

Data Structures

struct  sDKTData

Functions

static void _DKTGetCoord (sElement *, sCoord[])
static double _DKTArea (sCoord[])
static double _DKTMinHeight (sCoord[])
static void _DKTGetDisplacement (sElement *, double *, double[])
static void _DKTBMatrix (sElement *, double[6][9])
static void _DKTDerivShp (double, double, double, sDerivRST[])
static void _DKTGetCoord (sElement *elm, sCoord coord[3])
static double _DKTArea (sCoord coord[3])
static double _DKTMinHeight (sCoord coord[3])
static void _DKTGetDisplacement (sElement *elm, double *U, double ue[9])
static void _DKTDerivShp (double r, double s, double t, sDerivRST dshp[3])
static void DKTNew (int, int, int, int, sElement **, sElement **, sNode *)
static void DKTFree (sElement *)
static void DKTRead (sElement *)
static void DKTMassMatrix (sElement *, double *)
static double DKTRigidCoeff (sElement *)
static void DKTConnect (sElement *, int *)
static void DKTNumNodes (sElement *, int *)
static void DKTGravity (sElement *, double *, double *, double *)
static void DKTAssVector (sElement *, double *, double *)
static void DKTStressStrain (sElement *, double, double *, double *, sTensor *, sTensor *)
static void DKTTimeStep (sElement *, double *)
static void DKTInterForce (sElement *, sTensor *, double *)
static void DKTWriteStress (sElement *, FILE *, double *, double *)
static void DKTWriteNodalResult (sElement *, FILE *, FILE *)
static void DKTWriteGaussResult (sElement *, FILE *, FILE *)
static void DKTWriteGaussVectorResult (sElement *, int, FILE *, FILE *)
static void DKTSetInitStress (sElement *, sTensor *)
static void DKTVolume (sElement *, double *)
static void DKTKMatrix (sElement *, double[24][24])
static void DKTGetDof (sElement *, int[24], int *)
static int DKTReadInitStress (sElement *elm)
static void DKTGetInc (sElement *elm, int inc[8], int *index)
void DKTInit (void)

Variables

static double _GPoint = 0.3333333


Function Documentation

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

Definition at line 93 of file dkt.c.

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

static double _DKTArea ( sCoord  []  )  [static]

Referenced by _DKTBMatrix(), _DKTMinHeight(), DKTGravity(), DKTKMatrix(), DKTMassMatrix(), DKTRigidCoeff(), and DKTVolume().

Here is the caller graph for this function:

static void _DKTBMatrix ( sElement elm,
double  bm[6][9] 
) [static]

Definition at line 209 of file dkt.c.

References _DKTArea(), _DKTDerivShp(), _DKTGetCoord(), _GPoint, sDerivRST::r, sDerivRST::t, sCoord::x, sCoord::y, and sCoord::z.

Referenced by DKTInterForce(), DKTKMatrix(), and DKTStressStrain().

Here is the call graph for this function:

Here is the caller graph for this function:

static void _DKTDerivShp ( double  r,
double  s,
double  t,
sDerivRST  dshp[3] 
) [static]

Definition at line 184 of file dkt.c.

References sDerivRST::r, sDerivRST::s, and sDerivRST::t.

static void _DKTDerivShp ( double  ,
double  ,
double  ,
sDerivRST  [] 
) [static]

Referenced by _DKTBMatrix().

Here is the caller graph for this function:

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

Definition at line 68 of file dkt.c.

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

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

Referenced by _DKTBMatrix(), DKTGravity(), DKTKMatrix(), DKTMassMatrix(), DKTRigidCoeff(), DKTTimeStep(), and DKTVolume().

Here is the caller graph for this function:

static void _DKTGetDisplacement ( sElement elm,
double *  U,
double  ue[9] 
) [static]

Definition at line 161 of file dkt.c.

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

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

Referenced by DKTStressStrain().

Here is the caller graph for this function:

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

Definition at line 121 of file dkt.c.

References _DKTArea().

Here is the call graph for this function:

static double _DKTMinHeight ( sCoord  []  )  [static]

Referenced by DKTTimeStep().

Here is the caller graph for this function:

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

Definition at line 570 of file dkt.c.

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

Referenced by DKTInit().

Here is the caller graph for this function:

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

Definition at line 504 of file dkt.c.

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

Referenced by DKTInit().

Here is the caller graph for this function:

static void DKTFree ( sElement elm  )  [static]

Definition at line 356 of file dkt.c.

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

Referenced by DKTInit().

Here is the caller graph for this function:

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

Definition at line 1201 of file dkt.c.

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

Referenced by DKTInit().

Here is the caller graph for this function:

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

Definition at line 1222 of file dkt.c.

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

Referenced by DKTInit().

Here is the caller graph for this function:

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

Definition at line 532 of file dkt.c.

References _DKTArea(), _DKTGetCoord(), sElement::data, GravForce, MatDensity, sDKTData::matid, and MatList.

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void DKTInit ( void   ) 

Definition at line 1247 of file dkt.c.

References sElmClass::assvector, sElmClass::connect, DKT, DKTAssVector(), DKTConnect(), DKTFree(), DKTGetDof(), DKTGetInc(), DKTGravity(), DKTInterForce(), DKTKMatrix(), DKTMassMatrix(), DKTNew(), DKTNumNodes(), DKTRead(), DKTReadInitStress(), DKTRigidCoeff(), DKTSetInitStress(), DKTStressStrain(), DKTTimeStep(), DKTVolume(), DKTWriteGaussResult(), DKTWriteGaussVectorResult(), DKTWriteNodalResult(), DKTWriteStress(), ElmClass, sElmClass::free, sElmClass::GetDof, sElmClass::GetInc, sElmClass::gravity, sElmClass::intforce, sElmClass::jacobian, sElmClass::KMatrix, sElmClass::load, sElmClass::mass, sElmClass::new, sElmClass::numnodes, sElmClass::percforce, sElmClass::read, sElmClass::readinitstr, sElmClass::readprofile, sElmClass::rigidcoeff, sElmClass::setinitstress, sElmClass::setpressure, sElmClass::strstrain, sElmClass::timestep, sElmClass::updatestress, sElmClass::viscoforce, sElmClass::volume, sElmClass::writegauresult, sElmClass::writegauvecresult, sElmClass::writendlresult, and sElmClass::writestr.

Referenced by ElementInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 738 of file dkt.c.

References _DKTBMatrix(), sElement::data, ElmRigidCoeff, sDKTData::istr, sDKTData::NumNodes, sTensor::xx, sTensor::xy, sTensor::xz, sTensor::yy, sTensor::yz, and sTensor::zz.

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1132 of file dkt.c.

References _DKTArea(), _DKTBMatrix(), _DKTGetCoord(), sElement::data, MatConstitutiveMatrix, sDKTData::matid, and MatList.

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 445 of file dkt.c.

References _DKTArea(), _DKTGetCoord(), sElement::data, MatDensity, sDKTData::matid, and MatList.

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 309 of file dkt.c.

References DKT, DSP_NO, sDKTData::effdef, sDKTData::iPress, sDKTData::istr, sDKTData::matid, NONE, sDKTData::NumNodes, sDKTData::NumTensComp, and sDKTData::tckid.

Referenced by DKTInit().

Here is the caller graph for this function:

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

Definition at line 520 of file dkt.c.

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

Referenced by DKTInit().

Here is the caller graph for this function:

static void DKTRead ( sElement elm  )  [static]

Definition at line 384 of file dkt.c.

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

Referenced by DKTInit().

Here is the caller graph for this function:

static int DKTReadInitStress ( sElement elm  )  [static]

Definition at line 409 of file dkt.c.

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

Referenced by DKTInit().

Here is the caller graph for this function:

static double DKTRigidCoeff ( sElement elm  )  [static]

Definition at line 483 of file dkt.c.

References _DKTArea(), and _DKTGetCoord().

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1099 of file dkt.c.

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

Referenced by DKTInit().

Here is the caller graph for this function:

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

Definition at line 598 of file dkt.c.

References _DKTBMatrix(), _DKTGetDisplacement(), sElement::data, sDKTData::effdef, sDKTData::istr, MatConstitutiveMatrix, sDKTData::matid, MatList, MatNuParameter, MatUpdateParameter, MatUpdateStress, sDKTData::NumNodes, sTensor::xx, sTensor::xy, sTensor::xz, sTensor::yy, sTensor::yz, and sTensor::zz.

Referenced by DKTInit(), and DKTWriteStress().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 700 of file dkt.c.

References _DKTGetCoord(), _DKTMinHeight(), sElement::data, KELVIN, sDKTData::matid, MatList, MatTimeStep, and sMaterial::type.

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1118 of file dkt.c.

References _DKTArea(), and _DKTGetCoord().

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 897 of file dkt.c.

References Config, sElement::data, sPTensor::dir1, sPTensor::dir2, sPTensor::dir3, sConfig::gaussresults, sElement::label, sDKTData::matid, MatList, sConfig::numgaussresults, PrincipalTensor(), sTensor::xx, sTensor::xy, sTensor::xz, sTensor::yy, sTensor::yz, and sTensor::zz.

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 1006 of file dkt.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 DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 843 of file dkt.c.

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

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 796 of file dkt.c.

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

Referenced by DKTInit().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

double _GPoint = 0.3333333 [static]

Definition at line 50 of file dkt.c.


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