#include <DiffFlux1Osg.hpp>
Collaboration diagram for DiffFlux1Osg< T >:

Public Types | |
| enum | t_bc_type { DIRICHLET, ZERO_FLUX, TRANSMISSION } |
Public Member Functions | |
| void | Init (int the_dim, double *the_cube_sizes, int the_bc_type) |
| Sets the parameters of the problem. | |
| int | Dimension () const |
| Returns the dimensionality of the problem. | |
| double | DomainSize (int dir) const |
| Returns the size of the domain in the given direction. | |
| double * | DomainSizes () |
| Returns pointer to the array with the dom. sizes. | |
| void | PrintParam () |
| Prints the parameters of the flux functions. | |
| void | PreProcess (SparseMatrix< T > &A) |
| Computes the grid steps etc. | |
| void | AssembleInnerFaceFlux (T factor, int face, MultiIndex &I, SparseMatrix< T > &A) |
| Assembles the flux through an inner CV face. | |
| void | AssembleBndFaceFlux (T factor, int face, MultiIndex &I, SparseMatrix< T > &A) |
| Assembles the flux through a boundary CV face. | |
| T | det_J (MultiIndex &I, const Array< int > &grid_sizes) |
| Returns the volume of a control volume. | |
| void | PostProcess (SparseMatrix< T > &A) |
| assembles the Dirichlet BC in the matrix | |
| void | AssembleDirichlet (MultiArray< T > &u) |
| Assembles the Dirichlet BC in the vectors. | |
| DiffFlux1Osg () | |
| Constructor. | |
| virtual | ~DiffFlux1Osg () |
| Virtual destructor. | |
Protected Member Functions | |
| virtual T * | diff_tensor_row (int row, MultiIndex &I, const Array< int > &grid_lengths)=0 |
| Returns the pointer to the row of the diffusion tensor for a given inner FV face. | |
| virtual T | dirichlet_value (int row, MultiIndex &I, const Array< int > &grid_lengths) |
| Returns the value of the Dirichlet BC for a given point on the boundary. | |
| enum DiffFlux1Osg::t_bc_type |
| DiffFlux1Osg< T >::DiffFlux1Osg | ( | ) | [inline] |
Constructor.
| virtual DiffFlux1Osg< T >::~DiffFlux1Osg | ( | ) | [inline, virtual] |
Virtual destructor.
| virtual T* DiffFlux1Osg< T >::diff_tensor_row | ( | int | row, | |
| MultiIndex & | I, | |||
| const Array< int > & | grid_lengths | |||
| ) | [protected, pure virtual] |
Returns the pointer to the row of the diffusion tensor for a given inner FV face.
The row should be kept in the memory at least till the next call of this function. The index 'I' specifies the FV face in the 'row' direction, i.e. all the components of 'I' except for 'face' count the grid cells, and 'I [row]' counts the grid lines
| [in] | row | # of the row of the tensor |
| [in] | I | Multi-index of the face |
| [in] | grid_lengths | The grid sizes |
| virtual T DiffFlux1Osg< T >::dirichlet_value | ( | int | row, | |
| MultiIndex & | I, | |||
| const Array< int > & | grid_lengths | |||
| ) | [inline, protected, virtual] |
Returns the value of the Dirichlet BC for a given point on the boundary.
| [in] | row | # of the row of the tensor |
| [in] | I | Multi-index of the face |
| [in] | grid_lengths | The grid sizes |
| void DiffFlux1Osg< T >::Init | ( | int | the_dim, | |
| double * | the_cube_sizes, | |||
| int | the_bc_type | |||
| ) | [inline] |
Sets the parameters of the problem.
| [in] | the_dim | The dimensionality of the problem |
| [in] | the_cube_sizes | The sizes of the domain (an array of 'dim' elements) |
| [in] | the_bc_type | The type of the boundary conditions |
| int DiffFlux1Osg< T >::Dimension | ( | ) | const [inline] |
Returns the dimensionality of the problem.
| double DiffFlux1Osg< T >::DomainSize | ( | int | dir | ) | const [inline] |
Returns the size of the domain in the given direction.
| [in] | dir | The direction |
| double* DiffFlux1Osg< T >::DomainSizes | ( | ) | [inline] |
Returns pointer to the array with the dom. sizes.
| void DiffFlux1Osg< T >::PrintParam | ( | ) | [inline] |
Prints the parameters of the flux functions.
| void DiffFlux1Osg< T >::PreProcess | ( | SparseMatrix< T > & | A | ) | [inline] |
Computes the grid steps etc.
| void DiffFlux1Osg< T >::AssembleInnerFaceFlux | ( | T | factor, | |
| int | face, | |||
| MultiIndex & | I, | |||
| SparseMatrix< T > & | A | |||
| ) | [inline] |
Assembles the flux through an inner CV face.
| void DiffFlux1Osg< T >::AssembleBndFaceFlux | ( | T | factor, | |
| int | face, | |||
| MultiIndex & | I, | |||
| SparseMatrix< T > & | A | |||
| ) | [inline] |
Assembles the flux through a boundary CV face.
| T DiffFlux1Osg< T >::det_J | ( | MultiIndex & | I, | |
| const Array< int > & | grid_sizes | |||
| ) | [inline] |
Returns the volume of a control volume.
| [in] | I | The vertex index |
| [in] | grid_sizes | The grid sizes for the index |
| void DiffFlux1Osg< T >::PostProcess | ( | SparseMatrix< T > & | A | ) | [inline] |
assembles the Dirichlet BC in the matrix
| void DiffFlux1Osg< T >::AssembleDirichlet | ( | MultiArray< T > & | u | ) | [inline] |
Assembles the Dirichlet BC in the vectors.
1.5.2