muMECH
1.0
|
#include <problem.h>
Friends | |
class | Inclusion |
class | InclusionRecord3D |
class | InclusionRecord2D |
class | printBenchmarkResultsVtk |
class | selfBalanceAlgorithm |
class | eshelbySoluUniformField |
class | eshelbySoluEllipticIntegrals |
class | MatrixRecord |
class | Homogenization |
class | Dilute |
class | DifferentialScheme |
class | RegGrid |
class | Mesh |
class | Point |
class | mNode |
class | mElement |
*** PRIVATE VARIABLES *** | |
| |
bool | data_set |
Input data given (direct input or vtk file read) - problem description. More... | |
bool | data_equivalent |
Problem converted to equivalent one. More... | |
MatrixRecord * | matrix |
matrix record More... | |
int | noIncl |
number of inclusions More... | |
Inclusion ** | inclusions |
inclusion records - 1d array of pointers to InclusionRecord More... | |
SBAtype | SBA_type |
type of Self balancing algorithm (SBA) More... | |
bool | SBA_optimized |
SBA optimized (FULL/_OPTIMIZED_) More... | |
int | SBA_maxiters |
Number of iterations in SBA. More... | |
int | SBA_reqiters |
Number of iterations in SBA. More... | |
int | intFieldsShape |
Sets the internal fields shape. 0 = basic eshelby solution, 1 = polynomial - if available, 2 = constant, 3 = sum all without any recalculation. More... | |
int | approximation |
Approximation of epsilon tau - 0 = constant, 1 = linear, ... More... | |
double | approx_point_pos1 |
DiffTypes | diffType |
the type of differentiation actually used. (just for testing purposes) More... | |
double | problem_size_A [3] |
? More... | |
double | problem_size_B [3] |
? More... | |
double | node_dist |
? More... | |
int | verbose |
0 - no printing, 1 - basic printing, 3 - debug printing More... | |
double | min_axes_diff |
The minimal relative difference of two inclusion semiaxes to guarantee numerical stability; relative to the first, i.g. longer, of two compared axes. More... | |
double | max_axes_diff |
The maximal relative difference of two inclusion semiaxes to guarantee numerical stability; relative to the first, i.g. longer, of two compared axes. More... | |
bool | min_axes_diff_change |
Permission to change the inclusion shape, when the minimal relative difference of two inclusion semiaxes is violated. More... | |
bool | max_axes_diff_change |
Permission to change the inclusion shape, when the maximal relative difference of two inclusion semiaxes is violated. More... | |
double | volumeOfIncls |
Volume of all inclusions. More... | |
int | totalNoActingIncls |
Total number of acting inclusions, e.i. sum of inclusion[i]->noActingIncls. More... | |
int | nmeshes |
Number of meshes. More... | |
Mesh ** | meshes |
Meshes. More... | |
int | nhomogs |
Number of homogenizations. More... | |
Homogenization ** | homogs |
Homogenizations. More... | |
*** PUBLIC FUNCTIONS *** | |
Problem (void) | |
Constructor. More... | |
virtual | ~Problem () |
Destructor. More... | |
virtual classID | give_classid () const |
Returns classID - class identification. More... | |
void | read_input_file (const char *filename) |
Reads filename VTK input file containing inclusion geometry and topology. More... | |
void | input_data_initialize_and_check_consistency (void) |
Initializes and checks consistency of all input data. This function has to be called after data input. More... | |
void | convert_to_equivalent_problem (void) |
Converts the given heterogeneous problem to the equivalent problem. More... | |
void | print_equivalent_problem (const char *filename) |
Prints the equivalent problem record into the VTK file. More... | |
long | giveFieldsOfPoint (double **displc, double **strain, double **stress, const double *coords, char ptFlag, int rs, int nrs, PFCmode pfcMode=PFCM_OPTIMIZED, long reqIncl=-3, STRNotation tn=STRN_THEORETICAL_ROW) const |
Function gives the analytical solution of the perturbation or total fields (displacements, strains and stresses) of a point for given set of remote strains. More... | |
long | giveFieldsOfPointOneRS (double *displc, double *strain, double *stress, const double *coords, char ptFlag, int rs, PFCmode pfcMode=PFCM_OPTIMIZED, long reqIncl=-3, STRNotation tn=STRN_THEORETICAL_ROW) const |
Function gives results for only one remote strain. See function giveFieldsOfPoint(). More... | |
void | printFieldsOnMeshVTK (const char *mesh_file_out, const char *mesh_file, char ptFlag, int rs, int nrs, PFCmode pfcMode=PFCM_OPTIMIZED) const |
Function computes all fields (displacements, strains and stresses) in nodes a mesh given via VTK file, see giveFieldsOfPoint() for details about parameters. More... | |
void | printFieldsOnMeshGrid (const char *mesh_file_out, const double *p1, const double *p2, const long *n, char ptFlag, int rs, int nrs, PFCmode pfcMode=PFCM_OPTIMIZED) const |
Function computes all fields (displacements, strains and stresses) in nodes a regular orthogonal mesh/grid, see giveFieldsOfPoint() for details about parameters. More... | |
void | print_visualization (const char *filename, int n, int dim=0, bool refined=false) |
Triangulates inclusions surfaces and prints filename VTK file. More... | |
void | check_overlap (void) |
Check that inclusions do not overlap. More... | |
void | matrix_giveReducedStiffMatrix (double *m) const |
void | matrix_giveFullStiffMatrix (double *m) const |
virtual int | give_nLC (void) const |
Give number of load cases, e.i. number of load cases, i.e. number of Remote_strain fields, saved in matrix record. More... | |
DiffTypes | give_diffType (void) const |
Give type of ... More... | |
Mesh * | give_new_mesh (void) |
Give verbose level. More... | |
Homogenization * | give_new_homogenization (HomogenizationType ht) |
Problem * | read_inclusions_plus_initialize_and_print (const char *inclusion_file, const char *equiv_file, DiffTypes dt) |
*** PUBLIC FUNCTIONS - obsolete debug *** | |
Public functions, obsolete or debugging functions. | |
void | set_SBA_optimized (bool val) |
Set type of self-balancing algorithm. More... | |
void | set_SBA_maximumNumberOfIterations (int val) |
void | set_SBA_requiredNumberOfIterations (int val) |
void | set_intFieldsShape (int val) |
void | set_SBAM (SBAtype val) |
void | set_approximation (int val) |
void | set_problem_size (double a1, double a2, double a3, double b1, double b2, double b3, double node_distance) |
void | set_semiaxes_min_difference (double val) |
Set the variable min_axes_diff. More... | |
void | set_semiaxes_max_difference (double val) |
Set the variable max_axes_diff. More... | |
Inclusion * | give_inclusion (long i) const |
debug, for one function in tools More... | |
long | give_inclusion_with_point_inside (const double *coords, double epsilon=0.0) const |
Returns inclusion ID inside the point lays. More... | |
void | give_ovlivneni (const double *coords, double *result) |
Funkce pro zkoumani ucinku inkluze na druhou v balancovacim algoritmu. Casem smazat, pac balancing se asi nebude pouzivat. More... | |
void | compute_fields_and_cmp_with_FEM_on_mesh (const char *mesh_file, const char *fem_results, int lc, int nlc, PFCmode pfcMode) |
double | compute_supplement_energy (int lc) |
*** DIRECT INPUT API - obligatory *** | |
Public functions for direct data input, obligatory for correct input. | |
void | set_data_set (void) |
Function switches bool flag data_set on true. That indicates start of the process of data input. More... | |
void | set_matrix_E_nu (double E, double nu) |
Sets problem dimension. More... | |
void | set_numberOfRemoteStrains (int n) |
Sets number of remote strains. More... | |
void | set_RemoteStrain (int id, const double *rs) |
Sets the id -th remote strain, rs is row-by-row matrix of dimensions 2x2 or 3x3 for 2d or 3d problem, respectively. More... | |
void | set_number_of_inclusions (long n) |
Sets number of inclusions. More... | |
void | set_inclusion_centroids (long id, double x, double y, double z=0.0) |
Sets the id -th inclusion centroids [x,y,z]. The z coordinate is ignored in the case of 2 dimensions. More... | |
void | set_inclusion_E_nu (long id, double E, double nu) |
Sets the id -th inclusion material properties, Young's modulus E and Poissons ratio nu. More... | |
void | set_inclusion_semiaxesDimensions (long id, double a1, double a2, double a3=0.0) |
Sets the id -th inclusion sorted semiaxes dimensions [a1,a2,a3]. The a3 dimension is ignored in the case of 2 dimensions. More... | |
void | set_inclusion_EulerAnglesDEG (long id, double e1, double e2=0.0, double e3=0.0) |
Sets the id -th inclusion Euler angles [e1,e2,e3] given in degrees. The e2 and e3 angles are ignored in the case of 2 dimensions. More... | |
*** DIRECT INPUT API - voluntary *** | |
Public functions for direct input of the voluntary data, default values are used if not set. | |
void | set_inclusion_shape (long id, InclusionGeometry shape) |
Sets the id -th inclusion shape. Default shape is detected automaticly. More... | |
void | set_diffType (DiffTypes val) |
Sets type of differentiation, analytical by default. More... | |
void | set_DataDimDiff (int dim, DiffTypes dt) |
Function agregates set_data_set, set_dimension and set_diffType functions. More... | |
void | set_UnitRemoteStrains (void) |
Function sets a set of unit remote strains. More... | |
void | set_inclusion_all (long id, double x, double y, double e, double n, double a1, double a2, double e1) |
Agregates ... More... | |
void | set_inclusion_all (long id, double x, double y, double z, double e, double n, double a1, double a2, double a3, double e1, double e2, double e3) |
void | generate_equiv_1x2dI_2d (double Em, double num, const double *rs, double x, double y, double E, double nu, double a1, double a2, double ea, DiffTypes dt) |
*** PRIVATE FUNCTIONS *** | |
virtual bool | is_converted_to_equivalent (void) const |
Give type of ... More... | |
int | is_twodim (void) const |
int | get_SBA_maxiters (void) |
int | get_SBA_reqiters (void) |
void | check_dim (int i) const |
int | give_verbose (void) const |
Give verbose level. More... | |
double | give_semiaxes_min_difference (void) const |
Give the variable min_axes_diff. More... | |
double | give_semiaxes_max_difference (void) const |
Give the variable max_axes_diff. More... | |
bool | give_semiaxis_min_difference_change (void) const |
Give the variable min_axes_diff_change. More... | |
bool | give_semiaxis_max_difference_change (void) const |
Give the variable max_axes_diff_change. More... | |
MatrixRecord * | give_matrix (void) const |
int | ndisplc_all (void) const |
int | nstrain_all (void) const |
bool | file_type_s2e (const char *s) |
int | check_lc_nlc (int lc, int nlc) const |
PointPositionFlag | givePointPosition (const double loc_x[3], const double sort_a[3], InclusionGeometry shape) const |
void | printVtkFileCompleteInclRec (const char *rsltFileName) |
Function prints the complete inclusion record to a VTK file. More... | |
void | findAffectedInclusions (void) |
For all inclusions function finds a set of affected inclusions which is given by magnitude of action radius. More... | |
void | updateEigenstrainsBySBalgorithm (void) |
Function updates the actual and transformation (equivalent) eigenstrains by taking into account the mutual dependencies (interactions). More... | |
void | updateEigenstrainsBySBalgorithm_2D (int strainID) |
Function updates the actual and transformation (equivalent) eigenstrains by taking into account the mutual dependencies (interactions). More... | |
void | updateStrainsInInclRecord (int noUpdate) |
long | give_EshelbyPertFieldsOnePoint (const double *coords, double **disp, double **strain, double **stress, int rs, int nrs, PFCmode pfcMode, long reqIncl=-3) const |
void | give_EshelbyPertFieldsOnePoint_external (const double *coords, double **disp, double **strain, double **stress, int lc, int nlc, PFCmode pfcMode, long parent_incl) const |
The version of the function giveEshelbyPertFields_OnePoint. More... | |
long | giveActingInclusions (long *actIncls, const double *coords) const |
Function gives a set of acting inclusions to a given point. More... | |
double | updateEpsTauInSBal (int strainID, double **&last_eps_tau) |
static int | check_lc_nlc (int lc, int nlc, int nRS) |
Additional Inherited Members | |
![]() | |
Problems () | |
Constructor. More... | |
virtual | ~Problems () |
Destructor. More... | |
int | give_twodim (void) const |
int | give_dimension (void) const |
int | ndisplc_one (void) const |
int | nstrain_one (void) const |
int | give_VECT_RANGE (void) const |
Gives vector range, same as dimension. More... | |
int | give_EA_RANGE (void) const |
Gives vector range, same as dimension. More... | |
int | give_TENS_RANGE (void) const |
Gives tensor range, same as dimension^2. Theoretical range of a second order tensor. More... | |
int | give_VM_TENS_RANGE (void) const |
Gives range of a second order tensor in Voigt-Mandel notation. More... | |
int | give_ISO_C_RANGE (void) const |
Gives range of ... More... | |
int | give_EL_POT_RANGE (void) const |
Gives range of ... More... | |
int | give_TRNSFM_MTRX_VEC_RANGE (void) const |
Gives range of ... More... | |
int | give_TRNSFM_MTRX_TENS_RANGE (void) const |
Gives range of ... More... | |
void | set_dimension (int d) |
![]() | |
bool | twodim |
2 dimension problem; 3d is default; twodim == true - 2d, twodim == false - 3d More... | |
Problem description.
All information about the problem. General information. Inclusions description.
mumech::Problem::Problem | ( | void | ) |
Constructor.
Definition at line 67 of file problem.cpp.
|
virtual |
|
inlineprivate |
Definition at line 496 of file problem.h.
References _errorr, and mumech::Problems::twodim.
Referenced by mumech::Homogenization::set_boundingBox(), mumech::Inclusion::set_centroids(), mumech::Inclusion::set_Euller_angles_deg(), mumech::MatrixRecord::set_origin(), and mumech::Inclusion::set_Semiaxes_dimensions().
|
inlineprivate |
Definition at line 539 of file problem.h.
References check_lc_nlc(), and mumech::MatrixRecord::nRS.
Referenced by check_lc_nlc(), mumech::Mesh::compute_element_fields(), and mumech::Mesh::compute_node_fields().
|
inlinestaticprivate |
void mumech::Problem::check_overlap | ( | void | ) |
Check that inclusions do not overlap.
Definition at line 2348 of file problem.cpp.
References _errorr.
void mumech::Problem::compute_fields_and_cmp_with_FEM_on_mesh | ( | const char * | mesh_file, |
const char * | fem_results, | ||
int | lc, | ||
int | nlc, | ||
PFCmode | pfcMode | ||
) |
double mumech::Problem::compute_supplement_energy | ( | int | lc | ) |
Definition at line 1379 of file problem.cpp.
void mumech::Problem::convert_to_equivalent_problem | ( | void | ) |
Converts the given heterogeneous problem to the equivalent problem.
Definition at line 781 of file problem.cpp.
References _errorr, and mumech::Inclusion::initialize().
Referenced by clanek_3d_vzor(), Ellipse(), Ellipsoid(), energyTest01(), eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), Four_3d_inclusions(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), intersection_2d_core(), intersection_3d_core(), ovlivneni(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), test01(), test3D(), twoInclTest(), x2D_1I_Ellipse_direct_API(), x2D_1I_Ellipse_homog(), x3D_1I_Ellipsoid_direct_API(), and x3D_1I_Ellipsoid_homog().
|
private |
Definition at line 346 of file problem.cpp.
|
private |
For all inclusions function finds a set of affected inclusions which is given by magnitude of action radius.
Definition at line 1327 of file problem.cpp.
References mumech::CopyVector().
void mumech::Problem::generate_equiv_1x2dI_2d | ( | double | Em, |
double | num, | ||
const double * | rs, | ||
double | x, | ||
double | y, | ||
double | E, | ||
double | nu, | ||
double | a1, | ||
double | a2, | ||
double | ea, | ||
DiffTypes | dt | ||
) |
Definition at line 147 of file problem.cpp.
Referenced by mumech::Comparison::give_energy_MM().
|
inlineprivate |
Definition at line 491 of file problem.h.
Referenced by mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().
|
inlineprivate |
Definition at line 493 of file problem.h.
Referenced by mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().
|
inlinevirtual |
Returns classID - class identification.
Implements mumech::Problems.
Definition at line 239 of file problem.h.
References mumech::classProblem, mumech::PFCM_OPTIMIZED, and mumech::STRN_THEORETICAL_ROW.
|
inline |
Give type of ...
Definition at line 336 of file problem.h.
Referenced by mumech::eshelbySoluEllipticIntegralsEllipsoid::giveDerivativesOfEllipticIntegrals(), and mumech::eshelbySoluEllipticIntegralsSphere::giveDerivativesOfEllipticIntegrals().
|
private |
Definition at line 1736 of file problem.cpp.
References _errorr, mumech::AddArray2D(), mumech::AllocateArray2D(), mumech::CleanArray2d(), mumech::CopyArray2D(), mumech::DeleteArray2D(), mumech::e(), errol, and mumech::SubtractTwoVectors().
|
private |
The version of the function giveEshelbyPertFields_OnePoint.
Definition at line 1964 of file problem.cpp.
References _errorr, mumech::AddArray2D(), mumech::AllocateArray2D(), mumech::CleanArray2d(), mumech::CopyVector(), mumech::DeleteArray2D(), mumech::Point::displacement, mumech::Inclusion::give_EshelbyPertFields_external(), mumech::MatrixOperations::giveTVproduct_3is3x3to5and3(), mumech::MatrixOperations::giveTVproduct_6is6x6to12and6(), mumech::PFCM_FULL, mumech::PFCM_OPTIMIZED, mumech::Point::set_nlc(), mumech::Point::strain, and mumech::Point::x.
|
inline |
debug, for one function in tools
Definition at line 402 of file problem.h.
References meso2d::epsilon.
Referenced by clanek_homog_grid(), mumech::Homogenization::find_inclusions_in_BB(), mumech::Dilute::giveFullDiluteConcentrationFactorOfInclusionInLC(), mumech::Homogenization::giveFullEshelbyMatrixOfInclusion(), mumech::Homogenization::giveFullStiffnessMatrixOfInclusion(), mumech::DifferentialScheme::giveHomogenizedStiffnessMatrix(), mumech::Homogenization::giveReducedEshelbyMatrixOfInclusion(), mumech::mElement::giveReducedStiffMatrix(), mumech::Homogenization::giveReducedStiffnessMatrixOfInclusion(), mumech::Homogenization::giveTransformationMatrixStressStrainG2L(), mumech::Homogenization::giveTransformationMatrixStressStrainL2G(), mumech::Homogenization::giveVolumeFractionOfInclusion(), intersection_2d_core(), intersection_3d_core(), ovlivneni(), print_graf(), x2D_1I_Ellipse_homog(), and x3D_1I_Ellipsoid_homog().
long mumech::Problem::give_inclusion_with_point_inside | ( | const double * | coords, |
double | epsilon = 0.0 |
||
) | const |
Returns inclusion ID inside the point lays.
Definition at line 1647 of file problem.cpp.
Referenced by print_graf().
|
inlineprivate |
Definition at line 509 of file problem.h.
Referenced by mumech::Mesh::give_homog_energy(), and mumech::RegGrid::giveHomogenizedStiffnessMatrix().
Homogenization * mumech::Problem::give_new_homogenization | ( | HomogenizationType | ht | ) |
Definition at line 2084 of file problem.cpp.
References _errorr, mumech::HT_DifferentialScheme, mumech::HT_Dilute, mumech::HT_MoriTanaka, mumech::HT_RegGrid, mumech::HT_ReussBound, and mumech::HT_VoightBound.
Referenced by clanek_homog_grid(), x2D_1I_Ellipse_homog(), and x3D_1I_Ellipsoid_homog().
Mesh * mumech::Problem::give_new_mesh | ( | void | ) |
Give verbose level.
Definition at line 2076 of file problem.cpp.
Referenced by clanek_homog_grid(), and mumech::RegGrid::giveHomogenizedStiffnessMatrix().
|
inlinevirtual |
Give number of load cases, e.i. number of load cases, i.e. number of Remote_strain fields, saved in matrix record.
Implements mumech::Problems.
Definition at line 334 of file problem.h.
References _errorr, and mumech::MatrixRecord::nRS.
Referenced by mumech::Inclusion::allocate_nlc_fields(), mumech::InclusionRecord3D::allocate_nlc_fields(), mumech::Comparison::cmp_mm_ansys_total_energy(), mumech::Inclusion::give_EshelbyPertStrain_internal(), mumech::Inclusion::give_EshelbyPertStress_internal(), mumech::MatrixRecord::give_globHomog_Stress(), mumech::MatrixRecord::scan_Remote_strains(), x2D_1I_Ellipse_direct_API(), x3D_1I_Ellipsoid(), x3D_1I_Ellipsoid_direct_API(), mumech::Inclusion::~Inclusion(), mumech::InclusionRecord3D::~InclusionRecord3D(), and mumech::MatrixRecord::~MatrixRecord().
void mumech::Problem::give_ovlivneni | ( | const double * | coords, |
double * | result | ||
) |
Funkce pro zkoumani ucinku inkluze na druhou v balancovacim algoritmu. Casem smazat, pac balancing se asi nebude pouzivat.
Definition at line 1357 of file problem.cpp.
References mumech::CleanVector(), mumech::CopyVector(), mumech::Point::set_nlc(), and mumech::Point::x.
Referenced by ovlivneni().
|
inlineprivate |
Give the variable max_axes_diff.
Definition at line 503 of file problem.h.
Referenced by mumech::InclusionRecord3D::giveInclusionGeometry(), and mumech::InclusionRecord2D::giveInclusionGeometry().
|
inlineprivate |
Give the variable min_axes_diff.
Definition at line 501 of file problem.h.
Referenced by mumech::InclusionRecord3D::giveInclusionGeometry(), and mumech::InclusionRecord2D::giveInclusionGeometry().
|
inlineprivate |
Give the variable max_axes_diff_change.
|
inlineprivate |
Give the variable min_axes_diff_change.
Definition at line 505 of file problem.h.
Referenced by mumech::InclusionRecord3D::giveInclusionGeometry(), and mumech::InclusionRecord2D::giveInclusionGeometry().
|
inlineprivate |
Give verbose level.
Definition at line 499 of file problem.h.
Referenced by mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().
|
private |
Function gives a set of acting inclusions to a given point.
na adaptivni siti se porovna mumech vypocet s FEM vypoctem porovnani:
Function returns the number of acting inclusions. Function is a clon of 'inclRecordInit::giveAffectedInclusions' method.
Definition at line 2165 of file problem.cpp.
long mumech::Problem::giveFieldsOfPoint | ( | double ** | displc, |
double ** | strain, | ||
double ** | stress, | ||
const double * | coords, | ||
char | ptFlag, | ||
int | rs, | ||
int | nrs, | ||
PFCmode | pfcMode = PFCM_OPTIMIZED , |
||
long | reqIncl = -3 , |
||
STRNotation | tn = STRN_THEORETICAL_ROW |
||
) | const |
Function gives the analytical solution of the perturbation or total fields (displacements, strains and stresses) of a point for given set of remote strains.
The fields with NULL pointers are not computed. The resulting fields depend on the action region of surrounding inclusions of a given point if pfcMode == PFCM_OPTIMIZED. In case of one lc, send ukazatel, toto dodelej do vzorovych prikladu. termitovo
coords | Coordinates of a point. |
displc | Set of nrs displacement vectors to be calculated (if displc!=NULL). Vectors are saved in rows. |
strain | Set of nrs strain tensors to be calculated (if strain!=NULL). Tensors are saved in vector form, one tensor in one row of strain array. |
stress | Set of nrs stress tensors to be calculated (if stress!=NULL). Tensors are saved in vector form, one tensor in one row of stress array. |
ptFlag | Flag defines the type of calculated fields, 'p' denotes 'perturbation' and 't' denotes 'total'. |
rs | The first computed remote strain. |
nrs | Number of computed remote strains. |
pfcMode | Algorithm type of a point fields calculation (PFCM_FULL/PFCM_OPTIMIZED). |
reqIncl | Number of the inclusion the point is supposed to lay inside. Allowed values: -3 - no supposal; -2 - inside of some inclusion; -1 - outside of all inclusions; >= 0 - inside of the inclusion. |
tn | The notation of the strain/stress tensor to vector reduction. |
Definition at line 1706 of file problem.cpp.
References _errorr, mumech::AddVector(), mumech::convertTensorStrain(), mumech::convertTensorStress(), and mumech::STRN_THEORETICAL_FEEP.
Referenced by clanek_3d_vzor(), mumech::Mesh::compute_element_fields(), mumech::Mesh::compute_node_fields(), energyTest01(), speedtest2Dx3D(), test01(), test3D(), and twoInclTest().
long mumech::Problem::giveFieldsOfPointOneRS | ( | double * | displc, |
double * | strain, | ||
double * | stress, | ||
const double * | coords, | ||
char | ptFlag, | ||
int | rs, | ||
PFCmode | pfcMode = PFCM_OPTIMIZED , |
||
long | reqIncl = -3 , |
||
STRNotation | tn = STRN_THEORETICAL_ROW |
||
) | const |
Function gives results for only one remote strain. See function giveFieldsOfPoint().
Definition at line 1699 of file problem.cpp.
Referenced by Ellipse(), Ellipsoid(), plstrain_2I_2d(), plstrain_2I_3d(), print_graf(), and x2Dx3D_rotation().
|
private |
void mumech::Problem::input_data_initialize_and_check_consistency | ( | void | ) |
Initializes and checks consistency of all input data. This function has to be called after data input.
Definition at line 127 of file problem.cpp.
Referenced by clanek_3d_vzor(), clanek_homog_grid(), Ellipse(), Ellipsoid(), energyTest01(), eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), Four_3d_inclusions(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), intersection_2d_core(), intersection_3d_core(), ovlivneni(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), test01(), test3D(), twoInclTest(), x2D_1I_Ellipse_direct_API(), x2D_1I_Ellipse_homog(), x3D_1I_Ellipsoid_direct_API(), and x3D_1I_Ellipsoid_homog().
|
inlineprivatevirtual |
Give type of ...
Implements mumech::Problems.
Definition at line 483 of file problem.h.
Referenced by mumech::RegGrid::giveHomogenizedStiffnessMatrix(), mumech::Inclusion::input_data_initialize_and_check_consistency(), mumech::InclusionRecord3D::input_data_initialize_and_check_consistency(), mumech::InclusionRecord2D::input_data_initialize_and_check_consistency(), and mumech::MatrixRecord::set_E_nu().
|
inlineprivate |
Definition at line 487 of file problem.h.
References mumech::Problems::twodim.
Referenced by mumech::MatrixRecord::convert_RS_ROWtoFEEP(), and mumech::MatrixRecord::set_E_nu().
|
inline |
Definition at line 330 of file problem.h.
Referenced by clanek_homog_grid(), mumech::DifferentialScheme::giveHomogenizedStiffnessMatrix(), x2D_1I_Ellipse_homog(), and x3D_1I_Ellipsoid_homog().
|
inline |
Definition at line 329 of file problem.h.
Referenced by mumech::Dilute::giveHomogenizedStiffnessMatrix(), mumech::MoriTanaka::giveHomogenizedStiffnessMatrix(), mumech::ReussBound::giveHomogenizedStiffnessMatrix(), mumech::VoightBound::giveHomogenizedStiffnessMatrix(), and mumech::mElement::giveReducedStiffMatrix().
|
inlineprivate |
Definition at line 532 of file problem.h.
References mumech::Problems::give_VECT_RANGE(), and mumech::MatrixRecord::nRS.
|
inlineprivate |
Definition at line 533 of file problem.h.
References mumech::Problems::give_VM_TENS_RANGE(), and mumech::MatrixRecord::nRS.
void mumech::Problem::print_equivalent_problem | ( | const char * | filename | ) |
Prints the equivalent problem record into the VTK file.
Definition at line 2122 of file problem.cpp.
Referenced by clanek_3d_vzor(), Ellipse(), Ellipsoid(), eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), Four_3d_inclusions(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), plstrain_2I_2d(), plstrain_2I_3d(), and x3D_1I_Ellipsoid_direct_API().
void mumech::Problem::print_visualization | ( | const char * | filename, |
int | n, | ||
int | dim = 0 , |
||
bool | refined = false |
||
) |
Triangulates inclusions surfaces and prints filename VTK file.
filename | Name of the output VTK file. |
n | Number segments of a quater ellipse. |
dim | Mesh dimension. In the case of 3d problem and dim=2, the 2d mesh is generated in the plane z=0. |
refined | The mesh density varies according to ellipse curvature. The process of triangulation is slower. |
Definition at line 2237 of file problem.cpp.
References _errorr, mumech::Inclusion::a, mumech::Mesh::Elems, errol, mumech::Mesh::generate_regularSphereMesh_2d(), mumech::Mesh::generate_regularSphereMesh_3d(), mumech::Mesh::local2global(), mumech::mElement::M, mumech::mNode::M, mumech::Mesh::nElems, mumech::Mesh::nNodes, mumech::Mesh::Nodes, mumech::Inclusion::origin, mumech::Mesh::print_geometry_file_vtk(), mumech::Mesh::scale(), mumech::Mesh::set_coll(), mumech::Mesh::shift_id(), and mumech::Inclusion::TInv.
Referenced by clanek_3d_vzor(), eqiv_gener_1x2dI_2d(), eqiv_gener_gx2dI_2d(), Four_3d_inclusions(), grid_2d_3x3_3d(), intersection_2d_core(), intersection_3d_core(), visualization_197I_2d3d(), visualization_1I_2d(), visualization_1I_3d(), x2D_1I_Ellipse_direct_API(), and X3D_3incl().
void mumech::Problem::printFieldsOnMeshGrid | ( | const char * | mesh_file_out, |
const double * | p1, | ||
const double * | p2, | ||
const long * | n, | ||
char | ptFlag, | ||
int | rs, | ||
int | nrs, | ||
PFCmode | pfcMode = PFCM_OPTIMIZED |
||
) | const |
Function computes all fields (displacements, strains and stresses) in nodes a regular orthogonal mesh/grid, see giveFieldsOfPoint() for details about parameters.
Grid is given by coordinates of two diagonally opposed corners p1 and p2 and by count of segments n. For every required remote strain (rs, nrs) a mesh with values in nodes is printed to VTK file mesh_file_out with remote strain id as suffix.
mesh_file_out | Output file with mesh and computed fields in nodes. |
p1 | Coordinates of grid corner point with lower coordinates. |
p2 | Coordinates of grid corner point with upper coordinates. |
n | Number of segments in the directions of particular axes. The grid is 2d when n[2]==0. |
ptFlag | Flag defines the type of calculated fields, 'p' denotes 'perturbation' and 't' denotes 'total'. |
rs | The first computed remote strain. |
nrs | Number of computed remote strains. |
pfcMode | Algorithm type of a point fields calculation (PFCM_FULL/PFCM_OPTIMIZED). |
Definition at line 2041 of file problem.cpp.
References mumech::Mesh::compute_node_fields(), mumech::Mesh::generate_regular_mesh(), and mumech::Mesh::print_geometry_file_vtk().
Referenced by clanek_3d_vzor(), compute_and_print_reg_mesh(), Four_3d_inclusions(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), x2D_1I_Ellipse_direct_API(), x3D_1I_Ellipsoid(), and x3D_1I_Ellipsoid_direct_API().
void mumech::Problem::printFieldsOnMeshVTK | ( | const char * | mesh_file_out, |
const char * | mesh_file, | ||
char | ptFlag, | ||
int | rs, | ||
int | nrs, | ||
PFCmode | pfcMode = PFCM_OPTIMIZED |
||
) | const |
Function computes all fields (displacements, strains and stresses) in nodes a mesh given via VTK file, see giveFieldsOfPoint() for details about parameters.
For every required remote strain (rs, nrs) a mesh with values in nodes is printed to VTK file mesh_file_out with remote strain id as suffix.
mesh_file_out | Output file with mesh and computed fields in nodes. |
mesh_file | Input file with mesh geometry. |
ptFlag | Flag defines the type of calculated fields, 'p' denotes 'perturbation' and 't' denotes 'total'. |
rs | The first computed remote strain. |
nrs | Number of computed remote strains. |
pfcMode | Algorithm type of a point fields calculation (PFCM_FULL/PFCM_OPTIMIZED). |
Definition at line 2028 of file problem.cpp.
References mumech::Mesh::compute_node_fields(), mumech::Mesh::print_geometry_file_vtk(), and mumech::Mesh::read_geometry_file_vtk().
Referenced by clanek_3d_vzor(), X2D_3incl(), and X3D_3incl().
|
private |
Function prints the complete inclusion record to a VTK file.
name of VTK file to be printed
Definition at line 1522 of file problem.cpp.
References mumech::MatrixOperations::convert2Dtensor_TRtoROW_notation(), mumech::MatrixOperations::convert3Dtensor_TFEEPtoROW_notation(), mumech::CopyVector(), gelibspace::Stream::file(), tinyxml2::XMLDocument::NewText(), mumech::print_auxs(), mumech::print_values(), mumech::print_valuesi(), mumech::print_VTK_data_head(), mumech::print_VTK_elems_head(), mumech::print_VTK_field_head(), mumech::print_VTK_FINISH(), mumech::print_VTK_head(), mumech::print_VTK_init_point_data(), mumech::print_VTK_nodes_head(), mumech::print_VTK_START(), gelibspace::STRM_file, gelibspace::STRM_tixel, and gelibspace::Stream::tix_doc().
Problem * mumech::Problem::read_inclusions_plus_initialize_and_print | ( | const char * | inclusion_file, |
const char * | equiv_file, | ||
DiffTypes | dt | ||
) |
Definition at line 2059 of file problem.cpp.
Referenced by mumech::Comparison::cmp_mm_ansys_total_energy(), compute_and_print_reg_mesh(), Four_3d_inclusions(), print_graf(), visualization_197I_2d3d(), visualization_1I_2d(), visualization_1I_3d(), X2D_3incl(), x3D_1I_Ellipsoid(), and X3D_3incl().
void mumech::Problem::read_input_file | ( | const char * | filename | ) |
Reads filename VTK input file containing inclusion geometry and topology.
Definition at line 357 of file problem.cpp.
References _errorr, _errorr2, _errorr3, _errorr4, _STRCMP, _STRNCMP, tinyxml2::XMLElement::Attribute(), CASE, gelibspace::Stream::close(), tinyxml2::XMLNode::DeleteChild(), mumech::e(), errol, gelibspace::Stream::file(), tinyxml2::XMLNode::FirstChild(), gelibspace::FP_scan_array(), FP_scan_expected_number_exit, FP_scan_expected_word_exit, gelibspace::FP_scan_word(), gelibspace::FP_skip_line(), tinyxml2::XMLElement::GetText(), gelibspace::Stream::isFile(), tinyxml2::XMLNode::NextSibling(), gelibspace::Stream::open(), tinyxml2::XMLElement::QueryLongAttribute(), gelibspace::Stream::relink_downF(), gelibspace::Stream::relink_next(), gelibspace::Stream::relink_up(), mumech::scan_DATA_field_head(), mumech::scan_FIELD_head(), SP_scan_expected_number_exit, SP_scan_expected_word2_exit, SP_scan_expected_word_exit, gelibspace::SP_scan_number(), gelibspace::SP_scan_word(), gelibspace::SP_skip_word(), gelibspace::ST_scan_array(), gelibspace::ST_scan_number(), gelibspace::STRM_void, gelibspace::Stream::tixel(), gelibspace::Stream::tixnod(), tinyxml2::XMLNode::ToComment(), tinyxml2::XMLNode::ToDeclaration(), tinyxml2::XMLNode::ToElement(), tinyxml2::XMLElement::ToElement(), tinyxml2::XMLNode::Value(), gelibspace::VTKR_cd, gelibspace::VTKR_cells, gelibspace::VTKR_data, gelibspace::VTKR_fields, gelibspace::VTKR_pd, gelibspace::VTKR_points, gelibspace::VTKR_void, gelibspace::XP_check_expected_attribute(), gelibspace::XP_give_unique_expected_elem(), and gelibspace::XP_giveDAtext().
Referenced by clanek_3d_vzor(), clanek_homog_grid(), Ellipse(), Ellipsoid(), energyTest01(), Four_3d_inclusions(), plstrain_2I_2d(), plstrain_2I_3d(), test01(), and twoInclTest().
void mumech::Problem::set_approximation | ( | int | val | ) |
Definition at line 178 of file problem.cpp.
References _errorr, mumech::AllocateArray2D(), and mumech::CleanArray2d().
Referenced by energyTest01(), test01(), and twoInclTest().
|
inline |
Function switches bool flag data_set on true. That indicates start of the process of data input.
Definition at line 423 of file problem.h.
Referenced by eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), intersection_2d_core(), intersection_3d_core(), ovlivneni(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), test3D(), x2D_1I_Ellipse_direct_API(), and x3D_1I_Ellipsoid_direct_API().
|
inline |
Function agregates set_data_set, set_dimension and set_diffType functions.
Definition at line 457 of file problem.h.
References mumech::Problems::set_dimension().
Referenced by grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), x2D_1I_Ellipse_homog(), and x3D_1I_Ellipsoid_homog().
|
inline |
Sets type of differentiation, analytical by default.
Definition at line 455 of file problem.h.
Referenced by Ellipsoid(), energyTest01(), eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), Four_3d_inclusions(), intersection_3d_core(), ovlivneni(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), test01(), test3D(), twoInclTest(), x2D_1I_Ellipse_direct_API(), and x3D_1I_Ellipsoid_direct_API().
|
inline |
Agregates ...
Definition at line 464 of file problem.h.
References mumech::Inclusion::set_all_2d().
Referenced by grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), intersection_2d_core(), intersection_3d_core(), speedtest2Dx3D(), test3D(), x2D_1I_Ellipse_homog(), and x3D_1I_Ellipsoid_homog().
|
inline |
Definition at line 466 of file problem.h.
References mumech::Inclusion::set_all_3d().
|
inline |
Sets the id -th inclusion centroids [x,y,z]. The z coordinate is ignored in the case of 2 dimensions.
Definition at line 436 of file problem.h.
References mumech::Inclusion::set_centroids(), and mumech::Problems::twodim.
Referenced by eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), x2D_1I_Ellipse_direct_API(), and x3D_1I_Ellipsoid_direct_API().
|
inline |
Sets the id -th inclusion material properties, Young's modulus E and Poissons ratio nu.
Definition at line 438 of file problem.h.
References mumech::Inclusion::set_Poissons_ratio(), and mumech::Inclusion::set_Youngs_modulus().
Referenced by eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), x2D_1I_Ellipse_direct_API(), and x3D_1I_Ellipsoid_direct_API().
|
inline |
Sets the id -th inclusion Euler angles [e1,e2,e3] given in degrees. The e2 and e3 angles are ignored in the case of 2 dimensions.
Definition at line 442 of file problem.h.
References mumech::Inclusion::set_Euller_angles_deg(), and mumech::Problems::twodim.
Referenced by eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), x2D_1I_Ellipse_direct_API(), and x3D_1I_Ellipsoid_direct_API().
|
inline |
Sets the id -th inclusion sorted semiaxes dimensions [a1,a2,a3]. The a3 dimension is ignored in the case of 2 dimensions.
Definition at line 440 of file problem.h.
References mumech::Inclusion::set_Semiaxes_dimensions(), and mumech::Problems::twodim.
Referenced by eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), x2D_1I_Ellipse_direct_API(), and x3D_1I_Ellipsoid_direct_API().
|
inline |
Sets the id -th inclusion shape. Default shape is detected automaticly.
Definition at line 453 of file problem.h.
References mumech::Inclusion::set_Inclusion_shape().
Referenced by speedtest2Dx3D(), and test3D().
|
inline |
Definition at line 371 of file problem.h.
Referenced by energyTest01(), Four_3d_inclusions(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), modeset(), test01(), twoInclTest(), X2D_3incl(), and X3D_3incl().
|
inline |
Sets problem dimension.
Sets infinite medium material properties, Young's modulus E and Poissons ratio nu.
Definition at line 427 of file problem.h.
References mumech::MatrixRecord::set_E_nu().
Referenced by Ellipse(), Ellipsoid(), eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), intersection_2d_core(), intersection_3d_core(), ovlivneni(), plstrain_2I_2d(), plstrain_2I_3d(), visualization_197I_2d3d(), x2D_1I_Ellipse_direct_API(), x2D_1I_Ellipse_homog(), x3D_1I_Ellipsoid_direct_API(), and x3D_1I_Ellipsoid_homog().
void mumech::Problem::set_number_of_inclusions | ( | long | n | ) |
Sets number of inclusions.
Definition at line 136 of file problem.cpp.
Referenced by eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), intersection_2d_core(), intersection_3d_core(), ovlivneni(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), test3D(), x2D_1I_Ellipse_direct_API(), x2D_1I_Ellipse_homog(), x3D_1I_Ellipsoid_direct_API(), and x3D_1I_Ellipsoid_homog().
|
inline |
Sets number of remote strains.
Definition at line 429 of file problem.h.
References mumech::MatrixRecord::set_nlc().
Referenced by eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), intersection_2d_core(), intersection_3d_core(), ovlivneni(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), test3D(), x2D_1I_Ellipse_direct_API(), and x3D_1I_Ellipsoid_direct_API().
|
inline |
Definition at line 376 of file problem.h.
Referenced by energyTest01(), eqiv_gener_gx2dI_2d(), and twoInclTest().
|
inline |
Sets the id -th remote strain, rs is row-by-row matrix of dimensions 2x2 or 3x3 for 2d or 3d problem, respectively.
Definition at line 431 of file problem.h.
References mumech::MatrixRecord::set_Remote_strain_for_lc().
Referenced by eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_1x3dI(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), intersection_2d_core(), intersection_3d_core(), ovlivneni(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), test3D(), x2D_1I_Ellipse_direct_API(), and x3D_1I_Ellipsoid_direct_API().
|
inline |
|
inline |
Set type of self-balancing algorithm.
Definition at line 368 of file problem.h.
Referenced by Ellipse(), Ellipsoid(), energyTest01(), eqiv_gener_2x2dI_2d(), eqiv_gener_2x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), ovlivneni(), plstrain_2I_2d(), plstrain_2I_3d(), speedtest2Dx3D(), test01(), test3D(), and twoInclTest().
|
inline |
|
inline |
Definition at line 372 of file problem.h.
Referenced by energyTest01(), Four_3d_inclusions(), grid_2d_3x3_3d(), grid_2d_3x3_3d_F(), modeset(), test01(), twoInclTest(), X2D_3incl(), and X3D_3incl().
|
inline |
Set the variable max_axes_diff.
|
inline |
Set the variable min_axes_diff.
|
inline |
Function sets a set of unit remote strains.
There are 3 unit remote strains in 2d (6 in 3d), in row notation {eps_xx, eps_xy, eps_yx, eps_yy}: rs1 = {1.0, 0.0, 0.0, 0.0} rs2 = {0.0, 0.5, 0.5, 0.0} rs3 = {0.0, 0.0, 0.0, 1.0}
Definition at line 462 of file problem.h.
References mumech::MatrixRecord::set_unit_remote_strain().
Referenced by eqiv_gener_1x2dI_2d(), eqiv_gener_1x2dI_3d(), eqiv_gener_gx2dI_2d(), eqiv_gener_gx2dI_3d(), x2D_1I_Ellipse_homog(), and x3D_1I_Ellipsoid_homog().
|
private |
Function updates the actual and transformation (equivalent) eigenstrains by taking into account the mutual dependencies (interactions).
The self-balance (SB) algorithm is employed to do that.
Definition at line 814 of file problem.cpp.
|
private |
Function updates the actual and transformation (equivalent) eigenstrains by taking into account the mutual dependencies (interactions).
The self-balance (SB) algorithm is employed to do that.
Definition at line 848 of file problem.cpp.
References _errorr, _SELF_BALANCE_NORM_LIMIT_, mumech::AddVector(), mumech::e(), mumech::matice::g(), mumech::gaussovaEliminace(), mumech::vektor::pricist(), mumech::vektor::print(), mumech::SBAT_MESHLESS, mumech::SBAT_ORIGINAL, mumech::SBAT_STANDA, mumech::SBAT_VOID, and mumech::vektor::v.
|
private |
Definition at line 2181 of file problem.cpp.
References mumech::AllocateArray2D(), SQR, mumech::vektor::v, and mumech::vektor::vynulovat().
|
private |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
private |
Definition at line 198 of file problem.h.
Referenced by mumech::Inclusion::update_approximations().
|
private |
Approximation of epsilon tau - 0 = constant, 1 = linear, ...
Definition at line 197 of file problem.h.
Referenced by mumech::InclusionRecord2D::giveExtStrainPert(), and mumech::Inclusion::update_approximations().
|
private |
|
private |
|
private |
the type of differentiation actually used. (just for testing purposes)
Definition at line 200 of file problem.h.
Referenced by mumech::InclusionRecord2D::dI().
|
private |
|
private |
inclusion records - 1d array of pointers to InclusionRecord
Definition at line 189 of file problem.h.
Referenced by mumech::Homogenization::giveTotalVolumeFractionOfInclusions(), and mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().
|
private |
|
private |
matrix record
Definition at line 187 of file problem.h.
Referenced by mumech::Inclusion::add_EshelbyPertStress_internal_SIFCM(), mumech::InclusionRecord2D::compute_D(), mumech::InclusionRecord2D::compute_eps_tau(), mumech::InclusionRecord2D::compute_I_S(), mumech::InclusionRecord2D::compute_initial_eps_tau(), mumech::InclusionRecord2D::compute_S_int(), mumech::InclusionRecord2D::compute_strain_pert_from_eps_zero_ext(), mumech::InclusionRecord2D::compute_strain_pert_from_eps_zero_int(), mumech::Inclusion::compute_supplement_energy(), mumech::Inclusion::Eps02EpsTau(), mumech::eshelbySoluUniformField::eshelbySoluUniformField(), mumech::InclusionRecord2D::getDisplacement(), mumech::Inclusion::give_EshelbyPertStress_internal(), mumech::InclusionRecord3D::SBA_computeInitialStrains(), and mumech::InclusionRecord2D::update_eps_tau().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
number of inclusions
Definition at line 188 of file problem.h.
Referenced by mumech::Homogenization::find_inclusions_in_BB(), mumech::Homogenization::giveNumberOfInclusions(), mumech::Homogenization::giveTotalVolumeFractionOfInclusions(), mumech::Homogenization::Homogenization(), and mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().
|
private |
|
private |
SBA optimized (FULL/_OPTIMIZED_)
Definition at line 192 of file problem.h.
Referenced by mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().
|
private |
|
private |
type of Self balancing algorithm (SBA)
Definition at line 191 of file problem.h.
Referenced by mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().
|
private |
|
private |
0 - no printing, 1 - basic printing, 3 - debug printing
Definition at line 206 of file problem.h.
Referenced by mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().
|
private |