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  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.


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 sCoord::x, sCoord::y, and sCoord::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(), sCoord::x, sCoord::y, and sCoord::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 u,
sCoord v 
) [static]

Definition at line 122 of file line2.c.

References sCoord::x, sCoord::y, and sCoord::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 sNode::coord, sElement::data, sLINE2Data::inc, sElement::nodes, sCoord::x, sCoord::y, and sCoord::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 sElement::data, and sLINE2Data::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  m[3][3],
double  d[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 v  )  [static]

Definition at line 113 of file line2.c.

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

Referenced by LINE2Jacobian().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the caller graph for this function:

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

Here is the caller graph for this function:

static void LINE2Free ( sElement elm  )  [static]

Definition at line 343 of file line2.c.

References sElement::data, and sLINE2Data::iPress.

Referenced by LINE2Init().

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

void LINE2Init ( void   ) 

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

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the caller graph for this function:

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

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2Read ( sElement elm  )  [static]

Definition at line 371 of file line2.c.

References sElement::data, sLINE2Data::inc, and nf.

Referenced by LINE2Init().

Here is the caller graph for this function:

static int LINE2ReadInitStress ( sElement elm  )  [static]

Definition at line 395 of file line2.c.

References sElement::data, sLINE2Data::istr, and nf.

Referenced by LINE2Init().

Here is the caller graph for this function:

static double LINE2RigidCoeff ( sElement elm  )  [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 elm,
int *  conn 
) [static]

Definition at line 504 of file line2.c.

References sElement::data, sLINE2Data::inc, and NumNodes.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2SetInitStress ( sElement elm,
sTensor istress 
) [static]

Definition at line 1190 of file line2.c.

References sElement::data, sLINE2Data::istr, sTensor::xx, sTensor::xy, and sTensor::yy.

Referenced by LINE2Init().

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2UpdateConnect ( sElement elm  )  [static]

Definition at line 519 of file line2.c.

References sElement::data, sLINE2Data::inc, and NumNodes.

Referenced by LINE2Init().

Here is the caller graph for this function:

static void LINE2UpdateStress ( sElement elm,
double  dtime,
double *  V,
sTensor stre 
) [static]

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

static void LINE2Volume ( sElement elm,
double *  v 
) [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 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().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Tue Oct 23 11:24:09 2007 for Relax by  doxygen 1.5.3