#include <drprag.h>
Public Member Functions | |
void | changeparam (atsel &atm, vector &val) |
double | cohesion (vector &qtr) |
void | der_q_gamma (vector &dqdg) |
void | derpotsigma (matrix &sig, matrix &dgds, vector &q) |
void | deryieldfq (vector &qtr, vector &dfq) |
void | deryieldfsigma (matrix &sig, matrix &dfds, vector &q) |
drprag (void) | |
double | give_consparam (long ipp, long ido) |
void | giveirrstrains (long ipp, long ido, vector &epsp) |
void | matstiff (matrix &d, long ipp, long ido) |
void | nlstresses (long ipp, long im, long ido) |
void | nonloc_nlstresses (long ipp, long im, long ido) |
double | plasmodscalar (vector &qtr) |
void | read (XFILE *in) |
void | tangentstiff (matrix &d, matrix &td, long ipp, long ido) |
void | updateq (long ipp, vector &epsp, vector &q) |
void | updateval (long ipp, long im, long ido) |
double | yieldfunction (matrix &sig, vector &q) |
~drprag (void) | |
Public Attributes | |
double | alpha |
material constant alpha | |
double | alpha1 |
material constant alpha1 | |
double | beta |
material constant beta | |
double | c |
cohesion | |
double | clim |
limit cohesion | |
double | phi |
friction angle | |
double | psi |
dilatation | |
strretalg | sra |
stress return algorithm | |
double | theta |
angle of linear hardening/softening |
This class defines Drucker-Prager plasticity model
structure of stored data plastic strains, consistency parameter, hardening parametr
28.3.2002
Definition at line 20 of file drprag.h.
drprag | ( | void | ) |
~drprag | ( | void | ) |
This destructor is only for the formal purposes.
Definition at line 34 of file drprag.cpp.
This function changes required material parameters and updates material constants alpha, alpha1 and beta. It is used for stochastic caluclations.
atm | - structure with description of selected parameters | |
val | - vector of new values for the required material parameters. |
The | function returns value of consistency parameter. |
4.4.2002 by Tomas Koudelka
Definition at line 613 of file drprag.cpp.
References alpha, alpha1, atsel::atrib, beta, c, clim, atsel::num, phi, psi, and theta.
double cohesion | ( | vector & | qtr | ) |
This function computes value of cohesion which depends on the hardening parameter.
qtr | - vector of hardening parameters |
4.4.2002 by Tomas Koudelka
Definition at line 209 of file drprag.cpp.
References c, clim, and theta.
Referenced by deryieldfsigma(), and yieldfunction().
void der_q_gamma | ( | vector & | dqdg | ) |
This function computes derivatives of hardening paramters with respect of consistency parameter gamma.
dqdg | - matrix where the resulting derivatives are stored |
4.4.2002 by Tomas Koudelka
Definition at line 258 of file drprag.cpp.
References alpha1.
Referenced by plasmodscalar().
This function computes derivatives of plastic potential function with respect of vector sigma.
sig | - stress tensor | |
dgds | - matrix where the resulting derivatives are stored | |
q | - vector of hardening parameters |
4.4.2002 by Tomas Koudelka
Definition at line 164 of file drprag.cpp.
References alpha1, c, cmulm(), deviator(), fillm(), first_invar(), h(), psi, and tensornorm().
This function computes derivatives of as-th yield function with respect of vector of hradening parameters.
qtr | - vector of the hardening parameters | |
dfds | - matrix where the resulting derivatives are stored |
4.4.2002 by Tomas Koudelka
Definition at line 233 of file drprag.cpp.
References beta, c, clim, and theta.
Referenced by plasmodscalar().
This function computes derivatives of as-th yield function with respect of vector sigma.
sig | - stress tensor | |
dfds | - matrix where the resulting derivatives are stored | |
q | - vector of hardening parameters |
4.4.2002 by Tomas Koudelka
Definition at line 118 of file drprag.cpp.
References alpha, cmulm(), cohesion(), deviator(), fillm(), first_invar(), h(), phi, and tensornorm().
Referenced by mechmat::dfdsigma(), mechmat::dgdsigma(), and tangentstiff().
double give_consparam | ( | long | ipp, | |
long | ido | |||
) |
This function extracts consistency parametr gamma for the attained equilibrium state from the integration point eqother array.
ipp | - integration point number in the mechmat ip array. | |
ido | - index of internal variables for given material in the ipp other array |
The | function returns value of consistency parameter. |
4.4.2002 by Tomas Koudelka
Definition at line 588 of file drprag.cpp.
References intpoints::eqother, mechmat::ip, Mm, and intpoints::ncompstr.
Referenced by mechmat::give_consparam().
void giveirrstrains | ( | long | ipp, | |
long | ido, | |||
vector & | epsp | |||
) |
Function returns irreversible plastic strains.
ipp | - integration point number in the mechmat ip array. | |
ido | - index of the first internal variable for given material in the ipp other array | |
epsp | - vector of irreversible strains |
4.4.2002 by Tomas Koudelka
Definition at line 568 of file drprag.cpp.
References intpoints::eqother, mechmat::ip, Mm, and vector::n.
Referenced by mechmat::giveirrstrains().
void matstiff | ( | matrix & | d, | |
long | ipp, | |||
long | ido | |||
) |
This function computes material stiffnes matrix.
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 |
4.4.2002 by Tomas Koudelka
Definition at line 324 of file drprag.cpp.
References mechmat::elmatstiff(), initial_stiff, matrix::m, Mm, Mp, matrix::n, probdesc::nlman, nonlinman::stmat, tangent_stiff, and tangentstiff().
Referenced by mechmat::matstiff().
void nlstresses | ( | long | ipp, | |
long | im, | |||
long | ido | |||
) |
This function computes stresses at given integration point ipp, depending on the reached strains. The cutting plane algorithm is used. The stress and the other attribute of given integration point is actualized.
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 |
4.4.2002 by Tomas Koudelka
Definition at line 421 of file drprag.cpp.
References cp, mechmat::cutting_plane(), deviator(), intpoints::eqother, first_invar(), strretalg::give_err(), strretalg::give_ni(), strretalg::give_tsra(), mechmat::ip, Mm, intpoints::ncompstr, intpoints::other, print_err(), second_invar(), sra, intpoints::ssst, intpoints::strain, stress, intpoints::stress, and vector_tensor().
Referenced by mechmat::compnonloc_nlstresses(), and mechmat::computenlstresses().
void nonloc_nlstresses | ( | long | ipp, | |
long | im, | |||
long | ido | |||
) |
This function computes stresses at given integration point ipp, depending on the reached averaged nonlocal strains. The cutting plane algorithm is used. The stress and the other attribute of given integration point are actualized.
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 |
4.4.2002 by Tomas Koudelka
Definition at line 485 of file drprag.cpp.
References cp, mechmat::cutting_plane(), deviator(), intpoints::eqother, first_invar(), strretalg::give_err(), strretalg::give_ni(), strretalg::give_tsra(), mechmat::ip, Mm, intpoints::ncompstr, intpoints::nonloc, intpoints::other, print_err(), second_invar(), sra, intpoints::ssst, intpoints::strain, stress, intpoints::stress, and vector_tensor().
Referenced by mechmat::compnonloc_nlstresses().
double plasmodscalar | ( | vector & | qtr | ) |
This function computes plastic modulus.
qtr | -vector of hardening parameters |
4.4.2002 by Tomas Koudelka
Definition at line 274 of file drprag.cpp.
References der_q_gamma(), deryieldfq(), vector::n, and scprd().
Referenced by mechmat::plasmodscalar(), and tangentstiff().
void read | ( | XFILE * | in | ) |
This function reads material parameters from the opened text file given by the parameter in. Then it computes material constants alpha, alpha1 and beta
in | - pointer to the opned text file |
25.3.2002 by Tomas Koudelka
Definition at line 50 of file drprag.cpp.
References alpha, alpha1, beta, c, clim, phi, psi, strretalg::read(), sra, theta, and xfscanf().
Referenced by mechmat::readmattype().
This function computes elastic-plastic material stiffnes matrix.
d | - elastic stiffness matrix | |
td | - allocated matrix structure for material tangent stiffness matrix | |
ipp | - integration point number | |
ido | - index of internal variables for given material in the ipp other array |
4.4.2002 by Tomas Koudelka
Definition at line 354 of file drprag.cpp.
References allocv(), cmulm(), copym(), deryieldfsigma(), destrv(), intpoints::eqother, mechmat::givestress(), mechmat::ip, matrix::m, Mm, mxm(), mxv(), matrix::n, intpoints::ncompstr, planestrain, planestress, plasmodscalar(), scprd(), intpoints::ssst, stress, subm(), tensor_vector(), vector_tensor(), and vxv().
Referenced by matstiff().
This function computes new value of teh hardening parameter q.
ipp | - integration point pointer | |
epsp | - vector of the reached plastic strains | |
q | - vector of the hardening parameters |
4.4.2002 by Tomas Koudelka
Definition at line 302 of file drprag.cpp.
References cumulstrain(), mechmat::ip, Mm, intpoints::ssst, strain, and vector_tensor().
Referenced by mechmat::updateq().
void updateval | ( | long | ipp, | |
long | im, | |||
long | ido | |||
) |
This 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 |
4.4.2002 by Tomas Koudelka
Definition at line 546 of file drprag.cpp.
References intpoints::eqother, mechmat::givencompeqother(), mechmat::ip, Mm, and intpoints::other.
Referenced by mechmat::updateipvalmat().
function computes the value of yield functions
sig | - stress components | |
q | - vector of hardening parameters |
25.3.2002 by Tomas Koudelka
Definition at line 73 of file drprag.cpp.
References alpha, beta, cohesion(), deviator(), f, first_invar(), h(), phi, second_invar(), and tensornorm().
Referenced by mechmat::yieldfunction().
double alpha |
material constant alpha
Definition at line 56 of file drprag.h.
Referenced by changeparam(), deryieldfsigma(), read(), and yieldfunction().
double alpha1 |
material constant alpha1
Definition at line 57 of file drprag.h.
Referenced by changeparam(), der_q_gamma(), derpotsigma(), and read().
double beta |
material constant beta
Definition at line 58 of file drprag.h.
Referenced by changeparam(), deryieldfq(), read(), and yieldfunction().
double c |
cohesion
Definition at line 47 of file drprag.h.
Referenced by changeparam(), cohesion(), derpotsigma(), deryieldfq(), drprag(), and read().
double clim |
limit cohesion
Definition at line 53 of file drprag.h.
Referenced by changeparam(), cohesion(), deryieldfq(), drprag(), and read().
double phi |
friction angle
Definition at line 45 of file drprag.h.
Referenced by changeparam(), deryieldfsigma(), drprag(), read(), and yieldfunction().
double psi |
dilatation
Definition at line 49 of file drprag.h.
Referenced by changeparam(), derpotsigma(), drprag(), and read().
stress return algorithm
Definition at line 61 of file drprag.h.
Referenced by nlstresses(), nonloc_nlstresses(), and read().
double theta |
angle of linear hardening/softening
Definition at line 51 of file drprag.h.
Referenced by changeparam(), cohesion(), deryieldfq(), drprag(), and read().