MIDAS  0.75
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
midaspace::FElement Class Referenceabstract

#include <cell.h>

Inheritance diagram for midaspace::FElement:
midaspace::Element midaspace::Cell midaspace::GeometryComponent midaspace::GeometrySubject midaspace::ProblemSubject midaspace::Beam midaspace::Brick midaspace::Quadrangle midaspace::Tetra midaspace::Triangle

Public Member Functions

 FElement (classID mecg, long gid, long oid, const Geometry *mg, long ord, long nn, long ne, long nf, bool aa, long dom, long lid)
 CONSTRUCTOR. More...
 
 FElement (classID mecg, const FElement *src)
 CONSTRUCTOR COPY. More...
 
virtual ~FElement ()
 DESTRUCTOR. More...
 
void attributes_allocation (const GelemAttribs *masterat)
 
virtual void initialize (void)
 initiate/sets data More...
 
virtual void checkConsistency (void) const
 Checks data consistency. More...
 
const MeshMsh (void) const
 
virtual void set_model_prop (long val, const Model *model, bool flag=false)
 
virtual SPRpatchType give_spr_patch_type (void) const
 return type of element for OOFEM solver More...
 
int give_nDOFs (void) const
 give number of DOFs More...
 
IntPointSet give_IPset_comp (Solver sol) const
 basic set = for displacement computation More...
 
IntPointSet give_IPset_rslts (Solver sol) const
 basic set = for results More...
 
int give_rslt_NIP (Solver sol) const
 
IntPointSet give_IPset2 (void) const
 higher set = for displacement^2 computation, or mass matrix or sigma error ... More...
 
void set_lid (long val)
 
int give_ord (void) const
 
long give_nnoed (int i) const
 
long give_domain (void) const
 
long give_lid (void) const
 
const Gelementgive_mdl_masterel (void) const
 
void set_node (long i, long nid)
 ATRIBUTES. More...
 
void set_node (long i, const Node *nod)
 
const Nodegive_node (long i) const
 
long give_parent_id (void) const
 
long give_parent_prop (void) const
 
void set_regid (long val)
 
long give_regid (void) const
 
void allocate_results (void)
 RESULTS. More...
 
void add_result (Array *rslt, long step, ResultTypesAtElem rt)
 
void set_result (long s, double *rslt, long step, ResultTypesAtElem rt)
 
void set_result (double rslt, long step, ResultTypesAtElem rt)
 
void set_result (const VectoR *rslt, long step, ResultTypesAtElem rt)
 
const Dscalgive_results_ds (long step, ResultTypesAtElem rt) const
 
const Dvctrgive_results_dv (long step, ResultTypesAtElem rt) const
 
const Dmtrxgive_results_dm (long step, ResultTypesAtElem rt) const
 
const Arraygive_results (long step, ResultTypesAtElem rt) const
 
virtual void compute_maxSigmaEq (void)
 
void setup_maxSigmaEq (void)
 
double give_CSusage_elast (void)
 
double give_CSusage_elast_rel (void)
 
int give_CSusage_elast_bool (void)
 
virtual double give_ssstate (Dvctr *data, SStype SST, RVType rvtype, char type, long step, const Node *node=NULL)=0
 give stress-strain state More...
 
void check_rslts (long step, ResultTypesAtElem rt) const
 
double fillupbyzero (Dvctr *data, SStype SST) const
 
long give_result_ncomp (long time_step, ResultTypesAtElem rte) const
 
void initialize_CSL (int c, long *fID, long *tCSL)
 initializes Constant Surface Load More...
 
virtual void read_input (const char *&str, femFileFormat fff)
 
virtual void read_output_OOFEM (FILE *stream, long step)
 
virtual void read_output_SIFEL (FILE *stream, long step, ResultTypesAtElem rt)
 
virtual void print_row (FILE *stream, femFileFormat fff, bool endline=true, long did=0) const
 print element row output for OOFEM More...
 
void read_nodes (const char *&str, femFileFormat fff)
 print element row output for VTK More...
 
bool is_cmfr (void)
 
virtual void give_ip_coords_global (IntPointSet ips, int i, PoinT &coords) const
 
- Public Member Functions inherited from midaspace::Element
 Element (classID mecg, long gid, long oid, long prop, const Geometry *mg, long nn, long ne, long nf)
 CONSTRUCTOR. More...
 
 Element (classID mecg, const Element *src)
 CONSTRUCTOR COPY. More...
 
virtual ~Element ()
 DESTRUCTOR. More...
 
VTKPDtopology give_VTKPDtopology (void) const
 
const Facedgegive_same_dimension_facedge (void) const
 Returns edge/face/volume of same dimension as receiver (Beam returns edge, etc.) More...
 
virtual DOFsPerNode give_DOFsPerNode_default (void) const =0
 Returns edge/face/volume of same dimension as receiver (Beam returns edge, etc.) More...
 
virtual SStype give_SSType_default (void) const =0
 give default type of stress state More...
 
void set_mprop (long val)
 *** SET *** More...
 
void set_prop_node_inher (bool everynode)
 inherit property from element to nodes, only if node has one superelem More...
 
void set_fullhinge_at (const Point *p)
 
ElemAttribsgive_elemAttribs (void)
 
const ElemAttribsgive_elemAttribs (void) const
 
bool has_fullhinge_at (int point) const
 
void connectivity_assembling (bool re=false)
 Function assembles connectivity between element and its nodes, edges and faces (which are allocated if needed) More...
 
void connectivity_removing (void)
 Function removes connectivity between element and its components == nodes, edges and faces. More...
 
virtual long give_edge_nodes (const Point **&edgnodes) const
 
void set_load (int i, int indx=-1)
 
bool is_point_on (const PoinT *point, const GeometryComponent *&comp, PoinT *nc) const
 Function finds out mutual position of point with coords and 'element'. More...
 
void switch_node_pointer_in_all_components (Point *slave, Point *master, bool duplcheck)
 switch node pointer from oldnode/slave to newnode/master on this and all components (edges, faces) More...
 
virtual void switch_node_pointer (Point *slave, Point *master, bool duplcheck)
 switch node pointer form slave to master More...
 
virtual double give_quality (void) const
 compute quality of element More...
 
virtual double give_volume (void) const
 compute volume of element More...
 
bool isBeam (void) const
 
bool isTruss (void) const
 
void print_row_VTK (FILE *stream) const
 print element row output for VTK More...
 
virtual void print_row_VTX (char *str) const
 
- Public Member Functions inherited from midaspace::Cell
CellGeometry give_cellGeom (void) const
 
int give_dimension (void) const
 return type of element geometry, is identical with class derived from FElement More...
 
const PoinTgive_centercoords (void) const
 
double give_circum (void) const
 
double give_lav (void) const
 
double give_GeomWeight1deg (void) const
 
bool is_point_in_sphere (const PoinT *point) const
 
double give_characteristic_size (void) const
 
ComponentGeometrygive_cg (void)
 
 Cell (classID mecg, long gid, long oid, long prop, const Geometry *mg, long nn, long ne, long nf)
 CONSTRUCTOR. More...
 
 Cell (classID mecg, const Cell *src)
 CONSTRUCTOR COPY. More...
 
virtual ~Cell ()
 DESTRUCTOR. More...
 
void check_connectivity_loc (void) const
 
void set_point (long i, const Point *val)
 ATRIBUTES. More...
 
void set_point (long i, long pid)
 
void set_edge (long i, const Edge *val)
 
void set_face (long i, const Face *val)
 
long give_nno (void) const
 
long give_ned (void) const
 
long give_nfa (void) const
 
const Pointgive_point (long i) const
 
const Edgegive_edge (long i) const
 
const Facegive_face (long i) const
 
const GPA< const Point > * give_points (void) const
 
const GPA< const Edge > * give_edges (void) const
 
const GPA< const Face > * give_faces (void) const
 
long give_point_indx (const Point *p) const
 
virtual long give_face_nodes_edges (const Point **&facnodes, const Edge **&facedges) const
 
virtual void switch_myself_at_connectivity (Cell *master)
 switch receiver to master in connectivity system More...
 
bool switch_edge_pointer (Edge *slave, Edge *master)
 switch pointer to component edge - slave is replaced be master More...
 
bool switch_face_pointer (Face *slave, Face *master)
 switch pointer to component face - slave is replaced be master More...
 
void setup_duplicity_master (Cell *val)
 
bool invisible_duplicated (char flag='a')
 make invisible if duplicated More...
 
bool has_same_geom_with (Cell *slave) const
 ASSORTED check same geometry. More...
 
bool check_collapse (void)
 check any two nodes are same = element is collapsed More...
 
bool cross_abscissa_node (const PoinT *a1, const PoinT *a2, long cunn, const Point **unnod, const Point *&nod, double &ksi, PoinT *cp) const
 Function finds out whether some element node lays on abscissa. More...
 
int cross_abscissa_face (const PoinT *a1, const PoinT *a2, long cunf, const Face **unfac, const Cell *&comp, PoinT *nc, PoinT *cp)
 Function finds out whether abscissa intersects any face. More...
 
- Public Member Functions inherited from midaspace::GeometryComponent
 GeometryComponent (const Geometry *owner, long gid, long oid, long prop)
 CONSTRUCTOR. More...
 
 GeometryComponent (const GeometryComponent *src)
 CONSTRUCTOR COPY. More...
 
virtual ~GeometryComponent ()
 DESTRUCTOR. More...
 
virtual void finitialize (void)
 finalize preprocessing More...
 
void reset_mprop (long val)
 
bool checkset_mprop (long val)
 
void set_origID (long val)
 
void set_delete_flag (bool val)
 
long give_mproperty () const
 *** GET *** More...
 
const Lvctrgive_mproperty_ptr (void) const
 
long give_mpropertyORzero (void) const
 
long give_mproperty_cnt (void) const
 
bool has_mproperty (long prop) const
 
long give_origID () const
 
bool give_delete_flag () const
 
Attributesgive_attributes (void)
 
const Attributesgive_attributes (void) const
 
bool Parallel (void) const
 *** FEMesh *** More...
 
long NumDomains (void) const
 
void check_connectivity (void) const
 
void mg_connectivity_assembling (void)
 
- Public Member Functions inherited from midaspace::GeometrySubject
 GeometrySubject (long gid)
 CONSTRUCTOR. More...
 
 GeometrySubject (long gid, const Problem *owner)
 CONSTRUCTOR. More...
 
 GeometrySubject (long gid, const Geometry *owner)
 CONSTRUCTOR. More...
 
virtual ~GeometrySubject ()
 DESTRUCTOR. More...
 
void set_Geom (const Geometry *owner)
 
void reset_Geom (const Geometry *owner)
 
const Geometrygive_Geom (void) const
 
- Public Member Functions inherited from midaspace::ProblemSubject
 ProblemSubject (long gid)
 CONSTRUCTOR. More...
 
 ProblemSubject (long gid, const Problem *owner)
 CONSTRUCTOR. More...
 
virtual ~ProblemSubject ()
 DESTRUCTOR. More...
 
virtual classID give_classid () const
 Returns classID - class identification. More...
 
void set_ID (long val)
 
long give_ID () const
 
void set_Pd (const Problem *owner)
 
const Problemgive_Pd (void) const
 

Protected Member Functions

virtual void integrate_duplicated_cell (const Element *slave)
 DUPLICITY. More...
 
- Protected Member Functions inherited from midaspace::Element
ElemAttribselemAttribs ()
 Gives attribute attributes, data type changed to ElemAttribs*. More...
 
const ElemAttribselemAttribs () const
 
- Protected Member Functions inherited from midaspace::Cell
virtual void integrate_duplicated_cell (const Cell *slave)
 

Protected Attributes

long domain
 
long lid
 
const Gelementmdl_masterel
 
double * maxSigmaEq
 
- Protected Attributes inherited from midaspace::Cell
ComponentGeometrycg
 
- Protected Attributes inherited from midaspace::GeometryComponent
Lvctr mproperty
 
long origid
 
bool fordelete
 
Attributesattributes
 ATTRIBUTES. More...
 
- Protected Attributes inherited from midaspace::GeometrySubject
const GeometryGeom
 Pointer to owner == parent geometry. More...
 
- Protected Attributes inherited from midaspace::ProblemSubject
long ID
 (global) identification number == position in list of members; zero-based numbering. More...
 
const ProblemPd
 Pointer to owner = parent problem. More...
 

Private Attributes

Array *** results
 2d array of pointers to Array (Xvctr or Xmtrx) More...
 
long regid
 

Additional Inherited Members

- Public Attributes inherited from midaspace::Cell
GPA< const Pointpoints
 
GPA< const Edgeedges
 
GPA< const Facefaces
 
bool connectivity_assembled
 
Cellduplmaster
 

Detailed Description

Definition at line 589 of file cell.h.

Constructor & Destructor Documentation

midaspace::FElement::FElement ( classID  mecg,
long  gid,
long  oid,
const Geometry mg,
long  ord,
long  nn,
long  ne,
long  nf,
bool  aa,
long  dom,
long  lid 
)

CONSTRUCTOR.

Definition at line 1544 of file cell.cpp.

References attributes_allocation(), domain, lid, maxSigmaEq, mdl_masterel, regid, and results.

midaspace::FElement::FElement ( classID  mecg,
const FElement src 
)

CONSTRUCTOR COPY.

Definition at line 1560 of file cell.cpp.

References midaspace::GeometryComponent::attributes, domain, errol, midaspace::ProblemSubject::ID, lid, maxSigmaEq, and results.

midaspace::FElement::~FElement ( )
virtual

DESTRUCTOR.

Definition at line 1571 of file cell.cpp.

References midaspace::cRTE, midaspace::deallocateCheckUno(), maxSigmaEq, Msh(), and results.

Member Function Documentation

void midaspace::FElement::add_result ( Array rslt,
long  step,
ResultTypesAtElem  rt 
)
void midaspace::FElement::allocate_results ( void  )

RESULTS.

Definition at line 1694 of file cell.cpp.

References midaspace::cRTE, midaspace::Mesh::give_rslts_nsteps(), Msh(), and results.

Referenced by add_result(), and set_result().

void midaspace::FElement::attributes_allocation ( const GelemAttribs masterat)

Definition at line 1578 of file cell.cpp.

References midaspace::GeometryComponent::attributes, midaspace::EAL_direct, and errol.

Referenced by FElement(), and read_input().

void midaspace::FElement::check_rslts ( long  step,
ResultTypesAtElem  rt 
) const
inline
void midaspace::FElement::checkConsistency ( void  ) const
virtual
virtual void midaspace::FElement::compute_maxSigmaEq ( void  )
inlinevirtual

Reimplemented in midaspace::Triangle, and midaspace::Beam.

Definition at line 697 of file cell.h.

References _errorr2, and midaspace::ProblemSubject::ID.

Referenced by setup_maxSigmaEq().

double midaspace::FElement::fillupbyzero ( Dvctr data,
SStype  SST 
) const
double midaspace::FElement::give_CSusage_elast ( void  )
int midaspace::FElement::give_CSusage_elast_bool ( void  )

Definition at line 1778 of file cell.cpp.

References give_CSusage_elast_rel().

Referenced by midaspace::Mesh::print_results().

double midaspace::FElement::give_CSusage_elast_rel ( void  )
long midaspace::FElement::give_domain ( void  ) const
inline

Definition at line 642 of file cell.h.

References domain.

Referenced by midaspace::Mesh::print_block_elems(), and midaspace::Triangle::Triangle().

virtual void midaspace::FElement::give_ip_coords_global ( IntPointSet  ips,
int  i,
PoinT coords 
) const
inlinevirtual

Reimplemented in midaspace::Quadrangle, and midaspace::Triangle.

Definition at line 741 of file cell.h.

References _errorr.

IntPointSet midaspace::FElement::give_IPset2 ( void  ) const

higher set = for displacement^2 computation, or mass matrix or sigma error ...

IntPointSet midaspace::FElement::give_IPset_comp ( Solver  sol) const

basic set = for displacement computation

basic set = for displacement computation (integration of stiffness matrix)

Definition at line 1635 of file cell.cpp.

References midaspace::Element::elemAttribs(), midaspace::FETSet_set2e(), midaspace::Problem::give_analgroup(), midaspace::ElemAttribs::give_IPset(), midaspace::IntPointSet_fet2e_comp(), midaspace::IPS_Void, and midaspace::ProblemSubject::Pd.

Referenced by give_IPset_rslts().

IntPointSet midaspace::FElement::give_IPset_rslts ( Solver  sol) const
long midaspace::FElement::give_lid ( void  ) const
inline

Definition at line 643 of file cell.h.

References lid.

const Gelement* midaspace::FElement::give_mdl_masterel ( void  ) const
inline
int midaspace::FElement::give_nDOFs ( void  ) const
inline

give number of DOFs

Definition at line 625 of file cell.h.

References midaspace::DOFsPerNode2nDOFs(), midaspace::Element::elemAttribs(), and midaspace::Cell::give_nno().

long midaspace::FElement::give_nnoed ( int  i) const
inline

Definition at line 640 of file cell.h.

References midaspace::Element::elemAttribs(), errol, and give_ord().

Referenced by midaspace::Problem::read_mesh_SIFEL().

const Node* midaspace::FElement::give_node ( long  i) const
inline

Definition at line 652 of file cell.h.

References midaspace::Cell::points.

Referenced by midaspace::FElemAttribs::initialize().

int midaspace::FElement::give_ord ( void  ) const
inline
long midaspace::FElement::give_parent_id ( void  ) const
inline
long midaspace::FElement::give_parent_prop ( void  ) const
inline
long midaspace::FElement::give_regid ( void  ) const
inline

Definition at line 682 of file cell.h.

References regid.

Referenced by midaspace::Mesh::print_results().

long midaspace::FElement::give_result_ncomp ( long  time_step,
ResultTypesAtElem  rte 
) const

Definition at line 1803 of file cell.cpp.

References errol, midaspace::Xmtrx::give_ccols(), and results.

const Array* midaspace::FElement::give_results ( long  step,
ResultTypesAtElem  rt 
) const
inline
const Dmtrx * midaspace::FElement::give_results_dm ( long  step,
ResultTypesAtElem  rt 
) const
const Dscal * midaspace::FElement::give_results_ds ( long  step,
ResultTypesAtElem  rt 
) const

Definition at line 1714 of file cell.cpp.

References errol, and results.

Referenced by midaspace::Mesh::print_results().

const Dvctr * midaspace::FElement::give_results_dv ( long  step,
ResultTypesAtElem  rt 
) const

Definition at line 1715 of file cell.cpp.

References errol, and results.

int midaspace::FElement::give_rslt_NIP ( Solver  sol) const
inline
virtual SPRpatchType midaspace::FElement::give_spr_patch_type ( void  ) const
inlinevirtual

return type of element for OOFEM solver

Reimplemented in midaspace::Quadrangle, and midaspace::Triangle.

Definition at line 623 of file cell.h.

References errol, and midaspace::SPRPT_Void.

virtual double midaspace::FElement::give_ssstate ( Dvctr data,
SStype  SST,
RVType  rvtype,
char  type,
long  step,
const Node node = NULL 
)
pure virtual
void midaspace::FElement::initialize ( void  )
virtual

initiate/sets data

Reimplemented from midaspace::GeometryComponent.

Reimplemented in midaspace::Beam.

Definition at line 1588 of file cell.cpp.

References midaspace::GeometryComponent::initialize().

Referenced by midaspace::Beam::initialize().

void midaspace::FElement::initialize_CSL ( int  c,
long *  fID,
long *  tCSL 
)

initializes Constant Surface Load

void midaspace::FElement::integrate_duplicated_cell ( const Element slave)
protectedvirtual
bool midaspace::FElement::is_cmfr ( void  )

Definition at line 2039 of file cell.cpp.

const Mesh* midaspace::FElement::Msh ( void  ) const
inline
void midaspace::FElement::print_row ( FILE *  stream,
femFileFormat  fff,
bool  endline = true,
long  did = 0 
) const
virtual
void midaspace::FElement::read_input ( const char *&  str,
femFileFormat  fff 
)
virtual
void midaspace::FElement::read_nodes ( const char *&  str,
femFileFormat  fff 
)

print element row output for VTK

read nodes in in human numbering from a string

Definition at line 2027 of file cell.cpp.

References midaspace::ECN_convert_e2i(), midaspace::Element::elemAttribs(), midaspace::Cell::give_cellGeom(), give_ord(), midaspace::Cell::points, set_node(), and midaspace::SP_scan_number().

Referenced by read_input().

virtual void midaspace::FElement::read_output_OOFEM ( FILE *  stream,
long  step 
)
inlinevirtual

Reimplemented in midaspace::Brick, midaspace::Quadrangle, midaspace::Triangle, and midaspace::Beam.

Definition at line 722 of file cell.h.

References _errorr.

Referenced by midaspace::Mesh::read_output_OOFEM().

virtual void midaspace::FElement::read_output_SIFEL ( FILE *  stream,
long  step,
ResultTypesAtElem  rt 
)
inlinevirtual

Reimplemented in midaspace::Brick, midaspace::Triangle, and midaspace::Beam.

Definition at line 723 of file cell.h.

References _errorr.

Referenced by midaspace::Mesh::read_output_SIFEL().

void midaspace::FElement::set_lid ( long  val)
inline

Definition at line 638 of file cell.h.

References lid.

Referenced by midaspace::Mesh::add_another_Element().

void midaspace::FElement::set_model_prop ( long  val,
const Model model,
bool  flag = false 
)
virtual
void midaspace::FElement::set_node ( long  i,
long  nid 
)
inline
void midaspace::FElement::set_node ( long  i,
const Node nod 
)
inline

Definition at line 650 of file cell.h.

References midaspace::Cell::points.

void midaspace::FElement::set_regid ( long  val)
inline

Definition at line 677 of file cell.h.

References regid.

void midaspace::FElement::set_result ( long  s,
double *  rslt,
long  step,
ResultTypesAtElem  rt 
)

Definition at line 1709 of file cell.cpp.

References allocate_results(), errol, and results.

Referenced by midaspace::Mesh::adaptivity().

void midaspace::FElement::set_result ( double  rslt,
long  step,
ResultTypesAtElem  rt 
)

Definition at line 1710 of file cell.cpp.

References allocate_results(), errol, and results.

void midaspace::FElement::set_result ( const VectoR rslt,
long  step,
ResultTypesAtElem  rt 
)

Definition at line 1711 of file cell.cpp.

References allocate_results(), errol, and results.

void midaspace::FElement::setup_maxSigmaEq ( void  )

Member Data Documentation

long midaspace::FElement::domain
protected

Definition at line 592 of file cell.h.

Referenced by FElement(), give_domain(), and print_row().

long midaspace::FElement::lid
protected

Definition at line 593 of file cell.h.

Referenced by FElement(), give_lid(), print_row(), and set_lid().

double* midaspace::FElement::maxSigmaEq
protected
const Gelement* midaspace::FElement::mdl_masterel
protected
long midaspace::FElement::regid
private

Definition at line 671 of file cell.h.

Referenced by FElement(), give_regid(), and set_regid().

Array*** midaspace::FElement::results
private

2d array of pointers to Array (Xvctr or Xmtrx)

  • 2d == Mesh->rslts_nsteps * cRTE ; cRTE - count of result types at element, see alias.h for ResultTypesAtElem

Definition at line 670 of file cell.h.

Referenced by add_result(), allocate_results(), check_rslts(), FElement(), give_result_ncomp(), give_results(), give_results_dm(), give_results_ds(), give_results_dv(), set_result(), and ~FElement().


The documentation for this class was generated from the following files: