#include "vector.h"
#include "matrix.h"
Go to the source code of this file.
Functions | |
void | cumulstrain (matrix &eps, double &cs) |
void | deviator (matrix &tens, matrix &dev) |
long | dpdir_da (matrix &t, vector &pa, long alpha, long i, matrix &dpd_da) |
void | f_tensor (matrix &a, double(*f)(double), matrix &t, matrix &af) |
void | f_tensor (matrix &a, double(*f)(double), long nijac, double error, double zero, matrix &af) |
double | first_invar (matrix &tens) |
void | glob_loc_tens_trans (vector &tens, matrix &tmat) |
void | loc_glob_tens_trans (vector &tens, matrix &tmat) |
void | normedtensor (matrix &tens, matrix &ntens) |
double | second_invar (matrix &tens) |
double | tensor2_inner_prod (matrix &a, matrix &b) |
double | tensornorm (matrix &tens) |
double | third_invar (matrix &tens) |
void cumulstrain | ( | matrix & | eps, | |
double & | cs | |||
) |
function computes cumulative strain
eps | - vector containing strain increments | |
cs | - cumulative strain 29.10.2001 |
Definition at line 88 of file tensor.cpp.
References tensornorm().
Referenced by drprag2::getValueOfHardening(), mechmat::stiff_deps_vispl(), and drprag::updateq().
function computes deviatoric part of the tensor
plane stress cases vector tens contains 3 components tens[0]=t_11, tens[1]=t_22, tens[2]=t_12,
3D cases vector tens contains 6 components tens[0]=t_11, tens[1]=t_22, tens[2]=t_33, tens[3]=t_23, tens[4]=t_31, tens[5]=t_12,
28.10.2001
Definition at line 19 of file tensor.cpp.
References matrix::a, copym(), and first_invar().
Referenced by shefplast::compute_classvar(), scaldamcc::damfuncpar(), scaldam::damfuncpar(), glasgowdam::damfuncpar(), glasgmech::damfuncpar(), glasgmech::depseqdepsel(), mohrcoulombpar::derplaspotsigma(), drprag::derpotsigma(), boermat::derpotsigma(), chen::deryieldfdq(), chen::deryieldfdqdq(), chen::deryieldfdsigma(), chen::deryieldfdsigma_old(), chen::deryieldfdsigma_old_old(), chen::deryieldfdsigmadq(), chen::deryieldfdsigmadsigma(), mohrcoulombpar::deryieldfsigma(), j2flow::deryieldfsigma(), drprag::deryieldfsigma(), camclaycoup::deryieldfsigma(), camclay::deryieldfsigma(), boermat::deryieldfsigma(), doubdp::deryieldfsigma(), hissplas::nlstresses(), drprag::nlstresses(), camclaycoup::nlstresses(), camclay::nlstresses(), drprag::nonloc_nlstresses(), chen::plasmod(), mohrcoulombpar::yieldfunction(), j2flow2::yieldfunction(), j2flow::yieldfunction(), hissplas::yieldfunction(), drprag::yieldfunction(), chen::yieldfunction(), camclaycoup::yieldfunction(), camclay::yieldfunction(), boermat::yieldfunction(), and doubdp::yieldfunction().
Function computes derivatives of i-th component of alpha-th principal direction vector n of tensor A with respect to components of tensor A ie. d(n_{i,alpha})/d(A_{kl}) = (dpd_da)_{kl} Aij is second order tensor. The principal directions are known
t | - matrix containing principal direction vectors stored in columns ie. x_g = T x_l | |
pa | - vector of principal values of A | |
alpha | - index of principal direction (index of column in t) | |
i | - index of vector component | |
dpd_da | - matrix containing resulting second order tensor |
Definition at line 444 of file tensor.cpp.
References fillm().
Referenced by anisodam::tmatstiff().
Function computes f(Aij), where f(x) is function of real and Aij is second order tensor. The principal directions are known
a | - matrix containing second order tensor | |
f | - pointer to function with one double argument and returning double | |
t | - transformation matrix to the principal directions | |
af | - matrix containing resulting second order tensor |
Definition at line 420 of file tensor.cpp.
References copym(), f, fillm(), glmatrixtransf(), and lgmatrixtransf().
void f_tensor | ( | matrix & | a, | |
double(*)(double) | f, | |||
long | nijac, | |||
double | error, | |||
double | zero, | |||
matrix & | af | |||
) |
Function computes f(Aij), where f(x) is function of real and Aij is second order tensor.
a | - matrix containing second order tensor | |
f | - pointer to function with one double argument and returning double | |
nijac | - number of iterations in Jacobi method | |
error | - required error of principal values | |
zero | - computer zero | |
af | - matrix containing resulting second order tensor |
Definition at line 397 of file tensor.cpp.
References f, fillm(), lgmatrixtransf(), and princ_val().
Referenced by anisodam::tmatstiff().
double first_invar | ( | matrix & | tens | ) |
function computes first invariant 4.1.2002
Definition at line 97 of file tensor.cpp.
Referenced by shefplast::compute_classvar(), glasgmech::compute_lits(), scaldamcc::damfuncpar(), scaldam::damfuncpar(), glasgowdam::damfuncpar(), glasgmech::damfuncpar(), glasgmech::depseqdepsel(), camclaycoup::der_q_gamma(), camclay::der_q_gamma(), mohrcoulombpar::derplaspotsigma(), drprag::derpotsigma(), chen::deryieldfdq(), chen::deryieldfdqdq(), chen::deryieldfdsigma(), chen::deryieldfdsigma_old(), chen::deryieldfdsigma_old_old(), chen::deryieldfdsigmadq(), chen::deryieldfdsigmadsigma(), camclaycoup::deryieldfq(), camclay::deryieldfq(), mohrcoulombpar::deryieldfsigma(), drprag::deryieldfsigma(), camclaycoup::deryieldfsigma(), camclay::deryieldfsigma(), doubdp::deryieldfsigma(), deviator(), hissplas::dfdepsvp(), hissplas::dg1depsvp(), hardsoft::dhdqpar(), hardsoft::dhdsigma(), camclay::dqdsigma(), femplast_epressure(), camclay::give_actual_ym(), mechmat::givemechq(), hardsoft::hvalues(), camclaycoup::initval(), camclay::initval(), hissplas::nlstresses(), geoelastmat::nlstresses(), drprag::nlstresses(), camclaycoup::nlstresses(), camclay::nlstresses(), drprag::nonloc_nlstresses(), chen::plasmod(), doubdp::plasmodscalar(), camclaycoup::updateq(), camclay::updateq(), mohrcoulombpar::yieldfunction(), hissplas::yieldfunction(), drprag::yieldfunction(), chen::yieldfunction(), camclaycoup::yieldfunction(), camclay::yieldfunction(), boermat::yieldfunction(), and doubdp::yieldfunction().
Definition at line 271 of file tensor.cpp.
References matrix::m, mxm(), mxmt(), matrix::n, and vector::n.
Referenced by shelltr::nod_strains_ip().
function computes normed deviatoric part of the tensor function overwrites tens by its normed deviatoric part
plane stress cases vector tens contains 3 components tens[0]=t_11, tens[1]=t_22, tens[2]=t_12,
3D cases vector tens contains 6 components tens[0]=t_11, tens[1]=t_22, tens[2]=t_33, tens[3]=t_23, tens[4]=t_31, tens[5]=t_12,
28.10.2001
Definition at line 49 of file tensor.cpp.
References cmulm(), copym(), and tensornorm().
Referenced by boermat::derpotsigma(), chen::deryieldfdsigma_old_old(), and j2flow::deryieldfsigma().
double second_invar | ( | matrix & | tens | ) |
The function computes negative value of second invariant. Negative value is used due to usual usage of this function in second invariant of stress deviator which is defined with a negative sign (energy of shape change)
tens | - matrix (3,3) with tensor values 4.1.2002 |
Definition at line 113 of file tensor.cpp.
Referenced by shefplast::compute_classvar(), scaldamcc::damfuncpar(), scaldam::damfuncpar(), glasgowdam::damfuncpar(), glasgmech::damfuncpar(), glasgmech::depseqdepsel(), mohrcoulombpar::derplaspotsigma(), chen::deryieldfdq(), chen::deryieldfdqdq(), chen::deryieldfdsigma(), chen::deryieldfdsigma_old(), chen::deryieldfdsigma_old_old(), chen::deryieldfdsigmadq(), chen::deryieldfdsigmadsigma(), mohrcoulombpar::deryieldfsigma(), boermat::deryieldfsigma(), doubdp::deryieldfsigma(), hissplas::nlstresses(), drprag::nlstresses(), camclaycoup::nlstresses(), camclay::nlstresses(), drprag::nonloc_nlstresses(), chen::plasmod(), mohrcoulombpar::yieldfunction(), j2flow2::yieldfunction(), hissplas::yieldfunction(), drprag::yieldfunction(), chen::yieldfunction(), camclaycoup::yieldfunction(), camclay::yieldfunction(), boermat::yieldfunction(), and doubdp::yieldfunction().
function computes inner product of two second order tensors it computes a_ij b_ij
a,b | - second order tensors |
JK, 9.8.2005
Definition at line 364 of file tensor.cpp.
References matrix::m, and matrix::n.
Referenced by hissplas::dfdepspd(), hissplas::dg1depsdp(), and hissplas::updateq().
double tensornorm | ( | matrix & | tens | ) |
function computes norm of second order tensor
29.10.2001
Definition at line 66 of file tensor.cpp.
Referenced by cumulstrain(), drprag::derpotsigma(), drprag::deryieldfsigma(), hissplas::dfdepspd(), hissplas::dfdepsvp(), hissplas::dg1depsdp(), hissplas::dg1depsvp(), hardsoft::dhdqpar(), hardsoft::dhdsigma(), shefplast::hardening(), hardsoft::hvalues(), normedtensor(), hissplas::updateq(), j2flow::yieldfunction(), and drprag::yieldfunction().
double third_invar | ( | matrix & | tens | ) |
function computes third invariant 4.1.2002
Definition at line 126 of file tensor.cpp.
Referenced by shefplast::compute_classvar(), boermat::deryieldfsigma(), hissplas::nlstresses(), hissplas::yieldfunction(), and boermat::yieldfunction().