muMECH  1.0
Public Member Functions | Protected Member Functions | List of all members
mumech::Dilute Class Reference

Class of function for Mori-Tanaka homogenization. More...

#include <homogenizationMethods.h>

Inheritance diagram for mumech::Dilute:
mumech::Homogenization mumech::DifferentialScheme mumech::MoriTanaka

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
ProblemgiveProblem ()
 
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...
 
ProblemP
 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...
 

Detailed Description

Class of function for Mori-Tanaka homogenization.

Definition at line 42 of file homogenizationMethods.h.

Constructor & Destructor Documentation

mumech::Dilute::Dilute ( long  i,
Problem p 
)
inline

Constructor.

Definition at line 46 of file homogenizationMethods.h.

virtual mumech::Dilute::~Dilute ( )
inlinevirtual

Destructor.

Definition at line 48 of file homogenizationMethods.h.

References giveHomogenizedStiffnessMatrix().

Member Function Documentation

virtual const HomogenizationType mumech::Dilute::giveClassID ( )
inlinevirtual
virtual const char* mumech::Dilute::giveClassName ( )
inlinevirtual

Function returning class name.

Reimplemented from mumech::Homogenization.

Reimplemented in mumech::DifferentialScheme, and mumech::MoriTanaka.

Definition at line 53 of file homogenizationMethods.h.

void mumech::Dilute::giveDiluteReducedConcentrationFactorOfInclusionInLC ( double *  answer,
double *  matrix_inclStiffmat,
double *  matrixStiffMat,
double *  matrixComplMat,
const long  inclusionNumber 
)
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().

void mumech::Dilute::giveFullDiluteConcentrationFactorOfInclusionInLC ( double *  answer,
double *  matrix_inclStiffmat,
double *  matrixStiffMat,
double *  matrixComplMat,
const long  inclusionNumber 
)
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().

void mumech::Dilute::giveHomogenizedStiffnessMatrix ( double *  answer)
virtual

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