#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 | 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 |
static double _T3Area | ( | sCoord | coord[3] | ) | [static] |
static double _T3Area | ( | sCoord | [] | ) | [static] |
Referenced by _T3MinHeight(), T3Gravity(), T3KMatrix(), T3MassMatrix(), T3RigidCoeff(), and T3Volume().
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().
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.
Definition at line 94 of file t3.c.
References sNode::coord, sElement::data, sT3Data::inc, sElement::nodes, sCoord::x, sCoord::y, and sCoord::z.
Referenced by _T3BMatrix(), T3Gravity(), T3Jacobian(), T3KMatrix(), T3MassMatrix(), T3PercForces(), T3RigidCoeff(), T3SetPressure(), T3TimeStep(), and T3Volume().
static void _T3GetDisplacement | ( | sElement * | elm, | |
double * | U, | |||
double | ue[6] | |||
) | [static] |
static void _T3GetDisplacement | ( | sElement * | , | |
double * | , | |||
double | [] | |||
) | [static] |
static double _T3MinHeight | ( | sCoord | coord[3] | ) | [static] |
static double _T3MinHeight | ( | sCoord | [] | ) | [static] |
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().
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().
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().
static void T3Free | ( | sElement * | elm | ) | [static] |
Definition at line 363 of file t3.c.
References sElement::data, and sT3Data::iPress.
Referenced by T3Init().
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().
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().
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().
void T3Init | ( | void | ) |
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().
static void T3Jacobian | ( | sElement * | elm, | |
double | jac[3][3], | |||
double | ijac[3][3] | |||
) | [static] |
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().
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().
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().
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().
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().
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().
static void T3Read | ( | sElement * | elm | ) | [static] |
Definition at line 391 of file t3.c.
References sElement::data, sT3Data::inc, and nf.
Referenced by T3Init().
static int T3ReadInitStress | ( | sElement * | elm | ) | [static] |
Definition at line 416 of file t3.c.
References sElement::data, sT3Data::istr, and nf.
Referenced by T3Init().
static void T3ReadProfile | ( | sElement * | elm | ) | [static] |
Definition at line 449 of file t3.c.
References sElement::data, nf, and sT3Data::prof.
Referenced by T3Init().
static double T3RigidCoeff | ( | sElement * | elm | ) | [static] |
Definition at line 509 of file t3.c.
References _T3Area(), and _T3GetCoord().
Referenced by T3Init().
Definition at line 1412 of file t3.c.
References sElement::data, sT3Data::istr, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by T3Init().
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().
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().
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().
Definition at line 1277 of file t3.c.
References _T3BMatrix(), _T3GetDisplacement(), sElement::data, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by T3Init().
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().
static void T3Volume | ( | sElement * | elm, | |
double * | v | |||
) | [static] |
Definition at line 1545 of file t3.c.
References _T3Area(), and _T3GetCoord().
Referenced by T3Init().
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().
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().
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().
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().