quadquadrilatt Class Reference

#include <quadquadrilatt.h>

List of all members.

Public Member Functions

double approx (double xi, double eta, vector &nodval)
void bf_matrix (matrix &n, double xi, double eta)
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 edge_integral (long edg, vector &x, vector &y, long intord, vector &gp, vector &w, vector &t, vector &coef, matrix &km)
void edgenodeval (long edg, vector &nodval, vector &list)
void give_approx_fun (double &f, double xi, double eta, long i)
void grad_matrix (matrix &gm, vector &x, vector &y, double xi, double eta, double &jac)
void internal_fluxes (long lcid, long eid, vector &ifl)
void intpointflux (long eid)
void intpointgrad (long eid)
void intpointother (long eid)
void intpointval (long eid)
void ipcoordblock (long eid, long ri, long ci, double **coord)
void nod_fluxes_ip (long eid)
void nod_grads_ip (long eid)
void nod_others (long lcid, long eid, long ri, long ci)
void nod_others_comp (long lcid, long eid, long ri, long ci)
 quadquadrilatt (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)
double total_integral (long eid, vector &nodval)
void transf_coeff (long edg, vector &coeff, vector &list, long eid, long ri, long ci, long ipp, bocontypet *bc)
void transf_flux (long edg, vector &coeff, vector &list, vector &trc, vector &trr, long eid, long ri, long ci, long ipp, bocontypet *bc)
void transf_val (long edg, 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)
 ~quadquadrilatt (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 ntm
 number of transported matter
long ** ordering
 unknown ordering

Detailed Description

class quadquadrilatt defines plane quadrilateral element with quadratic approximation functions for transport problems

Definition at line 11 of file quadquadrilatt.h.


Constructor & Destructor Documentation

quadquadrilatt ( void   ) 
~quadquadrilatt ( void   ) 

Definition at line 116 of file quadquadrilatt.cpp.

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


Member Function Documentation

double approx ( double  xi,
double  eta,
vector nodval 
)
void bf_matrix ( matrix n,
double  xi,
double  eta 
)

function assembles matrix of base functions

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

JK, 25.9.2001

Definition at line 425 of file quadquadrilatt.cpp.

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

Referenced by capacity_matrix(), conductivity_matrix(), edge_integral(), quadrilatc::lower_cap_coup_matrix(), quadrilatc::lower_cond_coup_matrix(), quantity_source_vector(), quadrilatc::upper_cap_coup_matrix(), quadrilatc::upper_cond_coup_matrix(), and quadrilatc::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_value

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

TKr, 28.2.2004

Definition at line 1275 of file quadquadrilatt.cpp.

References addv(), edge_integral(), edgenodeval(), transtop::elements, loadcaset::elemload, fillm(), fillv(), gauss_points(), loadelt::give_bc(), transtop::give_elemnodes(), transtop::give_node_coord2d(), loadelt::give_nodval(), transcrsec::give_thickness(), loadelt::give_trc(), loadelt::give_trr(), intordkm, elementt::ipp, transbclc::lc, mxv(), ned, nne, nned, nodes, nodval(), probdesct::savemode, Tb, Tc, Tp, 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 2D problems for one transported matter finite element with quadratic approximation functions

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

JK, 4.10.2001

Definition at line 565 of file quadquadrilatt.cpp.

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

Referenced by res_capacity_matrix().

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

function computes conductivity matrix of 2D problems for one transported matter finite element with quadratic approximation functions

Parameters:
lcid - number of load case
eid - number of element
ri,ci - row and column indices of the computed block in the resulting matrix
km - conductivity matrix

JK, 25.9.2001

Definition at line 490 of file quadquadrilatt.cpp.

References matrix::a, approx(), bdbj(), bdbjac(), bf_matrix(), dofe, transtop::elements, fillm(), gauss_points(), transtop::give_elemnodes(), transtop::give_node_coord2d(), transcrsec::give_thickness(), grad_matrix(), intordkm, elementt::ipp, transmat::matcond(), transmat::matcond2(), ncomp, nne, nodes, print_err(), reallocm(), probdesct::savemode, Tc, 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 convection vector

{Gamma_2} N^T N dGamma * nodal_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 1062 of file quadquadrilatt.cpp.

References addv(), edge_integral(), edgenodeval(), transtop::elements, loadcaset::elemload, fillm(), fillv(), gauss_points(), loadelt::give_bc(), transtop::give_elemnodes(), transtop::give_node_coord2d(), loadelt::give_nodval(), transcrsec::give_thickness(), intordkm, elementt::ipp, transbclc::lc, mxv(), ned, nne, nned, nodes, nodval(), probdesct::savemode, Tb, Tc, Tp, and Tt.

Referenced by res_convection_vector().

void edge_integral ( long  edg,
vector x,
vector y,
long  intord,
vector gp,
vector w,
vector t,
vector coef,
matrix km 
)

function integrates N^T c N over edges

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

JK

Definition at line 1347 of file quadquadrilatt.cpp.

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

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

void edgenodeval ( long  edg,
vector nodval,
vector list 
)

function picks up nodal values on required edges

Parameters:
edg - number of required edge
nodval - array of nodal values
list - array of nodal values defined on all edges

JK, 19.8.2004

Definition at line 1553 of file quadquadrilatt.cpp.

References ivector::a, fillv(), nned, and quadquadrilat_edgnod().

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

void give_approx_fun ( double &  f,
double  xi,
double  eta,
long  i 
)

function returns one approximation function evaluated in required point

Parameters:
f - value of approximation function
xi,eta - natural coordinates
i - number of approximation function

JK, 1.2.2003

Definition at line 440 of file quadquadrilatt.cpp.

References bf_quad_4_2d().

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

function assembles gradient of matrix of base functions

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

JK, 25.9.2001

Definition at line 458 of file quadquadrilatt.cpp.

References vector::a, derivatives_2d(), dx_bf_quad_4_2d(), dy_bf_quad_4_2d(), fillm(), and nne.

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

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

function computes internal fluxes of 1D problems for one transported matter finite element with linear approximation functions

Parameters:
lcid - number of load case
eid - number of element
ifl - vector of internal fluxes

JK, 31.3.2002

Definition at line 675 of file quadquadrilatt.cpp.

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

Referenced by res_internal_fluxes().

void intpointflux ( long  eid  ) 

function computes correct fluxes at integration points on element

Parameters:
eid - element id

TKr, 04/12/2010

Definition at line 1576 of file quadquadrilatt.cpp.

References transmat::computenlfluxes(), transtop::elements, probdesct::fluxcomp, intordcm, intordkm, elementt::ipp, probdesct::ntm, probdesct::savemode, Tm, Tp, and Tt.

Referenced by intpointfluxes(), and nod_fluxes_ip().

void intpointgrad ( long  eid  ) 

function computes values in integration points from nodal values

Parameters:
eid - element id

JK, 8.5.2002

Definition at line 270 of file quadquadrilatt.cpp.

References vector::a, ivector::a, dofe, transtop::elements, elemvalues(), gauss_points(), transtop::give_code_numbers(), transtop::give_node_coord2d(), 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 344 of file quadquadrilatt.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 in integration points from nodal values

Parameters:
eid - element id

JK, 8.5.2002

Definition at line 202 of file quadquadrilatt.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 ipcoordblock ( long  eid,
long  ri,
long  ci,
double **  coord 
)

function assembles coordinates of integration points in block [ri][ci]

Parameters:
eid - element id
ri - row index
ci - column index
ipcoord - array containing coordinates of integration points

8.5.2002

Definition at line 172 of file quadquadrilatt.cpp.

References vector::a, approx(), gauss_points(), transtop::give_node_coord2d(), intordkm, nne, and Tt.

void nod_fluxes_ip ( long  eid  ) 

function computes fluxes in nodes of element

Parameters:
eid - element id

TKr, 04/12/2010

Definition at line 1654 of file quadquadrilatt.cpp.

References transtop::elements, flux, transtop::give_elemnodes(), transmat::givefluxes(), intordkm, intpointflux(), elementt::ipp, ncomp, nne, nod, transtop::nodes, nodip_planelq(), probdesct::ntm, nodet::storeflux(), Tm, Tp, and Tt.

void nod_grads_ip ( long  eid  ) 

function computes gradients in nodes of element

Parameters:
eid - element id

TKr, 04/12/2010

Definition at line 1619 of file quadquadrilatt.cpp.

References transtop::elements, transtop::give_elemnodes(), transmat::givegrad(), grad, intordkm, elementt::ipp, ncomp, nne, nod, transtop::nodes, nodip_planelq(), probdesct::ntm, nodet::storegrad(), Tm, Tp, and Tt.

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 1000 of file quadquadrilatt.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 nod_others_comp ( long  lcid,
long  eid,
long  ri,
long  ci 
)

function computes other values directly in nodes of element

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

TKr, 04/12/2010

Definition at line 1694 of file quadquadrilatt.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, transtop::nodes, ntm, other, reallocv(), probdesct::savemode, nodet::storeother(), Tm, Tp, and Tt.

Referenced by compute_nodeotherst_comp().

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, 4.10.2001

Definition at line 624 of file quadquadrilatt.cpp.

References matrix::a, addv(), approx(), bf_matrix(), dofe, fillm(), gauss_points(), transtop::give_elemnodes(), transtop::give_node_coord2d(), transcrsec::give_thickness(), intordcm, jac_2d(), mxv(), nne, nnj(), nodes, print_err(), Tc, 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 - loaded element id

TKr, 28.2.2004

Definition at line 967 of file quadquadrilatt.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 resulting element capacity matrix

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

JK, 6.1.2002

Definition at line 761 of file quadquadrilatt.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, 6.1.2002

Definition at line 734 of file quadquadrilatt.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 assembles resulting element convection vector

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

JK, 6.1.2002

Definition at line 805 of file quadquadrilatt.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 assembles resulting element internal fluxes vector

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

JK, 6.1.2002

Definition at line 885 of file quadquadrilatt.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 assembles resulting element source vector

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

JK, 6.1.2002

Definition at line 864 of file quadquadrilatt.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 assembles resulting element transmission vector

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

JK, 6.1.2002

Definition at line 833 of file quadquadrilatt.cpp.

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

Referenced by elem_newton_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 924 of file quadquadrilatt.cpp.

References approx(), f, gauss_points(), transtop::give_elemnodes(), transtop::give_node_coord2d(), transcrsec::give_thickness(), jac_2d(), nne, nodes, Tc, and Tt.

Referenced by elem_total_integral().

void transf_coeff ( long  edg,
vector coeff,
vector list,
long  eid,
long  ri,
long  ci,
long  ipp,
bocontypet bc 
)
void transf_flux ( long  edg,
vector coeff,
vector list,
vector trc,
vector trr,
long  eid,
long  ri,
long  ci,
long  ipp,
bocontypet bc 
)

function

Parameters:
edg - edge id
coeff - array of
list - array of nodal values prescribed on boundary
trc - array of transmission coefficients
trr - array of transmission/radiation coefficients
eid - element id
ri,ci - row and column indices
ipp - integration point id
bc - array describing type of boundary condition

Definition at line 1433 of file quadquadrilatt.cpp.

References ivector::a, fillv(), transtop::give_elemnodes(), nne, nned, nodes, quadquadrilat_edgnod(), Tm, transmat::transmission_flux(), and Tt.

Referenced by boundary_flux().

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

JK, 19.8.2004

Definition at line 1509 of file quadquadrilatt.cpp.

References ivector::a, fillv(), transtop::give_elemnodes(), nne, nned, nodes, quadquadrilat_edgnod(), 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 - load case id
eid - element id
ri,ci - row and column indices
km - conductivity matrix

JK, 19.8.2004

Definition at line 1135 of file quadquadrilatt.cpp.

References vector::a, edge_integral(), loadelt::eid, transtop::elements, loadcaset::elemload, gauss_points(), loadelt::give_bc(), transtop::give_elemnodes(), transtop::give_node_coord2d(), transcrsec::give_thickness(), loadelt::give_trc(), intordkm, elementt::ipp, transbclc::lc, loadcaset::neb, ned, nne, nned, nodes, probdesct::savemode, Tb, Tc, 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_value

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

JK, 5.10.2001 TKr, 30.1.2002 - new added

Definition at line 1203 of file quadquadrilatt.cpp.

References addv(), edge_integral(), edgenodeval(), transtop::elements, loadcaset::elemload, fillm(), fillv(), gauss_points(), loadelt::give_bc(), transtop::give_elemnodes(), transtop::give_node_coord2d(), loadelt::give_nodval(), transcrsec::give_thickness(), loadelt::give_trc(), loadelt::give_trr(), intordkm, elementt::ipp, transbclc::lc, mxv(), ned, nne, nned, nodes, nodval(), probdesct::savemode, Tb, Tc, Tp, transf_val(), and Tt.

Referenced by res_transmission_vector().


Member Data Documentation

long** dofe
long** intordcm
long** intordkm
long napfun

number of approximated functions

Definition at line 70 of file quadquadrilatt.h.

Referenced by quadquadrilatt().

long ncomp
long ndofe
long ned
long** nip

number of integration points

Definition at line 74 of file quadquadrilatt.h.

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

long nne
long nned
long ntm
long** ordering

unknown ordering

Definition at line 76 of file quadquadrilatt.h.

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


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

Generated by  doxygen 1.6.2