ortodamrot Class Reference

#include <ortodamrot.h>

List of all members.

Public Member Functions

double brittle_damage (long ipp, double y, double e, double f, double uf, double omegao)
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 &aat, double &aac)
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 matstiff (matrix &d, long ipp, long ido)
void nlstresses (long ipp, long im, long ido)
 ortodamrot (void)
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)
double qbezier_damage (long ipp, double y, double e, double f, double uf, double ul, double omegao, long pq)
void read (XFILE *in)
void updateval (long ipp, long im, long ido)
 ~ortodamrot (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
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 ortoropic damage material model with crack rotation. 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 (actualized for the quasibrittle evolution law only) 1 - actual value of param Ac (actualized for the quasibrittle evolution law only) 2 .. 7 - attained values of damage tensor for tension (order of values corresponds to stress vector) 8 .. 13 - attained values of damage tensor for compression (order of values corresponds to stress vector) 14 .. 19 - attained values of inelastic strain tensor caused by damage (actualized for fatigue only) 20 .. 22 - crack widths in the principal directions

Definition at line 23 of file ortodamrot.h.


Constructor & Destructor Documentation

ortodamrot ( void   ) 

The constructor inializes attributes to zero values.

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

Definition at line 29 of file ortodamrot.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.

~ortodamrot ( void   ) 

The destructor is defined only for the formal purposes.

Created by Tomas Koudelka, 9.2006

Definition at line 48 of file ortodamrot.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=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 297 of file ortodamrot.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().

void damdrvforce_dev ( double  nu,
vector peps,
vector pyt,
vector pyc 
)
double damdrvforce_vol ( double  nu,
vector peps 
)
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 803 of file ortodamrot.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  ) 

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.

Created by Tomas Koudelka, 10.2008

Definition at line 736 of file ortodamrot.cpp.

References fc.

Referenced by mechmat::give_actual_fc().

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.

Created by Tomas Koudelka, 10.2008

Definition at line 719 of file ortodamrot.cpp.

References ft.

Referenced by mechmat::give_actual_ft().

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 654 of file ortodamrot.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 
)

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 754 of file ortodamrot.cpp.

References give_actual_param_a().

Referenced by mechmat::initvalues().

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

Definition at line 134 of file ortodamrot.cpp.

References bc, brittle, bt, damevf, fc, ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), 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 
)

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 773 of file ortodamrot.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:
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 871 of file ortodamrot.cpp.

References addv(), betac, betat, copyv(), mechmat::elip, mechmat::elmatstiff(), intpoints::eqother, fat, fatigue_on, fillm(), mechmat::give_actual_nu(), give_actual_param_a(), mechmat::give_actual_ym(), mechtop::give_area(), mechtop::give_dimension(), mechtop::give_length(), mechtop::give_volume(), glmatrixtransf(), h(), intpoints::hmt, if(), mechmat::ip, lgmatrixtransf(), limit, probdesc::matmodel, Mm, Mp, Mt, mxm(), mxv(), intpoints::ncompstr, nijac, intpoints::nonloc, nonlocal, probdesc::nonlocphase, intpoints::other, planestress, princ_dam(), princ_val(), print_err(), 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 
)

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 832 of file ortodamrot.cpp.

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

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 532 of file ortodamrot.cpp.

References bc, brittle, brittle_damage(), bt, damevf, fc, ft, mechmat::give_actual_fc(), mechmat::give_actual_ft(), 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 
)

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 410 of file ortodamrot.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  ) 

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 ortodamrot.cpp.

References ac, at, bc, betac, betat, brittle, bt, cde, corr_disip_en_kwdset(), corr_off, corr_on, dam_evolfunc_kwdset(), damevf, fat, fatigue_flag_kwdset(), fatigue_on, fc, ft, gfc, gft, 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 
)

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 1188 of file ortodamrot.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 ortodamrot.h.

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

double at

material parameter At for tension

Definition at line 66 of file ortodamrot.h.

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

double bc

material parameter Bc for compression

Definition at line 74 of file ortodamrot.h.

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

double betac

coefficient of inelastic strains computed from damage parameter for compression

Definition at line 90 of file ortodamrot.h.

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

double betat

coefficient of inelastic strains computed from damage parameter for tension

Definition at line 88 of file ortodamrot.h.

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

double bt

material parameter Bt for tension

Definition at line 68 of file ortodamrot.h.

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

correction of disipated energy switch

Definition at line 64 of file ortodamrot.h.

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

type of damage evolution function

Definition at line 48 of file ortodamrot.h.

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

flag for counting with fatigue

Definition at line 86 of file ortodamrot.h.

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

double fc

compressive strength

Definition at line 56 of file ortodamrot.h.

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

double ft

tensile strength

Definition at line 50 of file ortodamrot.h.

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

double gfc

fracture energy of damage for compression

Definition at line 80 of file ortodamrot.h.

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

double gft

fracture energy of damage for tension

Definition at line 78 of file ortodamrot.h.

Referenced by give_actual_param_a(), ortodamrot(), 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 ortodamrot.h.

Referenced by loadfunc(), ortodamrot(), 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 ortodamrot.h.

Referenced by loadfunc(), ortodamrot(), 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 ortodamrot.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 ortodamrot.h.

Referenced by loadfunc(), ortodamrot(), 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 ortodamrot.h.

Referenced by loadfunc(), ortodamrot(), 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 ortodamrot.h.

Referenced by ortodamrot(), 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 ortodamrot.h.

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

double y0c

initial treshold for dimensionless damage driving force Y0 for compression

Definition at line 76 of file ortodamrot.h.

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

double y0t

initial treshold for dimensionless damage driving force Y0 for tension

Definition at line 70 of file ortodamrot.h.

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


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

Generated by  doxygen 1.6.2