anisodamrot Class Reference

#include <anisodamrot.h>

List of all members.

Public Member Functions

 anisodamrot (void)
double brittle_damage (long ipp, double y, double e, double f, double uf, double omegao)
double dam_vol (long ipp, double y, double aa, double dvo)
void damdrvforce_dev (double nu, vector &peps, vector &pyt, vector &pyc)
double damdrvforce_vol (double nu, vector &peps)
void elmatstiff (matrix &d, long ipp)
double give_actual_fc (long ipp)
double give_actual_ft (long ipp)
void give_actual_param_a (long ipp, long ido, double &aa, double &aat, double &aac)
void initvalues (long ipp, long ido)
void loadfuncdev (long ipp, double nu, vector &peps, vector &damt, vector &damc, double aat, double aac, vector &lft, vector &lfc)
double loadfuncvol (long ipp, double nu, vector &peps, double d, double aa)
void matstiff (matrix &d, long ipp, long ido)
void nlstresses (long ipp, long im, long ido)
void pdam_dev (long ipp, vector &pyc, vector &pyt, double aat, double aac, vector &pdamt, vector &pdamc)
void read (XFILE *in)
void updateval (long ipp, long im, long ido)
 ~anisodamrot (void)

Public Attributes

double a
 material parameter A for volumetric damage
double ac
 material parameter Ac for compression
double at
 material parameter At for tension
double b
 material parameter B for volumetric damage
double bc
 material parameter Bc for compression
double bt
 material parameter Bt for tension
corr_disip_en cde
 correction of disipated energy switch
dam_evolfunc damevf
 type of damage evolution function
double fc
 compressive strength
double ft
 tensile strength
double gf
 fracture energy of volumetric damage
double gfc
 fracture energy of deviatoric damage for compression
double gft
 fracture energy of deviatoric damage for tension
strretalg sra
 parameters for Newton tangent method for damage parameter computation for brittle evolution fucntion and correction of dissipated energy
double ufc
 initial crack opening u_fc or eps_fc - controls initial slope of softening branch for compression
double uft
 initial crack opening u_ft or eps_ft - controls initial slope of softening branch for tension
double y0
 initial treshold for damage driving force Y0 for volumetric damage
double y0c
 initial treshold for damage driving force Y0 for compression
double y0t
 initial treshold for damage driving force Y0 for tension

Detailed Description

This class defines scalar isotropic damage material model. The different type of norms for the computing parameters of the damage function can be used. The order of internal variables is following : 0 - actual value of param a 1 - actual value of param At 2 - actual value of param Ac 3 - reached value of volumetric damage parameter 4..9 - reached values of deviatoric damage parameters for tension 10..15 - reached values of deviatoric damage parameters for compression 16..18 - reached principal values of damage tensor for tension 19..21 - reached principal values of damage tensor for compression

Definition at line 25 of file anisodamrot.h.


Constructor & Destructor Documentation

anisodamrot ( void   ) 

The constructor inializes attributes to zero values.

Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009

Definition at line 27 of file anisodamrot.cpp.

References a, ac, at, b, bc, bt, cde, corr_off, fc, ft, gf, gfc, gft, ufc, uft, y0, y0c, and y0t.

~anisodamrot ( void   ) 

The destructor is defined only for the formal purposes.

Created by Tomas Koudelka, 9.2006

Definition at line 43 of file anisodamrot.cpp.


Member Function Documentation

double brittle_damage ( long  ipp,
double  y,
double  e,
double  f,
double  uf,
double  omegao 
)

The function computes damage parameter which is the result of the damage function for brittle type of damage function. Correction of dissipated energy is controled by the cde flag.

Parameters:
ipp - integration point number
y - parameter of damage function=equvalent strain (generalized conjugated thermodynamical force)
e - actual value of Young modulus
f - actual value of strength (tensile or compressive)
uf - actual value of initial crack opening
omegao - old value of damage
Returns:
Function returns value of the damage parameter omega.

Created by Tomas Koudelka, 10.2009

Definition at line 474 of file anisodamrot.cpp.

References cde, corr_off, mechmat::elip, ft, mechtop::give_area(), mechtop::give_dimension(), strretalg::give_err(), mechtop::give_length(), strretalg::give_ni(), mechtop::give_volume(), h(), intpoints::hmt, mechmat::ip, Mm, Mt, print_err(), and sra.

Referenced by dam_vol(), and pdam_dev().

double dam_vol ( long  ipp,
double  y,
double  aa,
double  dvo 
)

Function computes value of damage parameter d. The damage parameter is derived from the damage function.

Parameters:
ipp - integration point number
y - driving forces for volumetric damage
aa - actual value of material parameter a
dvo - old value of volumteric damage
Returns:
The function returns value of the volumetric damage parameter.

Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009

Definition at line 338 of file anisodamrot.cpp.

References b, brittle, brittle_damage(), damevf, ft, mechmat::give_actual_ft(), mechmat::give_actual_ym(), Mm, print_err(), quasi_brittle, uft, and y0.

Referenced by nlstresses().

void damdrvforce_dev ( double  nu,
vector peps,
vector pyt,
vector pyc 
)

Function computes dimensionless damage driving force for deviatoric damage parameters.

Parameters:
nu - Poissons ratio
peps - vector of principal strains
pyt - vector of principal values of driving forces for tension damage parameters
pyc - vector of principal values of driving forces for compression damage parameters
Returns:
The function returns actual values of driving forces in parameters pyt and pyc.

Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009

Definition at line 144 of file anisodamrot.cpp.

References fillv().

Referenced by loadfuncdev(), and nlstresses().

double damdrvforce_vol ( double  nu,
vector peps 
)

Function computes dimensionless damage driving force for volumetric damage parameter.

Parameters:
nu - Poissons ratio
peps - vector of principal strains
Returns:
Function returns value of damage driving force.

Created by Tomas Koudelka, 9.2006

Definition at line 108 of file anisodamrot.cpp.

Referenced by loadfuncvol(), and nlstresses().

void elmatstiff ( matrix d,
long  ipp 
)

The function computes elastic material stiffnes matrix from actual Young modulus.

Parameters:
d - allocated matrix structure for material stiffness matrix
ipp - integration point number
Returns:
The function returns elastic stiffness matrix in the parameter d.

Created by Tomas Koudelka, 9.2006

Definition at line 740 of file anisodamrot.cpp.

References cmulm(), elastisomat::e, mechmat::eliso, elisomat, mechmat::elmatstiff(), intpoints::gemid(), mechmat::give_actual_ym(), intpoints::idm, mechmat::ip, Mm, print_err(), and intpoints::tm.

Referenced by matstiff().

double give_actual_fc ( long  ipp  ) 

The function returns the value of compressive strength.

Parameters:
ipp - integration point number in the mechmat ip array.
ido - index of internal variables for given material in the ipp other array
Returns:
The function returns compressive stregth.

Created by Tomas Koudelka, 10.2009

Definition at line 673 of file anisodamrot.cpp.

References fc.

Referenced by mechmat::give_actual_fc().

double give_actual_ft ( long  ipp  ) 

The function returns the actual value of tensile strength.

Parameters:
ipp - integration point number in the mechmat ip array.
ido - index of internal variables for given material in the ipp other array
Returns:
The function returns tensile stregth.

Created by Tomas Koudelka, 10.2009

Definition at line 656 of file anisodamrot.cpp.

References ft.

Referenced by mechmat::give_actual_ft().

void give_actual_param_a ( long  ipp,
long  ido,
double &  aa,
double &  aat,
double &  aac 
)

Function computes material parameters A, At and Ac. If the correction of dissipated energy is required, they are computed with respect to size of element for given ipp and variable softening modulus technique was used in order to avoid mesh dependence. Otherwise, values read from the input file are used.

Parameters:
d - allocated matrix structure for material stiffness matrix
ipp - integration point number
ido - index of internal variables for given material in the ipp other array
aa - actual value of parameter A (output)
aat - actual value of parameter At (output)
aac - actual value of parameter Ac (output)
Return values:
The function returns computed material parameters A, Ac and At in the parameters aa, aat and aac.

Created by Tomas Koudelka, 9.2006

Definition at line 586 of file anisodamrot.cpp.

References a, ac, at, b, bc, bt, cde, corr_off, mechmat::elip, intpoints::eqother, gf, gfc, gft, mechmat::give_actual_ym(), mechtop::give_area(), mechtop::give_dimension(), mechtop::give_length(), mechtop::give_volume(), h(), mechmat::ip, M_PI, Mm, Mt, print_err(), y0, y0c, and y0t.

Referenced by initvalues(), and nlstresses().

void initvalues ( long  ipp,
long  ido 
)

Function initializes material parameters A, At and Ac.

Parameters:
d - allocated matrix structure for material stiffness matrix
ipp - integration point number
ido - index of internal variables for given material in the ipp other array
Returns:
The function does not return anything.

Created by Tomas Koudelka, 9.2006

Definition at line 691 of file anisodamrot.cpp.

References give_actual_param_a().

Referenced by mechmat::initvalues().

void loadfuncdev ( long  ipp,
double  nu,
vector peps,
vector damt,
vector damc,
double  aat,
double  aac,
vector lft,
vector lfc 
)

Function computes value of load function for deviatoric damage

Parameters:
ipp - integration point number
nu - Poissons ratio
peps - vector of principal strains
damt - vector actual values of principal damage parameters for tension
damc - vector actual values of principal damage parameters for compression
aat - actual values of material parameter a for tension
aac - actual values of material parameter a for compression
lft - vector of resulting values of load function for tension for each principal direction (output)
lfc - vector of resulting values of load function for compression for each principal direction (output)
Returns:
The function returns load function values separately for tension and compression in parameters lft and lfc for each principal direction.

Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2008 Modified by Tomas Koudelka, 10.2009

Definition at line 244 of file anisodamrot.cpp.

References bc, brittle, bt, damdrvforce_dev(), damevf, fc, ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), mechmat::give_actual_ym(), Mm, print_err(), quasi_brittle, ufc, uft, y0c, and y0t.

double loadfuncvol ( long  ipp,
double  nu,
vector peps,
double  d,
double  aa 
)

Function computes value of load function for the volumetric damage.

Parameters:
ipp - integration point number
nu - Poissons ratio
peps - vector of principal strains
d - actual value of damage parameter
aa - actual value of material parameter a
Returns:
The function returns value of load function for the volumetric damage.

Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009

Definition at line 178 of file anisodamrot.cpp.

References b, brittle, damdrvforce_vol(), damevf, f, ft, mechmat::give_actual_ft(), mechmat::give_actual_ym(), Mm, print_err(), quasi_brittle, uft, and y0.

void matstiff ( matrix d,
long  ipp,
long  ido 
)

This function computes actual material stiffnes matrix.

Parameters:
d - allocated matrix structure for material stiffness matrix (output)
ipp - integration point number
ido - index of internal variables for given material in the ipp other array
Returns:
The function returns stiffness matrix in the parameter d.

Created by Tomas Koudelka,

Definition at line 710 of file anisodamrot.cpp.

References elmatstiff(), initial_stiff, Mp, probdesc::nlman, print_err(), nonlinman::stmat, and tangent_stiff.

Referenced by mechmat::matstiff().

void nlstresses ( long  ipp,
long  im,
long  ido 
)

The function computes correct stresses in the integration point and stores them into ip stress array.

Parameters:

Parameters:
ipp - integration point pointer
im - index of material type for given ip
ido - index of internal variables for given material in the ipp other array
Returns:
The function does not return anything.

Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009

Definition at line 771 of file anisodamrot.cpp.

References addm(), cmulm(), dam_vol(), damdrvforce_dev(), damdrvforce_vol(), intpoints::eqother, fillm(), mechmat::give_actual_nu(), give_actual_param_a(), mechmat::give_actual_ym(), glmatrixtransf(), mechmat::ip, lgmatrixtransf(), limit, Mm, Mp, mxm(), intpoints::ncompstr, nijac, intpoints::other, pdam_dev(), planestress, princ_val(), print_err(), intpoints::ssst, strain, intpoints::strain, intpoints::stress, stress, tensor_vector(), vector_tensor(), and probdesc::zero.

Referenced by mechmat::compnonloc_nlstresses(), and mechmat::computenlstresses().

void pdam_dev ( long  ipp,
vector pyc,
vector pyt,
double  aat,
double  aac,
vector pdamt,
vector pdamc 
)

Function computes values of principal damage parameters Dt and Dc. The damage parameters are derived from the damage function.

Parameters:
ipp - integration point number
pyc - vector of principal driving forces for tension
pyt - vector of principal driving forces for tension
aat - actual value of material parameter at
aac - actual value of material parameter ac
pdamc - vector of principal damage parameters for tension (output)
pdamt - vector of principal damage parameters for compression (output)
Returns:
The function returns actual principal values of damage in the parameters pdamt and pdamc.

Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009

Definition at line 391 of file anisodamrot.cpp.

References bc, brittle, brittle_damage(), bt, damevf, fc, fillv(), ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), mechmat::give_actual_ym(), Mm, print_err(), quasi_brittle, ufc, uft, y0c, and y0t.

Referenced by nlstresses().

void read ( XFILE in  ) 

The function reads material parameters from the opened text file given by the parameter in.

Parameters:
in - pointer to the opened input text file
Returns:
The function does not return anything.

Created by Tomas Koudelka, 9.2006 Modified by Tomas Koudelka, 10.2009

Definition at line 61 of file anisodamrot.cpp.

References a, ac, at, b, bc, brittle, bt, cde, corr_disip_en_kwdset(), corr_off, corr_on, dam_evolfunc_kwdset(), damevf, fc, ft, gf, gfc, gft, print_err(), quasi_brittle, strretalg::read(), sra, ufc, uft, xfscanf(), y0, y0c, and y0t.

Referenced by mechmat::readmattype().

void updateval ( long  ipp,
long  im,
long  ido 
)

Function updates values in the other array reached in the previous equlibrium state to values reached in the new actual equilibrium state.

Parameters:
ipp - integration point number in the mechmat ip array.
im - index of material type for given ip
ido - index of internal variables for given material in the ipp other array
Returns:
The function does not return anything.

Created by Tomas Koudelka, 9.2006

Definition at line 990 of file anisodamrot.cpp.

References intpoints::eqother, mechmat::givencompeqother(), mechmat::ip, Mm, and intpoints::other.

Referenced by mechmat::updateipvalmat().


Member Data Documentation

double a

material parameter A for volumetric damage

Definition at line 63 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), and read().

double ac

material parameter Ac for compression

Definition at line 75 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), and read().

double at

material parameter At for tension

Definition at line 69 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), and read().

double b

material parameter B for volumetric damage

Definition at line 65 of file anisodamrot.h.

Referenced by anisodamrot(), dam_vol(), give_actual_param_a(), loadfuncvol(), and read().

double bc

material parameter Bc for compression

Definition at line 77 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), loadfuncdev(), pdam_dev(), and read().

double bt

material parameter Bt for tension

Definition at line 71 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), loadfuncdev(), pdam_dev(), and read().

correction of disipated energy switch

Definition at line 61 of file anisodamrot.h.

Referenced by anisodamrot(), brittle_damage(), give_actual_param_a(), and read().

type of damage evolution function

Definition at line 49 of file anisodamrot.h.

Referenced by dam_vol(), loadfuncdev(), loadfuncvol(), pdam_dev(), and read().

double fc

compressive strength

Definition at line 55 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_fc(), loadfuncdev(), pdam_dev(), and read().

double ft

tensile strength

Definition at line 51 of file anisodamrot.h.

Referenced by anisodamrot(), brittle_damage(), dam_vol(), give_actual_ft(), loadfuncdev(), loadfuncvol(), pdam_dev(), and read().

double gf

fracture energy of volumetric damage

Definition at line 81 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), and read().

double gfc

fracture energy of deviatoric damage for compression

Definition at line 85 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), and read().

double gft

fracture energy of deviatoric damage for tension

Definition at line 83 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), and read().

parameters for Newton tangent method for damage parameter computation for brittle evolution fucntion and correction of dissipated energy

Definition at line 59 of file anisodamrot.h.

Referenced by brittle_damage(), and read().

double ufc

initial crack opening u_fc or eps_fc - controls initial slope of softening branch for compression

Definition at line 57 of file anisodamrot.h.

Referenced by anisodamrot(), loadfuncdev(), pdam_dev(), and read().

double uft

initial crack opening u_ft or eps_ft - controls initial slope of softening branch for tension

Definition at line 53 of file anisodamrot.h.

Referenced by anisodamrot(), dam_vol(), loadfuncdev(), loadfuncvol(), pdam_dev(), and read().

double y0

initial treshold for damage driving force Y0 for volumetric damage

Definition at line 67 of file anisodamrot.h.

Referenced by anisodamrot(), dam_vol(), give_actual_param_a(), loadfuncvol(), and read().

double y0c

initial treshold for damage driving force Y0 for compression

Definition at line 79 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), loadfuncdev(), pdam_dev(), and read().

double y0t

initial treshold for damage driving force Y0 for tension

Definition at line 73 of file anisodamrot.h.

Referenced by anisodamrot(), give_actual_param_a(), loadfuncdev(), pdam_dev(), and read().


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

Generated by  doxygen 1.6.2