muMECH  1.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mumech::Homogenization Class Referenceabstract

Class of function for homogenization of stress fields. More...

#include <homogenization.h>

Inheritance diagram for mumech::Homogenization:
mumech::Dilute mumech::RegGrid mumech::ReussBound mumech::VoightBound mumech::DifferentialScheme mumech::MoriTanaka

Public Member Functions

 Homogenization (long i, Problem *p)
 Constructor. More...
 
virtual ~Homogenization ()
 Destructor. More...
 
virtual void giveHomogenizedStiffnessMatrix (double *answer)=0
 Function returning the homogenized stiffness matrix according the defined method termitovo pridat parametr s notaci. More...
 
virtual const char * giveClassName ()
 Function returning class name. More...
 
virtual const HomogenizationType giveClassID ()
 Function returning class id. 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

ProblemgiveProblem ()
 
Functions to approach Problem Properties
int giveNumberOfInclusions () const
 
ProblemType giveProblemType () const
 
int giveSizeOfSymVector ()
 
int giveSizeOfReducedMatrix ()
 
int giveSizeOfFullMatrix ()
 
double giveTotalVolume () const
 
Functions to approach Inclusion Properties
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)
 
General Functions
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...
 

Protected Attributes

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 homogenization of stress fields.

Definition at line 46 of file homogenization.h.

Constructor & Destructor Documentation

mumech::Homogenization::Homogenization ( long  i,
Problem p 
)

Constructor.

Definition at line 43 of file homogenization.cpp.

References _errorr, inside, mumech::Problem::noIncl, P, and volume.

mumech::Homogenization::~Homogenization ( )
virtual

Destructor.

Definition at line 54 of file homogenization.cpp.

References inside, and P.

Member Function Documentation

void mumech::Homogenization::find_inclusions_in_BB ( void  )
const double* mumech::Homogenization::give_bb1 ( void  ) const
inline

Definition at line 75 of file homogenization.h.

References bb1.

const double* mumech::Homogenization::give_bb2 ( void  ) const
inline
virtual const HomogenizationType mumech::Homogenization::giveClassID ( )
inlinevirtual

Function returning class id.

Reimplemented in mumech::DifferentialScheme, mumech::RegGrid, mumech::VoightBound, mumech::ReussBound, mumech::MoriTanaka, and mumech::Dilute.

Definition at line 68 of file homogenization.h.

References mumech::HT_Void, and set_boundingBox().

virtual const char* mumech::Homogenization::giveClassName ( )
inlinevirtual
void mumech::Homogenization::giveFullEshelbyMatrixOfInclusion ( double **  answer,
const long  inclusionNumber 
)
protected
void mumech::Homogenization::giveFullMatrixFromReducedMatrix ( double *  answer,
const double *  A,
ProblemType  pT 
)
protected
void mumech::Homogenization::giveFullMatrixInGCSFromFullMatrixInLCS ( double *  answer,
double *  ALoc,
const long  inclusionNumber 
)
protected
void mumech::Homogenization::giveFullMatrixInGCSFromReducedMatrixInLCS ( double *  answer,
double *  ALoc,
const long  inclusionNumber 
)
protected
void mumech::Homogenization::giveFullMatrixInLCSFromFullMatrixInGCS ( double *  answer,
double *  AGlob,
const long  inclusionNumber 
)
protected
void mumech::Homogenization::giveFullStiffnessMatrixOfInclusion ( double *  answer,
const long  inclusionNumber 
)
protected
void mumech::Homogenization::giveFullUnitMatrix ( double *  answer,
ProblemType  pT 
)
protected
virtual void mumech::Homogenization::giveHomogenizedStiffnessMatrix ( double *  answer)
pure virtual

Function returning the homogenized stiffness matrix according the defined method termitovo pridat parametr s notaci.

Implemented in mumech::DifferentialScheme, mumech::RegGrid, mumech::VoightBound, mumech::ReussBound, mumech::MoriTanaka, and mumech::Dilute.

Referenced by clanek_homog_grid(), x2D_1I_Ellipse_homog(), and x3D_1I_Ellipsoid_homog().

void mumech::Homogenization::giveInverseOfReducedMatrix ( double *  answer,
const double *  rM,
ProblemType  pT 
)
protected
int mumech::Homogenization::giveNumberOfInclusions ( ) const
protected
Problem* mumech::Homogenization::giveProblem ( )
inlineprotected
ProblemType mumech::Homogenization::giveProblemType ( ) const
protected
void mumech::Homogenization::giveProductOfReducedMatrices ( double *  answer,
double *  A,
double *  B,
ProblemType  pT 
)
protected
void mumech::Homogenization::giveProductOfReducedMatrixRegularMatrix ( double *  answer,
double *  redA,
double *  B,
ProblemType  pT,
int  n 
)
protected
void mumech::Homogenization::giveProductOfRegularMatrixReducedMatrix ( double *  answer,
double *  A,
double *  redB,
int  n,
ProblemType  pT 
)
protected

Function returning full matrix stored row by row in vector array.

Definition at line 377 of file homogenization.cpp.

References _errorr, giveFullMatrixFromReducedMatrix(), mumech::giveMatrixMatrixProduct(), and giveSizeOfFullMatrix().

Referenced by giveProblem().

void mumech::Homogenization::giveReducedEshelbyMatrixOfInclusion ( double *  answer,
const long  inclusionNumber 
)
protected
void mumech::Homogenization::giveReducedStiffnessMatrixOfInclusion ( double *  answer,
const long  inclusionNumber 
)
protected
void mumech::Homogenization::giveReducedUnitMatrix ( double *  answer,
ProblemType  pT 
)
protected
int mumech::Homogenization::giveSizeOfFullMatrix ( )
protected
int mumech::Homogenization::giveSizeOfReducedMatrix ( )
protected
int mumech::Homogenization::giveSizeOfSymVector ( )
protected

Definition at line 104 of file homogenization.cpp.

References mumech::Problems::give_VM_TENS_RANGE(), and P.

Referenced by giveProblem().

double mumech::Homogenization::giveTotalVolume ( void  ) const
protected
double mumech::Homogenization::giveTotalVolumeFractionOfInclusions ( void  ) const
void mumech::Homogenization::giveTransformationMatrixStressStrainG2L ( double *  answer,
const long  inclusionNumber 
)
protected

answer = full transformation matrix global->local stored row by row

  • it is the same for strains and stresses if stored in tensorial values

Definition at line 185 of file homogenization.cpp.

References mumech::Problem::give_inclusion(), mumech::Inclusion::give_TeMatrix_G2L(), and P.

Referenced by giveFullMatrixInGCSFromFullMatrixInLCS(), giveFullMatrixInLCSFromFullMatrixInGCS(), and giveProblem().

void mumech::Homogenization::giveTransformationMatrixStressStrainL2G ( double *  answer,
const long  inclusionNumber 
)
protected
double mumech::Homogenization::giveVolumeFractionOfInclusion ( const long  inclusionNumber)
protected
void mumech::Homogenization::set_boundingBox ( double  x1,
double  y1,
double  x2,
double  y2 
)
void mumech::Homogenization::set_boundingBox ( double  x1,
double  y1,
double  z1,
double  x2,
double  y2,
double  z2 
)

Definition at line 69 of file homogenization.cpp.

References bb1, bb2, mumech::Problem::check_dim(), and P.

void mumech::Homogenization::set_boundingBox ( const double *  p1,
const double *  p2 
)

Definition at line 76 of file homogenization.cpp.

References bb1, and bb2.

Member Data Documentation

double mumech::Homogenization::bb1[3]
protected

Coordinates of lower corner of the bounding box.

Definition at line 52 of file homogenization.h.

Referenced by find_inclusions_in_BB(), give_bb1(), mumech::RegGrid::giveHomogenizedStiffnessMatrix(), giveTotalVolume(), and set_boundingBox().

double mumech::Homogenization::bb2[3]
protected

Coordinates of upper corner of the bounding box.

Definition at line 53 of file homogenization.h.

Referenced by find_inclusions_in_BB(), give_bb2(), mumech::RegGrid::giveHomogenizedStiffnessMatrix(), giveTotalVolume(), and set_boundingBox().

long mumech::Homogenization::id
protected

Identification number.

Definition at line 49 of file homogenization.h.

bool* mumech::Homogenization::inside
protected
Problem* mumech::Homogenization::P
protected
double mumech::Homogenization::volume
protected

Total volume of the proble/bounding box.

Definition at line 51 of file homogenization.h.

Referenced by giveTotalVolume(), and Homogenization().


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