#include <ortodam.h>
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 |
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.
ortodam | ( | void | ) |
~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 | ) |
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.
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 |
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.
nu | - Poissons ratio | |
i | - principal direction id | |
peps | - vector of principal strains |
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.
d | - allocated matrix structure for material stiffness matrix (output) | |
ipp | - integration point number |
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
ipp | - integration point number in the mechmat ip array. | |
ido | - index of internal variables for given material in the ipp other array |
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
ipp | - integration point number in the mechmat ip array. | |
ido | - index of internal variables for given material in the ipp other array |
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.
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 |
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.
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 |
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.
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) |
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.
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 |
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.
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 |
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.
d | - allocated matrix structure for material stiffness matrix (output) | |
e | - actual value of Young modulus | |
nu | - actual value of Poissons ratio |
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().
Function computes values of principal damage parameters Dt and Dc. The damage parameters are derived from the damage function.
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) |
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.
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. |
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.
in | - pointer to the opened input text file |
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.
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 |
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().
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().