Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

ElmBH2n1D Class Reference

definition of 1D cubic Hermite element. More...

#include <ElmDefs.h>

Inheritance diagram for ElmBH2n1D::

ElmB2n1D ElmTensorProd ElmDef HandleId List of all members.

Public Methods

 ElmBH2n1D ()
 ~ElmBH2n1D ()
virtual void basisFunc (Vec(real) &N, const Ptv(real) &loc_pt) const
virtual void dLocBasisFunc (Mat(real) &dNloc, const Ptv(real) &loc_pt) const
virtual void d2LocBasisFunc (ArrayGen(real) &d2Nloc, const Ptv(real) &loc_pt) const
virtual int getNoDof4scalarFunction (int) const

Detailed Description

definition of 1D cubic Hermite element.

NAME: ElmBH2n1D - definition of 1D cubic Hermite element

DESCRIPTION:

The class implements the standard 1D element with two nodes and cubic Hermite basis functions. There are two degrees of freedom per node in order to represent a scalar function (the function value and its derivative). Assuming [-1,1] as the reference interval, these degrees of freedom are numbered as follows: Degree of freedom 1 is the the function value at -1, degree of freedom 2 is the derivative at -1, degree of freedom 3 is the function value at 1, and degree of freedom 4 is the derivative at 1.

Most of the operations on this element type are defined through virtual functions or member functions of the base class "ElmDef".


Constructor & Destructor Documentation

ElmBH2n1D::ElmBH2n1D ( )
 

ElmBH2n1D::~ElmBH2n1D ( ) [inline]
 


Member Function Documentation

void ElmBH2n1D::basisFunc ( Vec(real) & N,
const Ptv(real) & loc_pt ) const [virtual]
 

calculates the basis (trial) functions over the element. In other words, the routine computes the interpolation functions for functions defined over the element. Functions entering differential equations etc should be interpolated according to these basis functions. The return array "N" can be empty (not ok) at input, the "basisFunc" will redimension the array properly. The length of "N" equals the number of basis function nodes in the element. For isoparametric elements "basisFunc" and "geomtFunc" are identical. However, for mixed finite elements, one may have a bilinear geometry function (four nodes) and, e.g., a constant basis function. The basis function has then only one node (for example in the centroid of the element) and the length of "N" will be 1. Confer subclasses and the FAQ for information on conventions regarding basis function nodes and the ordering. It should be mentioned that class "BasisFuncGrid" is used to assign basis nodes to a grid (class "GridFE" is meant to contain the geometry of the grid, including geometry nodes).

Reimplemented from ElmTensorProd.

void ElmBH2n1D::d2LocBasisFunc ( ArrayGen(real) & d2Nloc,
const Ptv(real) & loc_pt ) const [virtual]
 

the second order derivatives in the local element coordinates of the functions defined by "basisFunc".

Reimplemented from ElmB2n1D.

void ElmBH2n1D::dLocBasisFunc ( Mat(real) & dNloc,
const Ptv(real) & loc_pt ) const [virtual]
 

the derivatives in the local element coordinates of the functions defined by "basisFunc." As for the "geomtFunc" and "basisFunc" functions the return array can be empty or have wrong dimension at input. The function will redimension the array properly.

Reimplemented from ElmTensorProd.

int ElmBH2n1D::getNoDof4scalarFunction ( int ) const [inline, virtual]
 

returns the number of degrees of freedom at a nodal point that the element needs to represent a scalar finite element function. For all elements where the nodal values are used in the definition of the function, there is one degree of freedom per node. However, special elements, like the 1D Hermite cubic element, have two degrees of freedom per node (the function value and the derivative). Elements in the p version of the finite element method typically have many sidemodes, which in the Diffpack terminology translates to many degrees of freedom per side node (and correspondingly many degrees of freedom per internal node - one internal node is associated with all the bubble functions). For an "ElmDef" subclass object one should have the following relation: The sum of "getNoDof4scalarFunction" over all "nne_basis" nodes must equal "nbf". This can be used to implicitly define the concept basis function nodes for a given element.

Reimplemented from ElmDef.


The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.