![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#include <domain.h>
Public Types | |
enum | BryTagType_t { None_t, Element_t, Border_t, Node_t } |
typedef std::map< String, BCFuncs * > | MDatabase_t |
Map 'tag_varkey' to M function pointer (ex.: '-10_ux') | |
typedef std::map< int, Model * > | Models_t |
Map tag to model pointer. | |
Public Member Functions | |
Domain (Mesh::Generic const &Msh, Dict const &Prps, Dict const &Mdls, Dict const &Inis, char const *FNKey=NULL, Array< int > const *OutV=NULL, pVTUfunc pVTU=NULL) | |
Pointer to function to be called in WriteVTU (ex.: solution values) | |
~Domain () | |
void | SetBCsNew (Array< BCfunc > const &Bfuns, Array< FaceBc > const &Fbcs, Array< NodeBc > const &Nbcs) |
void | SetBCs (Dict const &BCs) |
Set boundary conditions. | |
void | NewNodsClearU () |
Clear U values of StgNewNods (new nodes just activated by SetBCs) | |
void | PrintResults (char const *NF="%15.6e", bool OnlySummary=false, bool WithElems=true, double Tol=1.0e-10) const |
Print results (Tol:tolerance to ignore zeros) | |
void | WriteMPY (char const *FileKey, MPyPrms const &Prms) const |
void | WriteVTU (char const *FileKey, bool DoExtrapolation=true) const |
bool | CheckErrorNods (Table const &NodSol, SDPair const &NodTol) const |
Check error at nodes. | |
bool | CheckErrorEles (Table const &EleSol, SDPair const &EleTol) const |
Check error at the centre of elements. | |
bool | CheckErrorIPs (Table const &EleSol, SDPair const &EleTol) const |
Check error at integration points of elements. | |
void | PrintBCs (std::ostream &os, double tf=1.0) const |
Print boundary conditions. | |
void | SaveState (char const *FileKey) const |
Save Nodes and Elements' state to an HDF5 file. | |
void | LoadState (char const *FileKey) |
Load Nodes and Elements' state from an HDF5 file. | |
void | SetGeostatic (SDPair const &Data) |
Set geostatic state. | |
void | NodalResults (bool OnlyOutNods=false) const |
Calculate extrapolated values at elments IPs' to nodes. | |
void | OutResults (char const *VTUFName=NULL, bool HeaderOnly=false) |
Do output results. | |
void | CalcReactions (Table &NodesReactions, SDPair &SumReactions) const |
Calculate reactions. | |
Public Attributes | |
double | Time |
Current time (t) | |
size_t | IdxOut |
Index for output of Time files (VTU) | |
Dict const & | Prps |
Element properties. | |
Dict const & | Inis |
Initial values. | |
int | NDim |
Space dimension. | |
Models_t | Mdls |
Models. | |
Models_t | XMdls |
Extra Models. | |
pVTUfunc | VTUfunc |
Pointer to function to be called in WriteVTU. | |
std::map< int, Node * > | VertID2Node |
Map vertex ID to Node. | |
Array< Node * > | Nods |
(Allocated memory) Nodes | |
Array< Element * > | Eles |
(Allocated memory) Elements | |
Array< Node * > | TgdNods |
Tagged Nodes (at boundaries) | |
Array< Element * > | TgdEles |
Tagged edges or faces of Elements (at boundaries) | |
Array< Node * > | OutNods |
Nodes for which output (results) is generated. | |
Array< Element * > | OutEles |
Elements corresponding to Nodes for which output is to be generated (needed during extrapolation) | |
Array< std::ofstream * > | FilNods |
Files with results at selected nodes (OutNods) | |
Array< Element * > | Beams |
Subset of elements of type Beam. | |
MDatabase_t | MFuncs |
Database of pointers to M functions. | |
Array< Node * > | InterNodes |
Nodes on the inferface between partitions (if PARA==true) | |
Tag2Eles_t | Tag2Eles |
Map tag to elements. Useful to activate/deactivate layers. | |
Array< Node * > | ActNods |
Subset of active nodes (set once per call to SetBCs) | |
Array< Element * > | ActEles |
Subset of active elements (set once per call to SetBCs) | |
Array< Node * > | NodsWithPF |
Subset of nodes with prescribed F. | |
Array< Node * > | NodsWithPU |
Subset of nodes with prescribed U. | |
Array< Element * > | ElesWithBC |
Subset of elements with prescribed boundary conditions (ex.: beams, flowelem with convection, etc.) | |
Array< Node * > | NodsPins |
Subset of nodes that are pins. | |
Array< Node * > | NodsIncSup |
Subset of nodes with inclined supports. | |
Array< Node * > | StgNewNods |
Nodes just activated in the new stage set by SetBCs. | |
bool | HasDisps |
Has displacements (ux, ...) ? | |
bool | HasVeloc |
Has velocities (vx, ...) ? | |
bool | HasWDisch |
Has specific water discharge (qwx, ...) ? | |
Array< String > | AllUKeys |
All U node keys (ux, uy, hh, ...) | |
Array< String > | AllFKeys |
All F node keys (fx, fy, qq, ...) | |
Array< String > | AllUKeysBCF |
All U BC callback functions (UX, UY, HH, ...) : upper case. | |
Array< String > | AllFKeysBCF |
All F BC callback functions (FX, FY, QQ, ...) : upper case. | |
Array< String > | AllExtraKeys |
All extra BC keys such as 'qn', 'qt', 's', 'activate', 'grav'. | |
Array< String > | AllExtraKeysBCF |
All extra BC keys such as 'qn', 'qt', 's', 'activate', 'grav'. | |
Array< String > | AllEKeys |
All element keys (sx, sy, vx, vy, ...) | |
Res_t | NodResults |
Extrapolated nodal results. | |
Res_t | NodResCount |
Count how many times a variable (key) was added to a node. | |
Static Public Attributes | |
static bool | PARA = false |
Parallel code ? | |
static bool | WithInfo = true |
Print information ? |
typedef std::map<String,BCFuncs*> FEM::Domain::MDatabase_t |
Map 'tag_varkey' to M function pointer (ex.: '-10_ux')
typedef std::map<int,Model*> FEM::Domain::Models_t |
Map tag to model pointer.
FEM::Domain::Domain | ( | Mesh::Generic const & | Msh, |
Dict const & | Prps, | ||
Dict const & | Mdls, | ||
Dict const & | Inis, | ||
char const * | FNKey = NULL , |
||
Array< int > const * | OutV = NULL , |
||
pVTUfunc | pVTU = NULL |
||
) | [inline] |
FEM::Domain::~Domain | ( | ) | [inline] |
void FEM::Domain::CalcReactions | ( | Table & | NodesReactions, |
SDPair & | SumReactions | ||
) | const [inline] |
Calculate reactions.
bool FEM::Domain::CheckErrorEles | ( | Table const & | EleSol, |
SDPair const & | EleTol | ||
) | const [inline] |
Check error at the centre of elements.
bool FEM::Domain::CheckErrorIPs | ( | Table const & | EleSol, |
SDPair const & | EleTol | ||
) | const [inline] |
Check error at integration points of elements.
bool FEM::Domain::CheckErrorNods | ( | Table const & | NodSol, |
SDPair const & | NodTol | ||
) | const [inline] |
Check error at nodes.
void FEM::Domain::LoadState | ( | char const * | FileKey | ) | [inline] |
Load Nodes and Elements' state from an HDF5 file.
void FEM::Domain::NewNodsClearU | ( | ) | [inline] |
Clear U values of StgNewNods (new nodes just activated by SetBCs)
void FEM::Domain::NodalResults | ( | bool | OnlyOutNods = false | ) | const [inline] |
Calculate extrapolated values at elments IPs' to nodes.
void FEM::Domain::OutResults | ( | char const * | VTUFName = NULL , |
bool | HeaderOnly = false |
||
) | [inline] |
Do output results.
void FEM::Domain::PrintBCs | ( | std::ostream & | os, |
double | tf = 1.0 |
||
) | const [inline] |
Print boundary conditions.
void FEM::Domain::PrintResults | ( | char const * | NF = "%15.6e" , |
bool | OnlySummary = false , |
||
bool | WithElems = true , |
||
double | Tol = 1.0e-10 |
||
) | const [inline] |
Print results (Tol:tolerance to ignore zeros)
void FEM::Domain::SaveState | ( | char const * | FileKey | ) | const [inline] |
Save Nodes and Elements' state to an HDF5 file.
void FEM::Domain::SetBCs | ( | Dict const & | BCs | ) | [inline] |
Set boundary conditions.
void FEM::Domain::SetBCsNew | ( | Array< BCfunc > const & | Bfuns, |
Array< FaceBc > const & | Fbcs, | ||
Array< NodeBc > const & | Nbcs | ||
) | [inline] |
void FEM::Domain::SetGeostatic | ( | SDPair const & | Data | ) | [inline] |
Set geostatic state.
void FEM::Domain::WriteMPY | ( | char const * | FileKey, |
FEM::MPyPrms const & | Prms | ||
) | const [inline] |
void FEM::Domain::WriteVTU | ( | char const * | FileKey, |
bool | DoExtrapolation = true |
||
) | const [inline] |
Subset of active elements (set once per call to SetBCs)
Subset of active nodes (set once per call to SetBCs)
All element keys (sx, sy, vx, vy, ...)
All extra BC keys such as 'qn', 'qt', 's', 'activate', 'grav'.
All extra BC keys such as 'qn', 'qt', 's', 'activate', 'grav'.
All F node keys (fx, fy, qq, ...)
All F BC callback functions (FX, FY, QQ, ...) : upper case.
All U node keys (ux, uy, hh, ...)
All U BC callback functions (UX, UY, HH, ...) : upper case.
Subset of elements of type Beam.
(Allocated memory) Elements
Subset of elements with prescribed boundary conditions (ex.: beams, flowelem with convection, etc.)
Array<std::ofstream*> FEM::Domain::FilNods |
Files with results at selected nodes (OutNods)
Has displacements (ux, ...) ?
Has velocities (vx, ...) ?
Has specific water discharge (qwx, ...) ?
size_t FEM::Domain::IdxOut |
Index for output of Time files (VTU)
Dict const& FEM::Domain::Inis |
Initial values.
Nodes on the inferface between partitions (if PARA==true)
Models.
Database of pointers to M functions.
Space dimension.
Res_t FEM::Domain::NodResCount [mutable] |
Count how many times a variable (key) was added to a node.
Res_t FEM::Domain::NodResults [mutable] |
Extrapolated nodal results.
(Allocated memory) Nodes
Subset of nodes with inclined supports.
Subset of nodes that are pins.
Subset of nodes with prescribed F.
Subset of nodes with prescribed U.
Elements corresponding to Nodes for which output is to be generated (needed during extrapolation)
Nodes for which output (results) is generated.
bool FEM::Domain::PARA = false [static] |
Parallel code ?
Dict const& FEM::Domain::Prps |
Element properties.
Nodes just activated in the new stage set by SetBCs.
Map tag to elements. Useful to activate/deactivate layers.
Tagged edges or faces of Elements (at boundaries)
Tagged Nodes (at boundaries)
double FEM::Domain::Time |
Current time (t)
std::map<int,Node*> FEM::Domain::VertID2Node |
Map vertex ID to Node.
Pointer to function to be called in WriteVTU.
bool FEM::Domain::WithInfo = true [static] |
Print information ?
Extra Models.