muMECH  1.0
Public Member Functions | Public Attributes | Protected Attributes | Private Attributes | Friends | List of all members
mumech::MatrixRecord Class Reference

matrix data structure - matrix (infinite medium) record More...

#include <matrix.h>

Public Member Functions

 MatrixRecord (const Problem *p)
 Constructor. More...
 
virtual ~MatrixRecord ()
 Destructor. More...
 
void set_nlc (int n)
 
void set_E_nu (double e, double n)
 
void set_E_nu_rs (double e, double n, const double *r1)
 
void set_origin (double x, double y)
 
void set_origin (double x, double y, double z)
 
void convert_RS_ROWtoFEEP (int lc)
 
void set_Remote_strain_for_lc (int lc, const double r1[])
 r1 se zadava v theoretical row notation prislusne delky, 4 nebo 9 More...
 
bool scan_Remote_strains (FILE *stream)
 
bool scan_Remote_strains (const char *stream)
 
void set_unit_remote_strain (void)
 Sets a set of unit remote strain. More...
 
bool remote_strain_is_unit (void) const
 Check the remote strain is unit. More...
 
double E (void) const
 
double nu (void) const
 
const double ** remote_strains (void) const
 
void giveReducedStiffMatrix (double *answer) const
 
void giveFullStiffMatrix (double *answer) const
 
void allocate_nlc_fields (void)
 Allocate fields depending to number of load cases. More...
 
const double * give_globHomog_Displc (int lc, const double *coords)
 
void give_globHomog_Displc (double *displ, int lc, const double *coords)
 
const double * give_globHomog_Strain (int lc)
 
void give_globHomog_Strain (double *strain, int lc)
 
const double * give_globHomog_Stress (int lc)
 
void give_globHomog_Stress (double *stress, int lc)
 
void printYourself (const char *notice=NULL)
 Function prints the MatrixRecord. More...
 

Public Attributes

double * C
 isotropic stiffness matrix of the infinite medium (infinite matrix), saved in reduced form, in TVRN_THEORETICAL notation to be consistent with Remote_strain notation More...
 

Protected Attributes

const ProblemP
 
double ym
 Young's modulus of the matrix. More...
 
double pr
 Poissons ratio of the matrix. More...
 
double * origin
 coordinates of the origin of infinite medium (origin of global coordinate system) More...
 
int nRS
 Number of remote strains. More...
 
double ** Remote_strain
 Remote strain fields == homogeneous strain tensor, stored in TVRN_THEORETICAL_FEEP notation. (TVRN_THEORETICAL_ROW notation at I/O) More...
 

Private Attributes

double ** globHomog_displc
 Global homogeneous displacement fields. More...
 
double ** globHomog_strain
 Global homogeneous strain fields. More...
 
double ** globHomog_stress
 Global homogeneous stress fields. More...
 

Friends

class Problem
 
class InclusionRecord3D
 

Detailed Description

matrix data structure - matrix (infinite medium) record

Definition at line 46 of file matrix.h.

Constructor & Destructor Documentation

mumech::MatrixRecord::MatrixRecord ( const Problem p)
mumech::MatrixRecord::~MatrixRecord ( )
virtual

Member Function Documentation

void mumech::MatrixRecord::allocate_nlc_fields ( void  )

Allocate fields depending to number of load cases.

Definition at line 219 of file matrix.cpp.

References mumech::AllocateArray2D(), mumech::Problems::give_TENS_RANGE(), globHomog_displc, nRS, P, and Remote_strain.

Referenced by remote_strains(), scan_Remote_strains(), set_Remote_strain_for_lc(), and set_unit_remote_strain().

void mumech::MatrixRecord::convert_RS_ROWtoFEEP ( int  lc)
double mumech::MatrixRecord::E ( void  ) const
inline

Definition at line 106 of file matrix.h.

References ym.

const double * mumech::MatrixRecord::give_globHomog_Displc ( int  lc,
const double *  coords 
)
void mumech::MatrixRecord::give_globHomog_Displc ( double *  displ,
int  lc,
const double *  coords 
)
const double * mumech::MatrixRecord::give_globHomog_Strain ( int  lc)

Definition at line 239 of file matrix.cpp.

References Remote_strain.

Referenced by give_globHomog_Strain(), mumech::Mesh::give_homog_energy(), and remote_strains().

void mumech::MatrixRecord::give_globHomog_Strain ( double *  strain,
int  lc 
)
const double * mumech::MatrixRecord::give_globHomog_Stress ( int  lc)
void mumech::MatrixRecord::give_globHomog_Stress ( double *  stress,
int  lc 
)
void mumech::MatrixRecord::giveFullStiffMatrix ( double *  answer) const
void mumech::MatrixRecord::giveReducedStiffMatrix ( double *  answer) const

Definition at line 206 of file matrix.cpp.

References C, mumech::CopyVector(), mumech::Problems::give_ISO_C_RANGE(), and P.

Referenced by remote_strains().

double mumech::MatrixRecord::nu ( void  ) const
inline
void mumech::MatrixRecord::printYourself ( const char *  notice = NULL)

Function prints the MatrixRecord.

Definition at line 279 of file matrix.cpp.

References pr, and ym.

Referenced by remote_strains().

bool mumech::MatrixRecord::remote_strain_is_unit ( void  ) const
const double** mumech::MatrixRecord::remote_strains ( void  ) const
inline
bool mumech::MatrixRecord::scan_Remote_strains ( FILE *  stream)
bool mumech::MatrixRecord::scan_Remote_strains ( const char *  stream)
void mumech::MatrixRecord::set_E_nu ( double  e,
double  n 
)
void mumech::MatrixRecord::set_E_nu_rs ( double  e,
double  n,
const double *  r1 
)
inline
void mumech::MatrixRecord::set_nlc ( int  n)

Definition at line 68 of file matrix.cpp.

References _errorr, and nRS.

Referenced by set_E_nu_rs(), mumech::Problem::set_numberOfRemoteStrains(), and set_unit_remote_strain().

void mumech::MatrixRecord::set_origin ( double  x,
double  y 
)

Definition at line 91 of file matrix.cpp.

References mumech::Problem::check_dim(), origin, and P.

Referenced by set_E_nu_rs().

void mumech::MatrixRecord::set_origin ( double  x,
double  y,
double  z 
)

Definition at line 92 of file matrix.cpp.

References mumech::Problem::check_dim(), origin, and P.

void mumech::MatrixRecord::set_Remote_strain_for_lc ( int  lc,
const double  r1[] 
)

r1 se zadava v theoretical row notation prislusne delky, 4 nebo 9

Definition at line 102 of file matrix.cpp.

References _errorr, allocate_nlc_fields(), convert_RS_ROWtoFEEP(), mumech::CopyVector(), mumech::Problems::give_TENS_RANGE(), nRS, P, and Remote_strain.

Referenced by set_E_nu_rs(), and mumech::Problem::set_RemoteStrain().

void mumech::MatrixRecord::set_unit_remote_strain ( void  )

Friends And Related Function Documentation

friend class InclusionRecord3D
friend

Definition at line 49 of file matrix.h.

friend class Problem
friend

Definition at line 48 of file matrix.h.

Member Data Documentation

double* mumech::MatrixRecord::C
double** mumech::MatrixRecord::globHomog_displc
private

Global homogeneous displacement fields.

Definition at line 61 of file matrix.h.

Referenced by allocate_nlc_fields(), give_globHomog_Displc(), MatrixRecord(), and ~MatrixRecord().

double** mumech::MatrixRecord::globHomog_strain
private

Global homogeneous strain fields.

Definition at line 62 of file matrix.h.

Referenced by MatrixRecord(), and ~MatrixRecord().

double** mumech::MatrixRecord::globHomog_stress
private

Global homogeneous stress fields.

Definition at line 63 of file matrix.h.

Referenced by give_globHomog_Stress(), MatrixRecord(), and ~MatrixRecord().

int mumech::MatrixRecord::nRS
protected
double* mumech::MatrixRecord::origin
protected

coordinates of the origin of infinite medium (origin of global coordinate system)

Definition at line 56 of file matrix.h.

Referenced by MatrixRecord(), set_origin(), and ~MatrixRecord().

const Problem* mumech::MatrixRecord::P
protected
double mumech::MatrixRecord::pr
protected

Poissons ratio of the matrix.

Definition at line 55 of file matrix.h.

Referenced by MatrixRecord(), nu(), printYourself(), and set_E_nu().

double** mumech::MatrixRecord::Remote_strain
protected
double mumech::MatrixRecord::ym
protected

Young's modulus of the matrix.

Definition at line 54 of file matrix.h.

Referenced by E(), MatrixRecord(), printYourself(), and set_E_nu().


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