![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#include <structured.h>
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. |
Mesh::Block::Block | ( | ) | [inline] |
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.
Boundary (edge or Face) tags.
Coordinates.
Space dimension.
size_t Mesh::Block::Nx |
size_t Mesh::Block::Ny |
size_t Mesh::Block::Nz |
Number of divisons.
Side to constraint map.
Array<bool> Mesh::Block::SideHasCtr |
Side has constraint ?
double Mesh::Block::SumWx |
double Mesh::Block::SumWy |
double Mesh::Block::SumWz |
Sum of weights.
int Mesh::Block::Tag |
Tag.
Array<int> Mesh::Block::VTags |
Vertex tags.
Array<double> Mesh::Block::Wx |
Array<double> Mesh::Block::Wy |
Array<double> Mesh::Block::Wz |
Weights.