224 virtual ~MEER (
void);
233 double solve (
double req_error);
2 dimensions; 4 nodes; bilinear interpolation // takto to ma nastavene OOFEM pro ctyruhelniky cisla u...
long nIPs1
number of integration points for integration set 1, i.e. integration of stiffness matrix ...
int boundary
node at boundary
MEER_SPRboundaryPatchType
Strategie vytváření patchí na okraji regionu.
MEER_SPRboundaryPatchType SPR_boundary
Použitá strategie vytváření patchí na okraji regionu.
long regid
identifikační číslo (ID) regionu (číslováno od nuly) do kterého příslušný element patří...
VectoR ** normal
normala k plose v bode; 2d pole [nREGIONs, 1] predpoklad - v ramci jednoho regionu muze byt jen jedna...
2 dimensions; 3 nodes; linear interpolation // l1,l2,l3 (0;1) ...
long * nodes
pole délky nnodes s identifikačními čísly (číslováno od nuly) uzlů
const VectoR * give_normal_at_node_and_region(long id, long regid) const
Dvctr *** refined_node_values_1
Pole hodnot.
virtual void give_superelems_to_node(long nodeID, long &nsuperelems, long *superelems) const =0
NODES.
GPA - Generic Pointer Array, template class manages 1d array of pointers to objects of type T...
long nELEMs
počet konečných prvků (elementů) sítě.
double MEER_mesh_refinement(double rerror)
rerror == required error
long nREGIONs
počet regionů v konstrukci
double eval_interpol_fces_at_IPs2(long elementID, int ipid, double *answer) const
evaluate interpolation functions at element at IP with coordinates
void MEER_SPR_bp_recovered_nodes_detection(const NODE *node, GPA< const NODE > &bp_recovered_nodes)
vytvori seznam uzlu "bp_recovered_nodes", ktere se budou pocitat z dane patche == patche kolem uzlu "...
const double * give_h_new_at_elems(void) const
Funkce vrací konstantní ukazatel na pole délky [počet elementů].
const double * give_e2i(void) const
double give_element_characteristic_size(long elementID)
compute characteristic size of element = length of equidistant edge
energy norm - error^2 = strain_T * stress
PoinT coords
souradnice uzlu == global coordinates
void resize_ignore_vals(long r, long c)
print yourself
long id
identification number
void MEER_SPR_compute_normals_at_elements(void)
Funkce spocita normaly na elementech, pokud jsou neinicializovane, tj. pokud nejsou predem spocteny e...
2 dimensions; 4 nodes; bilinear interpolation // takto to ma nastavene brnensky FEM pro prvek MITC4 c...
energy norm - error^2 = strain_T * D * strain
double h_min_ratio
minimalni povolene zmenseni elementu; je vhodne zadat asi 0.5 a mene
void set_alloc_REGIONs(long n)
allocate arrays
Dvctr *** give_refined_node_values_1(void) const
Funkce vrací konstantní ukazatel na pole délky [počet elementů].
void MEER_SPR_patch_recovered_nodes_compute(long regid, GPA< const NODE > &bp_recovered_nodes, MEER_IPValues valtype, Dvctr **values, Lvctr &cavalues)
energy norm - error^2 = stress_T * D^-1 * stress
void set_alloc_ELEMs(long n)
double solve(double req_error)
Funkce solve je hlavní, a jediná, výkonná funkce knihovny MEER.
Structs Elem3D, PoinT and VectoR; classes Array, Array1d, Xscal, Dscal, Xvctr, Lvctr, Dvctr, Xmtrx, Lmtrx and Dmtrx.
Dvctr *** give_refined_node_values_2(void) const
void MEER_error_estimatior(void)
virtual long give_number_of_IPs2(long elementID) const =0
give number of integration points for integration set 1, i.e. integration of stiffness matrix ...
void MEER_SPR_basic_patch_detection(long regid)
Patch se dělá v každém P1 bodě a interpoluje se navíc do všech P2 bodů na patchi. ...
void set_boundary_nodes(void)
PoinT * IPs1_coords
global coordinates of integration points for integration set 1
MEER_IPValues
Hodnoty v integracnich bodech, ktere budou vylepsovany a bude se z nich pocitat chyba.
virtual const double * give_IPs2_values(long elementID, int ipID, MEER_IPValues valtype) const =0
give values at integration points of IP set 2 spocte napeti z FEM v IP s coordinatama ...
long nNODEs
počet uzlů sítě konečných prvků v konstrukci
const Dmtrx * give_rotmat_at_node(long id) const
Dvctr *** refined_node_values_2
Dmtrx rotmat
rotation matrix, bude jen jedna, pri pocitani dalsiho regionu se prepise u normaly to tak nemuze byt...
MEER_ErrorNorm enorm
Typ použitého integrálního meřítka chyby.
MEER_ErrorNorm
Typ integrálního meřítka chyby.
bool normal_at_nodes
normaly v uzlech jsou zname/spoctene
virtual const double * give_IPs1_values(long elementID, int ipID, MEER_IPValues valtype) const =0
aby se ty cisla nemusely kopirovat sem tam, tak to mam zatim udelany tak, ze se posila const ukazatel...
void MEER_SPR_give_polynom(long sprtype, const PoinT *coords, Dvctr &pol)
virtual double give_element_area(long elementID) const =0
give element area => u 1d prvku to ale asi bude delka, tak pak to budu muset predelat ...
virtual MEER_ElemDisplInterpol give_element_EDI(long elementID) const =0
ELEMENTS.
double h_max_ratio
maximalni povolene zvetseni elementu; je vhodne zadat asi 2.0 a vice
virtual double give_IPs2_coords_natural(long elementID, int ipID, double *ncoords) const =0
give weight as return value, and natural coordinates of node-th IP
const double * give_abs_error_at_elements(void) const
Funkce vrací konstantní ukazatel na pole délky [počet elementů].
virtual ~MEER(void)
DESTRUCTOR.
virtual double give_element_thickness(long elementID) const =0
give element thickness
void set_alloc_NODEs(long n)
L2 norm - error^2 = stress_T * stress.
Hlavní, a jedíná, třída knihovny MEER.
long nnodes
počet uzlů na elementu
a) Patch se dělá v každém P1 bodě který není PB a interpoluje se navíc do všech PB a P2 bodů na patch...
long id
identification number
double * give_ptr2val(long i=0)
return pointer to
ELEMENT * ELEMs
pole delky 'nELEMs' struktur ELEMENT, v kterych jsou uchovany informace o prvcich ...
void MEER_SPR_nodal_recovery(void)
SPR nodal recovery.
VectoR * normal
normala (vektor kolmy k plose prvku) delky 2*A (2 x plocha prvku), pro (zborceny) 4uhelnik staci spoc...
MEER_ElemDisplInterpol
pomoci tohoto enumu se predava nekolik informaci:
virtual double give_element_thickness_reduced(long elementID) const =0
give element thickness, !!! reduced, pro shelly to bude vzdy 1, protoze tam jsou integralni veliciny ...
int MEER_SPR_give_number_coefficients(long sprtype)
MEER_SPRpatchType
Typ spr patche, závisí na typu/geometrii elementů.
const double * give_error_at_elements_local(void) const
Funkce vrací konstantní ukazatel na pole délky [počet elementů].
const double * give_error_at_elements_global(void) const
Funkce vrací konstantní ukazatel na pole délky [počet elementů].
NODE * NODEs
pole delky 'nNODEs' struktur NODE, v kterych jsou uchovany informace o uzlu
MEER_IPValues valtype_1
Hodnoty interpolovane do uzlu.
const VectoR * give_normal_at_elem(long id) const
const double * give_h_old_at_elems(void) const
Funkce vrací konstantní ukazatel na pole délky [počet elementů].
REGION * REGIONs
pole delky 'nREGIONs' struktur REGION, v kterych jsou uchovany informace o regionu ...
virtual void initialize(void)=0
Chráněné metody s návodem na implementaci v zděděné třídě: