#include <plelemqt.h>
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 |
class planeelemqt defines plane triangular element with quadratic approximation functions
JK
Definition at line 16 of file plelemqt.h.
planeelemqt | ( | void | ) |
~planeelemqt | ( | void | ) |
void allip_strains | ( | double ** | stra, | |
long | lcid, | |||
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes strains in all integration points
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
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
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
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
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
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
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
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)
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
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
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
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().
function assembles blocks of stiffness matrix of material
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
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.
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
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 | |||
) |
function computes strains on element
lcid | - load case id | |
eid | - element id |
18.7.2002
Definition at line 562 of file plelemqt.cpp.
References vector::a, allocv(), cncomp, destrv(), mechtop::elements, gauss_points_tr(), mechmat::givestrain(), intordsm, element::ipp, matassem_lsm(), Mm, Mp, Mt, nb, ncomp, nne, nodal_values(), nodecoord(), nullv(), rhsassem_lsm(), solve_lsm(), and probdesc::zero.
Referenced by compute_error(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), local_values(), ntdbr_vector(), strains(), and stresses().
void elem_stresses | ( | double ** | stra, | |
double ** | stre, | |||
long | lcid, | |||
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes stresses in nodes
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().
function assembles geometric matrix
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
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 | |||
) |
Only for Termit
created 3.5.2002, Ladislav Svoboda, termit@cml.fsv.cvut.cz
Definition at line 2157 of file plelemqt.cpp.
References vector::a, allocm(), allocv(), approx(), planeelemqq::approx(), planeelemlq::approx(), planeelemlt::approx(), planeelemqq::geom_matrix(), planeelemlq::geom_matrix(), planeelemlt::geom_matrix(), mxv(), nc_lin_4_2d(), Pelq, Pelt, Peqq, planeelementlq, planeelementlt, planeelementqq, and planeelementqt.
void incr_internal_forces | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | ifor, | |||
vector & | x, | |||
vector & | y | |||
) |
function computes increments of internal forces
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices | |
ifor | - vector of internal forces | |
x,y | - 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().
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 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
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
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
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
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.
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().
function computes strains in main integration points of element
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
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
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
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 | |||
) |
function computes stresses in nodes
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices |
10.5.2002
Definition at line 868 of file plelemqt.cpp.
References vector::a, addv(), allocm(), allocv(), appstrain(), cncomp, destrm(), destrv(), dmatblock(), mechtop::elements, fillv(), gauss_points_tr(), mechtop::give_elemnodes(), mechmat::givestrain(), intordsm, element::ipp, matassem_lsm(), mechmat::matstiff(), Mm, Mp, Mt, mxv(), nb, ncomp, nne, nodecoord(), nodes, nullv(), rhsassem_lsm(), solve_lsm(), probdesc::strainaver, mechtop::stress_nodal_values(), tncomp, and probdesc::zero.
Referenced by compute_nodestresses().
function assembles natural coordinates of nodes of element
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 | |||
) |
Definition at line 1725 of file plelemqt.cpp.
References matrix::a, addv(), bf_matrix(), fillm(), fillv(), gauss_points(), mechtop::give_node_coord2d(), intordb, jac1d_2d(), Mt, mxv(), napfun, ndofe, nne, and nnj().
Referenced by loadel::edgeload().
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
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]}
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.
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
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
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
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 | |||
) |
Definition at line 438 of file plelemqt.cpp.
References vector::a, allocm(), allocv(), copyv(), destrm(), destrv(), eldispl(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), lgvectortransf(), mechtop::locsystems(), mainip_strains(), Mt, ndofe, nne, nodes, and transf_matrix().
Referenced by compute_ipstrains().
void res_nonloc_internal_forces | ( | long | lcid, | |
long | eid, | |||
vector & | ifor | |||
) |
function computes resulting internal forces for nonlocal models
lcid | - load case id | |
eid | - element id | |
ifor | - vector of internal forces |
TKo, 7.2008
Definition at line 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 | |||
) |
Definition at line 326 of file plelemqt.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 triangular finite element with quadratic approximation functions
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 | |||
) |
Definition at line 684 of file plelemqt.cpp.
References allip_strains(), allocv(), appstrain(), appval(), destrv(), elem_strains(), enodes, aepoints::give_aepcoord(), aepoints::give_naep(), aepoints::give_ncomp(), aepoints::give_sid(), intpts, Mm, Mp, nne, nowhere, aepoints::storevalues(), mechmat::stra, probdesc::strainaver, aepoints::tape, tncomp, and userdefined.
void stresses | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
Definition at line 1106 of file plelemqt.cpp.
References allip_stresses(), allocv(), appstress(), appval(), destrv(), elem_strains(), elem_stresses(), enodes, aepoints::give_aepcoord(), aepoints::give_naep(), aepoints::give_ncomp(), aepoints::give_sid(), intpts, Mm, Mp, nne, nowhere, aepoints::storevalues(), mechmat::stre, probdesc::stressaver, aepoints::tape, tncomp, and userdefined.
Referenced by computestresses().
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().
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 |
array of orders of integration of stiffness matrix
Definition at line 106 of file plelemqt.h.
Referenced by allip_strains(), allip_stresses(), compute_eigstress(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), elem_integration(), elem_strains(), elem_stresses(), export_gid_gauss_pt(), mechtop::give_intordsm(), inicipval(), ipcoord(), ipcoordblock(), ipvolume(), local_values(), mainip_strains(), mainip_stresses(), nod_strains(), nod_stresses(), planeelemqt(), stiffness_matrix(), and ~planeelemqt().
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 |
number of blocks
Definition at line 114 of file plelemqt.h.
Referenced by allip_strains(), allip_stresses(), adaptivity::check_consistency(), compute_eigstress(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), elem_integration(), elem_strains(), elem_stresses(), export_gid_gauss_pt(), mechtop::give_nb(), mechtop::give_nb_te(), inicipval(), ipvolume(), local_values(), mainip_strains(), mainip_stresses(), nod_strains(), nod_stresses(), planeelemqt(), stiffness_matrix(), and ~planeelemqt().
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 |
number of DOFs on the element
Definition at line 86 of file plelemqt.h.
Referenced by elem_integration(), mechtop::give_ndofe(), load_matrix(), mainip_strains(), mass_matrix(), nodeforces(), planeelemqt(), res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_mainip_strains(), res_nonloc_internal_forces(), res_stiffness_matrix(), and stiffness_matrix().
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 |
number of nodes on one element
Definition at line 88 of file plelemqt.h.
Referenced by approx(), appstrain(), appstress(), appval(), bf_matrix(), compute_error(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), elem_integration(), elem_strains(), elem_stresses(), geom_matrix(), geom_matrix_block(), mechtop::give_nne(), inicipval(), ipcoord(), ipcoordblock(), ipvolume(), load_matrix(), local_values(), mass_matrix(), nod_strains(), nod_stresses(), nodeforces(), ntdbr_vector(), ntn_matrix(), planeelemqt(), res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_mainip_strains(), res_nonloc_internal_forces(), res_stiffness_matrix(), stiffness_matrix(), strains(), and stresses().
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 |
total number of components of stress and strain tensors
Definition at line 90 of file plelemqt.h.
Referenced by allip_strains(), allip_stresses(), appstrain(), appstress(), compute_eigstress(), compute_error(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), elchar(), elem_stresses(), mechtop::give_ncomp(), mechtop::give_tncomp(), local_values(), mainip_stresses(), nod_stresses(), ntdbr_vector(), planeelemqt(), stiffness_matrix(), strains(), and stresses().
long tnip |
total number of integration points on element
Definition at line 94 of file plelemqt.h.
Referenced by mechtop::give_tnip(), and planeelemqt().