ortodam Class Reference

#include <ortodam.h>

List of all members.

Public Member Functions

double brittle_damage (long ipp, double y, double e, double f, double uf, double omegao)
double brittle_damage (long ipp, double y, double e, double f, double uf, double omegao)
double dam_eq_strain (double nu, vector &peps)
double dam_eq_strain (double nu, long i, vector &peps)
void elmatstiff (matrix &d, long ipp)
void elmatstiff (matrix &d, long ipp)
double give_actual_fc (long ipp)
double give_actual_fc (long ipp)
double give_actual_ft (long ipp)
double give_actual_ft (long ipp)
void give_actual_param_a (long ipp, long ido, double &aat, double &aac)
void give_actual_param_a (long ipp, long ido, double &aat, double &aac)
void initvalues (long ipp, long ido)
void initvalues (long ipp, long ido)
void loadfunc (long ipp, double nu, vector &peps, vector &damt, vector &damc, double aat, double aac, vector &lft, vector &lfc)
void loadfunc (long ipp, double nu, vector &peps, vector &damt, vector &damc, double aat, double aac, vector &lft, vector &lfc)
void matstiff (matrix &d, long ipp, long ido)
void matstiff (matrix &d, long ipp, long ido)
void nlstresses (long ipp, long im, long ido)
void nlstresses (long ipp, long im, long ido)
 ortodam (void)
 ortodam (void)
void pelmatstiff (long ipp, matrix &d, double e, double nu)
void pelmatstiff (long ipp, matrix &d, double e, double nu)
void princ_dam (long ipp, vector &peps, double aat, double aac, vector &pdamt, vector &pdamc)
void princ_dam (long ipp, vector &peps, double aat, double aac, vector &pdamt, vector &pdamc)
double qbezier_damage (long ipp, double y, double e, double f, double uf, double ul, double omegao, long pq)
double qbezier_damage (long ipp, double y, double e, double f, double uf, double ul, double omegao, long pq)
void read (XFILE *in)
void read (XFILE *in)
void updateval (long ipp, long im, long ido)
void updateval (long ipp, long im, long ido)
 ~ortodam (void)
 ~ortodam (void)

Public Attributes

double ac
 material parameter Ac for compression
double at
 material parameter At for tension
double bc
 material parameter Bc for compression
double betac
 coefficient of inelastic strains computed from damage parameter for compression
double betat
 coefficient of inelastic strains computed from damage parameter for tension
double bt
 material parameter Bt for tension
corr_disip_en cde
 correction of disipated energy switch
paramf_type dameqstr
 type of equivalent strain norm
dam_evolfunc damevf
 type of damage evolution function
fatigue_flag fat
 flag for counting with fatigue
double fc
 compressive strength
double ft
 tensile strength
double gfc
 fracture energy of damage for compression
double gft
 fracture energy of damage for tension
long pqc
 indicator for singularity in quadratic Bezier evolution function for compression (pure quadratic function will be used instead Bezier one)
long pqt
 indicator for singularity in quadratic Bezier evolution function for tension (pure quadratic function will be used instead Bezier one)
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 ulc
 limit crack opening u_lc or eps_lc - limit value for zero stresses in compression
double ult
 limit crack opening u_lt or eps_lt - limit value for zero stresses in tension
double y0c
 initial treshold for dimensionless damage driving force Y0 for compression
double y0t
 initial treshold for dimensionless 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 At 1 - actual value of param Ac 2..4 - reached values of principal damage parameters for tension 5..7 - reached values of principal damage parameters for compression 8..13 - damage tensor for tension 14..17 - cracks openings computed from tensile damage tensor

Definition at line 23 of file ortodam.h.


Constructor & Destructor Documentation

ortodam ( void   ) 

The constructor inializes attributes to zero values.

Created by Tomas Koudelka, 9.2006 Modified Tomas Koudelka, 10.2008

Definition at line 29 of file ortodam.cpp.

References ac, at, bc, betac, betat, bt, cde, corr_off, fat, fatigue_off, fc, ft, gfc, gft, pqc, pqt, ufc, uft, ulc, ult, y0c, and y0t.

~ortodam ( void   ) 

The destructor is only for the formal purposes.

Created by Tomas Koudelka, 9.2006

Definition at line 48 of file ortodam.cpp.

ortodam ( void   ) 
~ortodam ( void   ) 

Member Function Documentation

double brittle_damage ( long  ipp,
double  y,
double  e,
double  f,
double  uf,
double  omegao 
)
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=equivalent strain (generalized conjugated dimensionless 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,

Definition at line 371 of file ortodam.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 princ_dam().

double dam_eq_strain ( double  nu,
vector peps 
)
double dam_eq_strain ( double  nu,
long  i,
vector peps 
)

The function computes the equivalent strain norm of required type. Only strain or energy type of norm are accepted.

Parameters:
nu - Poissons ratio
i - principal direction id
peps - vector of principal strains
Returns:
The function returns calculated equivalent strain norm.

Created by Tomas Koudelka 07.2011

Definition at line 128 of file ortodam.cpp.

References dameqstr, norenergy, norrankine, norstrain, and print_err().

Referenced by loadfunc(), and princ_dam().

void elmatstiff ( matrix d,
long  ipp 
)
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 (output)
ipp - integration point number
Returns:
The function returns elastic stiffness matrix in the parameter d.

Created by Tomas Koudelka,

Definition at line 881 of file ortodam.cpp.

References cmulm(), mechmat::elmatstiff(), intpoints::gemid(), mechmat::give_actual_ym(), mechmat::givencompeqother(), mechmat::ip, and Mm.

Referenced by matstiff().

double give_actual_fc ( long  ipp  ) 
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 strength.

10.2008 Created by Tomas Koudelka,

Definition at line 813 of file ortodam.cpp.

References fc.

Referenced by mechmat::give_actual_fc().

double give_actual_ft ( long  ipp  ) 
double give_actual_ft ( long  ipp  ) 

The function returns the 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 strength.

10.2008 Created by Tomas Koudelka,

Definition at line 796 of file ortodam.cpp.

References ft.

Referenced by mechmat::give_actual_ft().

void give_actual_param_a ( long  ipp,
long  ido,
double &  aat,
double &  aac 
)
void give_actual_param_a ( long  ipp,
long  ido,
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
aat - actual value of parameter At
aac - actual value of parameter Ac
Returns:
The function returns actual values of material parameters A, A_t and A_c in the parameters aa, aat, aac.

Created by Tomas Koudelka, 9.2006

Definition at line 735 of file ortodam.cpp.

References ac, at, bc, bt, cde, corr_off, mechmat::elip, intpoints::eqother, 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(), y0c, and y0t.

Referenced by initvalues(), and nlstresses().

void initvalues ( long  ipp,
long  ido 
)
void initvalues ( long  ipp,
long  ido 
)

Function computes 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 831 of file ortodam.cpp.

References damevf, give_actual_param_a(), and quasi_brittle.

Referenced by mechmat::initvalues().

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

Function computes value of load function.

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 the parameters lft and lfc for each principal direction.

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

Definition at line 203 of file ortodam.cpp.

References bc, brittle, bt, dam_eq_strain(), damevf, fc, ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), mechmat::give_actual_nu(), mechmat::give_actual_ym(), h(), Mm, pqc, pqt, print_err(), quadbezier, quasi_brittle, sqr, ufc, uft, ult, y0c, and y0t.

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

The function computes 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 851 of file ortodam.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 
)
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:
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

Definition at line 949 of file ortodam.cpp.

References betac, betat, damevf, mechmat::elip, intpoints::eqother, fat, fatigue_on, fillm(), for(), mechmat::give_actual_nu(), give_actual_param_a(), mechmat::give_actual_ym(), mechtop::give_area(), mechtop::give_dimension(), mechtop::give_length(), mechtop::give_volume(), h(), intpoints::hmt, mechmat::ip, lgmatrixtransf(), limit, probdesc::matmodel, Mm, Mp, Mt, mxv(), intpoints::ncompstr, nijac, intpoints::nonloc, nonlocal, probdesc::nonlocphase, intpoints::other, pelmatstiff(), planestress, princ_dam(), princ_val(), print_err(), quasi_brittle, intpoints::ssst, strain, intpoints::strain, intpoints::stress, stress, subv(), tensor_vector(), vector_tensor(), and probdesc::zero.

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

void pelmatstiff ( long  ipp,
matrix d,
double  e,
double  nu 
)
void pelmatstiff ( long  ipp,
matrix d,
double  e,
double  nu 
)

The function computes material stiffnes matrix used in principal stress computations.

Parameters:
d - allocated matrix structure for material stiffness matrix (output)
e - actual value of Young modulus
nu - actual value of Poissons ratio
Returns:
The function returns elastic stiffness matrix for principal stress computation in the parameter d.

Created by Tomas Koudelka,

Definition at line 910 of file ortodam.cpp.

References cmulm(), mechmat::ip, Mm, planestrain, planestress, print_err(), spacestress, and intpoints::ssst.

Referenced by nlstresses().

void princ_dam ( long  ipp,
vector peps,
double  aat,
double  aac,
vector pdamt,
vector pdamc 
)
void princ_dam ( long  ipp,
vector peps,
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
peps - vector of principal strains
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 principal damage parameters in the parameters pdamt and pdamc.

Created by Tomas Koudelka, 9.2006

Definition at line 607 of file ortodam.cpp.

References bc, brittle, brittle_damage(), bt, dam_eq_strain(), damevf, fc, ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), mechmat::give_actual_nu(), mechmat::give_actual_ym(), Mm, pqc, pqt, print_err(), qbezier_damage(), quadbezier, quasi_brittle, ufc, uft, ulc, ult, y0c, and y0t.

Referenced by nlstresses().

double qbezier_damage ( long  ipp,
double  y,
double  e,
double  f,
double  uf,
double  ul,
double  omegao,
long  pq 
)
double qbezier_damage ( long  ipp,
double  y,
double  e,
double  f,
double  uf,
double  ul,
double  omegao,
long  pq 
)

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

Parameters:
ipp - integration point number
y - parameter of damage function=equivalent strain (generalized conjugated dimensionless thermodynamical force)
e - actual value of Young modulus
f - actual value of strength (tensile or compressive)
uf - actual value of initial crack opening
ul - actual value of limit crack opening
omegao - old value of damage
pq - indicator of singularity in quadratic Beziere function (pq=1), pure quadratic function have to be used instead of its.
Returns:
Function returns value of the damage parameter omega.

Created by Tomas Koudelka,

Definition at line 484 of file ortodam.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(), sqr, and sra.

Referenced by princ_dam().

void read ( XFILE in  ) 
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.2008

Definition at line 66 of file ortodam.cpp.

References ac, at, bc, betac, betat, brittle, bt, cde, corr_disip_en_kwdset(), corr_off, corr_on, dam_evolfunc_kwdset(), dameqstr, damevf, fat, fatigue_flag_kwdset(), fatigue_on, fc, ft, gfc, gft, paramf_type_kwdset(), pqc, pqt, print_err(), qlimit, quadbezier, quasi_brittle, strretalg::read(), sra, ufc, uft, ulc, ult, xfscanf(), y0c, and y0t.

Referenced by mechmat::readmattype().

void updateval ( long  ipp,
long  im,
long  ido 
)
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,

Definition at line 1136 of file ortodam.cpp.

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

Referenced by mechmat::updateipvalmat().


Member Data Documentation

double ac

material parameter Ac for compression

Definition at line 72 of file ortodam.h.

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

double at

material parameter At for tension

Definition at line 66 of file ortodam.h.

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

double bc

material parameter Bc for compression

Definition at line 74 of file ortodam.h.

Referenced by give_actual_param_a(), loadfunc(), ortodam(), princ_dam(), and read().

double betac

coefficient of inelastic strains computed from damage parameter for compression

Definition at line 90 of file ortodam.h.

Referenced by nlstresses(), ortodam(), and read().

double betat

coefficient of inelastic strains computed from damage parameter for tension

Definition at line 88 of file ortodam.h.

Referenced by nlstresses(), ortodam(), and read().

double bt

material parameter Bt for tension

Definition at line 68 of file ortodam.h.

Referenced by give_actual_param_a(), loadfunc(), ortodam(), princ_dam(), and read().

correction of disipated energy switch

Definition at line 64 of file ortodam.h.

Referenced by brittle_damage(), give_actual_param_a(), ortodam(), qbezier_damage(), and read().

type of equivalent strain norm

Definition at line 48 of file ortodam.h.

Referenced by dam_eq_strain(), and read().

type of damage evolution function

Definition at line 46 of file ortodam.h.

Referenced by initvalues(), loadfunc(), nlstresses(), princ_dam(), and read().

flag for counting with fatigue

Definition at line 86 of file ortodam.h.

Referenced by nlstresses(), ortodam(), and read().

double fc

compressive strength

Definition at line 56 of file ortodam.h.

Referenced by give_actual_fc(), loadfunc(), ortodam(), princ_dam(), and read().

double ft

tensile strength

Definition at line 50 of file ortodam.h.

Referenced by brittle_damage(), give_actual_ft(), loadfunc(), ortodam(), princ_dam(), qbezier_damage(), and read().

double gfc

fracture energy of damage for compression

Definition at line 80 of file ortodam.h.

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

double gft

fracture energy of damage for tension

Definition at line 78 of file ortodam.h.

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

long pqc

indicator for singularity in quadratic Bezier evolution function for compression (pure quadratic function will be used instead Bezier one)

Definition at line 84 of file ortodam.h.

Referenced by loadfunc(), ortodam(), princ_dam(), and read().

long pqt

indicator for singularity in quadratic Bezier evolution function for tension (pure quadratic function will be used instead Bezier one)

Definition at line 82 of file ortodam.h.

Referenced by loadfunc(), ortodam(), princ_dam(), and read().

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

Definition at line 62 of file ortodam.h.

Referenced by brittle_damage(), qbezier_damage(), and read().

double ufc

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

Definition at line 60 of file ortodam.h.

Referenced by loadfunc(), ortodam(), princ_dam(), and read().

double uft

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

Definition at line 52 of file ortodam.h.

Referenced by loadfunc(), ortodam(), princ_dam(), and read().

double ulc

limit crack opening u_lc or eps_lc - limit value for zero stresses in compression

Definition at line 58 of file ortodam.h.

Referenced by ortodam(), princ_dam(), and read().

double ult

limit crack opening u_lt or eps_lt - limit value for zero stresses in tension

Definition at line 54 of file ortodam.h.

Referenced by loadfunc(), ortodam(), princ_dam(), and read().

double y0c

initial treshold for dimensionless damage driving force Y0 for compression

Definition at line 76 of file ortodam.h.

Referenced by give_actual_param_a(), loadfunc(), ortodam(), princ_dam(), and read().

double y0t

initial treshold for dimensionless damage driving force Y0 for tension

Definition at line 70 of file ortodam.h.

Referenced by give_actual_param_a(), loadfunc(), ortodam(), princ_dam(), and read().


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

Generated by  doxygen 1.6.2