#include <dkt.h>
Public Member Functions | |
double | approx (vector &areacoord, vector &nodval) |
void | appval (vector &l, long fi, long nc, vector &eps, double **val) |
void | areaforces (long eid, double *nv, vector &nf) |
void | compute_nlstress (long lcid, long eid, long ri, long ci) |
void | compute_nlstressincr (long lcid, long eid, long ri, long ci) |
void | dbmat (matrix &d, matrix &db, double t) |
dktelem (void) | |
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 &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 | 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 | 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 | nodeforces (long eid, long *le, double *nv, vector &nf) |
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_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) |
~dktelem (void) | |
Public Attributes | |
long * | cncomp |
long | intordmm |
long ** | intordsm |
long | napfun |
number of approximated functions on the element | |
long | nb |
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 |
long | nne |
number of nodes on one element | |
long | nned |
number of nodes on one edge | |
long | nnsurf |
number of nodes on surface | |
long | nsurf |
number of surfaces | |
strastrestate | ssst |
long | tncomp |
total number of components of stress and strain tensors | |
long | tnip |
total number of integration points on element |
Definition at line 9 of file dkt.h.
dktelem | ( | void | ) |
~dktelem | ( | void | ) |
function approximates function defined by nodal values
areacoord | - vector containing area coordinates | |
nodval | - nodal values |
JK, 23.9.2008
Definition at line 94 of file dkt.cpp.
Referenced by elem_integration().
void areaforces | ( | long | eid, | |
double * | nv, | |||
vector & | nf | |||
) |
function computes load vector from area forces fz of the DKT 15.3.2002
Definition at line 753 of file dkt.cpp.
References mechtop::give_elemnodes(), mechtop::give_node_coord2d(), Mt, nne, and nodes.
Referenced by loadel::surfaceload().
void compute_nlstress | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
function computes correct stresses at integration points on element
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices |
JK, 27.9.2008
Definition at line 458 of file dkt.cpp.
References mechmat::computenlstresses(), 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 shelltr::compute_nlstress(), internal_forces(), shelltr::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
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices |
JK, 23.9.2008
Definition at line 504 of file dkt.cpp.
References mechmat::computenlstressesincr(), mechtop::elements, intordsm, element::ipp, Mm, Mp, Mt, nb, and probdesc::strcomp.
Referenced by shelltr::compute_nlstressincr(), and incr_internal_forces().
function extracts components of the shear part of stiffness matrix of the material to the matrix ds
20.3.2002
Definition at line 208 of file dkt.cpp.
Referenced by stiffness_matrix().
void elem_integration | ( | integratedquant | iq, | |
long | lcid, | |||
long | eid, | |||
long | ri, | |||
long | ci, | |||
vector & | nv, | |||
vector & | x, | |||
vector & | y | |||
) |
function integrates selected quantity over the finite element it results in nodal values
iq | - type of integrated quantity (see alias.h) | |
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices | |
nv | - nodal values | |
x,y | - node coordinates |
JK, 23.9.2008
Definition at line 649 of file dkt.cpp.
References vector::a, addv(), allocm(), allocv(), approx(), cmulv(), cncomp, destrm(), destrv(), mechtop::elements, fillv(), gauss_points_tr(), geom_matrix(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), mechmat::givequantity(), intordsm, element::ipp, Mc, Mm, Mt, mtxv(), nb, ncomp, ndofe, nne, and nodes.
Referenced by incr_internal_forces(), and internal_forces().
function assembles matrix of base functions
gm | - geometric matrix | |
x,y | - array containing node coordinates | |
l | - areacoordinates |
15.3.2002
Definition at line 110 of file dkt.cpp.
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 increment of internal forces (from correct stresses increment)
lcid | - number of load case | |
eid | - element id | |
ri,ci | - row and column indices | |
ifor | - vector of internal forces | |
x,y | - vectors of nodal coordinates |
TKo, 7.2008
Definition at line 591 of file dkt.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 807 of file dkt.cpp.
References vector::a, allocv(), destrv(), mechtop::elements, gauss_points_tr(), inicond, iniother, inistrain, inistress, intordsm, mechmat::ip, element::ipp, Mm, Mt, matrix::n, nb, intpoints::ncompeqother, intpoints::ncompstr, nne, and print_err().
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 538 of file dkt.cpp.
References compute_nlstress(), elem_integration(), and locstress.
Referenced by shelltr::res_internal_forces(), and res_internal_forces().
function computes strains at integration points of element
this function is used in plane stress/strain elements (function is called by function res_ip_strains) and shell elements
lcid | - load case id | |
eid | - element id | |
ri | - row index | |
ci | - column index | |
x,y | - node coordinates | |
r | - nodal displacements |
JK, 23.9.2008
Definition at line 337 of file dkt.cpp.
References vector::a, allocm(), allocv(), cncomp, destrm(), destrv(), mechtop::elements, gauss_points_tr(), geom_matrix(), intordsm, element::ipp, Mm, Mt, mxv(), nb, ncomp, ndofe, and mechmat::storestrain().
Referenced by shelltr::res_ip_strains(), and res_ip_strains().
void nod_strains_ip | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
void nod_stresses_ip | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
Definition at line 428 of file dkt.cpp.
Referenced by shelltr::nod_stresses_ip().
void nodeforces | ( | long | eid, | |
long * | le, | |||
double * | nv, | |||
vector & | nf | |||
) |
function computes load vector from edge forces fz of the DKT 15.3.2002
Definition at line 707 of file dkt.cpp.
References mechtop::give_elemnodes(), mechtop::give_node_coord2d(), Mt, nne, and nodes.
void res_incr_internal_forces | ( | long | lcid, | |
long | eid, | |||
vector & | ifor | |||
) |
function computes resulting increments of internal forces
lcid | - load case id | |
eid | - element id | |
ifor | - vector of internal forces |
JK, 23.9.2008
Definition at line 612 of file dkt.cpp.
References copyv(), mechtop::give_elemnodes(), mechtop::give_node_coord2d(), glvectortransf(), incr_internal_forces(), mechtop::locsystems(), Mt, ndofe, nne, nodes, and transf_matrix().
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 558 of file dkt.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 of element
this function is used in plane stress/strain elements (function is called by function res_ip_strains) and shell elements
lcid | - load case id | |
eid | - element id | |
ri | - row index | |
ci | - column index | |
x,y | - node coordinates | |
r | - nodal displacements |
JK, 23.9.2008
Definition at line 383 of file dkt.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
Definition at line 423 of file dkt.cpp.
References compute_nlstress().
Referenced by compute_ipstresses().
void res_stiffness_matrix | ( | long | eid, | |
matrix & | sm | |||
) |
Definition at line 268 of file dkt.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 dkt element
eid | - element id | |
ri,ci | - row and column indices | |
sm | - stiffness matrix |
15.3.2002
Definition at line 228 of file dkt.cpp.
References matrix::a, bdbj(), dbmat(), mechtop::elements, fillm(), gauss_points_tr(), geom_matrix(), mechtop::give_elemnodes(), mechcrsec::give_thickness(), intordsm, element::ipp, mechmat::matstiff(), Mc, Mm, Mt, ndofe, nne, nodes, and tncomp.
Referenced by shelltr::res_stiffness_matrix(), and res_stiffness_matrix().
void stresses | ( | long | lcid, | |
long | eid, | |||
long | ri, | |||
long | ci | |||
) |
Definition at line 441 of file dkt.cpp.
Referenced by computestresses().
Definition at line 185 of file dkt.cpp.
References node::e1, node::e2, matrix::m, Mt, ivector::n, mechtop::nodes, and node::transf.
Referenced by res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), and res_stiffness_matrix().
long* cncomp |
Definition at line 57 of file dkt.h.
Referenced by dktelem(), elem_integration(), ip_strains(), and ~dktelem().
long** intordsm |
Definition at line 71 of file dkt.h.
Referenced by compute_nlstress(), compute_nlstressincr(), dktelem(), elem_integration(), export_gid_gauss_pt(), mechtop::give_intordsm(), inicipval(), ip_strains(), shelltr::shelltr(), stiffness_matrix(), and ~dktelem().
long napfun |
number of approximated functions on the element
Definition at line 61 of file dkt.h.
Referenced by dktelem(), and mechtop::give_napfun().
long nb |
Definition at line 75 of file dkt.h.
Referenced by compute_nlstress(), compute_nlstressincr(), dktelem(), elem_integration(), export_gid_gauss_pt(), mechtop::give_nb(), mechtop::give_nb_te(), inicipval(), ip_strains(), shelltr::shelltr(), and ~dktelem().
long* ncomp |
array containing numbers of components of stress and strain tensors
Definition at line 56 of file dkt.h.
Referenced by dktelem(), elem_integration(), ip_strains(), and ~dktelem().
long ndofe |
number of DOFs on the element
Definition at line 50 of file dkt.h.
Referenced by dktelem(), elem_integration(), mechtop::give_ndofe(), ip_strains(), res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), res_stiffness_matrix(), shelltr::shelltr(), and stiffness_matrix().
long ned |
number of edges on one element
Definition at line 63 of file dkt.h.
Referenced by dktelem(), and mechtop::give_ned().
long** nip |
Definition at line 73 of file dkt.h.
Referenced by dktelem(), mechtop::give_nip(), shelltr::shelltr(), and ~dktelem().
long nne |
number of nodes on one element
Definition at line 52 of file dkt.h.
Referenced by appval(), areaforces(), compute_nlstress(), dktelem(), elem_integration(), mechtop::give_nne(), inicipval(), nodeforces(), res_incr_internal_forces(), res_internal_forces(), res_ip_strains(), res_stiffness_matrix(), and stiffness_matrix().
long nned |
number of nodes on one edge
Definition at line 65 of file dkt.h.
Referenced by dktelem(), and mechtop::give_nned().
long nnsurf |
number of nodes on surface
Definition at line 69 of file dkt.h.
Referenced by dktelem(), and mechtop::give_nnsurf().
long nsurf |
number of surfaces
Definition at line 67 of file dkt.h.
Referenced by dktelem(), and mechtop::give_nsurf().
Definition at line 79 of file dkt.h.
Referenced by dktelem(), and mechtop::give_ssst().
long tncomp |
total number of components of stress and strain tensors
Definition at line 59 of file dkt.h.
Referenced by dktelem(), mechtop::give_ncomp(), mechtop::give_tncomp(), shelltr::shelltr(), and stiffness_matrix().
long tnip |
total number of integration points on element
Definition at line 54 of file dkt.h.
Referenced by dktelem(), and mechtop::give_tnip().