71 if (src->
displc != NULL || src->
strain != NULL || src->
stress != NULL)
_errorr(
"results data not supported in copy constructor");
73 if (src->
energy != NULL)
_errorr(
"results data not supported in copy constructor");
75 if (src->
eqstress != NULL)
_errorr(
"results data not supported in copy constructor");
78 if (src->
error != NULL)
_errorr(
"results data not supported in copy constructor");
122 for (
int i=0; i<3; i++)
128 for (
int i=0; i<3; i++)
138 for (
int i=0; i<3; i++)
194 if (
energy[pid][lc] == 0.0) {
230 error[pid][lc] = val;
237 if (prob == NULL)
errol;
248 if (this->strain == NULL || this->strain[pid] == NULL || this->strain[pid][lc] == NULL)
errol;
249 if (strain == NULL)
errol;
264 if (this->stress == NULL || this->stress[pid] == NULL || this->stress[pid][lc] == NULL)
errol;
265 if (stress == NULL)
errol;
double ** Allocate1Ddp(long d1)
Function allocates ('new' command) a 1d array of double* pointers set to NULL.
int give_dimension(void) const
mElement(long i, const Mesh *m)
Constructor.
double giveTTproduct_1is2x2to3and2x2to3_SS(const double *T1, const double *T2)
Function gives scalar left-right product of tensor and tensor.
double *** Allocate1Ddpp(long d1)
Function allocates ('new' command) a 1d array of double** pointers set to NULL.
double ** energy
energy = INTEGRAL Strain * Stress *dVolume
void matrix_giveReducedStiffMatrix(double *m) const
double *** strain
computed fields - strain in TVRN_THEORETICAL_FEEP notation
long * nodes
Element nodes.
int nstrain_one(void) const
Namespace MatrixOperations.
double give_length(void) const
double ** eqstress
equivalent stress = SQRT(3*J2)
void CopyVector(const double *src, double *dest, long n)
Function copy given number of components from vector, 'a' to vector 'b'.
Inclusion * give_inclusion(long i) const
debug, for one function in tools
Class mElement, mesh element.
double *** displc
computed fields - displacement
void give_stress(double *stress, int pid, int lc) const
int ndisplc_one(void) const
mNode ** Nodes
1d array of pointers to Node.
void give_strain(double *strain, int pid, int lc) const
VectoR * beVectProduct(const VectoR *v1, const VectoR *v2)
vector product v1 x v2 (cross product)
long region
-2 - not set, -1 - matrix, <0;nIncl) id of inclusion
double * Allocate1Ddz(long d1)
Function allocates ('new' command) a 1d array of double set to zero.
double *** stress
computed fields - stress in TVRN_THEORETICAL_FEEP notation
int nLC
number of load cases
void DeleteArray3D(double ***array, long d1, long d2)
Function deletes a 3D 'double' array of dimension d1 x d2 x ??, allocated by new. ...
Structs Elem3D, PoinT and VectoR; classes Array, Array1d, Xscal, Dscal, Xvctr, Lvctr, Dvctr, Xmtrx, Lmtrx and Dmtrx.
double give_energy(int pid, int lc)
int npa
number of allocated pointers
void compute_centroids(void)
bool equal_dimensions(int pid) const
Returns true when mesh and problem dimensions are same.
bool give_twodim(void) const
bool ** el_dspl_rf
pid x nlc
void giveReducedStiffMatrix(double *C, int pid) const
double ** error
docasne, energeticka chyba reseni v porovnani s FEM resenim = (eps_mM - eps_FEM)
double volume
Volume/Area.
void DeleteArray2D(bool **array, long d1)
Function deletes a 2D 'bool' array of dimension d1 x ??, allocated by new.
void copy3Dto2Dtensors_FEEPreduced(const double *a, double *b)
Function copy the symmetric double 3D tensor 'a' to 2D tensor 'b'.
const Problems ** P
set of pointers to solved problems
void save_error(double val, int pid, int lc)
Class Mesh contains and handles all mesh data.
long nnodes
Number of nodes at elements.
double give_regular_element_volume(void) const
virtual ~mElement()
Destructor.
Class mElement contains and handles all mesh element data.
void give_StiffnessMatrixReduced(double *answer) const
Copy stiffness tensor into reduced vector answer.
void allocate_fields(int pid)
double centroids[3]
Centroid coordinates.