muMECH
1.0
|
Class mElement contains and handles all mesh element data. More...
#include <melement.h>
Public Member Functions | |
mElement (long i, const Mesh *m) | |
Constructor. More... | |
mElement (long i, const Mesh *m, const mElement *src) | |
Copy constructor. More... | |
virtual | ~mElement () |
Destructor. More... | |
long | give_type (void) const |
void | set_type (long t) |
void | compute_centroids (void) |
void | allocate_fields (int pid) |
double | give_volume (void) |
double | give_energy (int pid, int lc) |
void | save_error (double val, int pid, int lc) |
void | giveReducedStiffMatrix (double *C, int pid) const |
void | give_strain (double *strain, int pid, int lc) const |
void | give_stress (double *stress, int pid, int lc) const |
Public Attributes | |
long | id |
identification number More... | |
const Mesh * | M |
mesh More... | |
long | nnodes |
Number of nodes at elements. More... | |
long * | nodes |
Element nodes. More... | |
long | region |
-2 - not set, -1 - matrix, <0;nIncl) id of inclusion More... | |
double | centroids [3] |
Centroid coordinates. More... | |
double *** | displc |
computed fields - displacement More... | |
double *** | strain |
computed fields - strain in TVRN_THEORETICAL_FEEP notation More... | |
double *** | stress |
computed fields - stress in TVRN_THEORETICAL_FEEP notation More... | |
double ** | energy |
energy = INTEGRAL Strain * Stress *dVolume More... | |
double ** | eqstress |
equivalent stress = SQRT(3*J2) More... | |
double ** | error |
docasne, energeticka chyba reseni v porovnani s FEM resenim = (eps_mM - eps_FEM) More... | |
Private Attributes | |
long | type |
Element type. More... | |
double | volume |
Volume/Area. More... | |
Class mElement contains and handles all mesh element data.
Definition at line 42 of file melement.h.
mumech::mElement::mElement | ( | long | i, |
const Mesh * | m | ||
) |
|
virtual |
Destructor.
Definition at line 84 of file melement.cpp.
References mumech::DeleteArray2D(), mumech::DeleteArray3D(), displc, energy, eqstress, error, M, mumech::Mesh::nLC, nodes, mumech::Mesh::npa, strain, and stress.
void mumech::mElement::allocate_fields | ( | int | pid | ) |
Definition at line 150 of file melement.cpp.
References mumech::Allocate1Ddp(), mumech::Allocate1Ddpp(), displc, mumech::Mesh::el_dspl_rf, mumech::Mesh::el_strn_rf, mumech::Mesh::el_strs_rf, M, mumech::Problems::ndisplc_one(), mumech::Mesh::nLC, mumech::Mesh::npa, mumech::Problems::nstrain_one(), mumech::Mesh::P, strain, and stress.
Referenced by give_type(), and mumech::Mesh::read_geometry_file_vtk().
void mumech::mElement::compute_centroids | ( | void | ) |
Definition at line 116 of file melement.cpp.
References centroids, mumech::Mesh::coll, mumech::mNode::coords, errol, M, nnodes, nodes, and mumech::Mesh::Nodes.
Referenced by give_type().
double mumech::mElement::give_energy | ( | int | pid, |
int | lc | ||
) |
Definition at line 188 of file melement.cpp.
References mumech::Allocate1Ddp(), mumech::Allocate1Ddz(), mumech::Mesh::coll, energy, errol, mumech::Problems::give_dimension(), mumech::Mesh::give_twodim(), give_volume(), mumech::MatrixOperations::giveTTproduct_1is2x2to3and2x2to3_SS(), M, mumech::Mesh::nLC, mumech::Mesh::npa, mumech::Mesh::P, strain, and stress.
Referenced by give_type().
void mumech::mElement::give_strain | ( | double * | strain, |
int | pid, | ||
int | lc | ||
) | const |
Definition at line 246 of file melement.cpp.
References mumech::Mesh::coll, mumech::MatrixOperations::copy3Dto2Dtensors_FEEPreduced(), mumech::CopyVector(), mumech::Mesh::equal_dimensions(), errol, mumech::Problems::give_dimension(), M, mumech::Problems::nstrain_one(), and mumech::Mesh::P.
Referenced by mumech::Mesh::give_error(), and give_type().
void mumech::mElement::give_stress | ( | double * | stress, |
int | pid, | ||
int | lc | ||
) | const |
Definition at line 262 of file melement.cpp.
References mumech::Mesh::coll, mumech::MatrixOperations::copy3Dto2Dtensors_FEEPreduced(), mumech::CopyVector(), mumech::Mesh::equal_dimensions(), errol, mumech::Problems::give_dimension(), M, mumech::Problems::nstrain_one(), and mumech::Mesh::P.
Referenced by mumech::Mesh::give_error(), and give_type().
|
inline |
Definition at line 84 of file melement.h.
References allocate_fields(), compute_centroids(), give_energy(), give_strain(), give_stress(), give_volume(), giveReducedStiffMatrix(), save_error(), set_type(), and type.
Referenced by mumech::Mesh::print_geometry_file_vtk().
double mumech::mElement::give_volume | ( | void | ) |
Definition at line 160 of file melement.cpp.
References gelibspace::VectoR::beVectProduct(), mumech::Mesh::coll, mumech::mNode::coords, errol, gelibspace::VectoR::give_length(), mumech::Mesh::give_regular_element_volume(), M, nnodes, nodes, mumech::Mesh::Nodes, and volume.
Referenced by give_energy(), mumech::Mesh::give_error(), and give_type().
void mumech::mElement::giveReducedStiffMatrix | ( | double * | C, |
int | pid | ||
) | const |
Definition at line 234 of file melement.cpp.
References errol, mumech::Problem::give_inclusion(), mumech::Inclusion::give_StiffnessMatrixReduced(), M, mumech::Problem::matrix_giveReducedStiffMatrix(), mumech::Mesh::P, and region.
Referenced by mumech::Mesh::give_error(), and give_type().
void mumech::mElement::save_error | ( | double | val, |
int | pid, | ||
int | lc | ||
) |
Definition at line 225 of file melement.cpp.
References mumech::Allocate1Ddp(), mumech::Allocate1Ddz(), error, M, mumech::Mesh::nLC, and mumech::Mesh::npa.
Referenced by mumech::Mesh::give_error(), and give_type().
void mumech::mElement::set_type | ( | long | t | ) |
Definition at line 101 of file melement.cpp.
References _errorr, nnodes, nodes, and type.
Referenced by mumech::Mesh::generate_regularSphereMesh_2d(), mumech::Mesh::generate_regularSphereMesh_3d(), give_type(), mElement(), and mumech::Mesh::read_geometry_file_vtk().
double mumech::mElement::centroids[3] |
double*** mumech::mElement::displc |
computed fields - displacement
Definition at line 59 of file melement.h.
Referenced by allocate_fields(), mumech::Mesh::compute_element_fields(), mElement(), and ~mElement().
double** mumech::mElement::energy |
energy = INTEGRAL Strain * Stress *dVolume
Definition at line 63 of file melement.h.
Referenced by give_energy(), mElement(), and ~mElement().
double** mumech::mElement::eqstress |
equivalent stress = SQRT(3*J2)
Definition at line 64 of file melement.h.
Referenced by mElement(), and ~mElement().
double** mumech::mElement::error |
docasne, energeticka chyba reseni v porovnani s FEM resenim = (eps_mM - eps_FEM)
Definition at line 70 of file melement.h.
Referenced by mElement(), save_error(), and ~mElement().
long mumech::mElement::id |
identification number
Definition at line 45 of file melement.h.
Referenced by mumech::Mesh::shift_id().
const Mesh* mumech::mElement::M |
mesh
Definition at line 46 of file melement.h.
Referenced by allocate_fields(), compute_centroids(), give_energy(), give_strain(), give_stress(), give_volume(), giveReducedStiffMatrix(), mElement(), mumech::Problem::print_visualization(), save_error(), and ~mElement().
long mumech::mElement::nnodes |
Number of nodes at elements.
Definition at line 48 of file melement.h.
Referenced by compute_centroids(), give_volume(), mElement(), mumech::Mesh::print_geometry_file_vtk(), and set_type().
long* mumech::mElement::nodes |
Element nodes.
Definition at line 49 of file melement.h.
Referenced by compute_centroids(), mumech::Mesh::generate_regular_mesh(), mumech::Mesh::generate_regularSphereMesh_2d(), mumech::Mesh::generate_regularSphereMesh_3d(), give_volume(), mElement(), mumech::Mesh::print_geometry_file_vtk(), mumech::Mesh::read_geometry_file_vtk(), set_type(), and ~mElement().
long mumech::mElement::region |
-2 - not set, -1 - matrix, <0;nIncl) id of inclusion
Definition at line 55 of file melement.h.
Referenced by mumech::Mesh::compute_element_fields(), giveReducedStiffMatrix(), mElement(), and mumech::Mesh::read_geometry_file_vtk().
double*** mumech::mElement::strain |
computed fields - strain in TVRN_THEORETICAL_FEEP notation
Definition at line 60 of file melement.h.
Referenced by allocate_fields(), mumech::Mesh::compute_element_fields(), give_energy(), mElement(), mumech::Mesh::read_geometry_file_vtk(), and ~mElement().
double*** mumech::mElement::stress |
computed fields - stress in TVRN_THEORETICAL_FEEP notation
Definition at line 61 of file melement.h.
Referenced by allocate_fields(), mumech::Mesh::compute_element_fields(), give_energy(), mElement(), mumech::Mesh::read_geometry_file_vtk(), and ~mElement().
|
private |
Element type.
Definition at line 51 of file melement.h.
Referenced by give_type(), mElement(), and set_type().
|
private |