#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"
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 |
static double _DKTArea | ( | sCoord | coord[3] | ) | [static] |
static double _DKTArea | ( | sCoord | [] | ) | [static] |
Referenced by _DKTBMatrix(), _DKTMinHeight(), DKTGravity(), DKTKMatrix(), DKTMassMatrix(), DKTRigidCoeff(), and DKTVolume().
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().
static void _DKTDerivShp | ( | double | r, | |
double | s, | |||
double | t, | |||
sDerivRST | dshp[3] | |||
) | [static] |
static void _DKTDerivShp | ( | double | , | |
double | , | |||
double | , | |||
sDerivRST | [] | |||
) | [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.
Referenced by _DKTBMatrix(), DKTGravity(), DKTKMatrix(), DKTMassMatrix(), DKTRigidCoeff(), DKTTimeStep(), and DKTVolume().
static void _DKTGetDisplacement | ( | sElement * | elm, | |
double * | U, | |||
double | ue[9] | |||
) | [static] |
static void _DKTGetDisplacement | ( | sElement * | , | |
double * | , | |||
double | [] | |||
) | [static] |
static double _DKTMinHeight | ( | sCoord | coord[3] | ) | [static] |
Definition at line 121 of file dkt.c.
References _DKTArea().
static double _DKTMinHeight | ( | sCoord | [] | ) | [static] |
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().
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().
static void DKTFree | ( | sElement * | elm | ) | [static] |
Definition at line 356 of file dkt.c.
References sElement::data, and sDKTData::iPress.
Referenced by DKTInit().
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().
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().
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().
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().
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().
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().
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().
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().
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().
static void DKTRead | ( | sElement * | elm | ) | [static] |
Definition at line 384 of file dkt.c.
References sElement::data, sDKTData::inc, and nf.
Referenced by DKTInit().
static int DKTReadInitStress | ( | sElement * | elm | ) | [static] |
Definition at line 409 of file dkt.c.
References sElement::data, sDKTData::istr, and nf.
Referenced by DKTInit().
static double DKTRigidCoeff | ( | sElement * | elm | ) | [static] |
Definition at line 483 of file dkt.c.
References _DKTArea(), and _DKTGetCoord().
Referenced by DKTInit().
Definition at line 1099 of file dkt.c.
References sElement::data, sDKTData::istr, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by DKTInit().
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().
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().
static void DKTVolume | ( | sElement * | elm, | |
double * | v | |||
) | [static] |
Definition at line 1118 of file dkt.c.
References _DKTArea(), and _DKTGetCoord().
Referenced by DKTInit().
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().
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().
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().
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().