q4plate Class Reference

#include <q4plate.h>

List of all members.

Public Member Functions

double approx (double xi, double eta, vector &nodval)
void appval (double xi, double eta, long fi, long nc, vector &eps, double **val)
void areaforces (long eid, double *nv, vector &lm)
void atd_matrix (matrix &atd, vector &x, vector &y, long eid)
void bf_matrix (matrix &n, matrix &atd, vector &x, vector &y, vector &l)
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 dmatblock (matrix &dd, matrix &d, long ri, long ci, 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_bending (matrix &gm, matrix &atd, vector &x, vector &y, vector &l)
void geom_matrix_shear (matrix &gm, matrix &atd, vector &x, vector &y, vector &l)
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 initstr_matrix (long eid, long ri, long ci, matrix &ism)
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 nod_strains_ip (long lcid, long eid, long ri, long ci)
void nod_stresses_ip (long lcid, long eid, long ri, long ci)
void nonloc_internal_forces (long lcid, long eid, long ri, long ci, vector &ifor, vector &x, vector &y)
 q4plate (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_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 transfmat (ivector &nodes, matrix &tmat)
 ~q4plate (void)

Public Attributes

long * cncomp
long intordb
long intordmm
long ** intordsm
long napfun
long nb
long * ncomp
long ndofe
long ned
long ** nip
long nne
long nned
strastrestate ssst
long tncomp
long tnip
 total number of integration points on element

Detailed Description

this class defines rectangular plate element based on Mindlin theory shear stresses are taken into account

approximated functions are ordered in the following way: w,fx,fy

PF

Definition at line 18 of file q4plate.h.


Constructor & Destructor Documentation

q4plate ( void   ) 

Definition at line 13 of file q4plate.cpp.

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

~q4plate ( void   ) 

Definition at line 72 of file q4plate.cpp.

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


Member Function Documentation

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

function approximates function defined by nodal values

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

Definition at line 96 of file q4plate.cpp.

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

Referenced by appval(), compute_nlstress(), elem_integration(), inicipval(), initstr_matrix(), load_matrix(), and stiffness_matrix().

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

Definition at line 620 of file q4plate.cpp.

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

Referenced by strains(), and stresses().

void areaforces ( long  eid,
double *  nv,
vector lm 
)

function computes load vector from area forces fz of the Q4plate 20.3.2002

Definition at line 1432 of file q4plate.cpp.

References matrix::a, vector::a, atd_matrix(), bf_matrix(), fillv(), gauss_points(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), intordmm, Mt, ndofe, nne, nnj(), and nodes.

void atd_matrix ( matrix atd,
vector x,
vector y,
long  eid 
)

function assembles matrix of transformation for Q4plate matrix reduces 16 DOFs to 12 DOFs

20.3.2002

Definition at line 114 of file q4plate.cpp.

References fillm(), gemp(), nne, and p.

Referenced by areaforces(), elem_integration(), initstr_matrix(), ip_strains(), load_matrix(), and stiffness_matrix().

void bf_matrix ( matrix n,
matrix atd,
vector x,
vector y,
vector l 
)

function assembles matrix of base functions for w (approximation of deflection)

20.3.2002

Definition at line 234 of file q4plate.cpp.

References matrix::n.

Referenced by areaforces(), and load_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 1311 of file q4plate.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 1160 of file q4plate.cpp.

References vector::a, allocv(), approx(), mechmat::computenlstresses(), destrv(), mechtop::elements, gauss_points(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), mechmat::givestress(), intordsm, element::ipp, Mc, Mm, Mp, Mt, nb, nne, nodes, mechmat::storestress(), probdesc::strcomp, and tncomp.

Referenced by elem_nlstresses(), internal_forces(), shellq::res_ip_stresses(), and res_ip_stresses().

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

function computes correct increments of stresses at integration points on element

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

TKo 7.2008

Definition at line 1214 of file q4plate.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 1279 of file q4plate.cpp.

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

Referenced by nonloc_internal_forces().

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

function assembles stiffness matrices for bending and shear

function extracts components of the bending part of stiffness matrix of the material to the matrix db

20.3.2002

Definition at line 302 of file q4plate.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 1012 of file q4plate.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 1351 of file q4plate.cpp.

References vector::a, addv(), allocm(), allocv(), approx(), atd_matrix(), cmulv(), cncomp, destrm(), destrv(), mechtop::elements, f, fillv(), gauss_points(), geom_matrix_bending(), geom_matrix_shear(), 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 geom_matrix_bending ( matrix gm,
matrix atd,
vector x,
vector y,
vector l 
)

function assembles bending part of the geometrical matrix of base functions Q4plate 20.3.2002

Definition at line 255 of file q4plate.cpp.

References matrix::n.

Referenced by elem_integration(), ip_strains(), and stiffness_matrix().

void geom_matrix_shear ( matrix gm,
matrix atd,
vector x,
vector y,
vector l 
)

function assembles shear part of the geometrical matrix of base functions Q4plate 20.3.2002

Definition at line 279 of file q4plate.cpp.

References matrix::n.

Referenced by elem_integration(), ip_strains(), 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 989 of file q4plate.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 1501 of file q4plate.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 initstr_matrix ( long  eid,
long  ri,
long  ci,
matrix ism 
)

function computes initial stress stiffness matrix of Q4 element

Parameters:
eid - element id
ri,ci - row and column indices
ism - i-s matrix

15.11.2003

Definition at line 479 of file q4plate.cpp.

References allocv(), approx(), atd_matrix(), destrv(), fillm(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), intordsm, Mc, Mt, nb, nne, and nodes.

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 941 of file q4plate.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 - row index
ci - column index
x,y - vectors of nodal coordinates
r - vector of nodal displacements

Definition at line 688 of file q4plate.cpp.

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

Referenced by shellq::res_ip_strains(), and res_ip_strains().

void load_matrix ( long  eid,
matrix lm 
)

function computes load matrix of the plate rectangular finite element load vector is obtained after premultiplying load matrix by nodal load values

Parameters:
eid - number of element
lm - load matrix

JK, 3.10.2006

Definition at line 565 of file q4plate.cpp.

References matrix::a, approx(), atd_matrix(), bf_matrix(), fillm(), gauss_points(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), mechcrsec::give_thickness(), intordmm, 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.

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

TKo, 7.2008

Definition at line 1247 of file q4plate.cpp.

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

Referenced by elem_local_values().

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

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

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

10.5.2002

Definition at line 751 of file q4plate.cpp.

References mechtop::elements, mechtop::give_elemnodes(), mechmat::givestrain(), intordsm, element::ipp, Mm, Mt, nne, nod, mechtop::nodes, nodip_planelq(), node::storestrain(), and tncomp.

Referenced by shellq::nod_strains_ip().

void nod_stresses_ip ( long  lcid,
long  eid,
long  ri,
long  ci 
)
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 965 of file q4plate.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 1129 of file q4plate.cpp.

References eigstrain_forces(), mechtop::give_node_coord2d(), Mt, nne, and nodes.

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 1098 of file q4plate.cpp.

References mechtop::give_node_coord2d(), incr_internal_forces(), Mt, nne, and nodes.

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 1036 of file q4plate.cpp.

References mechtop::give_node_coord2d(), internal_forces(), Mt, nne, and nodes.

Referenced by elem_internal_forces().

void res_ip_strains ( long  lcid,
long  eid 
)

function computes strains Q4

Parameters:
lcid - load case id
eid - element id

Definition at line 650 of file q4plate.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 transfmat().

Referenced by compute_ipstrains().

void res_ip_stresses ( long  lcid,
long  eid 
)

Definition at line 836 of file q4plate.cpp.

References compute_nlstress().

Referenced by compute_ipstresses().

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 1067 of file q4plate.cpp.

References mechtop::give_node_coord2d(), Mt, nne, nodes, and nonloc_internal_forces().

Referenced by elem_nonloc_internal_forces().

void res_stiffness_matrix ( long  eid,
matrix sm 
)

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

Parameters:
eid - element id
sm - stiffness matrix

Definition at line 450 of file q4plate.cpp.

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

Referenced by stiffmat().

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

function computes stiffness matrix of Q4plate element

this function is used in plate elements (function is called by function res_stiffness_matrix) and shell elements

Parameters:
eid - element id
ri,ci - row and column indices
sm - stiffness matrix
x,y - nodal coordinates

20.3.2002

Definition at line 363 of file q4plate.cpp.

References vector::a, allocm(), allocv(), approx(), atd_matrix(), bdbjac(), destrm(), destrv(), dmatblock(), mechtop::elements, fillm(), gauss_points(), geom_matrix_bending(), geom_matrix_shear(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), intordsm, element::ipp, mechmat::matstiff(), Mc, Mm, Mt, nb, ncomp, ndofe, nne, and nodes.

Referenced by shellq::res_stiffness_matrix(), and res_stiffness_matrix().

void strains ( long  lcid,
long  eid,
long  ri,
long  ci 
)
void stresses ( long  lcid,
long  eid,
long  ri,
long  ci 
)
void transfmat ( ivector nodes,
matrix tmat 
)

function assembles transformation matrix from local nodal coordinate system to the global coordinate system x_g = T x_l

base vectors e1 and e2 have to contain 2 components the components are in the midplane

Parameters:
nodes - element nodes
tmat - transformation matrix

JK,

Definition at line 333 of file q4plate.cpp.

References node::e1, node::e2, matrix::m, Mt, ivector::n, mechtop::nodes, and node::transf.

Referenced by res_ip_strains(), and res_stiffness_matrix().


Member Data Documentation

long* cncomp

Definition at line 79 of file q4plate.h.

Referenced by elem_integration(), ip_strains(), q4plate(), and ~q4plate().

long intordb

Definition at line 91 of file q4plate.h.

Referenced by q4plate().

long intordmm

Definition at line 89 of file q4plate.h.

Referenced by areaforces(), load_matrix(), and q4plate().

long** intordsm
long napfun

Definition at line 81 of file q4plate.h.

Referenced by mechtop::give_napfun(), load_matrix(), and q4plate().

long nb
long* ncomp

Definition at line 77 of file q4plate.h.

Referenced by elem_integration(), ip_strains(), q4plate(), stiffness_matrix(), and ~q4plate().

long ndofe
long ned

Definition at line 83 of file q4plate.h.

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

long** nip

Definition at line 93 of file q4plate.h.

Referenced by mechtop::give_nip(), q4plate(), shellq::shellq(), and ~q4plate().

long nne
long nned

Definition at line 85 of file q4plate.h.

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

Definition at line 97 of file q4plate.h.

Referenced by mechtop::give_ssst(), and q4plate().

long tncomp
long tnip

total number of integration points on element

Definition at line 75 of file q4plate.h.

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


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

Generated by  doxygen 1.6.2