#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().


1.5.3