planeelemqq Class Reference

#include <plelemqq.h>

List of all members.

Public Member Functions

double approx (double xi, double eta, vector &nodval)
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 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 geom_matrix (matrix &gm, vector &x, vector &y, double xi, double eta, double &jac)
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 intpointval (long eid, vector &nodval, vector &ipval)
void intpointval2 (long eid, vector &nodval, vector &ipval)
void ip_strains (long lcid, long eid, long ri, long ci, vector &x, vector &y, vector &r)
void ip_stresses (long lcid, long eid, long ri, long ci)
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, vector &x, vector &y)
void local_values (long lcid, long eid, long ri, long ci)
void mass_matrix (long eid, matrix &mm, vector &x, vector &y)
void midpoints (long eid, long dd, double *valel)
void nod_eqother_ip (long eid, long ri, long ci)
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 nodeforces (long eid, long *le, double *nv, vector &nf, vector &x, vector &y)
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)
void ntdbr_vector (long eid, vector &ntdbr)
void ntn_matrix (long eid, matrix &ntn)
 planeelemqq (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_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_nodeforces (long eid, long *le, double *nv, vector &nf)
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)
 ~planeelemqq (void)

Public Attributes

long * cncomp
 array of cumulative numbers of components
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 of numbers of components
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 planeelemqq defines plane quadrilateral element with bi-quadratic approximation functions

JK

Definition at line 16 of file plelemqq.h.


Constructor & Destructor Documentation

planeelemqq ( void   ) 

Definition at line 17 of file plelemqq.cpp.

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

~planeelemqq ( void   ) 

Definition at line 73 of file plelemqq.cpp.

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


Member Function Documentation

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

procedure approximates function defined by nodal values

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

JK

Definition at line 97 of file plelemqq.cpp.

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

Referenced by compute_error(), elem_integration(), planeelemqt::give_sig_roof(), inicipval(), interpolate(), intpointval(), ipcoord(), ipcoordblock(), ipvolume(), load_matrix(), mass_matrix(), midpoints(), ntdbr_vector(), ntn_matrix(), and stiffness_matrix().

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

function returns matrix of approximation functions

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

JK, 25.8.2001

Definition at line 117 of file plelemqq.cpp.

References vector::a, bf_quad_4_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

JK, 27.11.2006

Definition at line 1213 of file plelemqq.cpp.

References mechtop::elements, mechmat::giveeigstrain(), intordsm, element::ipp, mechmat::matstiff(), Mm, Mt, mxv(), 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 1928 of file plelemqq.cpp.

References vector::a, approx(), bf_quad_4_2d(), eldispl(), mechtop::elements, gauss_points(), geom_matrix(), give_der_star(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), invm(), element::ipp, mechmat::matstiff(), Mc, Mm, Mt, mxv(), ndofe, 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

JK, 27.11.2006

Definition at line 1097 of file plelemqq.cpp.

References mechmat::computenlstresses(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, and probdesc::strcomp.

Referenced by elem_nlstresses(), and 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 1126 of file plelemqq.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 1184 of file plelemqq.cpp.

References mechmat::compnonloc_nlstresses(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, and probdesc::strcomp.

Referenced by nonloc_internal_forces().

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

function computes nodal forces caused by eigenstrains eigenstrain expresses e.g. temperature strains

this function is used in plane stress/strain elements (function is called by function res_eigstrain_forces) and shell elements

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

30.11.2002, JK

Definition at line 935 of file plelemqq.cpp.

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

Referenced by res_eigstrain_forces().

void elchar ( long  eid,
matrix spsig 
)

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 1994 of file plelemqq.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

JK, 27.11.2006 TKo 7.2008

Definition at line 1254 of file plelemqq.cpp.

References vector::a, addv(), allocv(), approx(), cmulv(), cncomp, destrv(), mechtop::elements, fillv(), gauss_points(), geom_matrix(), mechcrsec::give_thickness(), mechmat::givequantity(), intordsm, element::ipp, Mc, Mm, Mt, mtxv(), ndofe, nne, nodes, and tncomp.

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

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

function assembles geometric matrix (strain-displacement matrix)

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

JK, 9.7.2001

Definition at line 145 of file plelemqq.cpp.

References vector::a, derivatives_2d(), dx_bf_quad_4_2d(), dy_bf_quad_4_2d(), fillm(), and nne.

Referenced by compute_error(), elem_integration(), planeelemqt::give_sig_roof(), ip_strains(), quadrilatc::lower_cap_coup_matrix(), quadrilatc::lower_cond_coup_matrix(), quadrilatc::mainip_strains(), ntdbr_vector(), stiffness_matrix(), quadrilatc::upper_cap_coup_matrix(), quadrilatc::upper_cond_coup_matrix(), and quadrilatc::upper_cond_coup_vector().

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

function computes increment of internal forces (from correct stresses increment)

Parameters:
lcid - number of load case
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 906 of file plelemqq.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 1553 of file plelemqq.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.

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

this function is used in plane stress/strain elements (function is called by function res_internal_forces) and shell elements

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

25.8.2001, JK modified 23.11.2006

Definition at line 852 of file plelemqq.cpp.

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

Referenced by res_internal_forces().

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

function interpolates the nodal values to the integration points on the element quadratic approximation functions are used

Parameters:
eid - element id
nodval - nodal values
ipval - value at integration points

21.6.2004, JK

Definition at line 1723 of file plelemqq.cpp.

References vector::a, allocv(), approx(), destrv(), gauss_points(), intordsm, and nb.

Referenced by elem_intpointval().

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

function interpolates the nodal values to the integration points on the element linear approximation functions are used

Parameters:
eid - element id
nodval - nodal values
ipval - value at integration points

21.6.2004, JK

Definition at line 1765 of file plelemqq.cpp.

References vector::a, allocv(), planeelemlq::approx(), destrv(), gauss_points(), intordsm, nb, planeelemlq::nne, and Pelq.

Referenced by elem_intpointval2().

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

function computes strains at integration points of element

this function is used in plane stress/strain elements (function is called by function res_ip_strains) and shell elements

Parameters:
lcid - load case id
eid - element id
ri - row index
ci - column index
x,y - node coordinates
r - nodal displacements

10.5.2002, JK, modified 23.11.2006

Definition at line 502 of file plelemqq.cpp.

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

Referenced by res_ip_strains().

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

function computes stresses in integration points of element

Parameters:
eid - element id
ri - row index
ci - column index

10.5.2002

Definition at line 671 of file plelemqq.cpp.

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

10.1.2002

Definition at line 1310 of file plelemqq.cpp.

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

Referenced by ipcoord().

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

function assembles coordinates of integration points in block [ri][ci]

Parameters:
eid - element id
ri - row index
ci - column index
ipcoord - array containing coordinates of integration points

8.5.2002

Definition at line 1344 of file plelemqq.cpp.

References vector::a, approx(), gauss_points(), 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 1670 of file plelemqq.cpp.

References vector::a, allocv(), approx(), destrv(), mechtop::elements, gauss_points(), 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,
vector x,
vector y 
)

function computes load matrix of the plane stress rectangular finite element with biquadratic approximation functions load vector is obtained after premultiplying load matrix by nodal load values

this function is used in plane stress/strain elements (function is called by function res_load_matrix) and shell elements

Parameters:
eid - number of element
lm - load matrix
x,y - node coordinates

JK, 25.8.2001

Definition at line 388 of file plelemqq.cpp.

References matrix::a, approx(), bf_matrix(), fillm(), gauss_points(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), intordmm, jac_2d(), matrix::m, Mc, 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 1155 of file plelemqq.cpp.

References mechmat::computenlstresses(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, and probdesc::strcomp.

Referenced by elem_local_values().

void mass_matrix ( long  eid,
matrix mm,
vector x,
vector y 
)

function computes mass matrix of the plane stress rectangular finite element with biquadratic approximation functions

this function is used in plane stress/strain elements (function is called by function res_mass_matrix) and shell elements

Parameters:
eid - number of element
mm - mass matrix
x,y - node coordinates

JK, 25.8.2001

Definition at line 304 of file plelemqq.cpp.

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

Referenced by res_mass_matrix().

void midpoints ( long  eid,
long  dd,
double *  valel 
)

function computes displacement, strain and stress in the centre=middle of element

Parameters:
eid - number of element dd - decomposed deformation
valel - array of displacements, strains and stresses in the middle of all elements

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

Definition at line 1501 of file plelemqq.cpp.

References approx(), mechtop::give_elemnodes(), Mt, nne, noddispl(), nodes, nodval(), and tncomp.

Referenced by print_default_dx().

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

function computes other values in nodes of element

Parameters:
eid - element id

10.5.2002

Definition at line 808 of file plelemqq.cpp.

References vector::a, allocv(), destrv(), mechtop::give_elemnodes(), mechmat::giveeqother(), mechmat::givencompeqother(), Mm, Mt, nne, nod, mechtop::nodes, nodipnum(), and node::storeother().

Referenced by compute_nodeothers().

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

function assembles strains at nodes of element strains are obtained from the nearest integration points

Parameters:
lcid - load case id
eid - element id
ri,ci - row and column indices (default value is 0, nonzero values are used in shell elements)

10.5.2002

Definition at line 545 of file plelemqq.cpp.

References mechtop::give_elemnodes(), mechmat::givestrain(), gncomp, Mm, Mt, nne, nod, mechtop::nodes, nodipnum(), and node::storestrain().

Referenced by compute_nodestrains(), and strains().

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

function computes stresses at nodes of element

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

10.5.2002

Definition at line 729 of file plelemqq.cpp.

References mechtop::give_elemnodes(), mechmat::givestress(), gncomp, Mm, Mt, nne, nod, mechtop::nodes, nodipnum(), and node::storestress().

Referenced by compute_nodestresses(), and stresses().

void nodeforces ( long  eid,
long *  le,
double *  nv,
vector nf,
vector x,
vector y 
)

function computes nodal forces caused by edge load

this function is used in plane stress/strain elements (function is called by function res_nodeforces) and shell elements

Parameters:
eid - element id
le - list of loaded edges
nv - nodal values of edge loads, it contains 24 components
nf - vector of nodal forces
x,y - node coordinates

nv contains 2 values at each node on each edge, each edge contains 3 nodes, element contains 4 edges, therefore, nv contains 4*3*2 = 24 components

JK, modification 23.11.2006

Definition at line 1403 of file plelemqq.cpp.

References matrix::a, addv(), bf_matrix(), fillm(), fillv(), gauss_points(), intordb, jac1d_2d(), mxv(), napfun, ndofe, and nnj().

Referenced by res_nodeforces().

void nodipnum ( long  eid,
long  ri,
long  ci,
ivector ipnum 
)

function returns numbers of integration point closest to element nodes

Parameters:
eid - element id
ri,ci - row and column indices
ipnum - array of numbers

JK, 25.9.2004

Definition at line 634 of file plelemqq.cpp.

References mechtop::elements, intordsm, element::ipp, and Mt.

Referenced by nod_eqother_ip(), nod_strains_ip(), and nod_stresses_ip().

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

this function is used in plane stress/strain elements (function is called by function res_nonloc_internal_forces) and shell elements

Parameters:
lcid - number of load case
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 881 of file plelemqq.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 1816 of file plelemqq.cpp.

References vector::a, approx(), bf_quad_4_2d(), eldispl(), mechtop::elements, fillv(), gauss_points(), geom_matrix(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), element::ipp, mechmat::matstiff(), Mc, Mm, Mt, mxv(), ndofe, 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 1871 of file plelemqq.cpp.

References vector::a, approx(), bf_quad_4_2d(), fillm(), gauss_points(), 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 nodal forces caused by eigenstrains eigenstrain expresses e.g. temperature strains

Parameters:
lcid - load case id
eid - element id
nfor - array containing nodal forces

30.11.2002, JK

Definition at line 1063 of file plelemqq.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 increments of internal forces

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

TKo, 7.2008

Definition at line 1028 of file plelemqq.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 internal forces

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

JK, modified 23.11.2006

Definition at line 959 of file plelemqq.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_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 464 of file plelemqq.cpp.

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

Definition at line 657 of file plelemqq.cpp.

Referenced by compute_ipstresses().

void res_load_matrix ( long  eid,
matrix lm 
)

function assembles load matrix of plane stress rectangular finite element with biquadratic approximation functions

Parameters:
eid - element id
lm - load matrix

JK

Definition at line 434 of file plelemqq.cpp.

References mechtop::give_elemnodes(), mechtop::give_node_coord2d(), glmatrixtransf(), load_matrix(), mechtop::locsystems(), Mt, ndofe, nne, nodes, and transf_matrix().

Referenced by loadmat().

void res_mass_matrix ( long  eid,
matrix mm 
)

function assembles mass matrix of plane stress rectangular finite element with biquadratic approximation functions

Parameters:
eid - element id
mm - mass matrix

JK

Definition at line 353 of file plelemqq.cpp.

References mechtop::give_elemnodes(), mechtop::give_node_coord2d(), glmatrixtransf(), mechtop::locsystems(), mass_matrix(), Mt, ndofe, nne, nodes, and transf_matrix().

Referenced by massmat().

void res_nodeforces ( long  eid,
long *  le,
double *  nv,
vector nf 
)

function computes nodal forces caused by edge load

Parameters:
eid - element id
le - list of loaded edges
nv - nodal values of edge loads, it contains 24 components
nf - vector of nodal forces

nv contains 2 values at each node on each edge, each edge contains 3 nodes, element contains 4 edges, therefore, nv contains 4*3*2 = 24 components

JK, modification 23.11.2006

Definition at line 1379 of file plelemqq.cpp.

References mechtop::give_node_coord2d(), Mt, nne, and nodeforces().

Referenced by loadel::edgeload().

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

JK, 22.9.2005

Definition at line 994 of file plelemqq.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 
)

function assembles stiffness matrix of plane stress rectangular finite element with biquadratic approximation functions

Parameters:
eid - element id
sm - stiffness matrix

JK

Definition at line 270 of file plelemqq.cpp.

References mechtop::give_elemnodes(), mechtop::give_node_coord2d(), glmatrixtransf(), mechtop::locsystems(), Mt, ndofe, nne, nodes, stiffness_matrix(), and transf_matrix().

Referenced by stiffmat().

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

function computes stiffness matrix of plane stress rectangular finite element with biquadratic approximation functions

this function is used in plane stress/strain elements (function is called by function res_stiffness_matrix) and shell elements

Parameters:
eid - number of element
ri,ci - row and column indices
sm - stiffness matrix
x,y - node coordinates

JK, 25.8.2001

Definition at line 210 of file plelemqq.cpp.

References matrix::a, vector::a, allocv(), approx(), bdbj(), destrv(), mechtop::elements, fillm(), gauss_points(), geom_matrix(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), intordsm, element::ipp, matrix::m, mechmat::matstiff(), Mc, Mm, Mt, matrix::n, nb, ndofe, nne, nodes, and tncomp.

Referenced by res_stiffness_matrix().

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

function computes strains at required position on elements function possibly transforms strains to required coordinate systems

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

JK, 23.11.2006

Definition at line 578 of file plelemqq.cpp.

References enodes, intpts, Mm, nod_strains_ip(), nowhere, mechmat::stra, aepoints::tape, and userdefined.

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

Definition at line 753 of file plelemqq.cpp.

References enodes, intpts, Mm, nod_stresses_ip(), nowhere, mechmat::stre, aepoints::tape, and userdefined.

Referenced by computestresses().

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 - element nodes
tmat - transformation matrix

JK,

Definition at line 176 of file plelemqq.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_ip_strains(), res_load_matrix(), quadrilatc::res_mainip_strains(), res_mass_matrix(), res_nonloc_internal_forces(), and res_stiffness_matrix().


Member Data Documentation

long* cncomp

array of cumulative numbers of components

Definition at line 99 of file plelemqq.h.

Referenced by elem_integration(), planeelemqq(), and ~planeelemqq().

long gncomp

number of components for graphic purposes

Definition at line 93 of file plelemqq.h.

Referenced by nod_strains_ip(), nod_stresses_ip(), and planeelemqq().

long intordb

order of integration on edges

Definition at line 111 of file plelemqq.h.

Referenced by nodeforces(), and planeelemqq().

long intordmm

order of integration of mass matrix

Definition at line 109 of file plelemqq.h.

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

long** intordsm
long napfun

number of approximated functions on the element

Definition at line 101 of file plelemqq.h.

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

long nb
long* ncomp

array of numbers of components

Definition at line 97 of file plelemqq.h.

Referenced by adaptivity::check_consistency(), ip_strains(), planeelemqq(), quadrilatc::quadrilatc(), and ~planeelemqq().

long ndofe
long ned

number of edges on one element

Definition at line 103 of file plelemqq.h.

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

long** nip

array of numbers of integration points in sets

Definition at line 113 of file plelemqq.h.

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

long nne
long nned

number of nodes on one edge

Definition at line 105 of file plelemqq.h.

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

stress/strain state

Definition at line 117 of file plelemqq.h.

long tncomp
long tnip

total number of integration points on element

Definition at line 95 of file plelemqq.h.

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


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

Generated by  doxygen 1.6.2