ParMooN
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LocalAssembling2D Class Reference

#include <LocalAssembling2D.h>

Collaboration diagram for LocalAssembling2D:
Collaboration graph
[legend]

Public Member Functions

 LocalAssembling2D (LocalAssembling2D_type type, TFEFunction2D **fefunctions2d, CoeffFct2D *coeffs)
 
 ~LocalAssembling2D ()
 
void GetLocalForms (int N_Points, double *weights, double *AbsDetjk, double *X, double *Y, int *N_BaseFuncts, BaseFunct2D *BaseFuncts, double **Parameters, double **AuxArray, TBaseCell *Cell, int N_Matrices, int N_Rhs, double ***LocMatrix, double **LocRhs, double factor=1.)
 
void GetParameters (int n_points, TCollection *Coll, TBaseCell *cell, int cellnum, double *x, double *y, double **Parameters)
 
void GetParameters (int N_Points, TCollection *Coll, TBaseCell *cell, int cellnum, double *s, int joint, double **Parameters)
 
const std::string & get_name () const
 
bool * GetNeeds2ndDerivatives () const
 
CoeffFct2D * GetCoeffFct () const
 
int rowSpaceOfMat (int i) const
 
int colSpaceOfMat (int i) const
 
int GetN_ParamFct () const
 
int GetN_Parameters () const
 

Protected Member Functions

void set_parameters_for_nse (LocalAssembling2D_type type)
 

Protected Attributes

std::string name
 
int N_Terms
 number of terms
 
int N_Spaces
 number of involved spaces (typically one or two)
 
bool * Needs2ndDerivatives
 for each space we store a bool indicatin if second derivatives are needed
 
std::vector< MultiIndex2D > Derivatives
 multiindices for derivatives of ansatz and test functions More...
 
std::vector< int > FESpaceNumber
 for each term, there is one FESpace2D asociated with that term
 
std::vector< int > RowSpace
 which FE space corresponds to each row
 
std::vector< int > ColumnSpace
 which FE space corresponds to each column
 
std::vector< int > RhsSpace
 which FE space corresponds to each right-hand side
 
CoeffFct2D * Coeffs
 
AssembleFctParam2D * AssembleParam
 function doing the real assembling using parameters from argument list
 
ManipulateFct2D * Manipulate
 
double *** AllOrigValues
 
double ** OrigValues
 
int N_Matrices
 
int N_Rhs
 
int N_ParamFct
 
std::vector< ParamFct * > ParameterFct
 
std::vector< int > BeginParameter
 
int N_Parameters
 
TFEFunction2D ** FEFunctions2D
 
int N_FEValues
 
std::vector< int > FEValue_FctIndex
 
std::vector< MultiIndex2D > FEValue_MultiIndex
 

Detailed Description

a function from a finite element space

Constructor & Destructor Documentation

LocalAssembling2D::LocalAssembling2D ( LocalAssembling2D_type  type,
TFEFunction2D **  fefunctions2d,
CoeffFct2D *  coeffs 
)

constructor

LocalAssembling2D::~LocalAssembling2D ( )

destructor

Member Function Documentation

int LocalAssembling2D::colSpaceOfMat ( int  i) const
inline

return the index of the column space of the i-th matrix

const std::string& LocalAssembling2D::get_name ( ) const
inline

return name

CoeffFct2D* LocalAssembling2D::GetCoeffFct ( ) const
inline

function for calculating the coefficients

Here is the caller graph for this function:

void LocalAssembling2D::GetLocalForms ( int  N_Points,
double *  weights,
double *  AbsDetjk,
double *  X,
double *  Y,
int *  N_BaseFuncts,
BaseFunct2D *  BaseFuncts,
double **  Parameters,
double **  AuxArray,
TBaseCell Cell,
int  N_Matrices,
int  N_Rhs,
double ***  LocMatrix,
double **  LocRhs,
double  factor = 1. 
)

return local stiffness matrix

bool* LocalAssembling2D::GetNeeds2ndDerivatives ( ) const
inline

return array Needs2ndDerivatives

void LocalAssembling2D::GetParameters ( int  n_points,
TCollection Coll,
TBaseCell cell,
int  cellnum,
double *  x,
double *  y,
double **  Parameters 
)

return all parameters at all quadrature points

void LocalAssembling2D::GetParameters ( int  N_Points,
TCollection Coll,
TBaseCell cell,
int  cellnum,
double *  s,
int  joint,
double **  Parameters 
)

return all parameters at boundary points

int LocalAssembling2D::rowSpaceOfMat ( int  i) const
inline

return the index of the row space of the i-th matrix

void LocalAssembling2D::set_parameters_for_nse ( LocalAssembling2D_type  type)
protected

Depending on the NSTYPE and the NSE_NONLINEAR_FORM all parameters are set within this function. This function is called from the constructor in case of Navier-Stokes problems. It only exists in order to not make the constructor huge.

Basically this function implements three nested switches.

Member Data Documentation

double*** LocalAssembling2D::AllOrigValues
protected

memory for storing the original value arrays

std::vector<int> LocalAssembling2D::BeginParameter
protected

index of first parameter produced by parameter function i

CoeffFct2D* LocalAssembling2D::Coeffs
protected

function for calculating the coefficients

std::vector<MultiIndex2D> LocalAssembling2D::Derivatives
protected

multiindices for derivatives of ansatz and test functions

This is an array of size N_Terms.

TFEFunction2D** LocalAssembling2D::FEFunctions2D
protected

array of stored FEFunction2D

std::vector<int> LocalAssembling2D::FEValue_FctIndex
protected

index of FEFunction2D used for FE value i

std::vector<MultiIndex2D> LocalAssembling2D::FEValue_MultiIndex
protected

which multiindex is used for FE value i

ManipulateFct2D* LocalAssembling2D::Manipulate
protected

function for manipulating the coefficients

int LocalAssembling2D::N_FEValues
protected

number of FE values

int LocalAssembling2D::N_ParamFct
protected

number of stored parameter functions (ParamFct)

std::string LocalAssembling2D::name
protected

name

double** LocalAssembling2D::OrigValues
protected

memory for storing the original value arrays at one point

std::vector<ParamFct*> LocalAssembling2D::ParameterFct
protected

array of stored parameter function


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