planeelemqt Class Reference

#include <plelemqt.h>

List of all members.

Public Member Functions

void allip_strains (double **stra, long lcid, long eid, long ri, long ci)
void allip_stresses (double **stre, long lcid, long eid, long ri, long ci)
double approx (double xi, double eta, vector &nodval)
void appstrain (long lcid, long eid, double xi, double eta, long fi, long ncomp, vector &eps)
void appstress (long lcid, long eid, double xi, double eta, long fi, long ncomp, vector &sig)
void appval (double xi, double eta, long fi, long nc, vector &eps, double **val)
void bf_matrix (matrix &n, double xi, double eta)
void compute_eigstress (long lcid, long eid, long ri, long ci)
double compute_error (long eid, double &e2, double &u2, double &sizel, vector *rsigfull)
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 (long ri, long ci, matrix &d, matrix &dd)
void eigstrain_forces (long lcid, long eid, long ri, long ci, vector &nfor, vector &x, vector &y)
void elchar (long eid, matrix &spsig)
void elem_integration (integratedquant iq, long lcid, long eid, long ri, long ci, vector &nv, vector &x, vector &y)
void elem_strains (double **stra, long lcid, long eid, long ri, long ci)
void elem_stresses (double **stra, double **stre, long lcid, long eid, long ri, long ci)
void geom_matrix (matrix &gm, vector &x, vector &y, double xi, double eta, double &jac)
void geom_matrix_block (matrix &gm, long ri, vector &x, vector &y, double xi, double eta, double &jac)
void give_sig_roof (matrix &d, double *areacoord, double *x, double *y, long *etnodes, double **xyrr, vector &sig_roof, vector &sig_star)
void incr_internal_forces (long lcid, long eid, long ri, long ci, vector &ifor, vector &x, vector &y)
void inicipval (long eid, long ri, long ci, matrix &nodval, inictype *ictn)
void internal_forces (long lcid, long eid, long ri, long ci, vector &ifor, vector &x, vector &y)
void ipcoord (long eid, long ipp, long ri, long ci, vector &coord)
void ipcoordblock (long eid, long ri, long ci, double **coord)
void ipvolume (long eid, long ri, long ci)
void load_matrix (long eid, matrix &lm)
void local_values (long lcid, long eid, long ri, long ci)
void mainip_strains (long lcid, long eid, long ri, long ci, vector &x, vector &y, vector &r)
void mainip_stresses (long lcid, long eid, long ri, long ci)
void mass_matrix (long eid, matrix &mm)
void nod_strains (long lcid, long eid, long ri, long ci)
void nod_stresses (long lcid, long eid, long ri, long ci)
void nodecoord (vector &xi, vector &eta)
void nodeforces (long eid, long *le, double *nv, vector &nf)
void nonloc_internal_forces (long lcid, long eid, long ri, long ci, vector &ifor, vector &x, vector &y)
void ntdbr_vector (long eid, vector &ntdbr)
void ntn_matrix (long eid, matrix &ntn)
 planeelemqt (void)
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_mainip_strains (long lcid, long eid)
void res_nonloc_internal_forces (long lcid, long eid, vector &ifor)
void res_stiffness_matrix (long eid, matrix &sm)
void stiffness_matrix (long eid, long ri, long ci, matrix &sm, vector &x, vector &y)
void strains (long lcid, long eid, long ri, long ci)
void stresses (long lcid, long eid, long ri, long ci)
void transf_matrix (ivector &nodes, matrix &tmat)
 ~planeelemqt (void)

Public Attributes

long * cncomp
 array containing cumulative numbers of components of stress and strain tensors
long gncomp
 number of components for graphic purposes
long intordb
 order of integration on edges
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 containing numbers of components of stress and strain tensors
long ndofe
 number of DOFs on the element
long ned
 number of edges on one element
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
strastrestate ssst
 stress/strain state
long tncomp
 total number of components of stress and strain tensors
long tnip
 total number of integration points on element

Detailed Description

class planeelemqt defines plane triangular element with quadratic approximation functions

JK

Definition at line 16 of file plelemqt.h.


Constructor & Destructor Documentation

planeelemqt ( void   ) 

Definition at line 19 of file plelemqt.cpp.

References cncomp, gncomp, intordb, intordmm, intordsm, napfun, nb, ncomp, ndofe, ned, nip, nne, nned, tncomp, and tnip.

~planeelemqt ( void   ) 

Definition at line 80 of file plelemqt.cpp.

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


Member Function Documentation

void allip_strains ( double **  stra,
long  lcid,
long  eid,
long  ri,
long  ci 
)

function computes strains in all integration points

Parameters:
lcid - load case id
eid - element id
ri,ci - row and column indices

10.5.2002

Definition at line 651 of file plelemqt.cpp.

References vector::a, allocv(), appstrain(), appval(), destrv(), mechtop::elements, gauss_points_tr(), intordsm, element::ipp, Mm, Mp, Mt, nb, mechmat::storestrain(), probdesc::strainaver, and tncomp.

Referenced by strains().

void allip_stresses ( double **  stre,
long  lcid,
long  eid,
long  ri,
long  ci 
)

function computes stresses in all integration points

Parameters:
lcid - load case id
eid - element id
ri,ci - row and column indices

10.5.2002

Definition at line 1076 of file plelemqt.cpp.

References vector::a, allocv(), appstress(), appval(), destrv(), mechtop::elements, gauss_points_tr(), intordsm, element::ipp, Mm, Mp, Mt, nb, mechmat::storestress(), probdesc::stressaver, and tncomp.

Referenced by stresses().

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

function approximates function defined by nodal values

Parameters:
xi,eta - natural coordinates
nodval - nodal values

1.4.2002

Definition at line 105 of file plelemqt.cpp.

References vector::a, bf_quad_3_2d(), f, nne, and scprd().

Referenced by appstrain(), appstress(), appval(), compute_error(), elem_integration(), give_sig_roof(), inicipval(), interpolate(), ipcoord(), ipcoordblock(), ipvolume(), load_matrix(), mass_matrix(), ntdbr_vector(), ntn_matrix(), and stiffness_matrix().

void appstrain ( long  lcid,
long  eid,
double  xi,
double  eta,
long  fi,
long  ncomp,
vector eps 
)

function computes strains in arbitrary point on element

Parameters:
lcid - load case id
eid - element id
xi,eta - natural coordinates
fi,li - first and last indices
eps - array containing strains

11.5.2002

Definition at line 616 of file plelemqt.cpp.

References allocv(), approx(), destrv(), mechtop::give_elemnodes(), Mt, vector::n, nne, mechtop::nodes, nodes, nodval(), node::strain, and tncomp.

Referenced by allip_strains(), elem_stresses(), mainip_stresses(), nod_stresses(), and strains().

void appstress ( long  lcid,
long  eid,
double  xi,
double  eta,
long  fi,
long  ncomp,
vector sig 
)

function computes stresses in arbitrary point on element

Parameters:
lcid - load case id
eid - element id
xi,eta - natural coordinates
fi,li - first and last indices
sig - array containing stresses

11.5.2002

Definition at line 1040 of file plelemqt.cpp.

References allocv(), approx(), destrv(), mechtop::give_elemnodes(), Mt, vector::n, nne, mechtop::nodes, nodes, nodval(), node::stress, and tncomp.

Referenced by allip_stresses(), and stresses().

void appval ( double  xi,
double  eta,
long  fi,
long  nc,
vector eps,
double **  val 
)

function computes strains in arbitrary point on element

Parameters:
xi,eta - natural coordinates of the point
eps - array containing strains
val - array containing values on element

11.5.2002

Definition at line 773 of file plelemqt.cpp.

References allocv(), approx(), destrv(), nne, and nodval().

Referenced by allip_strains(), allip_stresses(), compute_error(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), elem_stresses(), local_values(), ntdbr_vector(), strains(), and stresses().

void bf_matrix ( matrix n,
double  xi,
double  eta 
)

function assembles matrix of approximation function

Parameters:
n - matrix of approximation functions
xi,eta - natural coordinates

17.8.2001

Definition at line 123 of file plelemqt.cpp.

References vector::a, bf_quad_3_2d(), fillm(), and nne.

Referenced by load_matrix(), mass_matrix(), and nodeforces().

void compute_eigstress ( long  lcid,
long  eid,
long  ri,
long  ci 
)

function computes correct eigen stresses caused by temperature 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 1650 of file plelemqt.cpp.

References mechtop::elements, mechmat::giveeigstrain(), intordsm, element::ipp, mechmat::matstiff(), Mm, Mt, mxv(), nb, mechmat::storeeigstress(), and tncomp.

Referenced by eigstrain_forces().

double compute_error ( long  eid,
double &  e2,
double &  u2,
double &  sizel,
vector rsigfull 
)

Function 1. 1. computes "e2" - square of energy norm of error of solution on element e2 = integral{ (sig_star - sig_roof)T * D_inv * (sig_star - sig_roof) } sig_star = recovered stress, values in nodes are defined by "rsigfull" and over element are interpolated by base functions sig_roof = stress obtained by FEM D_inv = inverse stiffness matrix of material 2. computes "u2" - square of energy norm of strain on element u2 = integral{ epsT * D * eps } eps = strain obtained by FEM D = stiffness matrix of material 3. computes area of element and adds to "volume" (sum of areas of previous elements) 4. computes "sizel" (characteristic size of element)

Parameters:
eid - element id
volume - sum of areas of previous elements
e2 - empty(returned) value;
u2 - empty(returned) value;
sizel - empty(returned) value;
rsigfull - 1Darray of stress in nodes; dimmension is ncomp*gt->nn after this manner {(val[0]; ... ;val[gt->nn])[0] ; ... ; (val[0]; ... ;val[gt->nn])[ncomp]}

created 3.5.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz

Definition at line 2093 of file plelemqt.cpp.

References vector::a, approx(), appval(), bf_quad_3_2d(), elem_strains(), mechtop::elements, gauss_points_tr(), give_der_star(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), invm(), element::ipp, jac_2d(), mechmat::matstiff(), Mc, Mm, Mt, mxv(), mechtop::nn, nne, nodes, subv(), tncomp, and vxmxv().

Referenced by adaptivity::compute_error().

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

TKo, 7.2008

Definition at line 1469 of file plelemqt.cpp.

References vector::a, allocv(), appval(), mechmat::computenlstresses(), elem_strains(), mechtop::elements, gauss_points_tr(), intordsm, element::ipp, Mm, Mp, Mt, nb, nne, mechmat::storestrain(), probdesc::strcomp, and tncomp.

Referenced by elem_nlstresses(), and internal_forces().

void compute_nlstressincr ( long  lcid,
long  eid,
long  ri,
long  ci 
)

function computes correct stress increments 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 1605 of file plelemqt.cpp.

References vector::a, allocv(), appval(), mechmat::computenlstressesincr(), elem_strains(), mechtop::elements, gauss_points_tr(), intordsm, element::ipp, Mm, Mp, Mt, nb, nne, mechmat::storestrain(), probdesc::strcomp, and tncomp.

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

TKo, 7.2008

Definition at line 1560 of file plelemqt.cpp.

References vector::a, allocv(), appval(), mechmat::compnonloc_nlstresses(), elem_strains(), mechtop::elements, gauss_points_tr(), intordsm, element::ipp, Mm, Mp, Mt, nb, nne, mechmat::storestrain(), probdesc::strcomp, and tncomp.

Referenced by nonloc_internal_forces().

void dmatblock ( long  ri,
long  ci,
matrix d,
matrix dd 
)

function assembles blocks of stiffness matrix of material

Parameters:
ri - row index
ci - column index
d - stiffness matrix of material
dd - required block of stiffness matrix of material

Definition at line 216 of file plelemqt.cpp.

References fillm().

Referenced by elem_stresses(), mainip_stresses(), nod_stresses(), and stiffness_matrix().

void eigstrain_forces ( long  lcid,
long  eid,
long  ri,
long  ci,
vector nfor,
vector x,
vector y 
)

function computes nodal forces caused by temperature changes

Parameters:
eid - element id
ri,ci - row and column indices
nfor - array containing nodal forces
x,y - nodal coordinates

7.2008, TKo

Definition at line 1261 of file plelemqt.cpp.

References compute_eigstress(), probdesc::eigstrcomp, eigstress, elem_integration(), and Mp.

Referenced by res_eigstrain_forces().

void elchar ( long  eid,
matrix spsig 
)

Only for Termit

created 3.5.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz This function prepare array 'spder' for using in function `least_squarespr_default`. It allocates and fills up array 'spder' by derivatives(strain ro stress) in sampling points. For planeelemlt sampling points == main integration point == Gauss's point at the centroid of element.

Parameters:
eid - element id
spder - allocated array
flags - determines by which derivate is spder filled

created 3.5.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz

Definition at line 2322 of file plelemqt.cpp.

References vector::a, matrix::a, allocm(), mechtop::elements, mechmat::ip, element::ipp, matrix::m, mechmat::matstiff(), Mm, Mt, mxv(), matrix::n, intpoints::strain, and tncomp.

Referenced by adaptivity::spr().

void elem_integration ( integratedquant  iq,
long  lcid,
long  eid,
long  ri,
long  ci,
vector nv,
vector x,
vector y 
)

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 - node coordinates

TKo, 7.2008

Definition at line 1413 of file plelemqt.cpp.

References vector::a, addv(), allocm(), allocv(), approx(), cmulv(), cncomp, destrm(), destrv(), mechtop::elements, fillv(), gauss_points_tr(), geom_matrix_block(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), mechmat::givequantity(), intordsm, element::ipp, Mc, Mm, Mt, mtxv(), nb, ncomp, ndofe, nne, and nodes.

Referenced by eigstrain_forces(), incr_internal_forces(), internal_forces(), and nonloc_internal_forces().

void elem_strains ( double **  stra,
long  lcid,
long  eid,
long  ri,
long  ci 
)
void elem_stresses ( double **  stra,
double **  stre,
long  lcid,
long  eid,
long  ri,
long  ci 
)

function computes stresses in nodes

Parameters:
lcid - load case id
eid - element id
ri,ci - row and column indices

10.5.2002

Definition at line 955 of file plelemqt.cpp.

References vector::a, addv(), allocm(), allocv(), appstrain(), appval(), cncomp, destrm(), destrv(), dmatblock(), mechtop::elements, fillv(), gauss_points_tr(), intordsm, element::ipp, matassem_lsm(), mechmat::matstiff(), Mm, Mp, Mt, mxv(), nb, ncomp, nne, nodal_values(), nodecoord(), nullv(), rhsassem_lsm(), solve_lsm(), probdesc::strainaver, tncomp, and probdesc::zero.

Referenced by stresses().

void geom_matrix ( matrix gm,
vector x,
vector y,
double  xi,
double  eta,
double &  jac 
)

function assembles geometric matrix

Parameters:
gm - geometric matrix
x,y - node coordinates
xi,eta - natural coordinates
jac - Jacobian

1.4.2002

Definition at line 148 of file plelemqt.cpp.

References vector::a, derivatives_2d(), dx_bf_quad_3_2d(), dy_bf_quad_3_2d(), fillm(), and nne.

void geom_matrix_block ( matrix gm,
long  ri,
vector x,
vector y,
double  xi,
double  eta,
double &  jac 
)

function assembles geometric matrix

Parameters:
gm - geometric matrix
x,y - node coordinates
xi,eta - natural coordinates
jac - Jacobian

1.4.2002

Definition at line 179 of file plelemqt.cpp.

References vector::a, derivatives_2d(), dx_bf_quad_3_2d(), dy_bf_quad_3_2d(), fillm(), and nne.

Referenced by elem_integration(), mainip_strains(), and stiffness_matrix().

void give_sig_roof ( matrix d,
double *  areacoord,
double *  x,
double *  y,
long *  etnodes,
double **  xyrr,
vector sig_roof,
vector sig_star 
)
void incr_internal_forces ( long  lcid,
long  eid,
long  ri,
long  ci,
vector ifor,
vector x,
vector y 
)

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 - vectors of nodal coordinates

TKo 7.2008

Definition at line 1238 of file plelemqt.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 1814 of file plelemqt.cpp.

References vector::a, allocv(), approx(), destrv(), mechtop::elements, intpoints::eqother, gauss_points_tr(), 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.

Referenced by mechbclc::inicipval().

void internal_forces ( long  lcid,
long  eid,
long  ri,
long  ci,
vector ifor,
vector x,
vector y 
)

function computes internal forces

Parameters:
lcid - load case id
eid - element id
ri,ci - row and column indices
ifor - vector of internal forces
x,y - vectors of nodal coordinates

TKo 7.2008

Definition at line 1190 of file plelemqt.cpp.

References compute_nlstress(), elem_integration(), and locstress.

Referenced by res_internal_forces().

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
ri,ci - row and column indices
coord - vector of coordinates

19.1.2002

Definition at line 1682 of file plelemqt.cpp.

References vector::a, approx(), mechtop::elements, gauss_points_tr(), mechtop::give_node_coord2d(), intordsm, element::ipp, Mt, and nne.

Referenced by ipcoord().

void ipcoordblock ( long  eid,
long  ri,
long  ci,
double **  coord 
)

function returns coordinates of integration points

Parameters:
eid - element id
ri - row index
ci - column index
coord - array of coordinates

19.1.2002

Definition at line 1711 of file plelemqt.cpp.

References vector::a, approx(), gauss_points_tr(), mechtop::give_node_coord2d(), intordsm, Mt, and nne.

void ipvolume ( long  eid,
long  ri,
long  ci 
)

function computes volume appropriate to integration point

2.3.2004, JK 07.2008 TKo - multiplictaion by thickness added

Definition at line 1929 of file plelemqt.cpp.

References vector::a, allocv(), approx(), destrv(), mechtop::elements, gauss_points_tr(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), intordsm, element::ipp, jac_2d(), Mc, Mm, Mt, nb, nne, nodes, and mechmat::storeipvol().

Referenced by ipvolume().

void load_matrix ( long  eid,
matrix lm 
)

function computes load matrix of triangular finite element with quadratic approximation functions load vector is obtained after premultiplying load matrix by nodal load values

Parameters:
eid - number of element
lm - load matrix

25.8.2001

Definition at line 403 of file plelemqt.cpp.

References matrix::a, approx(), bf_matrix(), fillm(), gauss_points_tr(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), intordmm, jac_2d(), matrix::m, Mc, Mt, matrix::n, napfun, ndofe, nne, nnj(), and nodes.

Referenced by loadmat().

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 1515 of file plelemqt.cpp.

References vector::a, allocv(), appval(), mechmat::computenlstresses(), elem_strains(), mechtop::elements, gauss_points_tr(), intordsm, element::ipp, Mm, Mp, Mt, nb, nne, mechmat::storestrain(), probdesc::strcomp, and tncomp.

Referenced by elem_local_values().

void mainip_strains ( long  lcid,
long  eid,
long  ri,
long  ci,
vector x,
vector y,
vector r 
)

function computes strains in main integration points of element

Parameters:
lcid - load case id
eid - element id
ri - row index
ci - column index

10.5.2002

Definition at line 474 of file plelemqt.cpp.

References vector::a, allocm(), allocv(), cncomp, destrm(), destrv(), mechtop::elements, gauss_points_tr(), geom_matrix_block(), intordsm, element::ipp, Mm, Mt, mxv(), nb, ncomp, ndofe, and mechmat::storestrain().

Referenced by res_mainip_strains().

void mainip_stresses ( long  lcid,
long  eid,
long  ri,
long  ci 
)

function computes stresses in main integration points of element

Parameters:
lcid - load case id
eid - element id
ri - row index
ci - column index

10.5.2002

Definition at line 802 of file plelemqt.cpp.

References vector::a, addv(), allocm(), allocv(), appstrain(), cncomp, destrm(), destrv(), dmatblock(), mechtop::elements, fillv(), gauss_points_tr(), mechmat::givestrain(), intordsm, element::ipp, mechmat::matstiff(), Mm, Mp, Mt, mxv(), nb, ncomp, mechmat::storestress(), probdesc::strainaver, and tncomp.

void mass_matrix ( long  eid,
matrix mm 
)

function computes mass matrix of triangular finite element with quadratic approximation functions

Parameters:
eid - element id
mm - mass matrix

25.8.2001

Definition at line 354 of file plelemqt.cpp.

References matrix::a, approx(), bf_matrix(), fillm(), gauss_points_tr(), mechcrsec::give_density(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), intordmm, jac_2d(), matrix::m, Mc, Mt, matrix::n, napfun, ndofe, nne, nnj(), and nodes.

Referenced by massmat().

void nod_strains ( long  lcid,
long  eid,
long  ri,
long  ci 
)

function computes strains in nodes of element

Parameters:
lcid - load case id
eid - element id

10.5.2002

Definition at line 510 of file plelemqt.cpp.

References vector::a, allocv(), cncomp, destrv(), mechtop::elements, gauss_points_tr(), mechtop::give_elemnodes(), mechmat::givestrain(), intordsm, element::ipp, matassem_lsm(), Mm, Mp, Mt, nb, ncomp, nne, nodecoord(), nodes, nullv(), rhsassem_lsm(), solve_lsm(), mechtop::strain_nodal_values(), and probdesc::zero.

Referenced by compute_nodestrains().

void nod_stresses ( long  lcid,
long  eid,
long  ri,
long  ci 
)
void nodecoord ( vector xi,
vector eta 
)

function assembles natural coordinates of nodes of element

Parameters:
xi - array containing natural coordinates xi
eta - array containing natrual coordinates eta

10.5.2002

Definition at line 754 of file plelemqt.cpp.

Referenced by elem_strains(), elem_stresses(), nod_strains(), and nod_stresses().

void nodeforces ( long  eid,
long *  le,
double *  nv,
vector nf 
)
void nonloc_internal_forces ( long  lcid,
long  eid,
long  ri,
long  ci,
vector ifor,
vector x,
vector y 
)

function computes internal forces for nonlocal models

Parameters:
lcid - load case id
eid - element id
ri,ci - row and column indices
ifor - vector of internal forces
x,y - vectors of nodal coordinates

TKo 7.2008

Definition at line 1214 of file plelemqt.cpp.

References compute_nonloc_nlstress(), elem_integration(), and nonlocstress.

Referenced by res_nonloc_internal_forces().

void ntdbr_vector ( long  eid,
vector ntdbr 
)

Function integrates function "NT*D*B*r" (= NT*Stress) over whole element. N is matrix of basic functions. !!! Values in 'ntdbr' are stored unusually. Not after this manner {(val[0]; ... ;val[tncomp])[0] ; ... ; (val[0]; ... ;val[tncomp])[nne]} but after this manner {(val[0]; ... ;val[nne])[0] ; ... ; (val[0]; ... ;val[nne])[ntncomp]}

Parameters:
eid - element id
ntdbr - empty(returned) array, dimension is tncomp*nne

created 3.5.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz

Definition at line 1982 of file plelemqt.cpp.

References vector::a, approx(), appval(), bf_quad_3_2d(), elem_strains(), mechtop::elements, fillv(), gauss_points_tr(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), element::ipp, jac_2d(), mechmat::matstiff(), Mc, Mm, Mt, mxv(), nne, nodes, and tncomp.

Referenced by z2_smoothing::compute_ntdbr().

void ntn_matrix ( long  eid,
matrix ntn 
)

Function integrates function "NT*N" over whole element. N is matrix of basic functions. !!! Matrix N is composed of three same blocks, it is computed only one third.

Parameters:
eid - element id
ntn - empty(returned) 2Darray, dimension is nne x nne

created 3.5.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz

Definition at line 2040 of file plelemqt.cpp.

References vector::a, approx(), bf_quad_3_2d(), fillm(), gauss_points_tr(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), jac_2d(), Mc, Mt, nne, and nodes.

Referenced by z2_smoothing::compute_ainv(), and z2_smoothing::compute_ntn_sky().

void res_eigstrain_forces ( long  lcid,
long  eid,
vector nfor 
)

function computes resulting contributions from eigenstrains to the right hand side

Parameters:
lcid - load case id
eid - element id
nfor - vector of internal forces

TKo, 7.2008

Definition at line 1378 of file plelemqt.cpp.

References copyv(), eigstrain_forces(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), 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 
)

function computes resulting increment of internal forces

Parameters:
lcid - load case id
eid - element id
ifor - vector of internal forces

TKo, 7.2008

Definition at line 1347 of file plelemqt.cpp.

References copyv(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), 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 resulting internal forces

Parameters:
lcid - load case id
eid - element id
ifor - vector of internal forces

TKo, 7.2008

Definition at line 1285 of file plelemqt.cpp.

References copyv(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), glvectortransf(), internal_forces(), mechtop::locsystems(), Mt, ndofe, nne, nodes, and transf_matrix().

Referenced by elem_internal_forces().

void res_mainip_strains ( long  lcid,
long  eid 
)
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 1316 of file plelemqt.cpp.

References copyv(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), glvectortransf(), mechtop::locsystems(), Mt, ndofe, nne, nodes, nonloc_internal_forces(), and transf_matrix().

Referenced by elem_nonloc_internal_forces().

void res_stiffness_matrix ( long  eid,
matrix sm 
)
void stiffness_matrix ( long  eid,
long  ri,
long  ci,
matrix sm,
vector x,
vector y 
)

function computes stiffness matrix of triangular finite element with quadratic approximation functions

Parameters:
eid - element id
sm - stiffness matrix

25.8.2001

Definition at line 270 of file plelemqt.cpp.

References vector::a, allocm(), allocv(), approx(), bdbjac(), destrm(), destrv(), dmatblock(), mechtop::elements, fillm(), gauss_points_tr(), geom_matrix_block(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), intordsm, element::ipp, mechmat::matstiff(), Mc, Mm, Mt, nb, ncomp, ndofe, nne, nodes, and tncomp.

Referenced by res_stiffness_matrix().

void strains ( long  lcid,
long  eid,
long  ri,
long  ci 
)
void stresses ( long  lcid,
long  eid,
long  ri,
long  ci 
)
void transf_matrix ( ivector nodes,
matrix tmat 
)

function assembles transformation matrix x_g = T x_l

17.8.2001

Definition at line 241 of file plelemqt.cpp.

References node::e1, node::e2, fillm(), matrix::m, Mt, ivector::n, mechtop::nodes, and node::transf.

Referenced by res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_mainip_strains(), res_nonloc_internal_forces(), and res_stiffness_matrix().


Member Data Documentation

long* cncomp

array containing cumulative numbers of components of stress and strain tensors

Definition at line 98 of file plelemqt.h.

Referenced by elem_integration(), elem_strains(), elem_stresses(), mainip_strains(), mainip_stresses(), nod_strains(), nod_stresses(), planeelemqt(), and ~planeelemqt().

long gncomp

number of components for graphic purposes

Definition at line 92 of file plelemqt.h.

Referenced by planeelemqt().

long intordb

order of integration on edges

Definition at line 110 of file plelemqt.h.

Referenced by nodeforces(), and planeelemqt().

long intordmm

order of integration of mass matrix

Definition at line 108 of file plelemqt.h.

Referenced by load_matrix(), mass_matrix(), and planeelemqt().

long** intordsm
long napfun

number of approximated functions on the element

Definition at line 100 of file plelemqt.h.

Referenced by mechtop::give_napfun(), load_matrix(), mass_matrix(), nodeforces(), and planeelemqt().

long nb
long* ncomp

array containing numbers of components of stress and strain tensors

Definition at line 96 of file plelemqt.h.

Referenced by adaptivity::check_consistency(), elem_integration(), elem_strains(), elem_stresses(), mainip_strains(), mainip_stresses(), nod_strains(), nod_stresses(), planeelemqt(), stiffness_matrix(), and ~planeelemqt().

long ndofe
long ned

number of edges on one element

Definition at line 102 of file plelemqt.h.

Referenced by mechtop::give_ned(), and planeelemqt().

long** nip

array of numbers of integration points in sets

Definition at line 112 of file plelemqt.h.

Referenced by adaptivity::check_consistency(), mechtop::give_nip(), planeelemqt(), and ~planeelemqt().

long nne
long nned

number of nodes on one edge

Definition at line 104 of file plelemqt.h.

Referenced by mechtop::give_nned(), and planeelemqt().

stress/strain state

Definition at line 116 of file plelemqt.h.

long tncomp
long tnip

total number of integration points on element

Definition at line 94 of file plelemqt.h.

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


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

Generated by  doxygen 1.6.2