#include <shefplast.h>
Public Member Functions | |
void | compute_classvar (matrix &sig, vector &q) |
void | compute_khat (matrix &sig, vector &q) |
void | compute_r (matrix &sig) |
void | compute_rhoc (matrix &sig) |
void | compzeta () |
void | dderyieldfsigma (matrix &ddfds, strastrestate ssst) |
void | derkhatds (long ipp, matrix &sig, vector &q, matrix &dkhatds, long ido) |
void | derpotsigma (long ipp, matrix &sig, vector &q, matrix &dgds, long ido) |
void | derqdsigma (matrix &sig, matrix &drds) |
void | deryieldfq (matrix &sig, vector &q, vector &dq) |
void | deryieldfsigma (long ipp, matrix &sig, vector &q, matrix &dfds, long ido) |
double | give_consparam (long ipp, long ido) |
double | hardening (long ipp, matrix &sigtens, vector &q, long ido) |
void | matstiff (matrix &d, long ipp, long ido) |
double | maxim (double a, double b) |
void | nlstresses (long ipp, long ido) |
void | numdiff_dfdsdk (long ipp, matrix &sigtens, vector &q, vector &dfdsdk, long ido) |
void | numdiff_dfdsdkc (long ipp, matrix &sigtens, vector &q, vector &dfdsdk, long ido) |
void | numdiff_dfdsds (long ipp, matrix &sigtens, vector &q, matrix &dfdsds, long ido) |
void | numdiff_dfdsdsc (long ipp, matrix &sigtens, vector &q, matrix &dfdsds, long ido) |
void | numdiff_dhdk (long ipp, matrix &sigtens, vector &q, double &dhdk, long ido) |
void | numdiff_dhdkc (long ipp, matrix &sigtens, vector &q, double &dhdk, long ido) |
void | numdiff_dhds (long ipp, matrix &sigtens, vector &q, vector &dhds, long ido) |
void | numdiff_dhdsc (long ipp, matrix &sigtens, vector &q, vector &dhds, long ido) |
void | read (XFILE *in) |
shefplast (void) | |
void | stress_return (long ipp, double &lambda, vector &k, vector &eps, vector &epsp, long ido) |
void | tangentstiff (matrix &d, matrix &td, long ipp, long ido) |
void | updateq (long ipp, vector &eps, matrix &sig, vector &q, long ido) |
void | updateval (long ipp, long ido) |
double | yieldfunction (matrix &sig, vector &q) |
~shefplast (void) | |
Public Attributes | |
double | a |
double | ah |
double | alpha |
double | b0 |
double | b1 |
double | bh |
double | c0 |
double | c1 |
double | c2 |
double | c3 |
double | c4 |
double | c5 |
double | ch |
double | d0 |
double | d1 |
double | d2 |
matrix | dev |
stress deviator | |
double | ft |
double | gamma |
double | i1s |
the first invariant of the stress tensor | |
double | j2s |
the second invariant of the stress deviator | |
double | j3s |
the third invariant of the stress deviator | |
double | k0 |
double | kh0 |
initial value of hardening parameter | |
double | khat |
double | m |
double | p |
double | r |
double | rc |
double | rhoc |
double | rt |
strretalg | sra |
stress return algorithm | |
double | theta |
double | xi |
double | zeta |
This class defines Sheffield plastic material model
14.1.2004 Frederic Dufour, Tomas Koudelka
Definition at line 18 of file shefplast.h.
shefplast | ( | void | ) |
~shefplast | ( | void | ) |
This destructor is only for the formal purposes.
Definition at line 37 of file shefplast.cpp.
Definition at line 110 of file shefplast.cpp.
References compute_khat(), compute_r(), compute_rhoc(), dev, deviator(), first_invar(), i1s, j2s, j3s, rc, second_invar(), third_invar(), and xi.
Referenced by deryieldfsigma(), and yieldfunction().
Definition at line 59 of file shefplast.cpp.
References a, k0, khat, p, and xi.
Referenced by compute_classvar().
void compute_r | ( | matrix & | sig | ) |
void compute_rhoc | ( | matrix & | sig | ) |
Definition at line 67 of file shefplast.cpp.
References gamma, m, rhoc, and xi.
Referenced by compute_classvar().
void compzeta | ( | ) |
function computes zeta
14.1.2004
Definition at line 796 of file shefplast.cpp.
References ah, bh, ch, xi, and zeta.
Referenced by hardening().
void dderyieldfsigma | ( | matrix & | ddfds, | |
strastrestate | ssst | |||
) |
function computes the second derivatives of yield function with respect of vector sigma
sig | - stress components | |
ssst | - assumed stress/strain state at the given ip |
19.12.2002
Definition at line 338 of file shefplast.cpp.
This function computes derivatives of khat parameter with respect of tensor sigma.
sig | - stress tensor | |
q | - vector of the hardening parameter | |
dkhatds | - matrix where the resulting derivatives are stored | |
ido | - index of internal variables for given material in the ipp other array |
4.1.2002
Definition at line 264 of file shefplast.cpp.
References a, cmulm(), k0, p, r, rc, rhoc, and xi.
Referenced by deryieldfsigma().
This function computes derivatives of plastic potential function with respect of vector sigma.
sig | - stress tensor | |
q | - vector of the hardening parameter | |
dgds | - matrix where the resulting derivatives are stored | |
ido | - index of internal variables for given material in the ipp other array |
Definition at line 351 of file shefplast.cpp.
References deryieldfsigma().
This function computes derivatives of r parameter q = 1/r i.e. q in this case does not mean hardening parameters vector. with respect of tensor sigma.
sig | - stress tensor | |
drds | - matrix where the resulting derivatives are stored |
14.1.2004
Definition at line 154 of file shefplast.cpp.
References alpha, b0, b1, c0, c1, c2, c3, c4, c5, cmulm(), d0, d1, d2, dev, gamma, j2s, j3s, khat, m, r, rc, rhoc, theta, and xi.
Referenced by deryieldfsigma().
This function computes derivatives of as-th yield function with respect of vector of hradening parameters.
sig | - stress tensor | |
dfds | - matrix where the resulting derivatives are stored |
4.1.2002
Definition at line 367 of file shefplast.cpp.
References a, k0, p, r, rhoc, and xi.
Referenced by stress_return(), and tangentstiff().
This function computes derivatives of as-th yield function with respect of vector sigma.
sig | - stress tensor | |
q | - vector of the hardening parameter | |
dfds | - matrix where the resulting derivatives are stored | |
ido | - index of internal variables for given material in the ipp other array |
4.1.2002
Definition at line 295 of file shefplast.cpp.
References addm(), cmulm(), compute_classvar(), derkhatds(), derqdsigma(), dev, gamma, khat, m, r, rc, rhoc, subm(), and xi.
Referenced by derpotsigma(), hardening(), numdiff_dfdsdkc(), numdiff_dfdsdsc(), stress_return(), and tangentstiff().
double give_consparam | ( | long | ipp, | |
long | ido | |||
) |
Definition at line 805 of file shefplast.cpp.
References allocm(), compzeta(), deryieldfsigma(), destrm(), h(), tensornorm(), and zeta.
Referenced by numdiff_dhdkc(), numdiff_dhdsc(), stress_return(), and tangentstiff().
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 |
Definition at line 389 of file shefplast.cpp.
References mechmat::elmatstiff(), initial_stiff, matrix::m, Mm, Mp, matrix::n, probdesc::nlman, nonlinman::stmat, tangent_stiff, and tangentstiff().
Referenced by mechmat::matstiff().
double maxim | ( | double | a, | |
double | b | |||
) | [inline] |
Definition at line 981 of file shefplast.cpp.
Referenced by stress_return().
void nlstresses | ( | long | ipp, | |
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. | |
ido | - index of internal variables for given material in the ipp other array |
Definition at line 524 of file shefplast.cpp.
References intpoints::eqother, gamma, mechmat::ip, kh0, Mm, vector::n, intpoints::ncompstr, intpoints::other, intpoints::strain, and stress_return().
Referenced by mechmat::computenlstresses().
function computes numerically the second derivatives of yield function with respect to stress tensor and hardening parameters the first derivatives are expressed explicitly, the second derivatives are computed numerically
14.1.2004
Definition at line 878 of file shefplast.cpp.
References allocm(), allocv(), cmulm(), deryieldfsigma(), destrm(), destrv(), mechmat::ip, Mm, normv(), intpoints::ssst, stress, subm(), and tensor_vector().
Referenced by stress_return(), and tangentstiff().
function computes numerically the second derivatives of yield function with respect to stress tensor the first derivatives are expressed explicitly, the second derivatives are computed numerically using a centred integration scheme
14.1.2004
Definition at line 834 of file shefplast.cpp.
References cmulm(), copyv(), deryieldfsigma(), mechmat::ip, Mm, intpoints::ncompstr, normv(), intpoints::ssst, stress, subm(), tensor_vector(), and vector_tensor().
Referenced by stress_return(), and tangentstiff().
function computes numerically derivatives of hardening function with respect to hardening parameters
14.1.2004
Definition at line 957 of file shefplast.cpp.
References allocv(), destrv(), h(), hardening(), and normv().
Referenced by stress_return(), and tangentstiff().
function computes numerically derivatives of hardening function with respect to stress tensor
14.1.2004
Definition at line 914 of file shefplast.cpp.
References allocm(), allocv(), copyv(), destrm(), destrv(), h(), hardening(), mechmat::ip, Mm, intpoints::ncompstr, normv(), intpoints::ssst, stress, tensor_vector(), and vector_tensor().
Referenced by stress_return(), and tangentstiff().
void read | ( | XFILE * | in | ) |
This function reads material parameters from the opened text file given by the parameter in.
in | - pointer to the opned text file |
Definition at line 49 of file shefplast.cpp.
References ah, bh, ch, ft, gamma, m, p, rc, strretalg::read(), rt, sra, and xfscanf().
Referenced by mechmat::readmattype().
Definition at line 573 of file shefplast.cpp.
References a, addm(), addv(), allocm(), allocv(), cmulm(), cmulv(), copyv(), deryieldfq(), deryieldfsigma(), destrm(), destrv(), mechmat::elmatstiff(), f, strretalg::give_err(), strretalg::give_ni(), hardening(), invm(), mechmat::ip, maxim(), Mm, Mp, mxv(), numdiff_dfdsdkc(), numdiff_dfdsdsc(), numdiff_dhdkc(), numdiff_dhdsc(), scprd(), sra, intpoints::ssst, mechmat::storestress(), stress, subv(), tensor_vector(), vector_tensor(), vxm(), yieldfunction(), and probdesc::zero.
Referenced by nlstresses().
This function returns the tangent stiffness matrix.
d | - allocated matrix structure for material stiffness matrix |
Definition at line 410 of file shefplast.cpp.
References a, addm(), allocm(), allocv(), cmulm(), cmulv(), copym(), deryieldfq(), deryieldfsigma(), destrm(), destrv(), intpoints::eqother, gamma, mechmat::givestress(), hardening(), invm(), mechmat::ip, matrix::m, Mm, Mp, mxm(), matrix::n, intpoints::ncompstr, numdiff_dfdsdkc(), numdiff_dfdsdsc(), numdiff_dhdkc(), numdiff_dhdsc(), scprd(), intpoints::ssst, stress, subm(), tensor_vector(), vector_tensor(), vxm(), vxv(), and probdesc::zero.
Referenced by matstiff().
void updateval | ( | long | ipp, | |
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. | |
ido | - index of internal variables for given material in the ipp other array |
Definition at line 561 of file shefplast.cpp.
References intpoints::eqother, mechmat::ip, Mm, vector::n, intpoints::ncompstr, and intpoints::other.
Referenced by mechmat::updateipvalmat().
This function computes the value of yield functions.
sig | - stress tensor | |
q | - vector of hardening parameter |
The | function returns value of yield function for the given stress tensor |
14.1.2004
Definition at line 132 of file shefplast.cpp.
References compute_classvar(), f, j2s, khat, r, rc, and rhoc.
Referenced by stress_return().
double a |
Definition at line 69 of file shefplast.h.
Referenced by compute_khat(), derkhatds(), deryieldfq(), shefplast(), stress_return(), and tangentstiff().
double ah |
Definition at line 75 of file shefplast.h.
Referenced by compzeta(), read(), and shefplast().
double alpha |
Definition at line 73 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double b0 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double b1 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double bh |
Definition at line 75 of file shefplast.h.
Referenced by compzeta(), read(), and shefplast().
double c0 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double c1 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double c2 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double c3 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double c4 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double c5 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double ch |
Definition at line 75 of file shefplast.h.
Referenced by compzeta(), read(), and shefplast().
double d0 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double d1 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double d2 |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
stress deviator
Definition at line 82 of file shefplast.h.
Referenced by compute_classvar(), derqdsigma(), deryieldfsigma(), and shefplast().
double ft |
Definition at line 89 of file shefplast.h.
Referenced by read(), and shefplast().
double gamma |
Definition at line 65 of file shefplast.h.
Referenced by compute_r(), compute_rhoc(), derqdsigma(), deryieldfsigma(), nlstresses(), read(), shefplast(), and tangentstiff().
double i1s |
the first invariant of the stress tensor
Definition at line 84 of file shefplast.h.
Referenced by compute_classvar().
double j2s |
the second invariant of the stress deviator
Definition at line 86 of file shefplast.h.
Referenced by compute_classvar(), compute_r(), derqdsigma(), and yieldfunction().
double j3s |
the third invariant of the stress deviator
Definition at line 88 of file shefplast.h.
Referenced by compute_classvar(), compute_r(), and derqdsigma().
double k0 |
Definition at line 71 of file shefplast.h.
Referenced by compute_khat(), derkhatds(), deryieldfq(), and shefplast().
double kh0 |
initial value of hardening parameter
Definition at line 77 of file shefplast.h.
Referenced by nlstresses(), and shefplast().
double khat |
Definition at line 89 of file shefplast.h.
Referenced by compute_khat(), derqdsigma(), deryieldfsigma(), shefplast(), and yieldfunction().
double m |
Definition at line 89 of file shefplast.h.
Referenced by compute_r(), compute_rhoc(), derqdsigma(), deryieldfsigma(), read(), and shefplast().
double p |
Definition at line 67 of file shefplast.h.
Referenced by compute_khat(), derkhatds(), deryieldfq(), read(), and shefplast().
double r |
Definition at line 89 of file shefplast.h.
Referenced by compute_r(), derkhatds(), derqdsigma(), deryieldfq(), deryieldfsigma(), shefplast(), and yieldfunction().
double rc |
Definition at line 61 of file shefplast.h.
Referenced by compute_classvar(), derkhatds(), derqdsigma(), deryieldfsigma(), read(), shefplast(), and yieldfunction().
double rhoc |
Definition at line 89 of file shefplast.h.
Referenced by compute_r(), compute_rhoc(), derkhatds(), derqdsigma(), deryieldfq(), deryieldfsigma(), shefplast(), and yieldfunction().
double rt |
Definition at line 63 of file shefplast.h.
Referenced by read(), and shefplast().
stress return algorithm
Definition at line 96 of file shefplast.h.
Referenced by read(), and stress_return().
double theta |
Definition at line 90 of file shefplast.h.
Referenced by compute_r(), derqdsigma(), and shefplast().
double xi |
Definition at line 89 of file shefplast.h.
Referenced by compute_classvar(), compute_khat(), compute_r(), compute_rhoc(), compzeta(), derkhatds(), derqdsigma(), deryieldfq(), deryieldfsigma(), and shefplast().
double zeta |
Definition at line 93 of file shefplast.h.
Referenced by compzeta(), and hardening().