#include <linhexrot.h>
Public Member Functions | |
double | approx (double xi, double eta, double zeta, vector &nodval) |
void | appstrain (long lcid, long eid, double xi, double eta, double zeta, long fi, long li, vector &eps) |
void | appstress (long lcid, long eid, double xi, double eta, double zeta, long fi, long li, vector &sig) |
void | aver_strains (long lcid, long eid, long ri, long ci, vector &averstra, double &volume) |
void | bf_matrix (matrix &n, double xi, double eta, double zeta) |
void | bvectors (vector &x, vector &y, vector &z, double xi, double eta, double zeta, double &jac, vector &b11, vector &b12, vector &b13, vector &b21, vector &b22, vector &b23, vector &b31, vector &b32, vector &b33) |
void | compute_eigstress (long lcid, long eid, long ri, long ci) |
void | compute_nlstress (long lcid, long eid, long ri, long ci) |
void | compute_nlstressincr (long lcid, long eid, long ri, long ci) |
void | compute_nonloc_nlstress (long lcid, long eid, long ri, long ci) |
void | dmatblock (matrix &dd, matrix &d) |
void | eigstrain_forces (long lcid, long eid, long ri, long ci, vector &nfor, vector &x, vector &y, vector &z) |
void | elem_integration (integratedquant iq, long lcid, long eid, long ri, long ci, vector &nv, vector &x, vector &y, vector &z) |
void | elem_stresses (double **stra, double **stre, long lcid, long eid, long ri, long ci) |
void | geom_matrix (matrix &gm, vector &x, vector &y, vector &z, double xi, double eta, double zeta, double &jac) |
void | geom_matrix_block (matrix &gm, long ri, vector &x, vector &y, vector &z, double xi, double eta, double zeta, double &jac) |
void | geom_matrix_shear (matrix &gm, vector &x, vector &y, vector &z, double xi, double eta, double zeta, double &jac) |
void | gl_internal_forces (long lcid, long eid, long ri, long ci, vector &ifor, vector &x, vector &y, vector &z) |
void | gl_ip_strains (long lcid, long eid, long ri, long ci, vector &x, vector &y, vector &z, vector &r) |
void | gl_stiffness_matrix (long eid, long ri, long ci, matrix &sm) |
void | gngeom_matrix (matrix &gm, vector &r, vector &x, vector &y, vector &z, double xi, double eta, double zeta, double &jac) |
void | gnl_grmatrix (matrix &grm, vector &x, vector &y, vector &z, double xi, double eta, double zeta, double &jac) |
void | gnl_internal_forces (long lcid, long eid, long ri, long ci, vector &ifor) |
void | gnl_ip_strains (long lcid, long eid, long ri, long ci, vector &x, vector &y, vector &z, vector &r) |
void | gnl_stiffness_matrix (long lcid, long eid, long ri, long ci, matrix &sm) |
void | incr_internal_forces (long lcid, long eid, long ri, long ci, vector &ifor, vector &x, vector &y, vector &z) |
void | inicipval (long eid, long ri, long ci, matrix &nodval, inictype *ictn) |
void | intpointval (long eid, vector &nodval, vector &ipval) |
void | ip_elast_stresses (long lcid, long eid, long ri, long ci) |
void | ip_stresses (long lcid, long eid, long ri, long ci) |
void | ipcoord (long eid, long ipp, long ri, long ci, vector &coord) |
void | ipvolume (long eid, long ri, long ci) |
linhexrot () | |
void | load_matrix (long eid, matrix &lm) |
void | local_values (long lcid, long eid, long ri, long ci) |
void | locglob_nodeval (long is, vector &nv, double *tnv, vector &x, vector &y, vector &z) |
void | mass_matrix (long eid, matrix &mm) |
void | nod_eqother_ip (long lcid, long eid, long ri, long ci) |
void | nod_others (long lcid, long eid, long ri, long ci) |
void | nod_strains_comp (long lcid, long eid, double **stra) |
void | nod_strains_ip (long lcid, long eid, long ri, long ci) |
void | nod_stresses_ip (long lcid, long eid, long ri, long ci) |
void | node_forces_surf (long lcid, long eid, long *is, double *nv, vector &nf) |
void | node_forces_surf_old (long lcid, long eid, long *is, double *nv, vector &nf) |
void | nodecoord (vector &xi, vector &eta, vector &zeta) |
void | nodipnum (long eid, long ri, long ci, ivector &ipnum) |
void | nonloc_internal_forces (long lcid, long eid, long ri, long ci, vector &ifor, vector &x, vector &y, vector &z) |
void | res_eigstrain_forces (long lcid, long eid, vector &nfor) |
void | res_incr_internal_forces (long lcid, long eid, vector &ifor) |
void | res_internal_forces (long lcid, long eid, vector &ifor) |
void | res_ip_strains (long lcid, long eid) |
void | res_ip_stresses (long lcid, long eid) |
void | res_load_matrix (long eid, matrix &lm) |
void | res_mass_matrix (long eid, matrix &mm) |
void | res_nonloc_internal_forces (long lcid, long eid, vector &ifor) |
void | res_stiffness_matrix (long lcid, long eid, matrix &sm) |
void | strains (long lcid, long eid, long ri, long ci) |
void | stresses (long lcid, long eid, long ri, long ci) |
void | surfnodeval (long surf, vector &nodval, double *list) |
void | tran_mat (matrix &tran, vector &gx, vector &gy, vector &gz, long is) |
void | tran_side (matrix &t12, matrix &t23, matrix &t34, matrix &t41, matrix &t15, matrix &t26, matrix &t37, matrix &t48, matrix &t56, matrix &t67, matrix &t78, matrix &t85, vector &x, vector &y, vector &z) |
void | transf_matrix (ivector &nodes, matrix &tmat) |
~linhexrot () | |
Public Attributes | |
long * | cncomp |
cumulative array of numbers of components of blocks | |
long | intordb |
array of numbers of integration points in sets | |
long | intordmm |
order of integration of mass matrix | |
long ** | intordsm |
array of orders of integration of stiffness matrix | |
long | napfun |
number of approximated functions on the element | |
long | nb |
number of blocks | |
long * | ncomp |
array of numbers of components of blocks | |
long | ndofe |
number of DOFs on the element | |
long | ned |
number of edges | |
long ** | nip |
array of numbers of integration points in sets | |
long | nne |
number of nodes on one element | |
long | nned |
number of nodes on one edge | |
long | nnsurf |
number of nodes on one surface | |
long | nsurf |
number of surfaces | |
strastrestate | ssst |
stress/strain state | |
long | tncomp |
total number of components of the strain and stress tensors | |
long | tnip |
total number of integration points |
class linhex defines hexahedral finite element with tri-linear approximation functions
JK
Definition at line 16 of file linhexrot.h.
linhexrot | ( | ) |
~linhexrot | ( | ) |
double approx | ( | double | xi, | |
double | eta, | |||
double | zeta, | |||
vector & | nodval | |||
) |
function approximates function defined by nodal values
xi,eta,zeta | - natural coordinates | |
nodval | - nodal values |
JK, 20.8.2001
Definition at line 100 of file linhexrot.cpp.
References vector::a, bf_lin_hex_3d(), f, nne, and scprd().
Referenced by appstrain(), appstress(), inicipval(), intpointval(), ipcoord(), and mass_matrix().
void appstrain | ( | long | lcid, | |
long | eid, | |||
double | xi, | |||
double | eta, | |||
double | zeta, | |||
long | fi, | |||
long | ncomp, | |||
vector & | eps | |||
) |
function computes strains in arbitrary point on element
lcid | - load case id | |
eid | - element id | |
xi,eta,zeta | - natural coordinates of the point | |
fi | - first index | |
ncomp | - number of components | |
eps | - array containing strains |
11.5.2002
Definition at line 1501 of file linhexrot.cpp.
References approx(), mechtop::give_elemnodes(), Mt, vector::n, nne, nod, mechtop::nodes, nodval(), node::strain, and tncomp.
Referenced by strains().
void appstress | ( | long | lcid, | |
long | eid, | |||
double | xi, | |||
double | eta, | |||
double | zeta, | |||
long | fi, | |||
long | ncomp, | |||
vector & | sig | |||
) |
function computes stresses in arbitrary point on element
lcid | - load case id | |
eid | - element id | |
xi,eta,zeta | - natural coordinates of the point | |
fi,li | - first and last indices | |
sig | - array containing stresses |
11.5.2002
Definition at line 1716 of file linhexrot.cpp.
References approx(), mechtop::give_elemnodes(), Mt, vector::n, nne, mechtop::nodes, nodes, nodval(), node::stress, and tncomp.
Referenced by stresses().
void aver_strains | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | averstra, | |||
double & | volume | |||
) |
Definition at line 3558 of file linhexrot.cpp.
References vector::a, allocv(), destrv(), mechtop::elements, gauss_points(), mechtop::give_node_coord3d(), mechmat::givestress(), intordsm, element::ipp, jac_3d(), Mm, Mt, vector::n, nb, ncomp, and nne.
void bf_matrix | ( | matrix & | n, | |
double | xi, | |||
double | eta, | |||
double | zeta | |||
) |
function assembles matrix of approximation functions
n | - matrix of approximation functions | |
xi,eta,zeta | - natural coordinates |
PF, 19.10.2008
Definition at line 226 of file linhexrot.cpp.
References vector::a, bf_lin_hex_3d(), fillm(), and nne.
Referenced by load_matrix(), mass_matrix(), node_forces_surf(), and node_forces_surf_old().
void bvectors | ( | vector & | x, | |
vector & | y, | |||
vector & | z, | |||
double | xi, | |||
double | eta, | |||
double | zeta, | |||
double & | jac, | |||
vector & | b11, | |||
vector & | b12, | |||
vector & | b13, | |||
vector & | b21, | |||
vector & | b22, | |||
vector & | b23, | |||
vector & | b31, | |||
vector & | b32, | |||
vector & | b33 | |||
) |
function assembles auxiliary vectors B for evaluation of stiffness matrix in geometrically nonlinear problems
x,y,z | - array containing node coordinates | |
xi,eta,zeta | - natural coordinates | |
jac | - Jacobian | |
b11,b12,b13,b21,b22,b23,b31,b32,b33 | - vectors of derivatives of shape functions |
JK, 24.9.2005
Definition at line 507 of file linhexrot.cpp.
References vector::a, derivatives_3d(), dx_bf_lin_hex_3d(), dy_bf_lin_hex_3d(), dz_bf_lin_hex_3d(), fillv(), and nne.
Referenced by gngeom_matrix(), gnl_grmatrix(), and gnl_ip_strains().
void compute_eigstress | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes nonlocal correct stresses at integration points on element
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices |
JK, 27.11.2006
Definition at line 2293 of file linhexrot.cpp.
References mechtop::elements, mechmat::giveeigstrain(), intordsm, element::ipp, mechmat::matstiff(), Mm, Mt, mxv(), mechmat::storeeigstress(), and tncomp.
Referenced by eigstrain_forces().
void compute_nlstress | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes correct stresses at integration points on element
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices |
JK, 27.11.2006
Definition at line 2171 of file linhexrot.cpp.
References mechmat::computenlstresses(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, and probdesc::strcomp.
Referenced by elem_nlstresses(), and gl_internal_forces().
void compute_nlstressincr | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes correct increments of stresses at integration points on element
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices |
TKo 7.2008
Definition at line 2202 of file linhexrot.cpp.
References mechmat::computenlstressesincr(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, and probdesc::strcomp.
Referenced by incr_internal_forces().
void compute_nonloc_nlstress | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes nonlocal correct stresses at integration points on element
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices |
JK, 27.11.2006
Definition at line 2265 of file linhexrot.cpp.
References mechmat::compnonloc_nlstresses(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, and probdesc::strcomp.
Referenced by nonloc_internal_forces().
Definition at line 840 of file linhexrot.cpp.
References intordsm.
Referenced by gl_stiffness_matrix().
void eigstrain_forces | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | nfor, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z | |||
) |
function computes contributions from eigenstrains to the right hand side
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices | |
ifor | - vector of internal forces | |
x,y,z | - vectors of nodal coordinates |
JK, 17.8.2004
Definition at line 2019 of file linhexrot.cpp.
References compute_eigstress(), probdesc::eigstrcomp, eigstress, elem_integration(), and Mp.
Referenced by res_eigstrain_forces().
void elem_integration | ( | integratedquant | iq, | |
long | lcid, | |||
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | nv, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z | |||
) |
function integrates selected quantity over the finite element it results in nodal values
iq | - type of integrated quantity (see alias.h) | |
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices | |
nv | - nodal values | |
x,y,z | - node coordinates |
JK, 27.11.2006 TKo 7.2008
Definition at line 2331 of file linhexrot.cpp.
References vector::a, addv(), allocv(), cmulv(), cncomp, destrv(), mechtop::elements, fillv(), gauss_points(), geom_matrix(), mechmat::givequantity(), intordsm, element::ipp, Mm, Mt, mtxv(), ndofe, and tncomp.
Referenced by eigstrain_forces(), gl_internal_forces(), incr_internal_forces(), and nonloc_internal_forces().
void elem_stresses | ( | double ** | stra, | |
double ** | stre, | |||
long | lcid, | |||
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
void geom_matrix | ( | matrix & | gm, | |
vector & | x, | |||
vector & | y, | |||
vector & | z, | |||
double | xi, | |||
double | eta, | |||
double | zeta, | |||
double & | jac | |||
) |
function assembles strain-displacement (geometric) matrix
gm | - geometric matrix | |
x,y,z | - vectors containing element node coordinates | |
xi,eta,zeta | - natural coordinates | |
jac | - Jacobian |
JK, 19.7.2001
Definition at line 255 of file linhexrot.cpp.
References vector::a, derivatives_3d(), dx_bf_lin_hex_3d(), dx_bf_quad_hexrot_3d(), dy_bf_lin_hex_3d(), dy_bf_quad_hexrot_3d(), dz_bf_lin_hex_3d(), dz_bf_quad_hexrot_3d(), fillm(), ned, nne, and tran_side().
Referenced by elem_integration(), gl_ip_strains(), gl_stiffness_matrix(), and nod_strains_comp().
void geom_matrix_block | ( | matrix & | gm, | |
long | ri, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z, | |||
double | xi, | |||
double | eta, | |||
double | zeta, | |||
double & | jac | |||
) |
void geom_matrix_shear | ( | matrix & | gm, | |
vector & | x, | |||
vector & | y, | |||
vector & | z, | |||
double | xi, | |||
double | eta, | |||
double | zeta, | |||
double & | jac | |||
) |
Definition at line 390 of file linhexrot.cpp.
References vector::a, bf_lin_hex_3d(), derivatives_3d(), dx_bf_lin_hex_3d(), dx_bf_quad_hexrot_3d(), dy_bf_lin_hex_3d(), dy_bf_quad_hexrot_3d(), dz_bf_lin_hex_3d(), dz_bf_quad_hexrot_3d(), fillm(), ned, nne, and tran_side().
Referenced by gl_stiffness_matrix().
void gl_internal_forces | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | ifor, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z | |||
) |
function computes internal forces in the case of geometrical linear computation
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices | |
ifor | - vector of internal forces | |
x,y,z | - vectors of nodal coordinates |
JK, 28.7.2001 TKo 7.2008
Definition at line 1875 of file linhexrot.cpp.
References compute_nlstress(), elem_integration(), and locstress.
Referenced by res_internal_forces().
void gl_ip_strains | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z, | |||
vector & | r | |||
) |
function computes strains at integration points of element
lcid | - load case id | |
eid | - element id | |
ri | - row index | |
ci | - column index | |
x,y,z | - vectors of nodal coordinates | |
r | - vector of nodal displacements |
10.5.2002, JK
Definition at line 1291 of file linhexrot.cpp.
References vector::a, allocm(), allocv(), cncomp, destrm(), destrv(), mechtop::elements, gauss_points(), geom_matrix(), intordsm, element::ipp, Mm, Mt, mxv(), nb, ncomp, ndofe, and mechmat::storestrain().
Referenced by res_ip_strains().
void gl_stiffness_matrix | ( | long | eid, | |
long | ri, | |||
long | ci, | |||
matrix & | sm | |||
) |
function computes stiffness matrix of one element
function computes stiffness matrix for geometrically linear problems
eid | - number of element | |
ri,ci | - row and column indices | |
sm | - stiffness matrix |
JK, 19.7.2001
Definition at line 896 of file linhexrot.cpp.
References vector::a, allocm(), allocv(), bdbjac(), destrm(), destrv(), dmatblock(), mechtop::elements, fillm(), gauss_points(), geom_matrix(), geom_matrix_shear(), mechtop::give_node_coord3d(), intordsm, element::ipp, mechmat::matstiff(), Mm, Mt, ncomp, ndofe, nne, and tncomp.
Referenced by res_stiffness_matrix().
void gngeom_matrix | ( | matrix & | gm, | |
vector & | r, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z, | |||
double | xi, | |||
double | eta, | |||
double | zeta, | |||
double & | jac | |||
) |
function computes strain-displacement matrix for geometrically nonlinear problems
gm | - strain-displacement matrix | |
r | - array of nodal displacements | |
x,y,z | - array containing node coordinates | |
xi,eta,zeta | - natural coordinates | |
jac | - Jacobian |
JK, 24.9.2005
Definition at line 564 of file linhexrot.cpp.
References bvectors(), cmulv(), fillm(), ndofe, and scprd().
Referenced by gnl_internal_forces(), and gnl_stiffness_matrix().
void gnl_grmatrix | ( | matrix & | grm, | |
vector & | x, | |||
vector & | y, | |||
vector & | z, | |||
double | xi, | |||
double | eta, | |||
double | zeta, | |||
double & | jac | |||
) |
function computes gradient matrix for geometrically nonlinear problems
grm | - gradient matrix | |
x,y,z | - array containing node coordinates | |
xi,eta,zeta | - natural coordinates | |
jac | - Jacobian |
JK, 24.9.2005
Definition at line 819 of file linhexrot.cpp.
References bvectors(), and ndofe.
Referenced by gnl_stiffness_matrix().
void gnl_internal_forces | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | ifor | |||
) |
function computes internal forces (from correct stresses)
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices | |
ifor | - vector of internal forces |
JK, 24.9.2005
Definition at line 1898 of file linhexrot.cpp.
References vector::a, addv(), allocv(), cmulv(), mechmat::computenlstresses(), destrv(), eldispl(), mechtop::elements, fillv(), gauss_points(), mechtop::give_node_coord3d(), mechmat::givestress(), gngeom_matrix(), intordsm, element::ipp, Mm, Mp, Mt, mtxv(), ndofe, nne, probdesc::nodeintfor, probdesc::strcomp, and tncomp.
void gnl_ip_strains | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z, | |||
vector & | r | |||
) |
function computes strains at integration points of element function is used in geometrically linear problems
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices | |
ii | - number of block | |
x,y,z | - arrays with node coordinates | |
r | - vector of nodal displacements |
JK, 24.9.2005
Definition at line 1344 of file linhexrot.cpp.
References vector::a, allocv(), bvectors(), destrv(), mechtop::elements, gauss_points(), intordsm, element::ipp, Mm, Mt, ndofe, scprd(), mechmat::storestrain(), and tncomp.
void gnl_stiffness_matrix | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
matrix & | sm | |||
) |
function computes stiffness matrix of hexahedral finite element
function computes stiffness matrix for geometrically nonlinear problems
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices | |
sm | - stiffness matrix |
JK, 21.9.2005
Definition at line 985 of file linhexrot.cpp.
References vector::a, allocv(), bdbjac(), destrv(), eldispl(), mechtop::elements, fillm(), gauss_points(), mechtop::give_node_coord3d(), mechmat::givestress(), gngeom_matrix(), gnl_grmatrix(), intordsm, element::ipp, mechmat::matstiff(), Mm, Mt, ndofe, nne, and tncomp.
void incr_internal_forces | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | ifor, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z | |||
) |
function computes increments of internal forces
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices | |
ifor | - vector of internal forces | |
x,y,z | - vectors of nodal coordinates |
TKo 7.2008
Definition at line 1995 of file linhexrot.cpp.
References compute_nlstressincr(), elem_integration(), and stressincr.
Referenced by res_incr_internal_forces().
The function computes initial values of the given quantities at each integration point of the element from the nodal values given by the parameter nodval. Initial condition types must be the same for all nodes of the element.
eid | - element id | |
ri | - block row index | |
ci | - block column index | |
nodval | - nodal values of particular initial conditions. nodval[i][j] represents value of j-th initial condition at i-th node of the given element. | |
ictn | - array of types of initial condition for each node of element. The type of initial condition determines which values are being specified in the node. (ictn[i] & inistrain) returns nonzero if nodal values of initial strains are specified (ictn[i] & inistress) returns nonzero if nodal values of initial stresses are specified (ictn[i] & iniother) returns nonzero if nodal values of initial values of eqother array are specified (ictn[i] & inicond) returns nonzero if nodal values of other initial conditions are specified |
The function does not return anything.
Created by Tomas Koudelka 2004 Revised by Tomas Koudelka 03.2012
Definition at line 2436 of file linhexrot.cpp.
References vector::a, allocv(), approx(), destrv(), mechtop::elements, intpoints::eqother, gauss_points(), mechmat::ic, inicond, iniother, inistrain, inistress, intordsm, mechmat::ip, element::ipp, memset(), Mm, Mt, matrix::n, nb, intpoints::ncompeqother, intpoints::ncompstr, nne, print_err(), intpoints::strain, and intpoints::stress.
function interpolates the nodal values to the integration points on the element
eid | - element id |
17.8.2004, JK
Definition at line 3521 of file linhexrot.cpp.
References vector::a, allocv(), approx(), destrv(), gauss_points(), intordsm, and nb.
Referenced by elem_intpointval().
void ip_elast_stresses | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes elastic stresses at integration points of element stresses are computed from strains with the help of elastic stiffness
lcid | - load case id | |
eid | - element id | |
ri | - row index | |
ci | - column index |
10.5.2002, JK
Definition at line 1639 of file linhexrot.cpp.
References vector::a, allocv(), destrv(), mechtop::elements, gauss_points(), mechmat::givestrain(), intordsm, element::ipp, mechmat::matstiff(), Mm, Mt, mxv(), mechmat::storestress(), and tncomp.
void ip_stresses | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes stresses at integration points of element stresses are computed by material models
lcid | - load case id | |
eid | - element id | |
ri | - row index | |
ci | - column index |
10.5.2002, JK
Definition at line 1608 of file linhexrot.cpp.
References mechmat::computenlstresses(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, and probdesc::strcomp.
Referenced by res_ip_stresses().
void ipcoord | ( | long | eid, | |
long | ipp, | |||
long | ri, | |||
long | ci, | |||
vector & | coord | |||
) |
function returns coordinates of integration points
eid | - element id | |
ipp | - integration point pointer | |
coord | - vector of coordinates |
10.1.2002
Definition at line 2385 of file linhexrot.cpp.
References vector::a, approx(), mechtop::elements, gauss_points(), mechtop::give_node_coord3d(), intordsm, element::ipp, Mt, and nne.
void ipvolume | ( | long | eid, | |
long | ri, | |||
long | ci | |||
) |
function computes volume appropriate to integration point
2.3.2004, JK
Definition at line 2556 of file linhexrot.cpp.
References vector::a, allocv(), destrv(), mechtop::elements, gauss_points(), mechtop::give_node_coord3d(), intordsm, element::ipp, jac_3d(), Mm, Mt, nb, nne, and mechmat::storeipvol().
Referenced by ipvolume().
void load_matrix | ( | long | eid, | |
matrix & | lm | |||
) |
function computes load matrix
eid | - number of element | |
lm | - load matrix |
25.7.2001
Definition at line 1178 of file linhexrot.cpp.
References matrix::a, vector::a, bf_matrix(), fillm(), gauss_points(), mechtop::give_elemnodes(), mechtop::give_node_coord3d(), intordmm, jac_3d(), matrix::m, Mt, matrix::n, napfun, ndofe, nne, nnj(), and nodes.
Referenced by res_load_matrix().
void local_values | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes local values which will be used for averageing in nonlocal models at integration points. Mp->nonlocphase have to be 1.
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices |
TKo 7.2008
Definition at line 2234 of file linhexrot.cpp.
References mechmat::computenlstresses(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, and probdesc::strcomp.
Referenced by elem_local_values().
Definition at line 3099 of file linhexrot.cpp.
References vector::a, matrix::a, cmulv(), mxv(), and scprd().
Referenced by node_forces_surf().
void mass_matrix | ( | long | eid, | |
matrix & | mm | |||
) |
function computes mass matrix
eid | - number of element | |
mm | - mass matrix |
JK, 19.7.2001
Definition at line 1104 of file linhexrot.cpp.
References matrix::a, approx(), bf_matrix(), fillm(), gauss_points(), mechcrsec::give_density(), mechtop::give_elemnodes(), mechtop::give_node_coord3d(), intordmm, jac_3d(), matrix::m, Mc, Mt, matrix::n, napfun, ndofe, nne, nnj(), and nodes.
Referenced by massmat(), and res_mass_matrix().
void nod_eqother_ip | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes other values in nodes of element
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices |
JK, 24.10.2005
Definition at line 1821 of file linhexrot.cpp.
References vector::a, allocv(), destrv(), mechtop::elements, mechtop::give_elemnodes(), mechmat::giveeqother(), mechmat::givencompeqother(), element::ipp, Mm, Mt, nne, nod, mechtop::nodes, and node::storeother().
void nod_others | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
void nod_strains_comp | ( | long | lcid, | |
long | eid, | |||
double ** | stra | |||
) |
function computes nodal strains directly
lcid | - load case id | |
eid | - element id | |
stra | - array for strain components |
stra[i][j] - the j-th strain component at the i-th node
JK, 26.9.2004
Definition at line 1441 of file linhexrot.cpp.
References allocm(), allocv(), copyv(), destrm(), destrv(), eldispl(), geom_matrix(), mechtop::give_elemnodes(), mechtop::give_node_coord3d(), lgvectortransf(), mechtop::locsystems(), Mt, mxv(), ndofe, nne, nodes, tncomp, and transf_matrix().
void nod_strains_ip | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes strains in nodes of element
lcid | - load case id | |
eid | - element id |
JK, 10.5.2002
Definition at line 1406 of file linhexrot.cpp.
References mechtop::elements, mechtop::give_elemnodes(), mechmat::givestrain(), element::ipp, Mm, Mt, nne, nod, mechtop::nodes, node::storestrain(), and tncomp.
Referenced by compute_nodestrains().
void nod_stresses_ip | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes stresses at nodes
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices |
10.5.2002, JK
Definition at line 1680 of file linhexrot.cpp.
References mechtop::elements, mechtop::give_elemnodes(), mechmat::givestress(), element::ipp, Mm, Mt, nne, nod, mechtop::nodes, node::storestress(), and tncomp.
Referenced by compute_nodestresses().
void node_forces_surf | ( | long | lcid, | |
long | eid, | |||
long * | is, | |||
double * | nv, | |||
vector & | nf | |||
) |
function computes nodal forces caused by presure on surface
eid | - element id | |
ri,ci | - row and column indices | |
nfor | - vector of presure | |
eis | - surface id |
27.1.2006
Definition at line 2608 of file linhexrot.cpp.
References vector::a, addv(), allocv(), bf_matrix(), destrv(), gauss_points(), mechtop::give_node_coord3d(), intordb, jac2d_3d(), locglob_nodeval(), Mt, mxv(), napfun, ndofe, nne, and nnj().
void node_forces_surf_old | ( | long | lcid, | |
long | eid, | |||
long * | is, | |||
double * | nv, | |||
vector & | nf | |||
) |
function computes nodal forces caused by presure on surface
eid | - element id | |
ri,ci | - row and column indices | |
nfor | - vector of presure | |
eis | - surface id |
4.2002, PF
Definition at line 3207 of file linhexrot.cpp.
References addv(), bf_matrix(), fillm(), fillv(), gauss_points(), mechtop::give_elemnodes(), mechtop::give_node_coord3d(), intordb, jac2d3d(), lgvectortransfblock(), Mt, mxv(), napfun, ndofe, nne, nnj(), nnsurf, nodes, Out, and tran_mat().
void nodipnum | ( | long | eid, | |
long | ri, | |||
long | ci, | |||
ivector & | ipnum | |||
) |
void nonloc_internal_forces | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | ifor, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z | |||
) |
function computes nonlocal internal forces
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices | |
ifor | - vector of internal forces | |
x,y,z | - nodal coordinates |
JK, 28.7.2001 TKo 7.2008
Definition at line 1969 of file linhexrot.cpp.
References compute_nonloc_nlstress(), elem_integration(), and nonlocstress.
Referenced by res_nonloc_internal_forces().
void res_eigstrain_forces | ( | long | lcid, | |
long | eid, | |||
vector & | nfor | |||
) |
function computes contributions from eigenstrains to the right hand side
eid | - element id | |
ifor | - vector of internal forces |
JK, 17.8.2004
Definition at line 2137 of file linhexrot.cpp.
References copyv(), eigstrain_forces(), mechtop::give_elemnodes(), mechtop::give_node_coord3d(), glvectortransf(), mechtop::locsystems(), Mt, ndofe, nne, nodes, and transf_matrix().
Referenced by elem_eigstrain_forces().
void res_incr_internal_forces | ( | long | lcid, | |
long | eid, | |||
vector & | ifor | |||
) |
Definition at line 2104 of file linhexrot.cpp.
References copyv(), mechtop::give_elemnodes(), mechtop::give_node_coord3d(), glvectortransf(), incr_internal_forces(), mechtop::locsystems(), Mt, ndofe, nne, nodes, and transf_matrix().
Referenced by elem_incr_internal_forces().
void res_internal_forces | ( | long | lcid, | |
long | eid, | |||
vector & | ifor | |||
) |
function computes internal forces (from correct stresses)
lcid | - number of load case | |
eid | - element id | |
ifor | - vector of internal forces |
JK, 24.9.2005
Definition at line 2043 of file linhexrot.cpp.
References copyv(), mechtop::give_elemnodes(), mechtop::give_node_coord3d(), gl_internal_forces(), glvectortransf(), mechtop::locsystems(), Mt, ndofe, nne, nodes, and transf_matrix().
Referenced by elem_internal_forces().
void res_ip_strains | ( | long | lcid, | |
long | eid | |||
) |
function computes strains at integration points
lcid | - load case id | |
eid | - element id |
JK, modified 23.11.2006
Definition at line 1249 of file linhexrot.cpp.
References allocm(), allocv(), copyv(), destrm(), destrv(), eldispl(), mechtop::give_elemnodes(), mechtop::give_node_coord3d(), gl_ip_strains(), lgvectortransf(), mechtop::locsystems(), Mt, ndofe, nne, nodes, and transf_matrix().
Referenced by compute_ipstrains().
void res_ip_stresses | ( | long | lcid, | |
long | eid | |||
) |
function computes stresses at integration points of element
lcid | - load case id | |
eid | - element id |
10.5.2002, JK
Definition at line 1592 of file linhexrot.cpp.
References ip_stresses().
Referenced by compute_ipstresses().
void res_load_matrix | ( | long | eid, | |
matrix & | lm | |||
) |
function computes load matrix
eid | - number of element | |
lm | - load matrix |
25.7.2001
Definition at line 1220 of file linhexrot.cpp.
References mechtop::give_elemnodes(), glmatrixtransf(), load_matrix(), mechtop::locsystems(), Mt, ndofe, nne, nodes, and transf_matrix().
void res_mass_matrix | ( | long | eid, | |
matrix & | mm | |||
) |
function computes mass matrix
eid | - number of element | |
mm | - mass matrix |
JK, 19.7.2001
Definition at line 1152 of file linhexrot.cpp.
References mechtop::give_elemnodes(), glmatrixtransf(), mechtop::locsystems(), mass_matrix(), Mt, ndofe, nne, nodes, and transf_matrix().
void res_nonloc_internal_forces | ( | long | lcid, | |
long | eid, | |||
vector & | ifor | |||
) |
function computes resulting internal forces for nonlocal models
lcid | - load case id | |
eid | - element id | |
ifor | - vector of internal forces |
TKo, 7.2008
Definition at line 2079 of file linhexrot.cpp.
References copyv(), mechtop::give_elemnodes(), mechtop::give_node_coord3d(), glvectortransf(), mechtop::locsystems(), Mt, ndofe, nne, nodes, nonloc_internal_forces(), and transf_matrix().
Referenced by elem_nonloc_internal_forces().
void res_stiffness_matrix | ( | long | lcid, | |
long | eid, | |||
matrix & | sm | |||
) |
function assembles resulting stiffness matrix of the element
lcid | - load case id | |
eid | - element id | |
sm | - stiffness matrix |
JK, 9.5.2002
Definition at line 1081 of file linhexrot.cpp.
References mechtop::give_elemnodes(), gl_stiffness_matrix(), glmatrixtransf(), mechtop::locsystems(), Mt, ndofe, nne, nodes, and transf_matrix().
Referenced by stiffmat().
void strains | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
Definition at line 1525 of file linhexrot.cpp.
References allocv(), appstrain(), destrv(), enodes, aepoints::give_aepcoord(), aepoints::give_naep(), aepoints::give_ncomp(), aepoints::give_sid(), intpts, Mm, Mp, nne, nowhere, aepoints::storevalues(), mechmat::stra, probdesc::strainaver, aepoints::tape, tncomp, and userdefined.
void stresses | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
Definition at line 1740 of file linhexrot.cpp.
References allocv(), appstress(), destrv(), enodes, aepoints::give_aepcoord(), aepoints::give_naep(), aepoints::give_ncomp(), aepoints::give_sid(), intpts, Mm, Mp, nowhere, aepoints::storevalues(), mechmat::stre, probdesc::stressaver, aepoints::tape, and userdefined.
Referenced by computestresses().
void surfnodeval | ( | long | surf, | |
vector & | nodval, | |||
double * | list | |||
) |
function picks up nodal values on required surface
surf | - number of required surface | |
nodval | - array of nodal values | |
list | - array of nodal values defined on all surfaces |
JK, 19.8.2004
Definition at line 3619 of file linhexrot.cpp.
References ivector::a, fillv(), napfun, nnsurf, and quadhexahedral_surfnod().
function computes transformation matrix on surface
x,y | - local coordinate xL=adge12 | |
tran | - tranformation metrix to GCS | |
gx,gy,gz | - vector of node global coordinate | |
is | - surface id |
4.2002, PF
Definition at line 3428 of file linhexrot.cpp.
Referenced by node_forces_surf_old().
void tran_side | ( | matrix & | t12, | |
matrix & | t23, | |||
matrix & | t34, | |||
matrix & | t41, | |||
matrix & | t15, | |||
matrix & | t26, | |||
matrix & | t37, | |||
matrix & | t48, | |||
matrix & | t56, | |||
matrix & | t67, | |||
matrix & | t78, | |||
matrix & | t85, | |||
vector & | x, | |||
vector & | y, | |||
vector & | z | |||
) |
Definition at line 119 of file linhexrot.cpp.
References ned.
Referenced by geom_matrix(), and geom_matrix_shear().
function assembles transformation matrix from local nodal coordinate system to the global coordinate system x_g = T x_l
nodes | - nodes of element | |
tmat | - transformation matrix |
JK
Definition at line 856 of file linhexrot.cpp.
References node::e1, node::e2, node::e3, fillm(), matrix::m, Mt, ivector::n, mechtop::nodes, and node::transf.
Referenced by nod_strains_comp(), res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), res_load_matrix(), res_mass_matrix(), res_nonloc_internal_forces(), and res_stiffness_matrix().
long* cncomp |
cumulative array of numbers of components of blocks
Definition at line 148 of file linhexrot.h.
Referenced by elem_integration(), gl_ip_strains(), linhexrot(), and ~linhexrot().
long intordb |
array of numbers of integration points in sets
Definition at line 140 of file linhexrot.h.
Referenced by linhexrot(), node_forces_surf(), and node_forces_surf_old().
long intordmm |
order of integration of mass matrix
Definition at line 138 of file linhexrot.h.
Referenced by linhexrot(), load_matrix(), and mass_matrix().
long** intordsm |
array of orders of integration of stiffness matrix
Definition at line 136 of file linhexrot.h.
Referenced by aver_strains(), compute_eigstress(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), dmatblock(), elem_integration(), mechtop::give_intordsm(), gl_ip_strains(), gl_stiffness_matrix(), gnl_internal_forces(), gnl_ip_strains(), gnl_stiffness_matrix(), inicipval(), intpointval(), ip_elast_stresses(), ip_stresses(), ipcoord(), ipvolume(), linhexrot(), local_values(), and ~linhexrot().
long napfun |
number of approximated functions on the element
Definition at line 126 of file linhexrot.h.
Referenced by mechtop::give_napfun(), linhexrot(), load_matrix(), mass_matrix(), node_forces_surf(), node_forces_surf_old(), and surfnodeval().
long nb |
number of blocks
Definition at line 144 of file linhexrot.h.
Referenced by aver_strains(), mechtop::give_nb(), mechtop::give_nb_te(), gl_ip_strains(), inicipval(), intpointval(), ipvolume(), linhexrot(), and ~linhexrot().
long* ncomp |
array of numbers of components of blocks
Definition at line 146 of file linhexrot.h.
Referenced by aver_strains(), gl_ip_strains(), gl_stiffness_matrix(), linhexrot(), and ~linhexrot().
long ndofe |
number of DOFs on the element
Definition at line 118 of file linhexrot.h.
Referenced by elem_integration(), mechtop::give_ndofe(), gl_ip_strains(), gl_stiffness_matrix(), gngeom_matrix(), gnl_grmatrix(), gnl_internal_forces(), gnl_ip_strains(), gnl_stiffness_matrix(), linhexrot(), load_matrix(), mass_matrix(), nod_strains_comp(), node_forces_surf(), node_forces_surf_old(), res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), res_load_matrix(), res_mass_matrix(), res_nonloc_internal_forces(), and res_stiffness_matrix().
long ned |
number of edges
Definition at line 128 of file linhexrot.h.
Referenced by geom_matrix(), geom_matrix_shear(), mechtop::give_ned(), linhexrot(), and tran_side().
long** nip |
array of numbers of integration points in sets
Definition at line 142 of file linhexrot.h.
Referenced by mechtop::give_nip(), linhexrot(), and ~linhexrot().
long nne |
number of nodes on one element
Definition at line 120 of file linhexrot.h.
Referenced by approx(), appstrain(), appstress(), aver_strains(), bf_matrix(), bvectors(), geom_matrix(), geom_matrix_shear(), mechtop::give_nne(), gl_stiffness_matrix(), gnl_internal_forces(), gnl_stiffness_matrix(), inicipval(), ipcoord(), ipvolume(), linhexrot(), load_matrix(), mass_matrix(), nod_eqother_ip(), nod_strains_comp(), nod_strains_ip(), nod_stresses_ip(), node_forces_surf(), node_forces_surf_old(), res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), res_load_matrix(), res_mass_matrix(), res_nonloc_internal_forces(), res_stiffness_matrix(), and strains().
long nned |
number of nodes on one edge
Definition at line 130 of file linhexrot.h.
Referenced by mechtop::give_nned(), and linhexrot().
long nnsurf |
number of nodes on one surface
Definition at line 134 of file linhexrot.h.
Referenced by mechtop::give_nnsurf(), linhexrot(), node_forces_surf_old(), and surfnodeval().
long nsurf |
number of surfaces
Definition at line 132 of file linhexrot.h.
Referenced by mechtop::give_nsurf(), and linhexrot().
stress/strain state
Definition at line 150 of file linhexrot.h.
Referenced by mechtop::give_ssst(), and linhexrot().
long tncomp |
total number of components of the strain and stress tensors
Definition at line 122 of file linhexrot.h.
Referenced by appstrain(), appstress(), compute_eigstress(), elem_integration(), mechtop::give_ncomp(), mechtop::give_tncomp(), gl_stiffness_matrix(), gnl_internal_forces(), gnl_ip_strains(), gnl_stiffness_matrix(), ip_elast_stresses(), linhexrot(), nod_strains_comp(), nod_strains_ip(), nod_stresses_ip(), and strains().
long tnip |
total number of integration points
Definition at line 124 of file linhexrot.h.
Referenced by mechtop::give_tnip(), and linhexrot().