quadlinaxisym Class Reference

#include <quadlinaxisym.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 &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 intpointgrad (long eid)
void intpointother (long eid)
void intpointval (long eid)
void ipcoord (long eid, long ipp, long ri, long ci, vector &coord)
void ipcoordblock (long eid, long ri, long ci, double **coord)
void nod_others (long lcid, long eid, long ri, long ci)
 quadlinaxisym (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 res_volume_rhs_vector (vector &f, long eid, long lcid)
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)
void volume_rhs_vector (long lcid, long eid, long ri, long ci, vector &vrhs)
 ~quadlinaxisym (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 quadlinaxisym defines plane quadrilateral element with bi-linear approximation functions for transport axisymmetric problems

Definition at line 11 of file quadlinaxisym.h.


Constructor & Destructor Documentation

quadlinaxisym ( void   ) 
~quadlinaxisym ( void   ) 

Definition at line 105 of file quadlinaxisym.cpp.

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


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 - vector of nodal values

JK, 25.9.2001

Definition at line 139 of file quadlinaxisym.cpp.

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

Referenced by capacity_matrix(), conductivity_matrix(), edge_integral(), internal_fluxes(), intpointother(), intpointval(), ipcoord(), ipcoordblock(), quantity_source_vector(), total_integral(), and volume_rhs_vector().

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 445 of file quadlinaxisym.cpp.

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

Referenced by capacity_matrix(), conductivity_matrix(), edge_integral(), axiquadc::lower_cap_coup_matrix(), axiquadc::lower_cond_coup_matrix(), quantity_source_vector(), axiquadc::upper_cap_coup_matrix(), axiquadc::upper_cond_coup_matrix(), and axiquadc::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 - loaded element id
ri,ci - row and column indices

TKr, 28.2.2004

Definition at line 1356 of file quadlinaxisym.cpp.

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

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

JK, 4.10.2001

Definition at line 580 of file quadlinaxisym.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(), intordcm, intordkm, elementt::ipp, jac_2d(), 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 
)
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 bilinear approximation functions

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

JK, 25.9.2001

Definition at line 510 of file quadlinaxisym.cpp.

References matrix::a, approx(), bdbj(), bdbjac(), bf_matrix(), dofe, transtop::elements, fillm(), gauss_points(), transtop::give_elemnodes(), transtop::give_node_coord2d(), 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 nodal fluxes from boundary values

{Gamma_2} N^T N dGamma * nodal_flux_values

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

JK, 19.8.2004

Definition at line 1148 of file quadlinaxisym.cpp.

References vector::a, 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(), intordkm, elementt::ipp, transbclc::lc, mxv(), ned, nne, nned, nodes, nodval(), probdesct::savemode, Tb, Tp, and Tt.

Referenced by res_convection_vector().

void edge_integral ( long  edg,
vector x,
vector y,
long  intord,
vector gp,
vector w,
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 1426 of file quadlinaxisym.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 1620 of file quadlinaxisym.cpp.

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

Referenced by convection_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 460 of file quadlinaxisym.cpp.

References bf_lin_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 478 of file quadlinaxisym.cpp.

References vector::a, derivatives_2d(), dx_bf_lin_4_2d(), dy_bf_lin_4_2d(), fillm(), and nne.

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

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 678 of file quadlinaxisym.cpp.

References vector::a, addv(), approx(), cmulv(), transmat::computenlfluxes(), dofe, transtop::elements, gauss_points(), transtop::give_elemnodes(), transtop::give_node_coord2d(), 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 in integration points from nodal values

eid - element id

JK, 25.9.2001

Definition at line 296 of file quadlinaxisym.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 367 of file quadlinaxisym.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

eid - element id

JK, 25.9.2001

Definition at line 230 of file quadlinaxisym.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 ipcoord ( long  eid,
long  ipp,
long  ri,
long  ci,
vector coord 
)

function assembles coordinates of integration point

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

JK, 8.5.2002 + TKr 14.11.2003

Definition at line 163 of file quadlinaxisym.cpp.

References vector::a, approx(), transtop::elements, gauss_points(), transtop::give_node_coord2d(), intordkm, elementt::ipp, nne, probdesct::savemode, Tp, and Tt.

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

JK, 8.5.2002 + TKr 14.11.2003

Definition at line 201 of file quadlinaxisym.cpp.

References vector::a, approx(), gauss_points(), transtop::give_node_coord2d(), intordkm, nne, 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 1093 of file quadlinaxisym.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, 4.10.2001

Definition at line 634 of file quadlinaxisym.cpp.

References matrix::a, addv(), approx(), bf_matrix(), dofe, fillm(), gauss_points(), transtop::give_node_coord2d(), intordcm, jac_2d(), 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, 28.2.2004

Definition at line 968 of file quadlinaxisym.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 quadlinaxisym.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 quadlinaxisym.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 806 of file quadlinaxisym.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 886 of file quadlinaxisym.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 865 of file quadlinaxisym.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 834 of file quadlinaxisym.cpp.

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

Referenced by elem_newton_vector().

void res_volume_rhs_vector ( vector f,
long  eid,
long  lcid 
)

function assembles resulting element volume right-hand side

Parameters:
eid - element id
lcid - load case id
f - resulting volume right-hand side vector of one element

TKr, 16/07/2013

Definition at line 1065 of file quadlinaxisym.cpp.

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

Referenced by volume_rhs_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 926 of file quadlinaxisym.cpp.

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

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 
)
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 1576 of file quadlinaxisym.cpp.

References ivector::a, fillv(), transtop::give_elemnodes(), linquadrilat_edgnod(), nne, nned, nodes, 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 1219 of file quadlinaxisym.cpp.

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

Parameters:
tmv - transmission 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, 5.10.2001 TKr, 30.1.2002 - new added

Definition at line 1285 of file quadlinaxisym.cpp.

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

Referenced by res_transmission_vector().

void volume_rhs_vector ( long  lcid,
long  eid,
long  ri,
long  ci,
vector vrhs 
)

function computes contributions to the right-hand side - volume integral

{Omega} B^T D dOmega

Parameters:
tmv - transmission 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)

TKr, 16/07/2013

Definition at line 1004 of file quadlinaxisym.cpp.

References approx(), dofe, transtop::elements, fillm(), gauss_points(), transtop::give_elemnodes(), transtop::give_node_coord2d(), grad_matrix(), intordkm, elementt::ipp, vector::n, ncomp, nne, nnjac(), nodes, reallocm(), probdesct::savemode, Tm, Tp, Tt, and transmat::volume_rhs().

Referenced by res_volume_rhs_vector().


Member Data Documentation

long** dofe
long** intordcm

orders of integration of capacity matrices

Definition at line 79 of file quadlinaxisym.h.

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

long** intordkm
long napfun

number of approximated functions

Definition at line 69 of file quadlinaxisym.h.

Referenced by quadlinaxisym().

long ncomp
long ndofe

total number of DOFs on the element

Definition at line 59 of file quadlinaxisym.h.

Referenced by axiquadc::axiquadc(), transtop::give_ndofe(), intpointgrad(), intpointval(), nod_others(), quadlinaxisym(), and res_internal_fluxes().

long ned
long** nip

number of integration points

Definition at line 73 of file quadlinaxisym.h.

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

long nne
long nned
long ntm
long** ordering

unknown ordering

Definition at line 75 of file quadlinaxisym.h.

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


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

Generated by  doxygen 1.6.2