linhexrot Class Reference

#include <linhexrot.h>

List of all members.

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

Detailed Description

class linhex defines hexahedral finite element with tri-linear approximation functions

JK

Definition at line 16 of file linhexrot.h.


Constructor & Destructor Documentation

linhexrot (  ) 

Definition at line 15 of file linhexrot.cpp.

References cncomp, intordb, intordmm, intordsm, napfun, nb, ncomp, ndofe, ned, nip, nne, nned, nnsurf, nsurf, spacestress, ssst, tncomp, and tnip.

~linhexrot (  ) 

Definition at line 75 of file linhexrot.cpp.

References cncomp, intordsm, nb, ncomp, and nip.


Member Function Documentation

double approx ( double  xi,
double  eta,
double  zeta,
vector nodval 
)

function approximates function defined by nodal values

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

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

Parameters:
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 
)
void bf_matrix ( matrix n,
double  xi,
double  eta,
double  zeta 
)

function assembles matrix of approximation functions

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

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

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

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

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

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

void dmatblock ( matrix dd,
matrix d 
)

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

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

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

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

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

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

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

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

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

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

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

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

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

void inicipval ( long  eid,
long  ri,
long  ci,
matrix nodval,
inictype ictn 
)

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.

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

void intpointval ( long  eid,
vector nodval,
vector ipval 
)

function interpolates the nodal values to the integration points on the element

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

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

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

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

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

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

void locglob_nodeval ( long  is,
vector nv,
double *  tnv,
vector x,
vector y,
vector z 
)

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

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

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

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

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

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

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

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

function computes nonlocal internal forces

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

Parameters:
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 
)
void res_internal_forces ( long  lcid,
long  eid,
vector ifor 
)

function computes internal forces (from correct stresses)

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

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

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

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

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

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

Parameters:
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 
)
void stresses ( long  lcid,
long  eid,
long  ri,
long  ci 
)
void surfnodeval ( long  surf,
vector nodval,
double *  list 
)

function picks up nodal values on required surface

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

void tran_mat ( matrix tran,
vector gx,
vector gy,
vector gz,
long  is 
)

function computes transformation matrix on surface

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

void transf_matrix ( ivector nodes,
matrix tmat 
)

function assembles transformation matrix from local nodal coordinate system to the global coordinate system x_g = T x_l

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


Member Data Documentation

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
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
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
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
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
long tnip

total number of integration points

Definition at line 124 of file linhexrot.h.

Referenced by mechtop::give_tnip(), and linhexrot().


The documentation for this class was generated from the following files:

Generated by  doxygen 1.6.2