#include <stdio.h>
#include "alias.h"
Go to the source code of this file.
Functions | |
void | gentensor_matrix (matrix &m, matrix &t, strastrestate ssst) |
converts fourth order tensor to matrix | |
void | give_full_vector (double *fv, double *rv, strastrestate ssst) |
converts reduced stress/strain vector to full-length vector | |
void | give_full_vector (vector &fv, const vector &rv, strastrestate ssst) |
converts reduced stress/strain vector to full-length vector | |
void | give_red_vector (double *fv, double *rv, strastrestate ssst) |
converts full-length stress/strain vector to reduced vector | |
void | give_red_vector (const vector &fv, vector &rv, strastrestate ssst) |
converts full-length stress/strain vector to reduced vector | |
void | gl_comp_engvectortransf (const vector &g, double &l, long i, const matrix &tmat, strastrestate ssst, strastre stra) |
transforms stress/strain vector g given in the global coordinate system to stress/strain vector l in local coordinate system (l = T^T . g) and returns i-th component of l | |
void | gl_engvectortransf (const vector &g, vector &l, const matrix &tmat, strastrestate ssst, strastre stra) |
transforms stress/strain vector g given in the global coordinate system to stress/strain vector l in local coordinate system (l = T^T . g) | |
strastrestate | guess_ssst (long ncomp) |
returns guess of stress/strain state depending on the number of components | |
void | lg_engvectortransf (vector &g, const vector &l, const matrix &tmat, strastrestate ssst, strastre str) |
transforms stress/strain vector l given in the local coordinate system to stress/strain vector g in global coordinate system (g = T . l) | |
void | lg_tens4transf (matrix &g, const matrix &l, const matrix &tmat, strastrestate ssst) |
transforms 4-th order tensor given in the local coordinate system to global one | |
void | matrix_tensor4 (const matrix &m, matrix &t, strastrestate ssst) |
converts matrix to fourth order tensor | |
void | tensor4_matrix (matrix &m, const matrix &t, strastrestate ssst) |
converts fourth order tensor to matrix | |
void | tensor_vector (vector &v, matrix &t, strastrestate ssst, strastre ss) |
converts second order tensor to vector | |
void | tensor_vector_full (vector &v, matrix &t, strastre ss) |
converts second order tensor to vector in the full form | |
void | tensor_vector_matrix (strastrestate ssst, matrix &m) |
creates auxiliary matrix (useful for thermal strains,...) | |
void | vector_tensor (vector &v, matrix &t, strastrestate ssst, strastre ss) |
converts vector to second order tensor |
void gentensor_matrix | ( | matrix & | m, | |
matrix & | t, | |||
strastrestate | ssst | |||
) |
converts fourth order tensor to matrix
Function assembles matrix corresponding to the fourth order tensor.
m | - matrix form (output) | |
t | - tensor form | |
ssst | - strain/stress state |
Created by 18.3.2005, JK
Definition at line 612 of file vecttens.cpp.
References axisymm, bar, copym(), fillm(), matrix::n, planestrain, planestress, plbeam, print_err(), and spacestress.
Referenced by mechmat::dfdsigmadq(), mechmat::dgdsigmadq(), and mechmat::dhdsigma().
void give_full_vector | ( | double * | fv, | |
double * | rv, | |||
strastrestate | ssst | |||
) |
converts reduced stress/strain vector to full-length vector
The function returns full-length stress/strain vector (6 components) from the reduced stress/strain vector (ncompstr components).
fv | - array of full length vector (6 components) - output parameter | |
rv | - array of reduced vector (ncompstr components) - input parameter | |
ssst | - stress/strain state indicator |
Created by Tomas Koudelka 11.2.2014
Definition at line 402 of file vecttens.cpp.
References axisymm, bar, planecontact, planestrain, planestress, plbeam, print_err(), and spacestress.
void give_full_vector | ( | vector & | fv, | |
const vector & | rv, | |||
strastrestate | ssst | |||
) |
converts reduced stress/strain vector to full-length vector
The function returns full-length stress/strain vector (6 components) from the reduced stress/strain vector (ncompstr components).
fv | - full length (6 components) vector of stress/strain - output parameter | |
rv | - reduced vector (ncompstr components) vector of stress/strain - input parameter | |
ssst | - stress/strain state indicator |
Created by Tomas Koudelka 11.2.2014
Definition at line 299 of file vecttens.cpp.
References axisymm, bar, planecontact, planestrain, planestress, plbeam, print_err(), and spacestress.
Referenced by gl_comp_engvectortransf(), gl_engvectortransf(), lg_engvectortransf(), hypoplast::matstiff(), and hypoplast::nlstresses().
void give_red_vector | ( | double * | fv, | |
double * | rv, | |||
strastrestate | ssst | |||
) |
converts full-length stress/strain vector to reduced vector
The function returns reduced form (ncompstr components) of stress/strain vector from the given full-length vector (6 components) of stress/strain.
fv | - array of full length vector (6 components) - output parameter | |
rv | - array of reduced vector (ncompstr components) - input parameter | |
ssst | - stress/strain state indicator |
Created by Tomas Koudelka 11.2.2014
Definition at line 350 of file vecttens.cpp.
References axisymm, bar, planecontact, planestrain, planestress, plbeam, print_err(), and spacestress.
void give_red_vector | ( | const vector & | fv, | |
vector & | rv, | |||
strastrestate | ssst | |||
) |
converts full-length stress/strain vector to reduced vector
The function returns reduced form (ncompstr components) of stress/strain vector from the given full-length vector (6 components) of stress/strain.
fv | - full length (6 components) vector of stress/strain - output parameter | |
rv | - reduced vector (ncompstr components) vector of stress/strain - input parameter | |
ssst | - stress/strain state indicator |
Created by Tomas Koudelka 11.2.2014
Definition at line 247 of file vecttens.cpp.
References axisymm, bar, planecontact, planestrain, planestress, plbeam, print_err(), and spacestress.
Referenced by gl_engvectortransf(), lg_engvectortransf(), and hypoplast::nlstresses().
void gl_comp_engvectortransf | ( | const vector & | g, | |
double & | l, | |||
long | i, | |||
const matrix & | tmat, | |||
strastrestate | ssst, | |||
strastre | stra | |||
) |
transforms stress/strain vector g given in the global coordinate system to stress/strain vector l in local coordinate system (l = T^T . g) and returns i-th component of l
The function transforms the second order stress/strain tensor g given in the global coordinate system to local coordinate system and calculates only required i-th local engineering component. Tensor g is defined in the vector engineering notation but transformation matrix T(3,3) must be given in the form x_g = T x_l where x_l(3) and x_g(3) are local and global vectors respectively.
g | - 2-nd order stress/strain tensor in the vector engineering notation defined in the global coordinate system (input) | |
l | - i-th component 2-nd order stress/strain tensor in the vector engineering notation defined in the local coordinate system (output) | |
i | - index of required stress/strain component in the egineering notation | |
tmat | - transformation matrix T(3,3) | |
ssst | - stress/strain state indicator - defines the number of g and l components | |
stra | - stress/strain indicator - defines whether g and l represents stresses or strains |
Definition at line 999 of file vecttens.cpp.
References give_full_vector(), mixv(), print_err(), strain, and stress.
Referenced by write_gid_elem_type_scalar(), and write_gid_nodscalar().
void gl_engvectortransf | ( | const vector & | g, | |
vector & | l, | |||
const matrix & | tmat, | |||
strastrestate | ssst, | |||
strastre | stra | |||
) |
transforms stress/strain vector g given in the global coordinate system to stress/strain vector l in local coordinate system (l = T^T . g)
The function transforms the second order stress/strain tensor g given in the global coordinate system to tensor l in local coordinate system. Both tensors l and g are defined in the vector engineering notation but transformation matrix T(3,3) must be given in the form x_g = T x_l where x_l(3) and x_g(3) are local and global vectors respectively.
g | - 2-nd order stress/strain tensor in the vector engineering notation defined in the global coordinate system (input) | |
l | - 2-nd order stress/strain tensor in the vector engineering notation defined in the local coordinate system (output) | |
tmat | - transformation matrix T(3,3) | |
ssst | - stress/strain state indicator - defines the number of g and l components | |
stra | - stress/strain indicator - defines whether g and l represents stresses or strains |
Definition at line 858 of file vecttens.cpp.
References give_full_vector(), give_red_vector(), mxv(), print_err(), strain, and stress.
Referenced by elemoutm::print_stra(), nodeoutm::print_stra(), elemoutm::print_stre(), and nodeoutm::print_stre().
strastrestate guess_ssst | ( | long | ncomp | ) |
returns guess of stress/strain state depending on the number of components
Function tries to guess stress/strain state from the number of components of some vector (ncompstr at nodes). The result need not to be correct. It is only guess and it is useless for beam stress/strain state.
ncomp | - number of vector components |
bar | for 1 component | |
plcontact | for ncomp=2 | |
planestrain | for ncomp=3 | |
planestrain | for ncomp=4 | |
spacestress | for ncomp=6 | |
-1 | for any other ncomp value |
Created by Tomas Koudelka, koudelka@cml.fsv.cvut.cz, 4.10.2007
Definition at line 684 of file vecttens.cpp.
References bar, planecontact, planestrain, and spacestress.
Referenced by mechtop::give_nodal_strain(), mechtop::give_nodal_stress(), write_gid_elem_type_tensor(), and write_gid_nodtensor().
void lg_engvectortransf | ( | vector & | g, | |
const vector & | l, | |||
const matrix & | tmat, | |||
strastrestate | ssst, | |||
strastre | stra | |||
) |
transforms stress/strain vector l given in the local coordinate system to stress/strain vector g in global coordinate system (g = T . l)
The function transforms the second order stress/strain tensor l given in the local coordinate system to tensor g in global coordinate system. Both tensors l and g are defined in the vector engineering notation but transformation matrix T(3,3) must be given in the form x_g = T x_l where x_l(3) and x_g(3) are local and global vectors respectively.
g | - 2-nd order stress/strain tensor in the vector engineering notation defined in the global coordinate system (output) | |
l | - 2-nd order stress/strain tensor in the vector engineering notation defined in the local coordinate system (input) | |
tmat | - transformation matrix T(3,3) | |
ssst | - stress/strain state indicator - defines the number of g and l components | |
stra | - stress/strain indicator - defines whether g and l represents stresses or strains |
Definition at line 718 of file vecttens.cpp.
References give_full_vector(), give_red_vector(), mxv(), print_err(), strain, and stress.
void lg_tens4transf | ( | matrix & | g, | |
const matrix & | l, | |||
const matrix & | tmat, | |||
strastrestate | ssst | |||
) |
transforms 4-th order tensor given in the local coordinate system to global one
The function transforms the fourth order stiffness tensor l given in the local coordinate system to tensor g in global coordinate system. Both tensors fourth order tensors l and g are defined in matrix engineering notation (g(6,6), l(6,6) but transformation matrix T(3,3) must be given in the form x_g = T x_l where x_l(3) and x_g(3) are local and global vectors respectively.
g | - 4-th order stiffness tensor in the matrix engineering notation g(6,6) defined in the global coordinate system (output) | |
l | - 4-th order stiffness tensor in the matrix engineering notation l(6,6) defined in the local coordinate system (input) | |
tmat | - transformation matrix T(3,3) | |
ssst | - stress/strain state indicator - defines the number of g and l components |
Definition at line 1137 of file vecttens.cpp.
Referenced by fixortodam::matstiff(), and elastortomat::matstiff().
void matrix_tensor4 | ( | const matrix & | m, | |
matrix & | t, | |||
strastrestate | ssst | |||
) |
converts matrix to fourth order tensor
Function assembles the fourth order tensor corresponding to the given matrix in reduced form.
m | - matrix in the reduced form (output) | |
t | - tensor form (matrix 6x6) | |
ssst | - strain/stress state |
Created by Tomas Koudelka, 11.12.2014
Definition at line 557 of file vecttens.cpp.
References axisymm, bar, copym(), fillm(), planestrain, planestress, plbeam, print_err(), and spacestress.
void tensor4_matrix | ( | matrix & | m, | |
const matrix & | t, | |||
strastrestate | ssst | |||
) |
converts fourth order tensor to matrix
Function assembles matrix corresponding to the fourth order tensor.
m | - matrix form (output) | |
t | - tensor form (matrix 6x6) | |
ssst | - strain/stress state |
Created by JK, 18.3.2005
Definition at line 501 of file vecttens.cpp.
References axisymm, bar, copym(), fillm(), planestrain, planestress, plbeam, print_err(), and spacestress.
Referenced by mechmat::dfdsigmadsigma(), mechmat::dgdsigmadsigma(), hypoplast::matstiff(), fixortodam::matstiff(), elastortomat::matstiff(), camclaycoup::matstiff(), and camclay::matstiff().
void tensor_vector | ( | vector & | v, | |
matrix & | t, | |||
strastrestate | ssst, | |||
strastre | ss | |||
) |
converts second order tensor to vector
Function creates vector components from tensor components.
v | - vector components (output) | |
t | - tensor components | |
ssst | - strain/stress state | |
ss | - strain/stress identifier |
Created by JK, 25.3.2002
Definition at line 126 of file vecttens.cpp.
References axisymm, bar, fillv(), planecontact, planestrain, planestress, plbeam, print_err(), spacestress, strain, and stress.
Referenced by nonlocplast::average(), glasgmech::compute_lits(), mohrcoulomb::cutting_plane(), mechmat::dfdsigma(), mechmat::dgdsigma(), hypoplast::givestressincr(), splas1d::matstiff(), camclay::matstiff(), mohrcoulomb::mc_msurf_cp(), ortodamrot::nlstresses(), ortodam::nlstresses(), hissplas::nlstresses(), glasgmech::nlstresses(), fixortodam::nlstresses(), effstress::nlstresses(), anisodamrot::nlstresses(), anisodam::nlstresses(), shrinkmat::nlstressesincr(), nodal_pore_press_forces(), shefplast::numdiff_dfdsdkc(), shefplast::numdiff_dfdsdsc(), shefplast::numdiff_dhdsc(), shefplast::stress_return(), shefplast::tangentstiff(), j2flow2::tangentstiff(), j2flow::tangentstiff(), drprag::tangentstiff(), and chen::tangentstiff().
converts second order tensor to vector in the full form
Function creates vector components from tensor components. The vector is returned in the full form.
v | - vector components (output) | |
t | - tensor components | |
ssst | - strain/stress state | |
ss | - strain/stress identifier |
Created by TKo, 19.1.2015
Definition at line 218 of file vecttens.cpp.
References fillv(), strain, and stress.
Referenced by fixortodam::compute_eqdispl().
void tensor_vector_matrix | ( | strastrestate | ssst, | |
matrix & | m | |||
) |
creates auxiliary matrix (useful for thermal strains,...)
Function creates auxiliary matrix m (useful for thermal strains, pore pressure, etc.)
ssst | - strain/stress state | |
m | - auxiliary matrix (output) |
Created by JK, 24.10.2004
Definition at line 452 of file vecttens.cpp.
References axisymm, bar, fillm(), planestress, print_err(), and spacestress.
Referenced by glasgownew::free_thermal_strains(), glasgowcoup::material_matrix_fts(), glasgownew::material_matrix_fts(), glasgowcoup::material_matrix_td(), and glasgownew::material_matrix_td().
void vector_tensor | ( | vector & | v, | |
matrix & | t, | |||
strastrestate | ssst, | |||
strastre | ss | |||
) |
converts vector to second order tensor
Function creates tensor components from vector components.
v | - vector components | |
t | - tensor components (output) | |
ssst | - strain/stress state | |
ss | - strain/stress identifier |
Created by JK, 25.3.2002
Definition at line 20 of file vecttens.cpp.
References axisymm, bar, fillm(), planecontact, planestrain, planestress, plbeam, print_err(), spacestress, strain, and stress.
Referenced by nonlocplast::average(), fixortodam::compute_eqdispl(), mohrcoulomb::cutting_plane(), mechmat::cutting_plane(), mechmat::cutting_plane2(), scaldamcc::damfuncpar(), scaldam::damfuncpar(), glasgowdam::damfuncpar(), glasgmech::damfuncpar(), scaldamcc::damfunction(), glasgmech::depseqdepsel(), femplast_epressure(), drprag2::getValueOfHardening(), camclay::give_actual_ym(), mechtop::give_nodal_strain(), mechtop::give_nodal_stress(), mechmat::givemechq(), camclaycoup::initval(), camclay::initval(), camclay::matstiff(), mohrcoulomb::mc_msurf_cp(), mechmat::newton_stress_return(), mechmat::newton_stress_return_2(), ortodamrot::nlstresses(), ortodam::nlstresses(), hissplas::nlstresses(), glasgmech::nlstresses(), geoelastmat::nlstresses(), fixortodam::nlstresses(), effstress::nlstresses(), drprag::nlstresses(), camclaycoup::nlstresses(), camclay::nlstresses(), anisodamrot::nlstresses(), anisodam::nlstresses(), drprag::nonloc_nlstresses(), shefplast::numdiff_dfdsdsc(), shefplast::numdiff_dhdsc(), nodeoutm::print_stra(), nodeoutm::print_stre(), mechmat::stiff_deps_vispl(), shefplast::stress_return(), shefplast::tangentstiff(), mohrcoulomb::tangentstiff(), j2flow2::tangentstiff(), j2flow::tangentstiff(), drprag::tangentstiff(), chen::tangentstiff(), anisodam::tmatstiff(), drprag::updateq(), camclaycoup::updateq(), camclay::updateq(), write_gid_elem_type_tensor(), write_gid_nodtensor(), and outdriverm::write_vtk_unkn().