|
muMECH
1.0
|
Class of function for Mori-Tanaka homogenization. More...
#include <homogenizationMethods.h>
Public Member Functions | |
| Dilute (long i, Problem *p) | |
| Constructor. More... | |
| virtual | ~Dilute () |
| Destructor. More... | |
| virtual void | giveHomogenizedStiffnessMatrix (double *answer) |
| Function returning the homogenized stiffness matrix according the defined method. More... | |
| virtual const char * | giveClassName () |
| Function returning class name. More... | |
| virtual const HomogenizationType | giveClassID () |
| Function returning class id. More... | |
Public Member Functions inherited from mumech::Homogenization | |
| Homogenization (long i, Problem *p) | |
| Constructor. More... | |
| virtual | ~Homogenization () |
| Destructor. More... | |
| void | set_boundingBox (double x1, double y1, double x2, double y2) |
| void | set_boundingBox (double x1, double y1, double z1, double x2, double y2, double z2) |
| void | set_boundingBox (const double *p1, const double *p2) |
| const double * | give_bb1 (void) const |
| const double * | give_bb2 (void) const |
| double | giveTotalVolumeFractionOfInclusions (void) const |
| void | find_inclusions_in_BB (void) |
Protected Member Functions | |
| void | giveDiluteReducedConcentrationFactorOfInclusionInLC (double *answer, double *matrix_inclStiffmat, double *matrixStiffMat, double *matrixComplMat, const long inclusionNumber) |
| !!! Everything is calculated in local coordinate system More... | |
| void | giveFullDiluteConcentrationFactorOfInclusionInLC (double *answer, double *matrix_inclStiffmat, double *matrixStiffMat, double *matrixComplMat, const long inclusionNumber) |
| !!! Everything is calculated in local coordinate system More... | |
Protected Member Functions inherited from mumech::Homogenization | |
| Problem * | giveProblem () |
| int | giveNumberOfInclusions () const |
| ProblemType | giveProblemType () const |
| int | giveSizeOfSymVector () |
| int | giveSizeOfReducedMatrix () |
| int | giveSizeOfFullMatrix () |
| double | giveTotalVolume () const |
| void | giveFullEshelbyMatrixOfInclusion (double **answer, const long inclusionNumber) |
| void | giveReducedEshelbyMatrixOfInclusion (double *answer, const long inclusionNumber) |
| void | giveFullStiffnessMatrixOfInclusion (double *answer, const long inclusionNumber) |
| void | giveReducedStiffnessMatrixOfInclusion (double *answer, const long inclusionNumber) |
| double | giveVolumeFractionOfInclusion (const long inclusionNumber) |
| void | giveTransformationMatrixStressStrainG2L (double *answer, const long inclusionNumber) |
| answer = full transformation matrix global->local stored row by row More... | |
| void | giveTransformationMatrixStressStrainL2G (double *answer, const long inclusionNumber) |
| void | giveFullMatrixInGCSFromFullMatrixInLCS (double *answer, double *ALoc, const long inclusionNumber) |
| void | giveFullMatrixInLCSFromFullMatrixInGCS (double *answer, double *AGlob, const long inclusionNumber) |
| void | giveFullMatrixInGCSFromReducedMatrixInLCS (double *answer, double *ALoc, const long inclusionNumber) |
| void | giveInverseOfReducedMatrix (double *answer, const double *rM, ProblemType pT) |
| void | giveReducedUnitMatrix (double *answer, ProblemType pT) |
| void | giveFullUnitMatrix (double *answer, ProblemType pT) |
| void | giveProductOfReducedMatrices (double *answer, double *A, double *B, ProblemType pT) |
| void | giveFullMatrixFromReducedMatrix (double *answer, const double *A, ProblemType pT) |
| Function returning full matrix stored row by row in vector array. More... | |
| void | giveProductOfRegularMatrixReducedMatrix (double *answer, double *A, double *redB, int n, ProblemType pT) |
| Function returning full matrix stored row by row in vector array. More... | |
| void | giveProductOfReducedMatrixRegularMatrix (double *answer, double *redA, double *B, ProblemType pT, int n) |
| Function returning full matrix stored row by row in vector array. More... | |
Additional Inherited Members | |
Protected Attributes inherited from mumech::Homogenization | |
| long | id |
| Identification number. More... | |
| Problem * | P |
| Problem description. More... | |
| double | volume |
| Total volume of the proble/bounding box. More... | |
| double | bb1 [3] |
| Coordinates of lower corner of the bounding box. More... | |
| double | bb2 [3] |
| Coordinates of upper corner of the bounding box. More... | |
| bool * | inside |
| Flag - inclusion inside of the bounding box. More... | |
Class of function for Mori-Tanaka homogenization.
Definition at line 42 of file homogenizationMethods.h.
|
inline |
Constructor.
Definition at line 46 of file homogenizationMethods.h.
|
inlinevirtual |
Destructor.
Definition at line 48 of file homogenizationMethods.h.
References giveHomogenizedStiffnessMatrix().
|
inlinevirtual |
Function returning class id.
Reimplemented from mumech::Homogenization.
Reimplemented in mumech::DifferentialScheme, and mumech::MoriTanaka.
Definition at line 55 of file homogenizationMethods.h.
References giveDiluteReducedConcentrationFactorOfInclusionInLC(), giveFullDiluteConcentrationFactorOfInclusionInLC(), and mumech::HT_Dilute.
|
inlinevirtual |
Function returning class name.
Reimplemented from mumech::Homogenization.
Reimplemented in mumech::DifferentialScheme, and mumech::MoriTanaka.
Definition at line 53 of file homogenizationMethods.h.
|
protected |
!!! Everything is calculated in local coordinate system
return: concentration factor: answer = [I+S*Cm^{-1}(Ci-Cm)]^{-1} inclusion stiffness matrix - matrix stiffness matrix = matrix_inclStiffmat (Ci_Cm) input: matrixStiffMat = matrix reduced stiffness matrix (Cm) matrixComplMat = matrix reduced compliance matrix (CmInv)
Definition at line 116 of file homogenizationMethods.cpp.
References _errorr, mumech::AddVector(), mumech::AddVectorMultipledBy(), mumech::CopyVector(), mumech::Homogenization::giveInverseOfReducedMatrix(), mumech::Homogenization::giveProblemType(), mumech::Homogenization::giveProductOfReducedMatrices(), mumech::Homogenization::giveReducedEshelbyMatrixOfInclusion(), mumech::Homogenization::giveReducedStiffnessMatrixOfInclusion(), mumech::Homogenization::giveReducedUnitMatrix(), and mumech::Homogenization::giveSizeOfReducedMatrix().
Referenced by giveClassID(), giveHomogenizedStiffnessMatrix(), and mumech::MoriTanaka::giveHomogenizedStiffnessMatrix().
|
protected |
!!! Everything is calculated in local coordinate system
return: concentration factor: answer = [I+S*Cm^{-1}(Ci-Cm)]^{-1} = full matrix (stored row by row) inclusion stiffness matrix - matrix stiffness matrix = matrix_inclStiffmat (Ci_Cm) = full matrix (stored row by row) input: matrixStiffMat = matrix full stiffness matrix (Cm) - assumed to be anisotropic (stored row by row) - should be already rotated to LC of inclusion matrixComplMat = matrix full compliance matrix (CmInv) (stored row by row) - should be already rotated to LC of inclusion
Definition at line 164 of file homogenizationMethods.cpp.
References _errorr, mumech::Inclusion::a, mumech::AddVector(), mumech::AddVectorMultipledBy(), mumech::CopyVector(), mumech::InclusionRecord3D::esuf, mumech::Problem::give_inclusion(), mumech::Homogenization::giveFullStiffnessMatrixOfInclusion(), mumech::Homogenization::giveFullUnitMatrix(), mumech::MatrixOperations::giveInverseMatrix(), mumech::giveMatrixMatrixProduct(), mumech::Homogenization::giveProblemType(), mumech::eshelbySoluUniformField::giveSijkl(), mumech::Homogenization::giveSizeOfFullMatrix(), mumech::Homogenization::P, and mumech::PT_3D.
Referenced by giveClassID(), and mumech::DifferentialScheme::giveHomogenizedStiffnessMatrix().
|
virtual |
Function returning the homogenized stiffness matrix according the defined method.
answer = Cm +Sum_i (ci*(Ci-Cm)*Ai)
Implements mumech::Homogenization.
Reimplemented in mumech::DifferentialScheme, and mumech::MoriTanaka.
Definition at line 49 of file homogenizationMethods.cpp.
References _errorr, _errorr1, mumech::AddVectorMultipledBy(), giveDiluteReducedConcentrationFactorOfInclusionInLC(), mumech::Homogenization::giveFullMatrixFromReducedMatrix(), mumech::Homogenization::giveFullMatrixInGCSFromReducedMatrixInLCS(), mumech::Homogenization::giveInverseOfReducedMatrix(), mumech::Homogenization::giveNumberOfInclusions(), mumech::Homogenization::giveProblemType(), mumech::Homogenization::giveProductOfReducedMatrixRegularMatrix(), mumech::Homogenization::giveSizeOfFullMatrix(), mumech::Homogenization::giveSizeOfReducedMatrix(), mumech::Homogenization::giveVolumeFractionOfInclusion(), mumech::Homogenization::inside, mumech::Problem::matrix_giveReducedStiffMatrix(), and mumech::Homogenization::P.
Referenced by mumech::DifferentialScheme::~DifferentialScheme(), ~Dilute(), mumech::MoriTanaka::~MoriTanaka(), mumech::RegGrid::~RegGrid(), mumech::ReussBound::~ReussBound(), and mumech::VoightBound::~VoightBound().