basso Namespace Reference


Classes

class  Basis
 Defining a finite element basis and topology. More...
class  ErrorMessage
 Handles simple error messages. More...
class  WarningMessage
 Handles simple warning messages. More...
class  DiffusionFormulation
 Class for diffusion problems. More...
class  DirichletBC
 Virtual base class for various Dirichlet type boundary condiditons. More...
class  DofMap
 Dof map. More...
class  ElasticityFormulation
 Formulation for small strain continuum elasticity elements. More...
class  ElasticTruss2D
 Formulation for elastic truss elements. More...
class  ElasticTruss3D
 Formulation for elastic 3D small deformation truss elements. More...
class  Element
 Class that defines a basic finite element. More...
class  FEInput
 Virtual base class for reading finite element data from input files. More...
class  Formulation
 Virtual base class for various element formulations. More...
class  FiniteLine
class  GmshInput
 Reads a Gmsh mesh file. More...
class  GmshVer1Input
 Reads a version 1.0 ASCII Gmsh mesh file. More...
class  GridRectTria3
 A class to generate a triangular rectangular grid. More...
class  Hexa8Basis
 Eight node hexahedral basis. More...
class  InputCard
 Holds a input card. More...
class  Input
 Virtual base class for reading input. More...
class  Line2Basis
 Two node 1D basis. More...
class  Line3Basis
 Three node 1D basis. More...
class  MatElastic
 A small deformation elastic material model. More...
class  MaterialState
 Structure to hold information the material state space vector. More...
class  Material
 Virtual base class for various constitutive models. More...
class  NastranCard
class  NastranInput
 Reads a Nastran bulk data file. More...
class  NeumannBC
 Virtual base class for various Neumann type boundary condiditons. More...
class  Node
 Node definition. More...
class  Point
 Geometric point. More...
class  PointLoadBC
 class for defining point load type boundary condiditons More...
class  Quad4Basis
 Four node quadrilateral basis. More...
class  Quad8Basis
 Eight node quadrilateral basis. More...
class  QuadraturePoint
 Describes a single quadrature point and weight. More...
class  Solver
 Base class for linear solvers. More...
class  Stopwatch
 A class to perform cpu time tracking. More...
class  VoigtStress
class  VoigtStrain
class  StressState
class  PlaneStrainState
class  PlaneStressState
class  AxisymmetricState
class  StressState3D
class  StressState1D
class  StructuralFormulation
 Virtual base class for various structural formulationss. More...
class  SuperLUSolverCSR
 Class for solving using SuperLU with DynamicCSRMatrix. More...
class  Tetra10Basis
 Ten node tetrahedral basis. More...
class  Tetra4Basis
 Four node tetrahedral basis. More...
class  TextInput
 Processes a generic text input file. More...
class  TractionBC
 Class for handeling uniform traction boundary conditions. More...
class  Tria3Basis
 3 node triangular basis More...
class  Tria6Basis
 6 node triangular basis More...
class  WriteEnsight
 Writes data to Ensight Gold ASCII format. More...

Enumerations

enum  BasisShape {
  kLINE, kTRIANGLE, kQUADRILATERAL, kTETRAHEDRA,
  kHEXAHEDRA, kPRISM, kPYRAMID
}
 Enumerated typoe to define basis shape/geometry. More...
enum  BasisType {
  kNONE = 0, kPOINT1, kLINE2, kTRIA3,
  kQUAD4, kTETRA4, kHEXA8, kPRISM6,
  kPYRAMID5, kLINE3, kTRIA6, kQUAD9,
  kQUAD8, kTETRA10, kHEXA20, kHEXA27,
  kPYRAMID13, kPYRAMID14, kPRISM15, kPRISM18
}
 Enumerated typoe to basis types. More...
enum  StressStateType {
  kSTRESS_1D, kPLANE_STRAIN, kPLANE_STRESS, kAXISYMMETRIC,
  kSTRESS_3D
}

Functions

template<class NODEARRAY>
void form_nodemap (NODEARRAY &nodes, map< int, Node * > &nodemap)
void form_vect_shapefunct (const nArray &N, int sdim, nMatrix &Nv)
void form_bmatrix (const nMatrix &DNa_x, nMatrix &B)
template<class NODEARRAY, class CONNVECT, class COORDMAT>
void get_element_coordinates (const NODEARRAY &node, int sdim, const CONNVECT &econn, COORDMAT &cmat)
template<class OBJ1, class OBJ2, class INDX>
void scatter_vector (const OBJ1 &fe, OBJ2 &F, const INDX &indx)
template<class OBJ1, class OBJ2, class INDX>
void scatter_matrix (const OBJ1 &ke, OBJ2 &K, const INDX &ri, const INDX &ci)
template<class INDX, class NVECT>
void superlu_solve_constrained (DynamicCSRMatrix &K, nArray &x, const INDX &ifix, NVECT &ival)
template<class INDX>
void superlu_solve_constrained (DynamicCSRMatrix &K, nArray &x, const INDX &ifix)
Numeric det2by2 (const nMatrix &A)
Numeric det3by3 (const nMatrix &A)
Numeric inv2by2 (nMatrix &A)
Numeric inv3by3 (nMatrix &A)
void jacobian_mat (const nMatrix &coord, const nMatrix &dNxi, nMatrix &jac)
Numeric jacobian (const nMatrix &coord, const nMatrix &dNxi)
Numeric jacobian12 (const nMatrix &coord, const nMatrix &dNxi)
Numeric jacobian13 (const nMatrix &coord, const nMatrix &dNxi)
Numeric jacobian23 (const nMatrix &coord, const nMatrix &dNxi)
Numeric grad_shape (const nMatrix &coord, const nMatrix &dNxi, nMatrix &dNx)
Numeric grad_shape (const Array< Node > &nodes, const iArray &conn, const nMatrix &dNxi, nMatrix &invj, nMatrix &dNx)
Numeric grad_shape12 (const nMatrix &coord, const nMatrix &dNxi, nMatrix &dNx)
Numeric grad_shape13 (const nMatrix &coord, const nMatrix &dNxi, nMatrix &dNx)
Numeric grad_shape23 (const nMatrix &coord, const nMatrix &dNxi, nMatrix &dNx)
void cmat_elastic_pstress (Numeric E, Numeric nu, nMatrix &C)
void cmat_elastic_pstrain (Numeric E, Numeric nu, nMatrix &C)
void cmat_elastic_3d (Numeric E, Numeric nu, nMatrix &C)
template<class MATA, class MATB, class MATC, class MATK>
void femmult (const MATA &A, const MATB &B, const MATC &C, Numeric alpha, MATK &K)
template<class MATA, class MATB, class MATC, class MATK>
void femmult_add (const MATA &A, const MATB &B, const MATC &C, Numeric alpha, MATK &K)
template<class MATA, class MATB, class MATK>
void femmult_add (const MATA &A, const MATB &B, Numeric alpha, MATK &K)
Numeric norm (const nArray &a, int type=2)
Numeric normalize (nArray &a, int type=2)
void cross_prod (const nArray &a, const nArray &b, nArray &c)
void outer_prod (const nArray &a, const nArray &b, nMatrix &c, Numeric alpha=1.0)
int basis_type_numnodes (const BasisType &bt)
std::ostream & operator<< (std::ostream &out, const BasisType &bt)
std::ostream & operator<< (std::ostream &out, const DofMap &dmap)
std::ostream & operator<< (std::ostream &out, const Element &elem)
Numeric area_triangle (const Point &a, const Point &b, const Point &c)
Numeric dist (const Point &p1, const Point &p2)
template<class ElEmEnTlIsT>
void add_nodeids (const ElEmEnTlIsT &conn, set< int > &nid_set)
template<class CONNMAT>
void print_grid_connectivity (const CONNMAT &conn, std::ostream &out=StdOutput)
template<class COORDMAT>
void print_grid_coordinates (const COORDMAT &coord, std::ostream &out=StdOutput)
ostream & operator<< (std::ostream &out, const InputCard &card)
void distributed_load_2d (Array< ElementDef > &bndry, void(*loadf)(const Point &), Numeric sf, const DofMap &dof_map, nArray &fext)
std::ostream & operator<< (std::ostream &out, const Node &p)
std::ostream & operator<< (std::ostream &out, const Point &p)
void quadrature_gauss1d (QuadratureRule &qr)
void quadrature_gauss2d (QuadratureRule &qr)
void tensorial_quadrature_rule (const QuadratureRule &q1, const QuadratureRule &q2, QuadratureRule &qr)
void quadrature_gauss3d (QuadratureRule &qr)
void quadrature_tria (QuadratureRule &qr)
void quadrature_tetra (QuadratureRule &qr)
std::ostream & operator<< (std::ostream &out, const QuadraturePoint &pt)
void shape_line2 (nArray &Na, const Numeric &xi=0.0)
void dshape_line2 (nMatrix &dNa, const Numeric &xi=0.0)
void shape_line3 (nArray &Na, const Numeric &xi=0.0)
void dshape_line3 (nMatrix &dNa, const Numeric &xi=0.0)
void shape_tria3 (nArray &Na, const Numeric &xi=0.33333333333333, const Numeric &eta=0.33333333333333)
void dshape_tria3 (nMatrix &dNa, const Numeric &xi=0.33333333333333, const Numeric &eta=0.33333333333333)
void shape_tria4 (nArray &Na, const Numeric &xi=0.33333333333333, const Numeric &eta=0.33333333333333)
void dshape_tria4 (nMatrix &dNa, const Numeric &xi=0.33333333333333, const Numeric &eta=0.33333333333333)
void shape_tria6 (nArray &Na, const Numeric &xi=0.33333333333333, const Numeric &eta=0.33333333333333)
void dshape_tria6 (nMatrix &dNa, const Numeric &xi=0.33333333333333, const Numeric &eta=0.33333333333333)
void shape_quad4 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0)
void dshape_quad4 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0)
void shape_quad8 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0)
void dshape_quad8 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0)
void shape_quad9 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0)
void dshape_quad9 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0)
void shape_quad12 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0)
void dshape_quad12 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0)
void shape_tetra4 (nArray &Na, const Numeric &xi=0.166666666666667, const Numeric &eta=0.166666666666667, const Numeric &zeta=0.166666666666667)
void dshape_tetra4 (nMatrix &dNa, const Numeric &xi=0.166666666666667, const Numeric &eta=0.166666666666667, const Numeric &zeta=0.166666666666667)
void shape_tetra10 (nArray &Na, const Numeric &xi=0.166666666666667, const Numeric &eta=0.166666666666667, const Numeric &zeta=0.166666666666667)
void dshape_tetra10 (nMatrix &dNa, const Numeric &xi=0.166666666666667, const Numeric &eta=0.166666666666667, const Numeric &zeta=0.166666666666667)
void shape_hexa8 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.0)
void dshape_hexa8 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.0)
void shape_hexa20 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.0)
void dshape_hexa20 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.0)
void shape_hexa27 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.0)
void dshape_hexa27 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.0)
void shape_prism6 (nArray &Na, const Numeric &xi=0.333333333333, const Numeric &eta=0.333333333333333, const Numeric &zeta=0.0)
void dshape_prism6 (nMatrix &dNa, const Numeric &xi=0.333333333333, const Numeric &eta=0.3333333333333, const Numeric &zeta=0.0)
void shape_prism14 (nArray &Na, const Numeric &xi=0.333333333333, const Numeric &eta=0.333333333333333, const Numeric &zeta=0.0)
void dshape_prism14 (nMatrix &dNa, const Numeric &xi=0.333333333333, const Numeric &eta=0.3333333333333, const Numeric &zeta=0.0)
void shape_prism15 (nArray &Na, const Numeric &xi=0.333333333333, const Numeric &eta=0.333333333333333, const Numeric &zeta=0.0)
void dshape_prism15 (nMatrix &dNa, const Numeric &xi=0.333333333333, const Numeric &eta=0.3333333333333, const Numeric &zeta=0.0)
void shape_prism18 (nArray &Na, const Numeric &xi=0.333333333333, const Numeric &eta=0.333333333333333, const Numeric &zeta=0.0)
void dshape_prism18 (nMatrix &dNa, const Numeric &xi=0.333333333333, const Numeric &eta=0.3333333333333, const Numeric &zeta=0.0)
void shape_pyramid5 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.125)
void dshape_pyramid5 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.125)
void shape_pyramid13 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.125)
void dshape_pyramid13 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.125)
void shape_pyramid14 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.125)
void dshape_pyramid14 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.125)
void shape_point1 (nArray &Na, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.0)
void dshape_point1 (nMatrix &dNa, const Numeric &xi=0.0, const Numeric &eta=0.0, const Numeric &zeta=0.125)
std::ostream & operator<< (std::ostream &out, const Stopwatch &timer)
void pause (Numeric dt)
void voigt2tensor (const nArray &vstress, nMatrix &tstress)
void tensor2voigt (const nMatrix &tstress, nArray &vstress)


Enumeration Type Documentation

enum basso::BasisShape

Enumerated typoe to define basis shape/geometry.

Enumerator:
kLINE 
kTRIANGLE 
kQUADRILATERAL 
kTETRAHEDRA 
kHEXAHEDRA 
kPRISM 
kPYRAMID 

Definition at line 28 of file Basis.h.

enum basso::BasisType

Enumerated typoe to basis types.

Enumerator:
kNONE 
kPOINT1 
kLINE2 
kTRIA3 
kQUAD4 
kTETRA4 
kHEXA8 
kPRISM6 
kPYRAMID5 
kLINE3 
kTRIA6 
kQUAD9 
kQUAD8 
kTETRA10 
kHEXA20 
kHEXA27 
kPYRAMID13 
kPYRAMID14 
kPRISM15 
kPRISM18 

Definition at line 34 of file Basis.h.

enum basso::StressStateType

Enumerator:
kSTRESS_1D 
kPLANE_STRAIN 
kPLANE_STRESS 
kAXISYMMETRIC 
kSTRESS_3D 

Definition at line 25 of file StructuralFormulation.h.


Function Documentation

template<class ElEmEnTlIsT>
void basso::add_nodeids ( const ElEmEnTlIsT &  conn,
set< int > &  nid_set 
) [inline]

Adds the node ids from a node connectivity matrix to a node id set

Parameters:
conn Element connectivity of whose node ids are to be extracted
nid_set Set of node ids that are to be added to

Definition at line 34 of file grids.h.

Referenced by basso::GridRectTria3::BottomEdge(), basso::GridRectTria3::LeftEdge(), basso::GridRectTria3::RightEdge(), and basso::GridRectTria3::TopEdge().

Numeric basso::area_triangle ( const Point &  a,
const Point &  b,
const Point &  c 
)

returns the area of a triangle defined by its vertices

Parameters:
a vertex
b vertex
c vertex

Definition at line 31 of file geometry.h.

References Numeric, basso::Point::x(), basso::Point::y(), and basso::Point::z().

Referenced by basso::TractionBC::GetElementForceTria3().

int basso::basis_type_numnodes ( const BasisType bt  ) 

returns the number of nodes in a BasisType

Definition at line 40 of file Basis.h.

References kHEXA20, kHEXA27, kHEXA8, kLINE2, kLINE3, kNONE, kPOINT1, kPRISM15, kPRISM18, kPRISM6, kPYRAMID13, kPYRAMID14, kPYRAMID5, kQUAD4, kQUAD8, kQUAD9, kTETRA10, kTETRA4, kTRIA3, and kTRIA6.

void basso::cmat_elastic_3d ( Numeric  E,
Numeric  nu,
nMatrix &  C 
)

Computes the material stiffness matrix for an elastic material under a 3D state

Parameters:
E Young's modulus of the material
nu Poisson's ratio of the material
C The material stiffness matrix on return

Definition at line 683 of file basic_fem_operations.h.

References Numeric.

void basso::cmat_elastic_pstrain ( Numeric  E,
Numeric  nu,
nMatrix &  C 
)

Computes the material stiffness matrix for an elastic material under a plane strain state

Parameters:
E Young's modulus of the material
nu Poisson's ratio of the material
C The material stiffness matrix on return

Definition at line 661 of file basic_fem_operations.h.

References Numeric.

void basso::cmat_elastic_pstress ( Numeric  E,
Numeric  nu,
nMatrix &  C 
)

Computes the material stiffness matrix for an elastic material under a plane stress state

Parameters:
E Young's modulus of the material
nu Poisson's ratio of the material
C The material stiffness matrix on return

Definition at line 643 of file basic_fem_operations.h.

void basso::cross_prod ( const nArray &  a,
const nArray &  b,
nArray &  c 
)

returns the cross product of axb into c

Definition at line 63 of file basic_functions.h.

Referenced by grad_shape13(), grad_shape23(), and jacobian23().

Numeric basso::det2by2 ( const nMatrix &  A  ) 

Computes the determinant of a 2 by 2 matrix

Parameters:
A the matrix and the determinant is given in the return value

Definition at line 274 of file basic_fem_operations.h.

Referenced by inv2by2(), jacobian(), and jacobian12().

Numeric basso::det3by3 ( const nMatrix &  A  ) 

Computes the determinant of a 3 by 3 matrix

Parameters:
A the matrix and the determinant is given in the return value

Definition at line 281 of file basic_fem_operations.h.

Referenced by inv3by3(), and jacobian().

Numeric basso::dist ( const Point &  p1,
const Point &  p2 
)

Computes the distance between two points or nodes

Definition at line 42 of file geometry.h.

References basso::Point::x(), basso::Point::y(), and basso::Point::z().

Referenced by basso::TractionBC::GetElementForceLine2().

void basso::distributed_load_2d ( Array< ElementDef > &  bndry,
void(*)(const Point &)  loadf,
Numeric  sf,
const DofMap &  dof_map,
nArray &  fext 
)

Computes a distributed load vector

Parameters:
bndry 
loadf 
sf 
dof_map 
fext 

Definition at line 34 of file load_func.h.

void basso::dshape_hexa20 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.0 
)

Computes the gradient of the shape function for a twenty node hexahedral element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at
eta the point in the parent coordinate space where the shape functions are evalueated at
zeta the point in the parent coordinate space where the shape functions are evalueated at
hexa20.pdf

Definition at line 737 of file shapefunc.h.

void basso::dshape_hexa27 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.0 
)

Computes the gradient of the shape function for a twenty seven node hexahedral element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at
eta the point in the parent coordinate space where the shape functions are evalueated at
zeta the point in the parent coordinate space where the shape functions are evalueated at
hexa27.pdf

Definition at line 840 of file shapefunc.h.

void basso::dshape_hexa8 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.0 
)

Computes the gradient of the shape function for a eight node hexahedral element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at
eta the point in the parent coordinate space where the shape functions are evalueated at
zeta the point in the parent coordinate space where the shape functions are evalueated at
hexa8.pdf

Definition at line 668 of file shapefunc.h.

Referenced by basso::Hexa8Basis::DNa().

void basso::dshape_line2 ( nMatrix &  dNa,
const Numeric &  xi = 0.0 
)

Computes the gradient of the shape function for a two node line element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
line2.pdf

Definition at line 55 of file shapefunc.h.

Referenced by basso::Line2Basis::DNa().

void basso::dshape_line3 ( nMatrix &  dNa,
const Numeric &  xi = 0.0 
)

Computes the gradient of the shape function for a three node line element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
line3.pdf

Definition at line 94 of file shapefunc.h.

Referenced by basso::Line3Basis::DNa().

void basso::dshape_point1 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.125 
)

Computes the gradient of the shape function for a one node point element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at
eta the point in the parent coordinate space where the shape functions are evalueated at
zeta the point in the parent coordinate space where the shape functions are evalueated at

Definition at line 1266 of file shapefunc.h.

void basso::dshape_prism14 ( nMatrix &  dNa,
const Numeric &  xi = 0.333333333333,
const Numeric &  eta = 0.3333333333333,
const Numeric &  zeta = 0.0 
)

Computes the gradient of the shape function for a twelve node prism element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[0,1-xi]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
prism12.pdf

Definition at line 938 of file shapefunc.h.

void basso::dshape_prism15 ( nMatrix &  dNa,
const Numeric &  xi = 0.333333333333,
const Numeric &  eta = 0.3333333333333,
const Numeric &  zeta = 0.0 
)

Computes the gradient of the shape function for a eighteen node prism element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[0,1-xi]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]

Definition at line 978 of file shapefunc.h.

void basso::dshape_prism18 ( nMatrix &  dNa,
const Numeric &  xi = 0.333333333333,
const Numeric &  eta = 0.3333333333333,
const Numeric &  zeta = 0.0 
)

Computes the gradient of the shape function for a eighteen node prism element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[0,1-xi]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
prism18.pdf

Definition at line 1038 of file shapefunc.h.

void basso::dshape_prism6 ( nMatrix &  dNa,
const Numeric &  xi = 0.333333333333,
const Numeric &  eta = 0.3333333333333,
const Numeric &  zeta = 0.0 
)

Computes the gradient of the shape function for a six node prism element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[0,1-xi]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
prism6.pdf

Definition at line 888 of file shapefunc.h.

void basso::dshape_pyramid13 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.125 
)

Computes the gradient of the shape function for a thirteen node pyramid element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[-1,1]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[0,1]
pyramid13.pdf

Definition at line 1183 of file shapefunc.h.

void basso::dshape_pyramid14 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.125 
)

Computes the gradient of the shape function for a fourteen node pyramid element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[-1,1]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[0,1]
pyramid14.pdf

Definition at line 1226 of file shapefunc.h.

void basso::dshape_pyramid5 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.125 
)

Computes the gradient of the shape function for a five node pyramid element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[-1,1]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[0,1]
pyramid5.pdf

Definition at line 1141 of file shapefunc.h.

void basso::dshape_quad12 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0 
)

Computes the gradient of the shape function for a twelve node quadrilateral element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[-1,1]
quad12.pdf

Definition at line 458 of file shapefunc.h.

References Numeric.

void basso::dshape_quad4 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0 
)

Computes the gradient of the shape function for a four node quadrilateral element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[-1,1]
quad4.pdf

Definition at line 273 of file shapefunc.h.

Referenced by basso::Quad4Basis::DNa().

void basso::dshape_quad8 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0 
)

Computes the gradient of the shape function for a eight node quadrilateral element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[-1,1]
quad8.pdf

Definition at line 323 of file shapefunc.h.

References Numeric.

Referenced by basso::Quad8Basis::DNa().

void basso::dshape_quad9 ( nMatrix &  dNa,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0 
)

Computes the gradient of the shape function for a nine node quadrilateral element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[-1,1]
quad9.pdf

Definition at line 390 of file shapefunc.h.

void basso::dshape_tetra10 ( nMatrix &  dNa,
const Numeric &  xi = 0.166666666666667,
const Numeric &  eta = 0.166666666666667,
const Numeric &  zeta = 0.166666666666667 
)

Computes the gradient of the shape function for a ten node tetrahedal element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at
eta the point in the parent coordinate space where the shape functions are evalueated at
zeta the point in the parent coordinate space where the shape functions are evalueated at
tetra10.pdf

Definition at line 606 of file shapefunc.h.

References Numeric.

Referenced by basso::Tetra10Basis::DNa().

void basso::dshape_tetra4 ( nMatrix &  dNa,
const Numeric &  xi = 0.166666666666667,
const Numeric &  eta = 0.166666666666667,
const Numeric &  zeta = 0.166666666666667 
)

Computes the gradient of the shape function for a four node tetrahedal element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at
eta the point in the parent coordinate space where the shape functions are evalueated at
zeta the point in the parent coordinate space where the shape functions are evalueated at
tetra4.pdf

Definition at line 545 of file shapefunc.h.

Referenced by basso::Tetra4Basis::DNa().

void basso::dshape_tria3 ( nMatrix &  dNa,
const Numeric &  xi = 0.33333333333333,
const Numeric &  eta = 0.33333333333333 
)

Computes the gradient of the shape function for a three node triangle element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[0,1-xi]
tria3.pdf

Definition at line 136 of file shapefunc.h.

Referenced by basso::Tria3Basis::DNa().

void basso::dshape_tria4 ( nMatrix &  dNa,
const Numeric &  xi = 0.33333333333333,
const Numeric &  eta = 0.33333333333333 
)

Computes the gradient of the shape function for a four node triangle element (cubic bubble) w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[0,1-xi]
tria4.pdf

Definition at line 180 of file shapefunc.h.

void basso::dshape_tria6 ( nMatrix &  dNa,
const Numeric &  xi = 0.33333333333333,
const Numeric &  eta = 0.33333333333333 
)

Computes the gradient of the shape function for a six node triangle element w.r.t to the parent coordinate system

Parameters:
dNa the matrix where the shape function gradient values are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[0,1-xi]
tria6.pdf

Definition at line 226 of file shapefunc.h.

Referenced by basso::Tria6Basis::DNa().

template<class MATA, class MATB, class MATC, class MATK>
void basso::femmult ( const MATA &  A,
const MATB &  B,
const MATC &  C,
Numeric  alpha,
MATK &  K 
) [inline]

Computes the product of three matrices K=A*B*C*alpha, where alpha is a scalar. The primary intended use is to compute element stiffness matricies of the form ke=B^T*C*B*wt

Parameters:
A the first matrix
B the second matrix
C the third matrix
alpha a scalar constant
K <- A*B*C*alpha on return

Definition at line 713 of file basic_fem_operations.h.

References nMatrix.

template<class MATA, class MATB, class MATK>
void basso::femmult_add ( const MATA &  A,
const MATB &  B,
Numeric  alpha,
MATK &  K 
) [inline]

Computes the product of three matrices K=A*B*alpha+K, where alpha is a scalar. The primary intended use is to compute element stiffness matricies of the form ke=B^T*B*wt

Parameters:
A the first matrix
B the second matrix
alpha a scalar constant
K <- A*B*C*alpha + K on return This differs from femmult_add in that A*B*C*alpha is added to the existing value of K which is useful in quadrature loops

Definition at line 773 of file basic_fem_operations.h.

References nMatrix.

template<class MATA, class MATB, class MATC, class MATK>
void basso::femmult_add ( const MATA &  A,
const MATB &  B,
const MATC &  C,
Numeric  alpha,
MATK &  K 
) [inline]

Computes the product of three matrices K=A*B*C*alpha+K, where alpha is a scalar. The primary intended use is to compute element stiffness matricies of the form ke=B^T*C*B*wt

Parameters:
A the first matrix
B the second matrix
C the third matrix
alpha a scalar constant
K <- A*B*C*alpha + K on return This differs from femmult in that A*B*C*alpha is added to the existing value of K which is useful in quadrature loops

Definition at line 742 of file basic_fem_operations.h.

References nMatrix.

Referenced by basso::StructuralFormulation::GetElementStiffnessMatrix(), and basso::Formulation::GetElementStiffnessMatrix().

void basso::form_bmatrix ( const nMatrix &  DNa_x,
nMatrix &  B 
)

Forms the B matrix from a shape function gradient matrix

Parameters:
DNa_x gradient of the shape function w.r.t. the spacial coordinates
B on return contains the B matrix

Definition at line 73 of file basic_fem_operations.h.

Referenced by basso::StructuralFormulation::SetBMatrix().

template<class NODEARRAY>
void basso::form_nodemap ( NODEARRAY &  nodes,
map< int, Node * > &  nodemap 
) [inline]

Computes a node id map from a list, set or Array of Nodes

Parameters:
nodes the list, vector, or Array of Nodes
nodemap the node map to be computed The node map is such that
nodemap[i] will return a pointer to a Node with id i.

Definition at line 41 of file basic_fem_operations.h.

void basso::form_vect_shapefunct ( const nArray &  N,
int  sdim,
nMatrix &  Nv 
)

Forms a shape function for interpolating vector fields

Parameters:
N scalar field shape function
sdim Spacial dimension of the field
Nv on return contains the vector shape function

Definition at line 53 of file basic_fem_operations.h.

template<class NODEARRAY, class CONNVECT, class COORDMAT>
void basso::get_element_coordinates ( const NODEARRAY &  node,
int  sdim,
const CONNVECT &  econn,
COORDMAT &  cmat 
) [inline]

Computes the element nodal coordinate matrix from a global node coordinate array of points and a element connectivity vector. This functio is templated so it should work with most STL and Gmm++ objects

Parameters:
node Global node coordinate array
sdim Spacial dimension
econn Element connectivity array
cmat Element coordinate matrix on return.

Definition at line 123 of file basic_fem_operations.h.

Referenced by basso::TractionBC::SetElementParameters(), and basso::Formulation::SetElementParameters().

Numeric basso::grad_shape ( const Array< Node > &  nodes,
const iArray &  conn,
const nMatrix &  dNxi,
nMatrix &  invj,
nMatrix &  dNx 
)

Computes the spacial gradient of an element shape function. This is a trial method to see if we can improve performance. As of now it seems to have little effect.

Parameters:
nodes Array of Nodes for teh mesh
conn elmeent connectivity vector
dNxi The matrix of the gradient of the shape functions w.r.t the parent coordinates
dNx he matrix of the gradient of the shape functions w.r.t the parent coordinates on return This function uses the column dimension of dNxi to determine the sapcial dimension of the problem. This function is for elements whose parent space dimension is equal to the coordinate space (i.e. isoparametric elements). For elements where this is not the case, like structural elements, use grad_shape12, grad_shape13 or grad_shape23. The number of columns in
coord does not need to match the column dimension of dNxi.

Definition at line 481 of file basic_fem_operations.h.

References inv2by2(), inv3by3(), and Numeric.

Numeric basso::grad_shape ( const nMatrix &  coord,
const nMatrix &  dNxi,
nMatrix &  dNx 
)

Computes the spacial gradient of an element shape function

Parameters:
coord A matrix of the element coordinates
dNxi The matrix of the gradient of the shape functions w.r.t the parent coordinates
dNx he matrix of the gradient of the shape functions w.r.t the parent coordinates on return This function uses the column dimension of dNxi to determine the sapcial dimension of the problem. This function is for elements whose parent space dimension is equal to the coordinate space (i.e. isoparametric elements). For elements where this is not the case, like structural elements, use grad_shape12, grad_shape13 or grad_shape23. The number of columns in
coord does not need to match the column dimension of dNxi.

Definition at line 439 of file basic_fem_operations.h.

References inv2by2(), inv3by3(), nMatrix, and Numeric.

Referenced by basso::Formulation::SetDNx().

Numeric basso::grad_shape12 ( const nMatrix &  coord,
const nMatrix &  dNxi,
nMatrix &  dNx 
)

Computes the spacial gradient of a 1D element shape function in 2D space

Parameters:
coord A nx2 or nx3 matrix of the element coordinates
dNxi The nx1 matrix of the gradient of the shape functions w.r.t the parent coordinates
dNx The nx2 matrix of the gradient of the shape functions w.r.t the parent coordinates on return

Definition at line 514 of file basic_fem_operations.h.

References inv2by2(), nMatrix, and Numeric.

Numeric basso::grad_shape13 ( const nMatrix &  coord,
const nMatrix &  dNxi,
nMatrix &  dNx 
)

Computes the spacial gradient of a 1D element shape function in 3D space

Parameters:
coord A nx3 matrix of the element coordinates
dNxi The nx1 matrix of the gradient of the shape functions w.r.t the parent coordinates
dNx The nx3 matrix of the gradient of the shape functions w.r.t the parent coordinates on return

Definition at line 549 of file basic_fem_operations.h.

References cross_prod(), inv3by3(), nArray, nMatrix, and Numeric.

Numeric basso::grad_shape23 ( const nMatrix &  coord,
const nMatrix &  dNxi,
nMatrix &  dNx 
)

Computes the spacial gradient of a 2D element shape function in 3D space

Parameters:
coord A nx3 matrix of the element coordinates
dNxi The nx2 matrix of the gradient of the shape functions w.r.t the parent coordinates
dNx The nx3 matrix of the gradient of the shape functions w.r.t the parent coordinates on return

Definition at line 598 of file basic_fem_operations.h.

References cross_prod(), inv3by3(), nArray, nMatrix, and Numeric.

Numeric basso::inv2by2 ( nMatrix &  A  ) 

Computes the inverse of a 2 by 2 matrix

Parameters:
A the matrix which contains A inv on the return the determinant is given in the return value

Definition at line 290 of file basic_fem_operations.h.

References det2by2(), and Numeric.

Referenced by grad_shape(), and grad_shape12().

Numeric basso::inv3by3 ( nMatrix &  A  ) 

Computes the inverse of a 3 by 3 matrix

Parameters:
A the matrix which contains A inv on the return the determinant is given in the return value

Definition at line 301 of file basic_fem_operations.h.

References det3by3(), nMatrix, and Numeric.

Referenced by grad_shape(), grad_shape13(), and grad_shape23().

Numeric basso::jacobian ( const nMatrix &  coord,
const nMatrix &  dNxi 
)

Computes the element Jacobian (the determinant of the Jacobian matrix)

Parameters:
coord A matrix of the element coordinates
dNxi The matrix of the gradient of the shape functions w.r.t the parent coordinates This uses the function jacobian_mat

Definition at line 347 of file basic_fem_operations.h.

References det2by2(), det3by3(), jacobian_mat(), and nMatrix.

Referenced by basso::Formulation::GetElementMassMatrix().

Numeric basso::jacobian12 ( const nMatrix &  coord,
const nMatrix &  dNxi 
)

Computes the element Jacobian (the determinant of the Jacobian matrix) of a one dimensional element in two dimensional space

Parameters:
coord A matrix of the element coordinates
dNxi The matrix of the gradient of the shape functions w.r.t the parent coordinates This uses the function jacobian_mat

Definition at line 369 of file basic_fem_operations.h.

References det2by2(), nMatrix, and Numeric.

Numeric basso::jacobian13 ( const nMatrix &  coord,
const nMatrix &  dNxi 
)

Computes the element Jacobian (the determinant of the Jacobian matrix) of a one dimensional element in three dimensional space

Parameters:
coord A matrix of the element coordinates
dNxi The matrix of the gradient of the shape functions w.r.t the parent coordinates This uses the function jacobian_mat

Definition at line 390 of file basic_fem_operations.h.

References nArray.

Referenced by basso::TractionBC::Jacobian().

Numeric basso::jacobian23 ( const nMatrix &  coord,
const nMatrix &  dNxi 
)

Computes the element Jacobian (the determinant of the Jacobian matrix) of a two dimensional element in three dimensional space

Parameters:
coord A matrix of the element coordinates
dNxi The matrix of the gradient of the shape functions w.r.t the parent coordinates This uses the function jacobian_mat

Definition at line 411 of file basic_fem_operations.h.

References cross_prod(), and nArray.

Referenced by basso::TractionBC::Jacobian().

void basso::jacobian_mat ( const nMatrix &  coord,
const nMatrix &  dNxi,
nMatrix &  jac 
)

Computes the element Jacobian matrix

Parameters:
coord A matrix of the element coordinates
dNxi The matrix of the gradient of the shape functions w.r.t the parent coordinates
jac Contains the Jacobian matrix on return This function uses the column dimension of dNxi to determine the sapcial dimension of the problem. This function is for elements whose parent space dimension is equal to the coordinate space (i.e. isoparametric elements). For elements where this is not the case, like structural elements, use jacobian12_mat, jacobian13_mat or jacobian23_mat. The number of columns in
coord does not need to match the column dimension of dNxi.

Definition at line 336 of file basic_fem_operations.h.

Referenced by jacobian().

Numeric basso::norm ( const nArray &  a,
int  type = 2 
)

computes the norm of the vector

Parameters:
a the vector
type the type of norm to be computed ( default is 2=>L2 norm ) type = 0 => infinite norm type = 1 => sum of the modulus of the components of vector type = 2 => Euclidean L2 norm of vector

Definition at line 27 of file basic_functions.h.

Referenced by normalize().

Numeric basso::normalize ( nArray &  a,
int  type = 2 
)

normalizes the vector

Parameters:
a the vector to be normalized
type the type of norm to be computed ( default is 2=>L2 norm ) type = 0 => infinite norm type = 1 => sum of the modulus of the components of vector type = 2 => Euclidean L2 norm of vector returns the norm of the vector before normalization

Definition at line 54 of file basic_functions.h.

References norm(), and Numeric.

std::ostream& basso::operator<< ( std::ostream &  out,
const Stopwatch &  timer 
)

cout operator overload for CPUStopwatchB class

Definition at line 117 of file Stopwatch.h.

References basso::Stopwatch::Read().

std::ostream& basso::operator<< ( std::ostream &  out,
const Point &  p 
)

Point from I/O stream

Definition at line 113 of file Point.h.

References basso::Point::x(), basso::Point::y(), and basso::Point::z().

std::ostream& basso::operator<< ( std::ostream &  out,
const Node &  p 
)

Point from I/O stream

Definition at line 72 of file Node.h.

References basso::Node::Id(), basso::Point::x(), basso::Point::y(), and basso::Point::z().

void basso::outer_prod ( const nArray &  a,
const nArray &  b,
nMatrix &  c,
Numeric  alpha = 1.0 
)

returns the outer product of a o b into c

Parameters:
a a vector of length n
b a vector of length m
c a matrix of size nxm
alpha a scaling parameter

\[ c_{i,j}=\alpha a_i b_j \]

Definition at line 84 of file basic_functions.h.

template<class CONNMAT>
void basso::print_grid_connectivity ( const CONNMAT &  conn,
std::ostream &  out = StdOutput 
) [inline]

Prints the grid connectivity to a std ostream

Definition at line 44 of file grids.h.

template<class COORDMAT>
void basso::print_grid_coordinates ( const COORDMAT &  coord,
std::ostream &  out = StdOutput 
) [inline]

Prints the nodal coordinates of the grid to a std ostream

Definition at line 53 of file grids.h.

void basso::quadrature_gauss1d ( QuadratureRule &  qr  ) 

Computes quadrature rules for 1D Gaussian quadrature

Definition at line 26 of file quadrature_rules.h.

Referenced by basso::Line3Basis::Quadrature(), and basso::Line2Basis::Quadrature().

void basso::quadrature_gauss2d ( QuadratureRule &  qr  ) 

Computes quadrature rules for 2D Gaussian quadrature

Parameters:
npts the number of points in each direction

Definition at line 97 of file quadrature_rules.h.

Referenced by basso::Quad8Basis::Quadrature(), and basso::Quad4Basis::Quadrature().

void basso::quadrature_gauss3d ( QuadratureRule &  qr  ) 

Computes quadrature rules for 3D Gaussian quadrature

Definition at line 185 of file quadrature_rules.h.

Referenced by basso::Hexa8Basis::Quadrature().

void basso::quadrature_tetra ( QuadratureRule &  qr  ) 

Computes quadrature rules tor tetrahedra

Definition at line 349 of file quadrature_rules.h.

Referenced by basso::Tetra4Basis::Quadrature(), and basso::Tetra10Basis::Quadrature().

void basso::quadrature_tria ( QuadratureRule &  qr  ) 

Computes quadrature rules for triangular domains

Definition at line 245 of file quadrature_rules.h.

Referenced by basso::Tria6Basis::Quadrature(), and basso::Tria3Basis::Quadrature().

template<class OBJ1, class OBJ2, class INDX>
void basso::scatter_matrix ( const OBJ1 &  ke,
OBJ2 &  K,
const INDX &  ri,
const INDX &  ci 
) [inline]

Scatters a local matrix into a global matrix. This is a templated function that should work for all Gmm++ objects.

Parameters:
K global matrix
ke local matrix
ri global indices where to scatter rows of ke->K
ci global indices where to scatter columns of ke->K

Definition at line 168 of file basic_fem_operations.h.

template<class OBJ1, class OBJ2, class INDX>
void basso::scatter_vector ( const OBJ1 &  fe,
OBJ2 &  F,
const INDX &  indx 
) [inline]

Scatters a local vector into a global vector. This is a templated function that should work for all Gmm++ objects.

Parameters:
F global vector
fe local vector
indx global indices where to scatter fe->F

Definition at line 149 of file basic_fem_operations.h.

void basso::shape_hexa20 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.0 
)

Computes the shape function for a twenty node hexahedral element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[-1,1]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
hexa20.pdf

Definition at line 697 of file shapefunc.h.

void basso::shape_hexa27 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.0 
)

Computes the shape function for a twenty seven node hexahedral element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[-1,1]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
hexa27.pdf

Definition at line 818 of file shapefunc.h.

void basso::shape_hexa8 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.0 
)

Computes the shape function for a eight node hexahedral element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[-1,1]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
hexa8.pdf

Definition at line 640 of file shapefunc.h.

Referenced by basso::Hexa8Basis::Na().

void basso::shape_line2 ( nArray &  Na,
const Numeric &  xi = 0.0 
)

Computes the shape function for a two node line element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
line2.pdf

Definition at line 37 of file shapefunc.h.

Referenced by basso::Line2Basis::Na().

void basso::shape_line3 ( nArray &  Na,
const Numeric &  xi = 0.0 
)

Computes the shape function for a three node line element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
line3.pdf

Definition at line 73 of file shapefunc.h.

Referenced by basso::Line3Basis::Na().

void basso::shape_point1 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.0 
)

Computes the shape function for a one node point element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at
eta the point in the parent coordinate space where the shape functions are evalueated at
zeta the point in the parent coordinate space where the shape functions are evalueated at
point1.pdf

Definition at line 1247 of file shapefunc.h.

void basso::shape_prism14 ( nArray &  Na,
const Numeric &  xi = 0.333333333333,
const Numeric &  eta = 0.333333333333333,
const Numeric &  zeta = 0.0 
)

Computes the shape function for a twelve node prism element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[0,1-xi]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
prism12.pdf

Definition at line 915 of file shapefunc.h.

void basso::shape_prism15 ( nArray &  Na,
const Numeric &  xi = 0.333333333333,
const Numeric &  eta = 0.333333333333333,
const Numeric &  zeta = 0.0 
)

Computes the shape function for a fiveteen node prism element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[0,1-xi]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
prism15.pdf

Definition at line 959 of file shapefunc.h.

void basso::shape_prism18 ( nArray &  Na,
const Numeric &  xi = 0.333333333333,
const Numeric &  eta = 0.333333333333333,
const Numeric &  zeta = 0.0 
)

Computes the shape function for a eghteen node prism element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[0,1-xi]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
prism18.pdf

Definition at line 999 of file shapefunc.h.

void basso::shape_prism6 ( nArray &  Na,
const Numeric &  xi = 0.333333333333,
const Numeric &  eta = 0.333333333333333,
const Numeric &  zeta = 0.0 
)

Computes the shape function for a six node prism element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[0,1-xi]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[-1,1]
prism6.pdf

Definition at line 861 of file shapefunc.h.

void basso::shape_pyramid13 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.125 
)

Computes the shape function for a thirteen node pyramid element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[-1,1]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[0,1]
pyramid13.pdf

Definition at line 1162 of file shapefunc.h.

void basso::shape_pyramid14 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.125 
)

Computes the shape function for a fourteen node pyramid element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[-1,1]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[0,1]
pyramid14.pdf

Definition at line 1204 of file shapefunc.h.

void basso::shape_pyramid5 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0,
const Numeric &  zeta = 0.125 
)

Computes the shape function for a five node pyramid element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at, xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at, eta=[-1,1]
zeta the point in the parent coordinate space where the shape functions are evalueated at, zeta=[0,1]
pyramid5.pdf

Definition at line 1119 of file shapefunc.h.

void basso::shape_quad12 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0 
)

Computes the shape function for a twelve node quadrilateral element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[-1,1]
quad12.pdf

Definition at line 419 of file shapefunc.h.

References Numeric.

void basso::shape_quad4 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0 
)

Computes the shape function for a four node quadrilateral element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[-1,1]
quad4.pdf

Definition at line 250 of file shapefunc.h.

Referenced by basso::Quad4Basis::Na().

void basso::shape_quad8 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0 
)

Computes the shape function for a eight node quadrilateral element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[-1,1]
quad8.pdf

Definition at line 294 of file shapefunc.h.

References Numeric.

Referenced by basso::Quad8Basis::Na().

void basso::shape_quad9 ( nArray &  Na,
const Numeric &  xi = 0.0,
const Numeric &  eta = 0.0 
)

Computes the shape function for a nine node quadrilateral element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[-1,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[-1,1]
quad9.pdf

Definition at line 361 of file shapefunc.h.

void basso::shape_tetra10 ( nArray &  Na,
const Numeric &  xi = 0.166666666666667,
const Numeric &  eta = 0.166666666666667,
const Numeric &  zeta = 0.166666666666667 
)

Computes the shape function for a ten node tetrahedal element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at
eta the point in the parent coordinate space where the shape functions are evalueated at
zeta the point in the parent coordinate space where the shape functions are evalueated at
tetra10.pdf

Definition at line 572 of file shapefunc.h.

References Numeric.

Referenced by basso::Tetra10Basis::Na().

void basso::shape_tetra4 ( nArray &  Na,
const Numeric &  xi = 0.166666666666667,
const Numeric &  eta = 0.166666666666667,
const Numeric &  zeta = 0.166666666666667 
)

Computes the shape function for a four node tetrahedal element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi
eta the point in the parent coordinate space where the shape functions are evalueated at eta
zeta the point in the parent coordinate space where the shape functions are evalueated at
tetra4.pdf

Definition at line 520 of file shapefunc.h.

Referenced by basso::Tetra4Basis::Na().

void basso::shape_tria3 ( nArray &  Na,
const Numeric &  xi = 0.33333333333333,
const Numeric &  eta = 0.33333333333333 
)

Computes the shape function for a three node triangle element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[0,1-xi]
tria3.pdf

Definition at line 115 of file shapefunc.h.

Referenced by basso::Tria3Basis::Na().

void basso::shape_tria4 ( nArray &  Na,
const Numeric &  xi = 0.33333333333333,
const Numeric &  eta = 0.33333333333333 
)

Computes the shape function for a four node triangle element (cubic bubble)

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[0,1-xi]
tria4.pdf

Definition at line 157 of file shapefunc.h.

void basso::shape_tria6 ( nArray &  Na,
const Numeric &  xi = 0.33333333333333,
const Numeric &  eta = 0.33333333333333 
)

Computes the shape function for a six node triangle element

Parameters:
Na the vector where the shape functionvalues are returned
xi the point in the parent coordinate space where the shape functions are evalueated at xi=[0,1]
eta the point in the parent coordinate space where the shape functions are evalueated at eta=[0,1-xi]
tria6.pdf

Definition at line 202 of file shapefunc.h.

Referenced by basso::Tria6Basis::Na().

template<class INDX>
void basso::superlu_solve_constrained ( DynamicCSRMatrix &  K,
nArray &  x,
const INDX &  ifix 
) [inline]

Solves a system Kx=f with the additional nodal constraints x(ifix)=0.0. This is good for solution of systems arrising from finite elmeent and other variational methods. This is a templated function that should work for all Gmm++ objects.

Parameters:
K global matrix.
x inputs RHS vector and on return contains the nodal solution.
ifix indicies which are fixed.

Definition at line 236 of file basic_fem_operations.h.

References CSRMatrix, and Numeric.

template<class INDX, class NVECT>
void basso::superlu_solve_constrained ( DynamicCSRMatrix &  K,
nArray &  x,
const INDX &  ifix,
NVECT &  ival 
) [inline]

Solves a system Kx=f with the additional nodal constraints x(ifix)=ival. This is good for solution of systems arrising from finite element and other variational methods. This is a templated function that should work for all Gmm++ objects.

Parameters:
K global matrix.
x inputs RHS vector and on return contains the nodal solution.
ifix indicies which are fixed.
ival inputs values for the fixed indices, and on return contains the reaction forces.

Definition at line 189 of file basic_fem_operations.h.

References CSRMatrix, DynamicCSRMatrix, and Numeric.

void basso::tensor2voigt ( const nMatrix &  tstress,
nArray &  vstress 
)

converts a stress tensor in full matrix tensor form to Voigt form

Definition at line 32 of file StressState.h.

void basso::tensorial_quadrature_rule ( const QuadratureRule &  q1,
const QuadratureRule &  q2,
QuadratureRule &  qr 
)

computes 2D tensorial product quadrature rules from 1D rules.

Parameters:
q1 input rule
q2 second input rule
q3 output tensorial rule

Definition at line 159 of file quadrature_rules.h.

References Numeric.

void basso::voigt2tensor ( const nArray &  vstress,
nMatrix &  tstress 
)

converts a stress tensor in Voigt from to a full matrix tensor form

Definition at line 24 of file StressState.h.


Generated on Sat Jan 19 09:03:57 2008 for Basso by  doxygen 1.5.2