#include <plelemqq.h>
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 |
class planeelemqq defines plane quadrilateral element with bi-quadratic approximation functions
JK
Definition at line 16 of file plelemqq.h.
planeelemqq | ( | void | ) |
~planeelemqq | ( | void | ) |
double approx | ( | double | xi, | |
double | eta, | |||
vector & | nodval | |||
) |
procedure approximates function defined by nodal values
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
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
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)
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
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
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
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
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.
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
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().
function assembles geometric matrix (strain-displacement matrix)
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)
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().
The function computes initial values of the given quantities at each integration point of the element from the nodal values given by the parameter nodval. Initial condition types must be the same for all nodes of the element.
eid | - element id | |
ri | - block row index | |
ci | - block column index | |
nodval | - nodal values of particular initial conditions. nodval[i][j] represents value of j-th initial condition at i-th node of the given element. | |
ictn | - array of types of initial condition for each node of element. The type of initial condition determines which values are being specified in the node. (ictn[i] & inistrain) returns nonzero if nodal values of initial strains are specified (ictn[i] & inistress) returns nonzero if nodal values of initial stresses are specified (ictn[i] & iniother) returns nonzero if nodal values of initial values of eqother array are specified (ictn[i] & inicond) returns nonzero if nodal values of other initial conditions are specified |
The function does not return anything.
Created by Tomas Koudelka 2004 Revised by Tomas Koudelka 03.2012
Definition at line 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
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().
function interpolates the nodal values to the integration points on the element quadratic approximation functions are used
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().
function interpolates the nodal values to the integration points on the element linear approximation functions are used
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().
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
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
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
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]
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().
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
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.
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().
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
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
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
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
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
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().
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
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
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
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]}
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.
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
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
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
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
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
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
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
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
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
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().
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
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
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().
function assembles transformation matrix from local nodal coordinate system to the global coordinate system x_g = T x_l
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().
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 |
array of orders of integration of stiffness matrix
Definition at line 107 of file plelemqq.h.
Referenced by compute_eigstress(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), elem_integration(), export_gid_gauss_pt(), mechtop::give_intordsm(), inicipval(), intpointval(), intpointval2(), ip_strains(), ipcoord(), ipcoordblock(), ipvolume(), local_values(), nodipnum(), planeelemqq(), stiffness_matrix(), and ~planeelemqq().
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 |
number of blocks
Definition at line 115 of file plelemqq.h.
Referenced by adaptivity::check_consistency(), export_gid_gauss_pt(), mechtop::give_nb(), mechtop::give_nb_te(), inicipval(), intpointval(), intpointval2(), ipvolume(), planeelemqq(), quadrilatc::quadrilatc(), stiffness_matrix(), and ~planeelemqq().
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 |
number of DOFs on the element
Definition at line 87 of file plelemqq.h.
Referenced by compute_error(), elem_integration(), mechtop::give_ndofe(), ip_strains(), load_matrix(), mass_matrix(), nodeforces(), ntdbr_vector(), planeelemqq(), quadrilatc::quadrilatc(), res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), res_load_matrix(), res_mass_matrix(), res_nonloc_internal_forces(), res_stiffness_matrix(), and stiffness_matrix().
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 |
number of nodes on one element
Definition at line 89 of file plelemqq.h.
Referenced by approx(), bf_matrix(), compute_error(), elem_integration(), geom_matrix(), mechtop::give_nne(), inicipval(), ipcoord(), ipcoordblock(), ipvolume(), load_matrix(), mass_matrix(), midpoints(), nod_eqother_ip(), nod_strains_ip(), nod_stresses_ip(), ntdbr_vector(), ntn_matrix(), planeelemqq(), quadrilatc::quadrilatc(), res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), res_load_matrix(), res_mass_matrix(), res_nodeforces(), res_nonloc_internal_forces(), res_stiffness_matrix(), and stiffness_matrix().
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 |
total number of components of stress and strain tensors
Definition at line 91 of file plelemqq.h.
Referenced by compute_eigstress(), compute_error(), elchar(), elem_integration(), mechtop::give_ncomp(), mechtop::give_tncomp(), midpoints(), ntdbr_vector(), planeelemqq(), quadrilatc::quadrilatc(), and stiffness_matrix().
long tnip |
total number of integration points on element
Definition at line 95 of file plelemqq.h.
Referenced by mechtop::give_tnip(), and planeelemqq().