cctelem Class Reference

#include <cct.h>

List of all members.

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

Detailed Description

class cctelem defines triangular plate element with constant curvatures based on the Mindlin theory

JK

Definition at line 16 of file cct.h.


Constructor & Destructor Documentation

cctelem ( void   ) 

Definition at line 12 of file cct.cpp.

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

~cctelem ( void   ) 

Definition at line 70 of file cct.cpp.

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


Member Function Documentation

double approx ( vector areacoord,
vector nodval 
)

function approximates function defined by nodal values

Parameters:
areacoord - vector containing area coordinates
nodval - nodal values

28.3.2002

Definition at line 94 of file cct.cpp.

References f, and scprd().

Referenced by appval(), and stiffness_matrix().

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

function approximates function defined by nodal values

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

Definition at line 108 of file cct.cpp.

References f, and scprd().

Referenced by inicipval().

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

function computes strains in arbitrary point on element

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

11.5.2002

Definition at line 800 of file cct.cpp.

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

void bf_matrix ( matrix n,
vector x,
vector y,
vector areacoord 
)

function assembles matrix of approximation functions

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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().

void dmat ( matrix d,
double  t 
)

Definition at line 323 of file cct.cpp.

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

function extracts blocks from stiffness matrix of the material

Parameters:
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

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

7.2008, TKo

Definition at line 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

Parameters:
iq - type of integrated quantity (see alias.h)
lcid - number of load case
eid - element id
ri,ci - row and column indices
nv - nodal values
x,y - node coordinates

TKo 7.2008

Definition at line 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().

void geom_matrix ( matrix gm,
vector x,
vector y,
vector areacoord 
)

function assembles geometric matrix of the cct element

Parameters:
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().

void geom_matrix_block ( matrix gm,
long  bi,
vector x,
vector y,
vector areacoord 
)

function assembles part of geometric matrix

Parameters:
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

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

TKo 7.2008

Definition at line 945 of file cct.cpp.

References compute_nlstressincr(), elem_integration(), and stressincr.

Referenced by res_incr_internal_forces().

void inicipval ( long  eid,
long  ri,
long  ci,
matrix nodval,
inictype ictn 
)

The function computes initial values of the given quantities at each integration point of the element from the nodal values given by the parameter nodval. Initial condition types must be the same for all nodes of the element.

Parameters:
eid - element id
ri - block row index
ci - block column index
nodval - nodal values of particular initial conditions. nodval[i][j] represents value of j-th initial condition at i-th node of the given element.
ictn - array of types of initial condition for each node of element. The type of initial condition determines which values are being specified in the node. (ictn[i] & inistrain) returns nonzero if nodal values of initial strains are specified (ictn[i] & inistress) returns nonzero if nodal values of initial stresses are specified (ictn[i] & iniother) returns nonzero if nodal values of initial values of eqother array are specified (ictn[i] & inicond) returns nonzero if nodal values of other initial conditions are specified

The function does not return anything.

Created by Tomas Koudelka 2004 Revised by Tomas Koudelka 03.2012

Definition at line 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

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

TKo 7.2008

Definition at line 897 of file cct.cpp.

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

Referenced by res_internal_forces().

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

function computes strains at integration points of element

Parameters:
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

Parameters:
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.

Parameters:
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().

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

function computes mass matrix of the cct element

Parameters:
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

Parameters:
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

Parameters:
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 nodecoord ( vector xi,
vector eta 
)

function assembles natural coordinates of nodes of element

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

10.5.2002

Definition at line 784 of file cct.cpp.

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

function computes internal forces for nonlocal models

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

TKo 7.2008

Definition at line 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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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().

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

function computes stiffness matrix of cct element

Parameters:
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 strains ( long  lcid,
long  eid,
long  ri,
long  ci 
)

Definition at line 715 of file cct.cpp.

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

Definition at line 817 of file cct.cpp.

Referenced by computestresses().

void transf_matrix ( ivector nodes,
matrix tmat 
)

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().


Member Data Documentation

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
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
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
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
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().


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

Generated by  doxygen 1.6.2