#include <cct.h>
Public Member Functions | |
double | approx (vector &areacoord, vector &nodval) |
double | approx_nat (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, vector &x, vector &y, vector &areacoord) |
cctelem (void) | |
void | compute_eigstress (long lcid, long eid, long ri, long ci) |
void | compute_nlstress (long lcid, long eid, long ri, long ci) |
void | compute_nlstressincr (long lcid, long eid, long ri, long ci) |
void | compute_nonloc_nlstress (long lcid, long eid, long ri, long ci) |
void | dmat (matrix &d, double t) |
void | dmatblock (long ri, long ci, matrix &d, matrix &dd, double t) |
void | eigstrain_forces (long lcid, long eid, long ri, long ci, vector &nfor, vector &x, vector &y) |
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, vector &areacoord) |
void | geom_matrix_block (matrix &gm, long bi, vector &x, vector &y, vector &areacoord) |
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 | ip_strains (long lcid, long eid, long ri, long ci, vector &x, vector &y, vector &r) |
void | load_matrix (long eid, matrix &lm) |
void | local_values (long lcid, long eid, long ri, long ci) |
void | mass_matrix (long eid, matrix &mm, vector &x, vector &y) |
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 | nodecoord (vector &xi, vector &eta) |
void | nonloc_internal_forces (long lcid, long eid, long ri, long ci, vector &ifor, vector &x, vector &y) |
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_mass_matrix (long eid, matrix &mm) |
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) |
~cctelem (void) | |
Public Attributes | |
long * | cncomp |
array of cumulative numbers of strain/stress components | |
long | intordmm |
order of integration for 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 strain/stress 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 cctelem defines triangular plate element with constant curvatures based on the Mindlin theory
JK
Definition at line 16 of file cct.h.
cctelem | ( | void | ) |
~cctelem | ( | void | ) |
double approx_nat | ( | double | xi, | |
double | eta, | |||
vector & | nodval | |||
) |
function approximates function defined by nodal values
xi,eta | - natural coordinates | |
nodval | - nodal values |
Definition at line 108 of file cct.cpp.
Referenced by inicipval().
void appval | ( | double | xi, | |
double | eta, | |||
long | fi, | |||
long | nc, | |||
vector & | eps, | |||
double ** | val | |||
) |
function assembles matrix of approximation functions
n | - matrix of approximation functions | |
x,y | - array containing node coordinates | |
areacoord | - array of area coordinates |
JK, 19.7.2001
Definition at line 129 of file cct.cpp.
References vector::a, bf_cct(), and fillm().
Referenced by load_matrix(), and mass_matrix().
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 1251 of file cct.cpp.
References mechtop::elements, mechmat::giveeigstrain(), intordsm, element::ipp, mechmat::matstiff(), Mm, Mt, mxv(), nb, mechmat::storeeigstress(), and tncomp.
Referenced by eigstrain_forces().
void compute_nlstress | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes correct stresses at integration points on element
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices |
TKo, 7.2008
Definition at line 1116 of file cct.cpp.
References vector::a, allocv(), mechmat::computenlstresses(), destrv(), mechtop::elements, gauss_points_tr(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), mechmat::givestress(), intordsm, element::ipp, Mc, Mm, Mp, Mt, nb, nne, nodes, mechmat::storestress(), and probdesc::strcomp.
Referenced by elem_nlstresses(), internal_forces(), and res_ip_stresses().
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 1224 of file cct.cpp.
References mechmat::computenlstressesincr(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, nb, 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 |
TKo, 7.2008
Definition at line 1197 of file cct.cpp.
References mechmat::compnonloc_nlstresses(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, nb, and probdesc::strcomp.
Referenced by nonloc_internal_forces().
function extracts blocks from stiffness matrix of the material
ri,ci | - row and column indices | |
d | - stiffness matrix of the material | |
dd | - required block from stiffness matrix of material | |
t | - thickness of plate |
JK, 19.7.2001
Definition at line 304 of file cct.cpp.
References fillm().
Referenced by 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 968 of file cct.cpp.
References compute_eigstress(), probdesc::eigstrcomp, eigstress, elem_integration(), and Mp.
Referenced by res_eigstrain_forces().
void elem_integration | ( | integratedquant | iq, | |
long | lcid, | |||
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | nv, | |||
vector & | x, | |||
vector & | y | |||
) |
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 1286 of file cct.cpp.
References vector::a, addv(), allocm(), allocv(), cmulv(), cncomp, destrm(), destrv(), mechtop::elements, fillv(), gauss_points_tr(), geom_matrix_block(), mechtop::give_elemnodes(), mechmat::givequantity(), intordsm, element::ipp, jac_2d(), Mm, Mt, mtxv(), nb, ncomp, ndofe, nne, and nodes.
Referenced by eigstrain_forces(), incr_internal_forces(), internal_forces(), and nonloc_internal_forces().
function assembles geometric matrix of the cct element
gm | - geometric matrix | |
x,y | - array of node coordinates | |
areacoord | - area coordinates |
JK, 19.7.2001
Definition at line 238 of file cct.cpp.
References vector::a, bf_cct(), dx_cct(), dy_cct(), fillm(), plsb(), and plsc().
Referenced by ip_strains().
function assembles part of geometric matrix
gm | - geometric matrix | |
x,y | - array containing node coordinates | |
areacoord | - area coordinates |
JK, 19.7.2001
Definition at line 169 of file cct.cpp.
References vector::a, bf_cct(), dx_cct(), dy_cct(), fillm(), plsb(), and plsc().
Referenced by elem_integration(), and stiffness_matrix().
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 945 of file cct.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 1357 of file cct.cpp.
References vector::a, allocv(), approx_nat(), 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 897 of file cct.cpp.
References compute_nlstress(), elem_integration(), and locstress.
Referenced by res_internal_forces().
function computes strains at integration points of element
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices | |
x,y | - arrays with node coordinates | |
r | - vector of nodal displacements |
JK, 26.9.2008
Definition at line 560 of file cct.cpp.
References vector::a, allocv(), destrv(), mechtop::elements, gauss_points_tr(), geom_matrix(), intordsm, element::ipp, Mm, Mt, mxv(), nb, ndofe, mechmat::storestrain(), and tncomp.
Referenced by res_ip_strains().
void load_matrix | ( | long | eid, | |
matrix & | lm | |||
) |
function computes load matrix of the cct element
eid | - element id | |
lm | - load matrix |
25.7.2001
Definition at line 517 of file cct.cpp.
References matrix::a, bf_matrix(), fillm(), gauss_points_tr(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), intordmm, Mc, Mt, 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 1170 of file cct.cpp.
References mechmat::computenlstresses(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, nb, and probdesc::strcomp.
Referenced by elem_local_values().
function computes mass matrix of the cct element
eid | - element id | |
mm | - mass matrix | |
x,y | - vectors of node coordinates |
JK, 19.7.2001
Definition at line 468 of file cct.cpp.
References matrix::a, bf_matrix(), fillm(), gauss_points_tr(), mechcrsec::give_density(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), intordmm, Mc, Mt, ndofe, nne, nnj(), and nodes.
Referenced by res_mass_matrix().
void nod_strains_ip | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes strains in nodes of element
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices |
JK, 26.9.2008
Definition at line 638 of file cct.cpp.
References mechtop::elements, mechtop::give_elemnodes(), mechmat::givestrain(), intordsm, element::ipp, Mm, Mt, nne, nod, mechtop::nodes, nodip_planelt(), node::storestrain(), and tncomp.
Referenced by compute_nodestrains().
void nod_stresses_ip | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes stresses at nodes of element
lcid | - load case id | |
eid | - element id | |
ri,ci | - row and column indices |
JK, 26.9.2008
Definition at line 689 of file cct.cpp.
References mechtop::elements, mechtop::give_elemnodes(), mechmat::givestress(), intordsm, element::ipp, Mm, Mt, nne, nod, mechtop::nodes, nodip_planelt(), node::storestress(), and tncomp.
Referenced by compute_nodestresses().
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 921 of file cct.cpp.
References compute_nonloc_nlstress(), elem_integration(), and nonlocstress.
Referenced by res_nonloc_internal_forces().
void res_eigstrain_forces | ( | long | lcid, | |
long | eid, | |||
vector & | nfor | |||
) |
function computes 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 1085 of file cct.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 1054 of file cct.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 992 of file cct.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, 26.9.2008
Definition at line 602 of file cct.cpp.
References vector::a, allocm(), allocv(), copyv(), destrm(), destrv(), 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
lcid | - load case id | |
eid | - element id |
JK, 26.9.2008
Definition at line 671 of file cct.cpp.
References compute_nlstress().
Referenced by compute_ipstresses().
void res_mass_matrix | ( | long | eid, | |
matrix & | mm | |||
) |
Definition at line 501 of file cct.cpp.
References mechtop::give_node_coord2d(), mass_matrix(), Mt, and nne.
Referenced by massmat().
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 1023 of file cct.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 resulting stiffness matrix of the element
eid | - element id | |
sm | - stiffness matrix |
JK, 9.5.2002
Definition at line 440 of file cct.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 cct element
eid | - element id | |
ri,ci | - row and column indices | |
sm | - stiffness matrix | |
x,y | - vectors of node coordinates |
JK, 19.7.2001
Definition at line 369 of file cct.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 stresses | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
Definition at line 817 of file cct.cpp.
Referenced by computestresses().
nutna kontrola
function assembles transformation matrix
Definition at line 342 of file cct.cpp.
References node::e1, node::e2, 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_nonloc_internal_forces(), and res_stiffness_matrix().
long* cncomp |
array of cumulative numbers of strain/stress components
Definition at line 90 of file cct.h.
Referenced by cctelem(), elem_integration(), and ~cctelem().
long intordmm |
order of integration for mass matrix
Definition at line 94 of file cct.h.
Referenced by cctelem(), load_matrix(), and mass_matrix().
long** intordsm |
array of orders of integration of stiffness matrix
Definition at line 84 of file cct.h.
Referenced by cctelem(), compute_eigstress(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), elem_integration(), export_gid_gauss_pt(), mechtop::give_intordsm(), inicipval(), ip_strains(), local_values(), nod_strains_ip(), nod_stresses_ip(), stiffness_matrix(), and ~cctelem().
long napfun |
number of approximated functions on the element
Definition at line 78 of file cct.h.
Referenced by cctelem(), and mechtop::give_napfun().
long nb |
number of blocks
Definition at line 92 of file cct.h.
Referenced by cctelem(), compute_eigstress(), compute_nlstress(), compute_nlstressincr(), compute_nonloc_nlstress(), elem_integration(), export_gid_gauss_pt(), mechtop::give_nb(), mechtop::give_nb_te(), inicipval(), ip_strains(), local_values(), stiffness_matrix(), and ~cctelem().
long* ncomp |
array of numbers of strain/stress components
Definition at line 88 of file cct.h.
Referenced by cctelem(), elem_integration(), stiffness_matrix(), and ~cctelem().
long ndofe |
number of DOFs on the element
Definition at line 70 of file cct.h.
Referenced by cctelem(), elem_integration(), mechtop::give_ndofe(), ip_strains(), load_matrix(), mass_matrix(), res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), res_nonloc_internal_forces(), res_stiffness_matrix(), and stiffness_matrix().
long ned |
number of edges on one element
Definition at line 80 of file cct.h.
Referenced by cctelem(), and mechtop::give_ned().
long** nip |
array of numbers of integration points in sets
Definition at line 86 of file cct.h.
Referenced by cctelem(), mechtop::give_nip(), and ~cctelem().
long nne |
number of nodes on one element
Definition at line 72 of file cct.h.
Referenced by appval(), cctelem(), compute_nlstress(), elem_integration(), mechtop::give_nne(), inicipval(), load_matrix(), mass_matrix(), nod_strains_ip(), nod_stresses_ip(), res_eigstrain_forces(), res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), res_mass_matrix(), res_nonloc_internal_forces(), res_stiffness_matrix(), and stiffness_matrix().
long nned |
number of nodes on one edge
Definition at line 82 of file cct.h.
Referenced by cctelem(), and mechtop::give_nned().
stress/strain state
Definition at line 96 of file cct.h.
Referenced by cctelem(), and mechtop::give_ssst().
long tncomp |
total number of components of stress and strain tensors
Definition at line 74 of file cct.h.
Referenced by cctelem(), compute_eigstress(), mechtop::give_ncomp(), mechtop::give_tncomp(), ip_strains(), nod_strains_ip(), nod_stresses_ip(), and stiffness_matrix().
long tnip |
total number of integration points on element
Definition at line 76 of file cct.h.
Referenced by cctelem(), and mechtop::give_tnip().