MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes
Mesh::Block Class Reference

#include <structured.h>

List of all members.

Public Member Functions

 Block ()
void Set (int NDim, int Tag, size_t NVerts,...)
 Set block.
void SetNx (size_t Nx, double Ax=0.0, bool NonLin=false)
 Set number of x divisions with all x weights equal to 1.0.
void SetNy (size_t Ny, double Ay=0.0, bool NonLin=false)
 Set number of y divisions with all y weights equal to 1.0.
void SetNz (size_t Nz, double Az=0.0, bool NonLin=false)
 Set number of z divisions with all z weights equal to 1.0.
void SetNx (Array< double > const &TheWx)
 Set divisions along x given weights.
double Diagonal () const
 Find diagonal of block.
void GenMidNodes ()
 Generate mid nodes of block.
bool BryIDs (size_t i, size_t j, size_t k, Array< int > &BryIDs) const
 ID of boundary sides (edges or faces) of the block where i,j,k is located on.
int GetVTag (size_t i, size_t j, size_t k) const
 Get vertex tag.
void AddArcCtr (int Side, double x, double y, double R, double Tol=1.0e-8)
 Add Arc constraint to nodes along side # Side.
void AddCylXCtr (int Side, double y, double z, double R, double Tol=1.0e-8)
 Constarint: cylinder parallel to x.
void ApplyCtr (Array< int > const &Sides, Vertex &V) const
 Apply constraints to Vertex V which is belong to sides Sides.

Public Attributes

int NDim
 Space dimension.
int Tag
 Tag.
Mat_t C
 Coordinates.
Array< int > VTags
 Vertex tags.
Array< int > BryTags
 Boundary (edge or Face) tags.
size_t Nx
size_t Ny
size_t Nz
 Number of divisons.
Array< double > Wx
Array< double > Wy
Array< double > Wz
 Weights.
double SumWx
double SumWy
double SumWz
 Sum of weights.
Array< bool > SideHasCtr
 Side has constraint ?
Side2Ctr_t Side2Ctr
 Side to constraint map.

Constructor & Destructor Documentation

Mesh::Block::Block ( ) [inline]

Member Function Documentation

void Mesh::Block::AddArcCtr ( int  Side,
double  x,
double  y,
double  R,
double  Tol = 1.0e-8 
) [inline]

Add Arc constraint to nodes along side # Side.

void Mesh::Block::AddCylXCtr ( int  Side,
double  y,
double  z,
double  R,
double  Tol = 1.0e-8 
) [inline]

Constarint: cylinder parallel to x.

void Mesh::Block::ApplyCtr ( Array< int > const &  Sides,
Vertex V 
) const [inline]

Apply constraints to Vertex V which is belong to sides Sides.

bool Mesh::Block::BryIDs ( size_t  i,
size_t  j,
size_t  k,
Array< int > &  BryIDs 
) const [inline]

ID of boundary sides (edges or faces) of the block where i,j,k is located on.

double Mesh::Block::Diagonal ( ) const [inline]

Find diagonal of block.

void Mesh::Block::GenMidNodes ( ) [inline]

Generate mid nodes of block.

int Mesh::Block::GetVTag ( size_t  i,
size_t  j,
size_t  k 
) const [inline]

Get vertex tag.

void Mesh::Block::Set ( int  NDim,
int  Tag,
size_t  NVerts,
  ... 
) [inline]

Set block.

Ex: Set (2, -1, 4, // 2D, Tag, 4 vertices -1.0, 0.0, 0.0, // vtag, x, y, [z,] -2.0, 1.0, 0.0, // vtag, x, y, [z,] -3.0, 1.0, 1.0, // vtag, x, y, [z,] -4.0, 0.0, 1.0, // vtag, x, y, [z,] -10.0,-20.0,-30.0,-40.0); // boundary (edge/face) tags Note: After NVerts, all data must be (double)

void Mesh::Block::SetNx ( size_t  Nx,
double  Ax = 0.0,
bool  NonLin = false 
) [inline]

Set number of x divisions with all x weights equal to 1.0.

void Mesh::Block::SetNx ( Array< double > const &  TheWx) [inline]

Set divisions along x given weights.

void Mesh::Block::SetNy ( size_t  Ny,
double  Ay = 0.0,
bool  NonLin = false 
) [inline]

Set number of y divisions with all y weights equal to 1.0.

void Mesh::Block::SetNz ( size_t  Nz,
double  Az = 0.0,
bool  NonLin = false 
) [inline]

Set number of z divisions with all z weights equal to 1.0.


Member Data Documentation

Boundary (edge or Face) tags.

Coordinates.

Space dimension.

Number of divisons.

Side to constraint map.

Side has constraint ?

Sum of weights.

Tag.

Vertex tags.

Weights.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines