quadhext Class Reference

#include <quadhext.h>

List of all members.

Public Member Functions

double approx (double xi, double eta, double zeta, vector &nodval)
void bf_matrix (matrix &n, double xi, double eta, double zeta)
void boundary_flux (vector &v, long lcid, long eid, long leid, long ri, long ci)
void capacity_matrix (long eid, long ri, long ci, matrix &cm)
void codnum (long *cn, long ri)
void conductivity_matrix (long lcid, long eid, long ri, long ci, matrix &km)
void convection_vector (vector &v, long lcid, long eid, long leid, long ri, long ci)
void grad_matrix (matrix &gm, vector &x, vector &y, vector &z, double xi, double eta, double zeta, double &jac)
void internal_fluxes (long lcid, long eid, vector &ifl)
void intpointgrad (long eid)
void intpointother (long eid)
void intpointval (long eid)
void nod_others (long lcid, long eid, long ri, long ci)
 quadhext (void)
void quantity_source_vector (vector &sv, vector &nodval, long eid, long ri, long ci)
void res_boundary_flux (vector &f, long lcid, long eid, long leid)
void res_capacity_matrix (long eid, matrix &cm)
void res_conductivity_matrix (long eid, long lcid, matrix &km)
void res_convection_vector (vector &f, long lcid, long eid, long leid)
void res_internal_fluxes (long eid, vector &elemif)
void res_quantity_source_vector (vector &sv, vector &nodval, long lcid, long eid)
void res_transmission_vector (vector &f, long lcid, long eid, long leid)
void surface_integral (long surf, vector &x, vector &y, vector &z, long intord, vector &gp, vector &w, vector &coef, matrix &km)
void surfnodeval (long surf, vector &nodval, vector &list)
double total_integral (long eid, vector &nodval)
void transf_coeff (long surf, vector &coeff, vector &list, long eid, long ri, long ci, long ipp, bocontypet *bc)
void transf_flux (long surf, vector &coeff, vector &list, vector &trc, vector &trr, long eid, long ri, long ci, long ipp, bocontypet *bc)
void transf_val (long surf, vector &nodval, vector &list, vector &trc, vector &trr, long eid, long ri, long ci, long ipp, bocontypet *bc)
void transmission_matrix (long lcid, long eid, long ri, long ci, matrix &km)
void transmission_vector (vector &v, long lcid, long eid, long leid, long ri, long ci)
 ~quadhext (void)

Public Attributes

long ** dofe
 numbers of DOFs for particular problems
long ** intordcm
 orders of integration of capacity matrices
long ** intordkm
 orders of integration of conductivity matrices
long napfun
 number of approximated functions
long ncomp
 problem dimension
long ndofe
 total number of DOFs on the element
long ned
 number of edges
long ** nip
 number of integration points
long nne
 number of nodes on one element
long nned
 number of nodes on one edge
long nnsurf
 number of nodes on one surface
long nsurf
 number of surfaces
long ntm
 number of transported matter
long ** ordering
 unknown ordering

Detailed Description

Definition at line 6 of file quadhext.h.


Constructor & Destructor Documentation

quadhext ( void   ) 
~quadhext ( void   ) 

Definition at line 134 of file quadhext.cpp.

References dofe, intordcm, intordkm, nip, ntm, and ordering.


Member Function Documentation

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

function approximates function defined by nodal values

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

16.3.2004, JK

Definition at line 177 of file quadhext.cpp.

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

Referenced by capacity_matrix(), intpointother(), intpointval(), surface_integral(), and total_integral().

void bf_matrix ( matrix n,
double  xi,
double  eta,
double  zeta 
)

function assembles matrix of base functions

Parameters:
n - matrix of base functions
xi,eta,zeta - natural coordinates

JK, 16.3.2004

Definition at line 425 of file quadhext.cpp.

References matrix::a, bf_quad_hex_3d(), and fillm().

Referenced by capacity_matrix(), conductivity_matrix(), hexahedc::lower_cap_coup_matrix(), hexahedc::lower_cond_coup_matrix(), quantity_source_vector(), surface_integral(), hexahedc::upper_cap_coup_matrix(), hexahedc::upper_cond_coup_matrix(), and hexahedc::upper_cond_coup_vector().

void boundary_flux ( vector v,
long  lcid,
long  eid,
long  leid,
long  ri,
long  ci 
)

function computes contributions to the boundary flux from transmission vector

{Gamma_3} N^T c_{tr} N dGamma * nodal_external_temperature

Parameters:
v - vector of nodal values
lcid - load case id
eid - element id
leid - id of loaded element
ri,ci - row and column indices

JK

Definition at line 1220 of file quadhext.cpp.

References vector::a, addv(), transtop::elements, loadcaset::elemload, fillm(), fillv(), gauss_points(), loadelt::give_bc(), transtop::give_node_coord3d(), loadelt::give_nodval(), loadelt::give_trc(), loadelt::give_trr(), intordkm, elementt::ipp, transbclc::lc, mxv(), nne, nnsurf, nodval(), nsurf, probdesct::savemode, surface_integral(), Tb, Tp, transf_coeff(), transf_flux(), and Tt.

Referenced by res_boundary_flux().

void capacity_matrix ( long  eid,
long  ri,
long  ci,
matrix cm 
)

function computes capacity matrix of one transported medium

Parameters:
eid - number of element
ri,ci - row and column indices of the computed block in the resulting matrix
cm - capacity matrix

JK, 16.3.2004

Definition at line 540 of file quadhext.cpp.

References matrix::a, approx(), bf_matrix(), transmat::capcoeff(), dofe, transtop::elements, fillm(), gauss_points(), transcrsec::give_density(), transtop::give_elemnodes(), transtop::give_node_coord3d(), intordcm, intordkm, elementt::ipp, jac_3d(), matrix::m, matrix::n, nne, nnj(), nodes, probdesct::savemode, Tc, Tm, Tp, and Tt.

Referenced by res_capacity_matrix().

void codnum ( long *  cn,
long  ri 
)

function assembles code numbers the code numbers are used only on the element level

Parameters:
cn - array containing code numbers
ri - id of the transported media

16.3.2004, JK

Definition at line 161 of file quadhext.cpp.

References nne, and ordering.

Referenced by res_boundary_flux(), res_capacity_matrix(), res_conductivity_matrix(), res_convection_vector(), res_internal_fluxes(), hexahedc::res_lower_cap_coup_matrix(), hexahedc::res_lower_cond_coup_matrix(), res_quantity_source_vector(), res_transmission_vector(), hexahedc::res_upper_cap_coup_matrix(), hexahedc::res_upper_cond_coup_matrix(), and hexahedc::res_upper_cond_coup_vector().

void conductivity_matrix ( long  lcid,
long  eid,
long  ri,
long  ci,
matrix km 
)

function computes conductivity matrix of one transported medium

Parameters:
lcid - load case id
eid - element id
ri,ci - row and column index
km - conductivity matrix

JK, 16.3.2004

Definition at line 472 of file quadhext.cpp.

References matrix::a, bdbj(), bdbjac(), bf_matrix(), dofe, transtop::elements, fillm(), gauss_points(), transtop::give_elemnodes(), transtop::give_node_coord3d(), grad_matrix(), intordkm, elementt::ipp, transmat::matcond(), transmat::matcond2(), ncomp, nne, nodes, reallocm(), probdesct::savemode, Tm, Tp, elementt::transi, transmission_matrix(), and Tt.

Referenced by res_conductivity_matrix().

void convection_vector ( vector v,
long  lcid,
long  eid,
long  leid,
long  ri,
long  ci 
)

function computes contribution to the flux vector

{Gamma_2} N^T N dGamma * nodal_heat_flux_values

Parameters:
v - array of nodal fluxes
lcid -
eid - element id
leid - id of loaded element
ri,ci - row and column indices

JK, 19.8.2004

Definition at line 1024 of file quadhext.cpp.

References vector::a, addv(), transtop::elements, loadcaset::elemload, fillm(), fillv(), gauss_points(), loadelt::give_bc(), transtop::give_node_coord3d(), loadelt::give_nodval(), intordkm, elementt::ipp, transbclc::lc, mxv(), nne, nnsurf, nodval(), nsurf, probdesct::savemode, surface_integral(), surfnodeval(), Tb, Tp, and Tt.

Referenced by res_convection_vector().

void grad_matrix ( matrix gm,
vector x,
vector y,
vector z,
double  xi,
double  eta,
double  zeta,
double &  jac 
)

function assembles matrix of gradients of base functions

Parameters:
gm - gradient matrix
x,y,z - array containing node coordinates
xi,eta,zeta - natural coorodinates
jac - Jacobian

JK, 16.3.2004

Definition at line 441 of file quadhext.cpp.

References vector::a, derivatives_3d(), dx_bf_quad_hex_3d(), dy_bf_quad_hex_3d(), dz_bf_quad_hex_3d(), fillm(), and nne.

Referenced by conductivity_matrix(), internal_fluxes(), and intpointgrad().

void internal_fluxes ( long  lcid,
long  eid,
vector ifl 
)

function computes internal fluxes they are used in nonlinear analysis where they are compared with the prescribed fluxes

Parameters:
lcid - load case id
eid - elemet id
ifl - vector containing fluxes

JK, 16.3.2004

Definition at line 641 of file quadhext.cpp.

References vector::a, addv(), cmulv(), transmat::computenlfluxes(), dofe, transtop::elements, gauss_points(), transtop::give_elemnodes(), transtop::give_node_coord3d(), transmat::givefluxes(), grad_matrix(), intordkm, elementt::ipp, mtxv(), ncomp, nne, nodes, reallocv(), probdesct::savemode, Tm, Tp, and Tt.

Referenced by res_internal_fluxes().

void intpointgrad ( long  eid  ) 

function computes values at integration points from nodal values

Parameters:
eid - element id

16.3.2004, JK

Definition at line 265 of file quadhext.cpp.

References vector::a, ivector::a, dofe, transtop::elements, elemvalues(), gauss_points(), transtop::give_code_numbers(), transtop::give_node_coord3d(), grad, grad_matrix(), intordcm, intordkm, elementt::ipp, mxv(), ncomp, ndofe, nne, probdesct::ntm, ordering, reallocv(), probdesct::savemode, transmat::storegrad(), Tm, Tp, and Tt.

Referenced by intpointgradients().

void intpointother ( long  eid  ) 

function approximates nodal values of array other to integration points

Parameters:
eid - element id

JK, 17.9.2005

Definition at line 341 of file quadhext.cpp.

References vector::a, approx(), transtop::elements, gauss_points(), transtop::give_elemnodes(), intordcm, intordkm, transmat::ip, elementt::ipp, nodet::ncompother, nne, nodalotherval(), transtop::nodes, nodes, probdesct::ntm, intpointst::other, reallocv(), probdesct::savemode, Tm, Tp, and Tt.

Referenced by intpointothers().

void intpointval ( long  eid  ) 

function computes values at integration points from nodal values

Parameters:
eid - element id

16.3.2004, JK

Definition at line 195 of file quadhext.cpp.

References vector::a, ivector::a, approx(), intpointst::av, dofe, transtop::elements, elemvalues(), gauss_points(), transtop::give_code_numbers(), intordcm, intordkm, transmat::ip, elementt::ipp, ndofe, nne, probdesct::ntm, ordering, reallocv(), probdesct::savemode, Tm, Tp, and Tt.

Referenced by intpointvalues().

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

function computes other values in nodes of element

Parameters:
lcid - load case id
eid - element id
ri - row index
ci - column index

10.5.2002

Definition at line 969 of file quadhext.cpp.

References vector::a, ivector::a, transtop::elements, elemvalues(), transtop::give_code_numbers(), transtop::give_elemnodes(), transmat::givecompother(), transmat::givencompother(), h(), elementt::ipp, ndofe, nne, nod, ntm, other, reallocv(), probdesct::savemode, Tm, Tp, and Tt.

void quantity_source_vector ( vector sv,
vector nodval,
long  eid,
long  ri,
long  ci 
)

function computes source vector of one matter on one element

{Omega} N^T N d Omega . s

Parameters:
sv - source vector of one matter
lcid - load case id
eid - element id
ri,ci - row and column indices of the block (ri must be equal to ci)

JK, 16.3.2004

Definition at line 594 of file quadhext.cpp.

References matrix::a, addv(), bf_matrix(), dofe, fillm(), gauss_points(), transtop::give_node_coord3d(), intordcm, jac_3d(), mxv(), nne, nnj(), and Tt.

Referenced by res_quantity_source_vector().

void res_boundary_flux ( vector f,
long  lcid,
long  eid,
long  leid 
)

function assembles resulting element boundary flux vector

Parameters:
f - resulting boundary flux vector of one element
lcid - load case id
eid - element id
leid - element id

TKr, 15.4.2004

Definition at line 936 of file quadhext.cpp.

References vector::a, boundary_flux(), codnum(), dofe, transtop::elements, locglob(), ntm, reallocv(), elementt::transi, and Tt.

Referenced by elem_transmission_flux().

void res_capacity_matrix ( long  eid,
matrix cm 
)

function assembles resultant element capacity matrix

Parameters:
eid - element id
cm - resulting capacity matrix of one element

JK, 16.3.2004

Definition at line 726 of file quadhext.cpp.

References capacity_matrix(), codnum(), probdesct::diagcap, dofe, mat_localize(), ntm, reallocm(), and Tp.

Referenced by capacmat(), and res_internal_fluxes().

void res_conductivity_matrix ( long  eid,
long  lcid,
matrix km 
)

function assembles resulting element conductivity matrix

Parameters:
eid - element id
lcid - load case id
km - resulting conductivity matrix of one element

JK, 16.3.2004

Definition at line 699 of file quadhext.cpp.

References codnum(), conductivity_matrix(), dofe, mat_localize(), ntm, and reallocm().

Referenced by conductmat().

void res_convection_vector ( vector f,
long  lcid,
long  eid,
long  leid 
)

function computes resulting element convection vector

Parameters:
f - resulting convection vector of one element
lcid - load case id
eid - element id

JK, 16.3.2004

Definition at line 770 of file quadhext.cpp.

References vector::a, cmulv(), codnum(), convection_vector(), dofe, locglob(), and reallocv().

Referenced by elem_neumann_vector().

void res_internal_fluxes ( long  eid,
vector elemif 
)

function computes resulting element internal fluxes vector

Parameters:
eid - element id
elemif - resulting vector of internal fluxes on element

JK, 16.3.2004

Definition at line 850 of file quadhext.cpp.

References vector::a, codnum(), dofe, gtopology::give_code_numbers(), Gtt, internal_fluxes(), locglob(), mxv(), ndofe, nodalderivatives(), ntm, reallocm(), reallocv(), res_capacity_matrix(), and subv().

Referenced by internal_fluxes().

void res_quantity_source_vector ( vector sv,
vector nodval,
long  lcid,
long  eid 
)

function computes resulting element source vector

Parameters:
sv - resulting source vector of one element
lcid - load case id
eid - element id

JK, 16.3.2004

Definition at line 829 of file quadhext.cpp.

References vector::a, codnum(), dofe, locglob(), quantity_source_vector(), and reallocv().

Referenced by source_vector().

void res_transmission_vector ( vector f,
long  lcid,
long  eid,
long  leid 
)

function computes resulting element transmission vector

Parameters:
f - resulting transmission vector of one element
lcid - load case id
eid - element id
leid - element id

JK, 16.3.2004

Definition at line 798 of file quadhext.cpp.

References vector::a, codnum(), dofe, transtop::elements, locglob(), ntm, reallocv(), elementt::transi, transmission_vector(), and Tt.

Referenced by elem_newton_vector().

void surface_integral ( long  surf,
vector x,
vector y,
vector z,
long  intord,
vector gp,
vector w,
vector coef,
matrix km 
)

function integrates N^T c N over surface

Parameters:
surf - surface id (number of surface)
x,y,z - coordinates of element nodes
intord - order of numerical integration
gp,w - coordinates and weights of integration points
coef - array of nodal values of coefficient
km - output matrix

JK

Definition at line 1286 of file quadhext.cpp.

References matrix::a, approx(), bf_matrix(), jac2d_3d(), matrix::m, matrix::n, nne, and nnj().

Referenced by boundary_flux(), convection_vector(), transmission_matrix(), and transmission_vector().

void surfnodeval ( long  surf,
vector nodval,
vector list 
)

function picks up nodal values on required surface

Parameters:
surf - number of required surface
nodval - array of nodal values
list - array of nodal values defined on all surfaces

JK, 19.8.2004

Definition at line 1523 of file quadhext.cpp.

References ivector::a, fillv(), nnsurf, and quadhexahedral_surfnod().

Referenced by convection_vector().

double total_integral ( long  eid,
vector nodval 
)

function computes element quantity integral

Parameters:
eid - element id
nodval - vector of quantity nodal values
Return values:
f - element quantity integral

TKr, 30.1.2004

Definition at line 891 of file quadhext.cpp.

References vector::a, approx(), f, gauss_points(), transtop::give_elemnodes(), transtop::give_node_coord3d(), jac_3d(), nne, nodes, and Tt.

void transf_coeff ( long  surf,
vector coeff,
vector list,
long  eid,
long  ri,
long  ci,
long  ipp,
bocontypet bc 
)
void transf_flux ( long  surf,
vector coeff,
vector list,
vector trc,
vector trr,
long  eid,
long  ri,
long  ci,
long  ipp,
bocontypet bc 
)
void transf_val ( long  surf,
vector nodval,
vector list,
vector trc,
vector trr,
long  eid,
long  ri,
long  ci,
long  ipp,
bocontypet bc 
)
Parameters:
surf - number of required surface
nodval - array of transformed nodal values
list - array of nodal values defined on all surfaces
trc -
trr -
ri,ci - row and column indices
ipp - integration point number
bc - array defining boundary conditions

JK, 19.8.2004

Definition at line 1479 of file quadhext.cpp.

References ivector::a, fillv(), transtop::give_elemnodes(), nne, nnsurf, nodes, quadhexahedral_surfnod(), Tm, transmat::transmission_nodval(), and Tt.

Referenced by transmission_vector().

void transmission_matrix ( long  lcid,
long  eid,
long  ri,
long  ci,
matrix km 
)

function computes transmission complement to the conductivity matrix for one matter

{Gamma_3} N^T c_{tr} N dGamma

Parameters:
lcid -
eid - element id
ri,ci - row and column indices
km -

JK, 19.8.2004

Definition at line 1092 of file quadhext.cpp.

References vector::a, loadelt::eid, transtop::elements, loadcaset::elemload, gauss_points(), loadelt::give_bc(), transtop::give_node_coord3d(), loadelt::give_trc(), intordkm, elementt::ipp, transbclc::lc, loadcaset::neb, nne, nnsurf, nsurf, probdesct::savemode, surface_integral(), Tb, Tp, transf_coeff(), and Tt.

Referenced by conductivity_matrix().

void transmission_vector ( vector v,
long  lcid,
long  eid,
long  leid,
long  ri,
long  ci 
)

function computes contributions to the transmission vector

{Gamma_3} N^T c_{tr} N dGamma * nodal_external_temperature

Parameters:
v - transmission vector
lcid - load case id
eid - element id
leid - loaded element id
ri,ci - row and column indices

JK+TKr, 15.4.2004

Definition at line 1153 of file quadhext.cpp.

References vector::a, addv(), transtop::elements, loadcaset::elemload, fillm(), fillv(), gauss_points(), loadelt::give_bc(), transtop::give_node_coord3d(), loadelt::give_nodval(), loadelt::give_trc(), loadelt::give_trr(), intordkm, elementt::ipp, transbclc::lc, mxv(), nne, nnsurf, nodval(), nsurf, probdesct::savemode, surface_integral(), Tb, Tp, transf_coeff(), transf_val(), and Tt.

Referenced by res_transmission_vector().


Member Data Documentation

long** dofe
long** intordcm

orders of integration of capacity matrices

Definition at line 74 of file quadhext.h.

Referenced by capacity_matrix(), transtop::give_intordcm(), intpointgrad(), intpointother(), intpointval(), quadhext(), quantity_source_vector(), and ~quadhext().

long** intordkm
long napfun

number of approximated functions

Definition at line 64 of file quadhext.h.

Referenced by quadhext().

long ncomp

problem dimension

Definition at line 66 of file quadhext.h.

Referenced by conductivity_matrix(), transtop::give_ncomp(), internal_fluxes(), intpointgrad(), and quadhext().

long ndofe

total number of DOFs on the element

Definition at line 50 of file quadhext.h.

Referenced by transtop::give_ndofe(), hexahedc::hexahedc(), intpointgrad(), intpointval(), nod_others(), quadhext(), and res_internal_fluxes().

long ned

number of edges

Definition at line 56 of file quadhext.h.

Referenced by transtop::give_ned(), and quadhext().

long** nip

number of integration points

Definition at line 68 of file quadhext.h.

Referenced by transtop::give_nip(), quadhext(), and ~quadhext().

long nne
long nned

number of nodes on one edge

Definition at line 58 of file quadhext.h.

Referenced by transtop::give_nned(), and quadhext().

long nnsurf
long nsurf
long ntm
long** ordering

unknown ordering

Definition at line 70 of file quadhext.h.

Referenced by codnum(), intpointgrad(), intpointval(), quadhext(), and ~quadhext().


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

Generated by  doxygen 1.6.2