SIFEL/MEFEL/SRC/vecttens.h File Reference

#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

Function Documentation

void gentensor_matrix ( matrix m,
matrix t,
strastrestate  ssst 
)

converts fourth order tensor to matrix

Function assembles matrix corresponding to the fourth order tensor.

Parameters:
m - matrix form (output)
t - tensor form
ssst - strain/stress state
Returns:
The function returns required matrix in the parameter m.

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).

Parameters:
fv - array of full length vector (6 components) - output parameter
rv - array of reduced vector (ncompstr components) - input parameter
ssst - stress/strain state indicator
Returns:
The function returns full-length vector components in the argument rv

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).

Parameters:
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
Returns:
The function returns full-length vector in the argument rv

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.

Parameters:
fv - array of full length vector (6 components) - output parameter
rv - array of reduced vector (ncompstr components) - input parameter
ssst - stress/strain state indicator
Returns:
The function returns reduced vector components in the argument rv

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.

Parameters:
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
Returns:
The function returns reduced vector in the argument rv

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.

Parameters:
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.

Parameters:
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.

Parameters:
ncomp - number of vector components
Return values:
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.

Parameters:
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.

Parameters:
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.

References mtxm(), and mxm().

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.

Parameters:
m - matrix in the reduced form (output)
t - tensor form (matrix 6x6)
ssst - strain/stress state
Returns:
The function returns required matrix in the parameter m.

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.

Parameters:
m - matrix form (output)
t - tensor form (matrix 6x6)
ssst - strain/stress state
Returns:
The function returns required matrix in the parameter m.

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 
)
void tensor_vector_full ( vector v,
matrix t,
strastre  ss 
)

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.

Parameters:
v - vector components (output)
t - tensor components
ssst - strain/stress state
ss - strain/stress identifier
Returns:
The function returns required vector in the parameter v.

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.)

Parameters:
ssst - strain/stress state
m - auxiliary matrix (output)
Returns:
The function returns auxiliary matrix in the parameter m.

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.

Parameters:
v - vector components
t - tensor components (output)
ssst - strain/stress state
ss - strain/stress identifier
Returns:
The function returns required tensor in the parameter t.

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().


Generated by  doxygen 1.6.2