#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.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 | sInfClass |
struct | sInfData |
Defines | |
#define | INFINITEMappFunc(d, r, s, map) |
#define | INFINITEDerivMap(d, r, s, dmap) |
#define | INFINITEDerivShp(d, r, s, dshp) |
Typedefs | |
typedef enum _inftype | eInfType |
Enumerations | |
enum | _inftype { INF_T3, INF_Q4, NumInfTypes } |
Functions | |
static void | _INFINITEGetCoord (sElement *, sCoord[]) |
static void | _INFINITEJacobian (sInfData *, double, double, sCoord[], double *, double[2][2]) |
static void | _INFINITEBMatrix (sInfData *, double, double, sCoord[], double[3][8]) |
static void | _INFINITEGetDisplacement (sElement *, double *, double[]) |
static double | _INFINITEMinHeight (sInfData *, sCoord *) |
static void | _INFINITEGetDisplacement (sElement *elm, double *U, double ue[8]) |
static void | _INFINITEBMatrix (sInfData *data, double r, double s, sCoord coord[4], double bm[3][8]) |
static void | _INFINITEJacobian (sInfData *data, double r, double s, sCoord coord[4], double *detjac, double jac[2][2]) |
static void | _INFINITEGetCoord (sElement *elm, sCoord coord[4]) |
static void | INFT3MappFunc (double, double, double[]) |
static void | INFT3MappDeriv (double, double, sDerivRST[]) |
static void | INFT3ShapeDeriv (double, double, sDerivRST[]) |
static void | INFQ4MappFunc (double, double, double[]) |
static void | INFQ4MappDeriv (double, double, sDerivRST[]) |
static void | INFQ4ShapeDeriv (double, double, sDerivRST[]) |
static void | INFT3MappFunc (double r, double s, double shape[4]) |
static void | INFT3MappDeriv (double r, double s, sDerivRST dshp[4]) |
static void | INFT3ShapeDeriv (double r, double s, sDerivRST dshp[4]) |
static void | INFQ4MappFunc (double r, double s, double shape[4]) |
static void | INFQ4MappDeriv (double r, double s, sDerivRST dshp[4]) |
static void | INFQ4ShapeDeriv (double r, double s, sDerivRST dshp[4]) |
static void | INFINITENew (int, int, int, int, sElement **, sElement **, sNode *) |
static void | INFINITEFree (sElement *) |
static void | INFINITERead (sElement *) |
static int | INFINITEReadInitStress (sElement *) |
static double | INFINITERigidCoeff (sElement *) |
static void | INFINITEMassMatrix (sElement *, double *) |
static void | INFINITEConnect (sElement *, int *) |
static void | INFINITENumNodes (sElement *, int *) |
static void | INFINITEAssVector (sElement *, double *, double *) |
static void | INFINITETimeStep (sElement *, double *) |
static void | INFINITEInterForce (sElement *, sTensor *, double[]) |
static void | INFINITEStressStrain (sElement *, double, double *, double *, sTensor *, sTensor *) |
static void | INFINITEWriteStress (sElement *, FILE *, double *, double *) |
static void | INFINITEWriteGaussResult (sElement *, FILE *, FILE *) |
static void | INFINITEWriteGaussVectorResult (sElement *, int, FILE *, FILE *) |
static void | INFINITEUpdateStress (sElement *, double, double *, sTensor *) |
static void | INFINITESetPressure (sElement *, double) |
static void | INFINITESetInitStress (sElement *, sTensor *) |
static void | INFINITEViscoForce (sElement *, double, sTensor *, double *) |
static void | INFINITEInterForce (sElement *elm, sTensor *stress, double *intforce) |
static void | INFINITEWriteNodalResult (sElement *elm, FILE *out, FILE *tmp) |
void | INFINITEInit (void) |
Variables | |
static double | _GPoint [2] = { -0.577350269189626, 0.577350269189626 } |
static double | _GWeight [2] = { 1.000000000000000, 1.000000000000000 } |
static double | _TRMatrix [4][4] |
static sInfClass | InfClass [NumInfTypes] |
#define INFINITEDerivMap | ( | d, | |||
r, | |||||
s, | |||||
dmap | ) |
#define INFINITEDerivShp | ( | d, | |||
r, | |||||
s, | |||||
dshp | ) |
#define INFINITEMappFunc | ( | d, | |||
r, | |||||
s, | |||||
map | ) |
Value:
Definition at line 116 of file inf.c.
Referenced by INFINITEMassMatrix(), and INFINITERigidCoeff().
static void _INFINITEBMatrix | ( | sInfData * | data, | |
double | r, | |||
double | s, | |||
sCoord | coord[4], | |||
double | bm[3][8] | |||
) | [static] |
Definition at line 210 of file inf.c.
References _INFINITEJacobian(), INFINITEDerivShp, sInfData::NumNodes, and sDerivRST::r.
Referenced by INFINITEInterForce(), INFINITEStressStrain(), INFINITEUpdateStress(), and INFINITEViscoForce().
Definition at line 291 of file inf.c.
References sNode::coord, sElement::data, sInfData::inc, sElement::nodes, NumNodes, sCoord::x, sCoord::y, and sCoord::z.
Referenced by INFINITEInterForce(), INFINITEMassMatrix(), INFINITERigidCoeff(), INFINITESetPressure(), INFINITEStressStrain(), INFINITETimeStep(), INFINITEUpdateStress(), and INFINITEViscoForce().
static void _INFINITEGetDisplacement | ( | sElement * | elm, | |
double * | U, | |||
double | ue[8] | |||
) | [static] |
static void _INFINITEGetDisplacement | ( | sElement * | , | |
double * | , | |||
double | [] | |||
) | [static] |
Referenced by INFINITEStressStrain(), and INFINITEUpdateStress().
static void _INFINITEJacobian | ( | sInfData * | data, | |
double | r, | |||
double | s, | |||
sCoord | coord[4], | |||
double * | detjac, | |||
double | jac[2][2] | |||
) | [static] |
Definition at line 255 of file inf.c.
References INFINITEDerivMap, sInfData::NumNodes, sDerivRST::r, sDerivRST::s, sCoord::x, and sCoord::y.
static void _INFINITEJacobian | ( | sInfData * | , | |
double | , | |||
double | , | |||
sCoord | [], | |||
double * | , | |||
double | [2][2] | |||
) | [static] |
Referenced by _INFINITEBMatrix(), _INFINITEMinHeight(), INFINITEInterForce(), INFINITEMassMatrix(), INFINITERigidCoeff(), and INFINITEViscoForce().
Definition at line 145 of file inf.c.
References _GPoint, and _INFINITEJacobian().
Referenced by INFINITETimeStep().
static void INFINITEAssVector | ( | sElement * | elm, | |
double * | GMatrix, | |||
double * | matrix | |||
) | [static] |
Definition at line 749 of file inf.c.
References sElement::data, ElmConnect, and sInfData::NumNodes.
Referenced by INFINITEInit().
static void INFINITEConnect | ( | sElement * | elm, | |
int * | conn | |||
) | [static] |
Definition at line 721 of file inf.c.
References sElement::data, sInfData::inc, and NumNodes.
Referenced by INFINITEInit().
static void INFINITEFree | ( | sElement * | elm | ) | [static] |
Definition at line 515 of file inf.c.
References sElement::data.
Referenced by INFINITEInit().
void INFINITEInit | ( | void | ) |
Definition at line 922 of file inf.c.
References _GPoint, _GWeight, _INFINITEBMatrix(), _INFINITEGetCoord(), _INFINITEJacobian(), sElement::data, sInfData::istr, sInfData::NumNodes, sTensor::xx, sTensor::xy, and sTensor::yy.
static void INFINITEMassMatrix | ( | sElement * | elm, | |
double * | mass | |||
) | [static] |
Definition at line 612 of file inf.c.
References _GPoint, _GWeight, _INFINITEGetCoord(), _INFINITEJacobian(), sElement::data, INFINITEMappFunc, MatDensity, sInfData::matid, and MatList.
Referenced by INFINITEInit().
static void INFINITENew | ( | int | label, | |
int | matid, | |||
int | intord, | |||
int | tckid, | |||
sElement ** | elm, | |||
sElement ** | elist, | |||
sNode * | nodes | |||
) | [static] |
Definition at line 470 of file inf.c.
References DSP_NO, sInfData::effdef, INF_Q4, INFINITE, sInfData::matid, NONE, sInfData::NumNodes, sInfData::NumTensComp, sInfData::tckid, and sInfData::type.
Referenced by INFINITEInit().
static void INFINITENumNodes | ( | sElement * | elm, | |
int * | nnodes | |||
) | [static] |
Definition at line 737 of file inf.c.
References sElement::data, and sInfData::NumNodes.
Referenced by INFINITEInit().
static void INFINITERead | ( | sElement * | elm | ) | [static] |
Definition at line 538 of file inf.c.
References sElement::data, sInfData::inc, INF_T3, nf, sInfData::NumNodes, and sInfData::type.
Referenced by INFINITEInit().
static int INFINITEReadInitStress | ( | sElement * | elm | ) | [static] |
Definition at line 572 of file inf.c.
References sElement::data, sInfData::istr, and nf.
Referenced by INFINITEInit().
static double INFINITERigidCoeff | ( | sElement * | elm | ) | [static] |
Definition at line 677 of file inf.c.
References _GPoint, _GWeight, _INFINITEGetCoord(), _INFINITEJacobian(), sElement::data, and INFINITEMappFunc.
Referenced by INFINITEInit().
Definition at line 1433 of file inf.c.
References sElement::data, sInfData::istr, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by INFINITEInit().
static void INFINITESetPressure | ( | sElement * | elm, | |
double | pot | |||
) | [static] |
Definition at line 1406 of file inf.c.
References _INFINITEGetCoord(), sElement::data, sNode::dof, sInfData::inc, sElement::nodes, NumNodes, sDof::psi, and sCoord::y.
Referenced by INFINITEInit().
static void INFINITEStressStrain | ( | sElement * | elm, | |
double | dt, | |||
double * | U, | |||
double * | yield, | |||
sTensor * | stre, | |||
sTensor * | stra | |||
) | [static] |
Definition at line 816 of file inf.c.
References _GPoint, _INFINITEBMatrix(), _INFINITEGetCoord(), _INFINITEGetDisplacement(), sElement::data, sInfData::effdef, MatConstitutiveMatrix, sInfData::matid, MatList, MatUpdateParameter, MatUpdateStress, sInfData::NumNodes, sTensor::xx, sTensor::xy, sTensor::yy, and sTensor::zz.
Referenced by INFINITEInit(), and INFINITEWriteStress().
static void INFINITETimeStep | ( | sElement * | elm, | |
double * | dt | |||
) | [static] |
Definition at line 778 of file inf.c.
References _INFINITEGetCoord(), _INFINITEMinHeight(), sElement::data, KELVIN, sInfData::matid, MatList, MatTimeStep, and sMaterial::type.
static void INFINITEUpdateStress | ( | sElement * | elm, | |
double | dtime, | |||
double * | V, | |||
sTensor * | stre | |||
) | [static] |
Definition at line 1339 of file inf.c.
References _GPoint, _INFINITEBMatrix(), _INFINITEGetCoord(), _INFINITEGetDisplacement(), sElement::data, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by INFINITEInit().
static void INFINITEViscoForce | ( | sElement * | elm, | |
double | timeStep, | |||
sTensor * | stress, | |||
double * | vforce | |||
) | [static] |
Definition at line 1456 of file inf.c.
References _GPoint, _GWeight, _INFINITEBMatrix(), _INFINITEGetCoord(), _INFINITEJacobian(), sElement::data, MatConstitutiveMatrix, MaterialIsVisco(), sInfData::matid, MatList, MatViscoStrain, sInfData::NumNodes, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by INFINITEInit().
static void INFINITEWriteGaussResult | ( | sElement * | elm, | |
FILE * | out, | |||
FILE * | tmp | |||
) | [static] |
Definition at line 1144 of file inf.c.
References Config, sPTensor::dir1, sPTensor::dir2, sPTensor::dir3, sConfig::gaussresults, sElement::label, sConfig::numgaussresults, PrincipalTensor(), sTensor::xx, sTensor::yy, and sTensor::zz.
Referenced by INFINITEInit().
static void INFINITEWriteGaussVectorResult | ( | sElement * | elm, | |
int | version, | |||
FILE * | out, | |||
FILE * | tmp | |||
) | [static] |
Definition at line 1235 of file inf.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 INFINITEInit().
static void INFINITEWriteNodalResult | ( | sElement * | elm, | |
FILE * | out, | |||
FILE * | tmp | |||
) | [static] |
Definition at line 1069 of file inf.c.
References _TRMatrix, sPTensor::dir1, sPTensor::dir2, sPTensor::dir3, sElement::label, PrincipalTensor(), sTensor::xx, sTensor::xy, sTensor::xz, sTensor::yy, sTensor::yz, and sTensor::zz.
Referenced by INFINITEInit().
static void INFINITEWriteStress | ( | sElement * | elm, | |
FILE * | out, | |||
double * | U, | |||
double * | V | |||
) | [static] |
Definition at line 1012 of file inf.c.
References DONE, INFINITEStressStrain(), sElement::rezone, sTensor::xx, sTensor::xy, sTensor::xz, sTensor::yy, sTensor::yz, and sTensor::zz.
Referenced by INFINITEInit().
static void INFQ4MappDeriv | ( | double | r, | |
double | s, | |||
sDerivRST | dshp[4] | |||
) | [static] |
static void INFQ4MappDeriv | ( | double | , | |
double | , | |||
sDerivRST | [] | |||
) | [static] |
static void INFQ4MappFunc | ( | double | r, | |
double | s, | |||
double | shape[4] | |||
) | [static] |
static void INFQ4MappFunc | ( | double | , | |
double | , | |||
double | [] | |||
) | [static] |
static void INFQ4ShapeDeriv | ( | double | r, | |
double | s, | |||
sDerivRST | dshp[4] | |||
) | [static] |
static void INFQ4ShapeDeriv | ( | double | , | |
double | , | |||
sDerivRST | [] | |||
) | [static] |
static void INFT3MappDeriv | ( | double | r, | |
double | s, | |||
sDerivRST | dshp[4] | |||
) | [static] |
static void INFT3MappDeriv | ( | double | , | |
double | , | |||
sDerivRST | [] | |||
) | [static] |
static void INFT3MappFunc | ( | double | r, | |
double | s, | |||
double | shape[4] | |||
) | [static] |
static void INFT3MappFunc | ( | double | , | |
double | , | |||
double | [] | |||
) | [static] |
static void INFT3ShapeDeriv | ( | double | r, | |
double | s, | |||
sDerivRST | dshp[4] | |||
) | [static] |
static void INFT3ShapeDeriv | ( | double | , | |
double | , | |||
sDerivRST | [] | |||
) | [static] |
double _GPoint[2] = { -0.577350269189626, 0.577350269189626 } [static] |
double _GWeight[2] = { 1.000000000000000, 1.000000000000000 } [static] |
double _TRMatrix[4][4] [static] |