#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] |
1.5.3