line2.c File Reference

#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 dependency graph for line2.c:

Go to the source code of this file.

Data Structures

struct  _line2elm

Typedefs

typedef _line2elm 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)


Detailed Description

Author:
Joao Luiz Elias Campos.
Date:
June 22, 2004

Definition in file line2.c.


Typedef Documentation

typedef struct _line2elm sLINE2Data

LINE2 element data:


Function Documentation

static double _LINE2Area ( sCoord  coord[2]  )  [static]

This function computes the element area

Parameters:
coord Element coordinates.
Returns:
Element area.

Definition at line 161 of file line2.c.

References _coord::x, _coord::y, and _coord::z.

static double _LINE2Area ( sCoord  []  )  [static]

Referenced by _LINE2MinHeight(), LINE2Gravity(), LINE2MassMatrix(), LINE2RigidCoeff(), and LINE2Volume().

Here is the caller graph for this function:

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(), _coord::x, _coord::y, and _coord::z.

Referenced by LINE2InterForce(), LINE2PercForces(), LINE2StressStrain(), LINE2UpdateStress(), and LINE2ViscoForce().

Here is the call graph for this function:

Here is the caller graph for this function:

static sCoord _LINE2Cross ( sCoord *  ,
sCoord *   
) [static]

Definition at line 122 of file line2.c.

References _coord::x, _coord::y, and _coord::z.

Referenced by _LINE2BMatrix(), and LINE2Jacobian().

Here is the caller graph for this function:

static void _LINE2GetCoord ( sElement *  elm,
sCoord  coord[2] 
) [static]

This function gets the element coordinates.

Parameters:
elm Element descriptor.
coord Element coordinares.

Definition at line 137 of file line2.c.

References _node::coord, _element::data, _line2elm::inc, _element::nodes, _coord::x, _coord::y, and _coord::z.

static void _LINE2GetCoord ( sElement *  ,
sCoord  [] 
) [static]

Referenced by _LINE2BMatrix(), LINE2Gravity(), LINE2Jacobian(), LINE2MassMatrix(), LINE2PercForces(), LINE2RigidCoeff(), LINE2SetPressure(), LINE2TimeStep(), and LINE2Volume().

Here is the caller graph for this function:

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 _element::data, and _line2elm::inc.

static void _LINE2GetDisplacement ( sElement *  ,
double *  ,
double  [] 
) [static]

Referenced by LINE2StressStrain(), and LINE2UpdateStress().

Here is the caller graph for this function:

static void _LINE2Inverse ( double  [3][3],
double  [3][3] 
) [static]

Definition at line 92 of file line2.c.

Referenced by _LINE2BMatrix(), and LINE2Jacobian().

Here is the caller graph for this function:

static double _LINE2Lenght ( sCoord *   )  [static]

Definition at line 113 of file line2.c.

References _coord::x, _coord::y, and _coord::z.

Referenced by _LINE2BMatrix(), _LINE2Normalize(), and LINE2Jacobian().

Here is the caller graph for this function:

static double _LINE2MinHeight ( sCoord  coord[2]  )  [static]

This function computes the minimum height for the element.

Parameters:
coord Element coordinate.
Returns:
Minimum height

Definition at line 175 of file line2.c.

References _LINE2Area().

Here is the call graph for this function:

static double _LINE2MinHeight ( sCoord  []  )  [static]

Referenced by LINE2TimeStep().

Here is the caller graph for this function:

static void _LINE2Normalize ( sCoord *  vec,
sCoord *  n 
) [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(), _coord::x, _coord::y, and _coord::z.

Referenced by LINE2Jacobian().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2AssVector ( sElement *  ,
double *  ,
double *   
) [static]

Definition at line 584 of file line2.c.

References _element::data, ElmConnect, and _line2elm::NumNodes.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2Connect ( sElement *  ,
int *   
) [static]

Definition at line 489 of file line2.c.

References _element::data, _line2elm::inc, and NumNodes.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2Free ( sElement *   )  [static]

Definition at line 343 of file line2.c.

References _element::data, and _line2elm::iPress.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2Gravity ( sElement *  ,
double *  ,
double *  ,
double *   
) [static]

Definition at line 546 of file line2.c.

References _LINE2Area(), _LINE2GetCoord(), _element::data, GravForce, MatDensity, _line2elm::matid, and MatList.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

void LINE2Init ( void   ) 

static void LINE2InterForce ( sElement *  ,
sTensor *  ,
double *   
) [static]

Definition at line 747 of file line2.c.

References _LINE2BMatrix(), _element::data, ElmRigidCoeff, _line2elm::iPress, _line2elm::istr, _line2elm::NumNodes, _tensor::xx, _tensor::xy, and _tensor::yy.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2Jacobian ( sElement *  ,
double  [3][3],
double  [3][3] 
) [static]

Definition at line 1284 of file line2.c.

References _LINE2Cross(), _LINE2GetCoord(), _LINE2Inverse(), _LINE2Lenght(), _LINE2Normalize(), _coord::x, _coord::y, and _coord::z.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2MassMatrix ( sElement *  ,
double *   
) [static]

Definition at line 431 of file line2.c.

References _LINE2Area(), _LINE2GetCoord(), _element::data, MatDensity, _line2elm::matid, and MatList.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2New ( int  ,
int  ,
int  ,
int  ,
sElement **  ,
sElement **  ,
sNode *   
) [static]

Definition at line 297 of file line2.c.

References DSP_NO, _line2elm::effdef, _line2elm::iPress, _line2elm::istr, LINE2, _line2elm::matid, NONE, _line2elm::NumNodes, _line2elm::NumTensComp, and _line2elm::tckid.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2NumNodes ( sElement *  ,
int *   
) [static]

Definition at line 534 of file line2.c.

References _element::data, and _line2elm::NumNodes.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2PercForces ( sElement *  ,
double *   
) [static]

Definition at line 1104 of file line2.c.

References _LINE2BMatrix(), _LINE2GetCoord(), _element::data, _node::dof, _line2elm::inc, _line2elm::matid, MatList, _element::nodes, _line2elm::NumNodes, _dof::psi, _tensor::xx, _coord::y, and _tensor::yy.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2Read ( sElement *   )  [static]

Definition at line 371 of file line2.c.

References _element::data, _line2elm::inc, and nf.

Referenced by LINE2Init().

Here is the caller graph for this function:

static int LINE2ReadInitStress ( sElement *   )  [static]

Definition at line 395 of file line2.c.

References _element::data, _line2elm::istr, and nf.

Referenced by LINE2Init().

Here is the caller graph for this function:

static double LINE2RigidCoeff ( sElement *   )  [static]

Definition at line 469 of file line2.c.

References _LINE2Area(), and _LINE2GetCoord().

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2SetConnect ( sElement *  ,
int *   
) [static]

Definition at line 504 of file line2.c.

References _element::data, _line2elm::inc, and NumNodes.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2SetInitStress ( sElement *  ,
sTensor *   
) [static]

Definition at line 1190 of file line2.c.

References _element::data, _line2elm::istr, _tensor::xx, _tensor::xy, and _tensor::yy.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2SetPressure ( sElement *  ,
double   
) [static]

Definition at line 1160 of file line2.c.

References _LINE2GetCoord(), _element::data, ElementInitTensor(), _line2elm::iPress, _tensor::xx, _coord::y, and _tensor::yy.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2StressStrain ( sElement *  ,
double  ,
double *  ,
double *  ,
sTensor *  ,
sTensor *   
) [static]

Definition at line 611 of file line2.c.

References _LINE2BMatrix(), _LINE2GetDisplacement(), _element::data, _line2elm::effdef, ElementOffPlaneStress(), MatConstitutiveMatrix, _line2elm::matid, MatList, MatNuParameter, MatUpdateParameter, MatUpdateStress, and _line2elm::NumNodes.

Referenced by LINE2Init(), and LINE2WriteStress().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2TimeStep ( sElement *  ,
double *   
) [static]

Definition at line 709 of file line2.c.

References _LINE2GetCoord(), _LINE2MinHeight(), _element::data, KELVIN, _line2elm::matid, MatList, MatTimeStep, and _material::type.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2UpdateConnect ( sElement *   )  [static]

Definition at line 519 of file line2.c.

References _element::data, _line2elm::inc, and NumNodes.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2UpdateStress ( sElement *  ,
double  ,
double *  ,
sTensor *   
) [static]

Definition at line 1056 of file line2.c.

References _LINE2BMatrix(), _LINE2GetDisplacement(), _element::data, _line2elm::NumNodes, _tensor::xx, _tensor::xy, and _tensor::yy.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2ViscoForce ( sElement *  ,
double  ,
sTensor *  ,
double *   
) [static]

Definition at line 1209 of file line2.c.

References _LINE2BMatrix(), _element::data, ElmRigidCoeff, MatConstitutiveMatrix, MaterialIsVisco(), _line2elm::matid, MatList, MatViscoStrain, _line2elm::NumNodes, _tensor::xx, _tensor::xy, and _tensor::yy.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2Volume ( sElement *  ,
double *   
) [static]

Definition at line 1334 of file line2.c.

References _LINE2Area(), and _LINE2GetCoord().

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2WriteGaussResult ( sElement *  ,
FILE *  ,
FILE *   
) [static]

Definition at line 906 of file line2.c.

References _ptensor::dir1, _ptensor::dir2, _ptensor::dir3, _element::label, PrincipalTensor(), _tensor::xx, _tensor::xy, _tensor::yy, and _tensor::zz.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2WriteGaussVectorResult ( sElement *  ,
int  ,
FILE *  ,
FILE *   
) [static]

Definition at line 961 of file line2.c.

References _ptensor::cos1x, _ptensor::cos1y, _ptensor::cos1z, _ptensor::cos2x, _ptensor::cos2y, _ptensor::cos2z, _ptensor::cos3x, _ptensor::cos3y, _ptensor::cos3z, _ptensor::dir1, _ptensor::dir2, _ptensor::dir3, _element::label, and PrincipalTensor().

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2WriteNodalResult ( sElement *  ,
FILE *  ,
FILE *   
) [static]

Definition at line 858 of file line2.c.

References _ptensor::dir1, _ptensor::dir2, _ptensor::dir3, _element::label, PrincipalTensor(), _tensor::xx, _tensor::xy, _tensor::yy, and _tensor::zz.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2WriteStress ( sElement *  ,
FILE *  ,
double *  ,
double *   
) [static]

Definition at line 810 of file line2.c.

References _ptensor::dir1, _ptensor::dir2, _ptensor::dir3, DONE, LINE2StressStrain(), PrincipalTensor(), _element::rezone, _tensor::xx, _tensor::xy, _tensor::xz, _tensor::yy, _tensor::yz, and _tensor::zz.

Referenced by LINE2Init().

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Fri Oct 5 15:55:23 2007 for ReconMS by  doxygen 1.5.1