VarFormOrthoMesh Class Reference

#include <varformorthomesh.h>

Inheritance diagram for VarFormOrthoMesh:
Inheritance graph
[legend]
Collaboration diagram for VarFormOrthoMesh:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 VarFormOrthoMesh (FEOrthoMesh &fe)
FEOrthoMeshgetFE ()
OrthoMeshgetMesh ()
void reinit (OrthoMesh &mesh)
void reinit (OrthoMesh::Cell_It &cell)
virtual void assembly_local_system (OrthoMesh::Cell_It &cell, Matrix &ML)=0
virtual void assembly_local_rhs (OrthoMesh::Cell_It &cell, VecDouble &BL)=0
virtual const Matrixget_local_sparsity ()=0
virtual void neumann_condition (VecDouble &Bl, OrthoMesh::Cell_It cell, OrthoMesh::Face_It face, unsigned face_dir, Function3D &fN)=0

Protected Member Functions

virtual void mesh_change (OrthoMesh &mesh)=0

Protected Attributes

OrthoMesh_pMesh
FEOrthoMesh_fe

Detailed Description

VarFormOrthoMesh

DONT EVER, HIDE THE METHOD reinit(OrthoMesh*) IN THE DERIVED CLASS. IF YOU NEED TO DO SOMETHING LIKE THAT, OVERRIDE THE METHOD mesh_change INSTEAD

Definition at line 13 of file varformorthomesh.h.


Constructor & Destructor Documentation

VarFormOrthoMesh::VarFormOrthoMesh ( FEOrthoMesh fe  )  [inline]

Definition at line 24 of file varformorthomesh.h.

00025     :_fe(fe)
00026   {
00027     _pMesh=NULL;
00028   }


Member Function Documentation

virtual void VarFormOrthoMesh::assembly_local_rhs ( OrthoMesh::Cell_It cell,
VecDouble BL 
) [pure virtual]

Assembly the local system right hand side not including the Neumman Condition. That is computed in another method neumann_condition()

Parameters:
cell The cell in the mesh to build the local system
BL To contain the right hand side of the local system The method assumes that the vector has already the correct size. You can get the local system rank using the dimension of the matrix returned by get_local_sparsity() method.

Implemented in VarFormPoisson.

virtual void VarFormOrthoMesh::assembly_local_system ( OrthoMesh::Cell_It cell,
Matrix ML 
) [pure virtual]

Assembly the local system

Parameters:
cell The cell in the mesh to build the local system
ML Matrix to contain the local system. The method assumes that the local matrix has already the correct sizes. You can get the local system rank using the dimension of the matrix returned by get_local_sparsity() method
Returns:
The local system at parameter ML

Implemented in VarFormPoisson.

virtual const Matrix& VarFormOrthoMesh::get_local_sparsity (  )  [pure virtual]

Get the sparsity of the local system. The sparsity is represented by a full matrix with the same size as the local system matrix. A zero entry on position (i,j) means that this position is always zero in the local system. 1 means that such entry is always different of zero.

Returns:
The sparsity pattern of the local system

Implemented in VarFormPoisson.

FEOrthoMesh& VarFormOrthoMesh::getFE (  )  [inline]

Definition at line 30 of file varformorthomesh.h.

00030 {return _fe;}

OrthoMesh* VarFormOrthoMesh::getMesh (  )  [inline]

Definition at line 31 of file varformorthomesh.h.

00031 {return _pMesh;}

virtual void VarFormOrthoMesh::mesh_change ( OrthoMesh mesh  )  [protected, pure virtual]

Implemented in VarFormPoisson.

virtual void VarFormOrthoMesh::neumann_condition ( VecDouble Bl,
OrthoMesh::Cell_It  cell,
OrthoMesh::Face_It  face,
unsigned  face_dir,
Function3D fN 
) [pure virtual]

Set the RHS of the local system with the Neumman condition

Parameters:
Bl To contain the RHS with neumann condition This vector should be initialized with the right size
cell Cell of the local system
face Face where to get the neumman condition. The face must belong to the cell passed on the previous parameter.
face_id The direction of the face in respect to the cell Ex: LEFT_FACE, RIGHT_FACE, BOTTOM_FACE .....
fN The function that specifies the Neumman condition. The meaning of this function is specific to each variational formulation. Programmers Note: Always write a piece of documentation containing the meaning (what the value is) of the neumman function. For example FN(x) = Vel(x)*n(x), where n is the outward normal or n is the inward normal and so on.

Implemented in VarFormPoisson.

void VarFormOrthoMesh::reinit ( OrthoMesh::Cell_It cell  )  [inline]

Definition at line 49 of file varformorthomesh.h.

00050   {
00051     
00052   }

void VarFormOrthoMesh::reinit ( OrthoMesh mesh  )  [inline]

Initialize the mesh, dont ever, hide this method in the derived class, if you need to do something like that, override the method mesh_change instead

Parameters:
mesh 
Returns:

Definition at line 40 of file varformorthomesh.h.

00041   {
00042     if (_pMesh == &mesh)
00043       return;
00044     _pMesh=&mesh;
00045     _fe.reinit(mesh);
00046     mesh_change(mesh);
00047   }


Member Data Documentation

Definition at line 18 of file varformorthomesh.h.

Definition at line 17 of file varformorthomesh.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Sun Apr 8 23:13:32 2012 for CO2INJECTION by  doxygen 1.6.3