Main Page | User's guide | Class Hierarchy | Class List | File List | Class Members

Multivac::CNarrowBandEno2EngquistOsher< T > Class Template Reference

#include <narrowbandeno2engquistosher.hxx>

Inheritance diagram for Multivac::CNarrowBandEno2EngquistOsher< T >:

Multivac::CUpdater< T > List of all members.

Public Member Functions

 CNarrowBandEno2EngquistOsher () throw ()
 Default constructor.

 CNarrowBandEno2EngquistOsher (int TubeSemiWidth_, int BarrierWidth_, int OutSpaceWidth_) throw ()
 Main constructor.

 ~CNarrowBandEno2EngquistOsher () throw ()
 Destructor.

virtual bool IsNarrowBand () const
 Should this updater be used for the narrow band level set method?

virtual bool IsFastMarching () const
 Should this updater be used for the fast marching method?

virtual void Init (CMesh< T > &Mesh, CLevelSet< T > &Phi)
 Inits the updater.

virtual void UpdateLevelSet (T Delta_t, CMesh< T > &Mesh, CSpeedFunction< T > &F, CLevelSet< T > &Phi, T CurrentTime)
 Updates the level set function Phi.


Detailed Description

template<class T>
class Multivac::CNarrowBandEno2EngquistOsher< T >

Note:
This updater is designed for the narrow band level set method.


Constructor & Destructor Documentation

template<class T>
Multivac::CNarrowBandEno2EngquistOsher< T >::CNarrowBandEno2EngquistOsher int  TubeSemiWidth_,
int  BarrierWidth_,
int  OutSpaceWidth_
throw ()
 

Main constructor.

Tube semi width, barrier width and "outspace" width are set.

Parameters:
TubeSemiWidth_ tube semi width, namely the number of cells on each side of the front.
BarrierWidth_ barrier width, namely the number of cells along the barrier width.
OutSpaceWidth_ "outspace" width, namely the number of cells along the "outspace" width.


Member Function Documentation

template<class T>
void Multivac::CNarrowBandEno2EngquistOsher< T >::Init CMesh< T > &  Mesh,
CLevelSet< T > &  Phi
[virtual]
 

Inits the updater.

The matrix 'Temp' is allocated.

Parameters:
Mesh orthogonal mesh.
Phi level set function defined on an orthogonal mesh.

Implements Multivac::CUpdater< T >.

template<class T>
bool Multivac::CNarrowBandEno2EngquistOsher< T >::IsFastMarching  )  const [inline, virtual]
 

Should this updater be used for the fast marching method?

Returns:
'false' because the updater cannot be used for the fast marching method.

Implements Multivac::CUpdater< T >.

template<class T>
bool Multivac::CNarrowBandEno2EngquistOsher< T >::IsNarrowBand  )  const [inline, virtual]
 

Should this updater be used for the narrow band level set method?

Returns:
'true' because the updater can be used for the narrow band level set method.

Implements Multivac::CUpdater< T >.

template<class T>
void Multivac::CNarrowBandEno2EngquistOsher< T >::UpdateLevelSet Delta_t,
CMesh< T > &  Mesh,
CSpeedFunction< T > &  F,
CLevelSet< T > &  Phi,
CurrentTime
[virtual]
 

Updates the level set function Phi.

This function updates the level set function Phi on the tube, according to the speed function F. The Engquist-Osher scheme is the space scheme and the time integration is performed by the Euler explicit method.

Parameters:
Delta_t time step.
Mesh orthogonal mesh.
F speed function defined on Mesh.
Phi level set function defined on Mesh.
CurrentTime current time.

Implements Multivac::CUpdater< T >.


The documentation for this class was generated from the following files:
Generated on Mon Apr 19 01:59:17 2004 for Multivac by doxygen 1.3.6-20040222