#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"
Go to the source code of this file.
Data Structures | |
struct | sLINE2Data |
Functions | |
static void | _LINE2GetCoord (sElement *, sCoord[]) |
static double | _LINE2Area (sCoord[]) |
static double | _LINE2MinHeight (sCoord[]) |
static void | _LINE2GetDisplacement (sElement *, double *, double[]) |
static void | _LINE2BMatrix (sElement *, double[3][6]) |
static double | _LINE2Lenght (sCoord *) |
static sCoord | _LINE2Cross (sCoord *, sCoord *) |
static void | _LINE2Inverse (double[3][3], double[3][3]) |
static void | _LINE2Normalize (sCoord *vec, sCoord *n) |
static void | _LINE2GetCoord (sElement *elm, sCoord coord[2]) |
static double | _LINE2Area (sCoord coord[2]) |
static double | _LINE2MinHeight (sCoord coord[2]) |
static void | _LINE2GetDisplacement (sElement *elm, double *U, double ue[6]) |
static void | LINE2New (int, int, int, int, sElement **, sElement **, sNode *) |
static void | LINE2Free (sElement *) |
static void | LINE2Read (sElement *) |
static int | LINE2ReadInitStress (sElement *) |
static void | LINE2MassMatrix (sElement *, double *) |
static double | LINE2RigidCoeff (sElement *) |
static void | LINE2Connect (sElement *, int *) |
static void | LINE2SetConnect (sElement *, int *) |
static void | LINE2UpdateConnect (sElement *) |
static void | LINE2NumNodes (sElement *, int *) |
static void | LINE2Gravity (sElement *, double *, double *, double *) |
static void | LINE2AssVector (sElement *, double *, double *) |
static void | LINE2StressStrain (sElement *, double, double *, double *, sTensor *, sTensor *) |
static void | LINE2TimeStep (sElement *, double *) |
static void | LINE2InterForce (sElement *, sTensor *, double *) |
static void | LINE2WriteStress (sElement *, FILE *, double *, double *) |
static void | LINE2WriteNodalResult (sElement *, FILE *, FILE *) |
static void | LINE2WriteGaussResult (sElement *, FILE *, FILE *) |
static void | LINE2WriteGaussVectorResult (sElement *, int, FILE *, FILE *) |
static void | LINE2UpdateStress (sElement *, double, double *, sTensor *) |
static void | LINE2PercForces (sElement *, double *) |
static void | LINE2SetPressure (sElement *, double) |
static void | LINE2SetInitStress (sElement *, sTensor *) |
static void | LINE2ViscoForce (sElement *, double, sTensor *, double *) |
static void | LINE2Jacobian (sElement *, double[3][3], double[3][3]) |
static void | LINE2Volume (sElement *, double *) |
void | LINE2Init (void) |
Definition in file line2.c.
static double _LINE2Area | ( | sCoord | coord[2] | ) | [static] |
static double _LINE2Area | ( | sCoord | [] | ) | [static] |
Referenced by _LINE2MinHeight(), LINE2Gravity(), LINE2MassMatrix(), LINE2RigidCoeff(), and LINE2Volume().
static void _LINE2BMatrix | ( | sElement * | elm, | |
double | bm[3][6] | |||
) | [static] |
This function computes the stress x strain matrix for the LINE2 element.
Definition at line 205 of file line2.c.
References _LINE2Cross(), _LINE2GetCoord(), _LINE2Inverse(), _LINE2Lenght(), sCoord::x, sCoord::y, and sCoord::z.
Referenced by LINE2InterForce(), LINE2PercForces(), LINE2StressStrain(), LINE2UpdateStress(), and LINE2ViscoForce().
Definition at line 122 of file line2.c.
References sCoord::x, sCoord::y, and sCoord::z.
Referenced by _LINE2BMatrix(), and LINE2Jacobian().
This function gets the element coordinates.
elm | Element descriptor. | |
coord | Element coordinares. |
Definition at line 137 of file line2.c.
References sNode::coord, sElement::data, sLINE2Data::inc, sElement::nodes, sCoord::x, sCoord::y, and sCoord::z.
Referenced by _LINE2BMatrix(), LINE2Gravity(), LINE2Jacobian(), LINE2MassMatrix(), LINE2PercForces(), LINE2RigidCoeff(), LINE2SetPressure(), LINE2TimeStep(), and LINE2Volume().
static void _LINE2GetDisplacement | ( | sElement * | elm, | |
double * | U, | |||
double | ue[6] | |||
) | [static] |
This function get the element nodal displacement from the global vector.
Definition at line 185 of file line2.c.
References sElement::data, and sLINE2Data::inc.
static void _LINE2GetDisplacement | ( | sElement * | , | |
double * | , | |||
double | [] | |||
) | [static] |
Referenced by LINE2StressStrain(), and LINE2UpdateStress().
static void _LINE2Inverse | ( | double | m[3][3], | |
double | d[3][3] | |||
) | [static] |
Definition at line 92 of file line2.c.
Referenced by _LINE2BMatrix(), and LINE2Jacobian().
static double _LINE2Lenght | ( | sCoord * | v | ) | [static] |
Definition at line 113 of file line2.c.
References sCoord::x, sCoord::y, and sCoord::z.
Referenced by _LINE2BMatrix(), _LINE2Normalize(), and LINE2Jacobian().
static double _LINE2MinHeight | ( | sCoord | coord[2] | ) | [static] |
This function computes the minimum height for the element.
coord | Element coordinate. |
Definition at line 175 of file line2.c.
References _LINE2Area().
static double _LINE2MinHeight | ( | sCoord | [] | ) | [static] |
Calcula a direcao normalizada do vetor vec e a retorna na forma de um vetor n.
Definition at line 78 of file line2.c.
References _LINE2Lenght(), sCoord::x, sCoord::y, and sCoord::z.
Referenced by LINE2Jacobian().
static void LINE2AssVector | ( | sElement * | elm, | |
double * | GMatrix, | |||
double * | matrix | |||
) | [static] |
Definition at line 584 of file line2.c.
References sElement::data, ElmConnect, and sLINE2Data::NumNodes.
Referenced by LINE2Init().
static void LINE2Connect | ( | sElement * | elm, | |
int * | conn | |||
) | [static] |
Definition at line 489 of file line2.c.
References sElement::data, sLINE2Data::inc, and NumNodes.
Referenced by LINE2Init().
static void LINE2Free | ( | sElement * | elm | ) | [static] |
Definition at line 343 of file line2.c.
References sElement::data, and sLINE2Data::iPress.
Referenced by LINE2Init().
static void LINE2Gravity | ( | sElement * | elm, | |
double * | qx, | |||
double * | qy, | |||
double * | qz | |||
) | [static] |
Definition at line 546 of file line2.c.
References _LINE2Area(), _LINE2GetCoord(), sElement::data, GravForce, MatDensity, sLINE2Data::matid, and MatList.
Referenced by LINE2Init().
void LINE2Init | ( | void | ) |
Definition at line 747 of file line2.c.
References _LINE2BMatrix(), sElement::data, ElmRigidCoeff, sLINE2Data::iPress, sLINE2Data::istr, sLINE2Data::NumNodes, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by LINE2Init().
static void LINE2Jacobian | ( | sElement * | elm, | |
double | jac[3][3], | |||
double | ijac[3][3] | |||
) | [static] |
Definition at line 1284 of file line2.c.
References _LINE2Cross(), _LINE2GetCoord(), _LINE2Inverse(), _LINE2Lenght(), _LINE2Normalize(), sCoord::x, sCoord::y, and sCoord::z.
Referenced by LINE2Init().
static void LINE2MassMatrix | ( | sElement * | elm, | |
double * | mass | |||
) | [static] |
Definition at line 431 of file line2.c.
References _LINE2Area(), _LINE2GetCoord(), sElement::data, MatDensity, sLINE2Data::matid, and MatList.
Referenced by LINE2Init().
static void LINE2New | ( | int | label, | |
int | matid, | |||
int | intord, | |||
int | tckid, | |||
sElement ** | elm, | |||
sElement ** | elist, | |||
sNode * | nodes | |||
) | [static] |
Definition at line 297 of file line2.c.
References DSP_NO, sLINE2Data::effdef, sLINE2Data::iPress, sLINE2Data::istr, LINE2, sLINE2Data::matid, NONE, sLINE2Data::NumNodes, sLINE2Data::NumTensComp, and sLINE2Data::tckid.
Referenced by LINE2Init().
static void LINE2NumNodes | ( | sElement * | elm, | |
int * | nnodes | |||
) | [static] |
Definition at line 534 of file line2.c.
References sElement::data, and sLINE2Data::NumNodes.
Referenced by LINE2Init().
static void LINE2PercForces | ( | sElement * | elm, | |
double * | pforce | |||
) | [static] |
Definition at line 1104 of file line2.c.
References _LINE2BMatrix(), _LINE2GetCoord(), sElement::data, sNode::dof, sLINE2Data::inc, sLINE2Data::matid, MatList, sElement::nodes, sLINE2Data::NumNodes, sDof::psi, sTensor::xx, sCoord::y, and sTensor::yy.
Referenced by LINE2Init().
static void LINE2Read | ( | sElement * | elm | ) | [static] |
Definition at line 371 of file line2.c.
References sElement::data, sLINE2Data::inc, and nf.
Referenced by LINE2Init().
static int LINE2ReadInitStress | ( | sElement * | elm | ) | [static] |
Definition at line 395 of file line2.c.
References sElement::data, sLINE2Data::istr, and nf.
Referenced by LINE2Init().
static double LINE2RigidCoeff | ( | sElement * | elm | ) | [static] |
Definition at line 469 of file line2.c.
References _LINE2Area(), and _LINE2GetCoord().
Referenced by LINE2Init().
static void LINE2SetConnect | ( | sElement * | elm, | |
int * | conn | |||
) | [static] |
Definition at line 504 of file line2.c.
References sElement::data, sLINE2Data::inc, and NumNodes.
Referenced by LINE2Init().
Definition at line 1190 of file line2.c.
References sElement::data, sLINE2Data::istr, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by LINE2Init().
static void LINE2SetPressure | ( | sElement * | elm, | |
double | pot | |||
) | [static] |
Definition at line 1160 of file line2.c.
References _LINE2GetCoord(), sElement::data, ElementInitTensor(), sLINE2Data::iPress, sTensor::xx, sCoord::y, and sTensor::yy.
Referenced by LINE2Init().
static void LINE2StressStrain | ( | sElement * | elm, | |
double | dt, | |||
double * | U, | |||
double * | yield, | |||
sTensor * | stre, | |||
sTensor * | stra | |||
) | [static] |
Definition at line 611 of file line2.c.
References _LINE2BMatrix(), _LINE2GetDisplacement(), sElement::data, sLINE2Data::effdef, ElementOffPlaneStress(), MatConstitutiveMatrix, sLINE2Data::matid, MatList, MatNuParameter, MatUpdateParameter, MatUpdateStress, sLINE2Data::NumNodes, sTensor::xx, sTensor::xy, sTensor::yy, and sTensor::zz.
Referenced by LINE2Init(), and LINE2WriteStress().
static void LINE2TimeStep | ( | sElement * | elm, | |
double * | dt | |||
) | [static] |
Definition at line 709 of file line2.c.
References _LINE2GetCoord(), _LINE2MinHeight(), sElement::data, KELVIN, sLINE2Data::matid, MatList, MatTimeStep, and sMaterial::type.
Referenced by LINE2Init().
static void LINE2UpdateConnect | ( | sElement * | elm | ) | [static] |
Definition at line 519 of file line2.c.
References sElement::data, sLINE2Data::inc, and NumNodes.
Referenced by LINE2Init().
Definition at line 1056 of file line2.c.
References _LINE2BMatrix(), _LINE2GetDisplacement(), sElement::data, sLINE2Data::NumNodes, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by LINE2Init().
static void LINE2ViscoForce | ( | sElement * | elm, | |
double | timeStep, | |||
sTensor * | stress, | |||
double * | vforce | |||
) | [static] |
Definition at line 1209 of file line2.c.
References _LINE2BMatrix(), sElement::data, ElmRigidCoeff, MatConstitutiveMatrix, MaterialIsVisco(), sLINE2Data::matid, MatList, MatViscoStrain, sLINE2Data::NumNodes, sTensor::xx, sTensor::xy, and sTensor::yy.
Referenced by LINE2Init().
static void LINE2Volume | ( | sElement * | elm, | |
double * | v | |||
) | [static] |
Definition at line 1334 of file line2.c.
References _LINE2Area(), and _LINE2GetCoord().
Referenced by LINE2Init().
static void LINE2WriteGaussResult | ( | sElement * | elm, | |
FILE * | out, | |||
FILE * | tmp | |||
) | [static] |
Definition at line 906 of file line2.c.
References sPTensor::dir1, sPTensor::dir2, sPTensor::dir3, sElement::label, PrincipalTensor(), sTensor::xx, sTensor::xy, sTensor::yy, and sTensor::zz.
Referenced by LINE2Init().
static void LINE2WriteGaussVectorResult | ( | sElement * | elm, | |
int | version, | |||
FILE * | out, | |||
FILE * | tmp | |||
) | [static] |
Definition at line 961 of file line2.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 LINE2Init().
static void LINE2WriteNodalResult | ( | sElement * | elm, | |
FILE * | out, | |||
FILE * | tmp | |||
) | [static] |
Definition at line 858 of file line2.c.
References sPTensor::dir1, sPTensor::dir2, sPTensor::dir3, sElement::label, PrincipalTensor(), sTensor::xx, sTensor::xy, sTensor::yy, and sTensor::zz.
Referenced by LINE2Init().
static void LINE2WriteStress | ( | sElement * | elm, | |
FILE * | out, | |||
double * | U, | |||
double * | V | |||
) | [static] |
Definition at line 810 of file line2.c.
References sPTensor::dir1, sPTensor::dir2, sPTensor::dir3, DONE, LINE2StressStrain(), PrincipalTensor(), sElement::rezone, sTensor::xx, sTensor::xy, sTensor::xz, sTensor::yy, sTensor::yz, and sTensor::zz.
Referenced by LINE2Init().