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

Multivac::CPiecewiseConstantSpeed< T > Class Template Reference

The speed rate is piecewise constant in time and in space. More...

#include <piecewiseconstantspeed.hxx>

Inheritance diagram for Multivac::CPiecewiseConstantSpeed< T >:

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

Public Member Functions

 CPiecewiseConstantSpeed () throw ()
 Default constructor.

 CPiecewiseConstantSpeed (T SpeedRate_, T SpeedRate0_, T Limit_) throw ()
 Main constructor.

 ~CPiecewiseConstantSpeed () throw ()
 Destructor.

virtual void Init (CMesh< T > &Mesh)
 Initializes speed function: memory allocation.

virtual T operator() (T x, T y, T time) const
 Returns speed rate at some point.

virtual T operator() (T x, T y, T time, T nx, T ny, T curvature) const
 Returns speed rate at some point.

virtual T GetMaxF1 (T Xmin, T Xmax, T Ymin, T Ymax, T norm2) const
virtual T GetMaxF2 (T Xmin, T Xmax, T Ymin, T Ymax, T norm2) const
virtual T operator() (int i, int j) const
 Returns speed rate on grid points.

virtual T GetDerivatives (T x, T y, T nx, T ny, T t, T &dFdp, T &dFdx, T &dFdy, T &dFdnx, T &dFdny) const
virtual T Get2ndDerivatives (T x, T y, T nx, T ny, T t, T &dFdpdp, T &dFdpdx, T &dFdpdy, T &dFdpdnx, T &dFdpdny, T &dFdxdx, T &dFdxdy, T &dFdxdnx, T &dFdxdny, T &dFdydy, T &dFdydnx, T &dFdydny, T &dFdnxdnx, T &dFdnxdny, T &dFdnydny) const

Protected Attributes

SpeedRate
 First speed rate.

SpeedRate0
 Second speed rate.

Limit
 Ordinate of the limit between the two bands.

int LimitIndex
 Ordinate index of the limit between the two bands.


Detailed Description

template<class T>
class Multivac::CPiecewiseConstantSpeed< T >

The speed rate is piecewise constant in time and in space.

The speed rate is constant on two bands:

--------------------
| |
| constant speed | First rate: SpeedRate
| rate |
| |
--------------------
| constant speed | Second rate: SpeeRate0
| rate |
--------------------


Constructor & Destructor Documentation

template<class T>
Multivac::CPiecewiseConstantSpeed< T >::CPiecewiseConstantSpeed  )  throw ()
 

Default constructor.

Warning:
Speed rates are set to 1 and the ordinate limit to 0.

template<class T>
Multivac::CPiecewiseConstantSpeed< T >::CPiecewiseConstantSpeed SpeedRate_,
SpeedRate0_,
Limit_
throw ()
 

Main constructor.

Initializes the object with a given constant speed rate.

Parameters:
SpeedRate_ constant speed rate in the upper band.
SpeedRate0_ constant speed rate in the lower band.
Limit_ ordinate of the limit between the two bands.


Member Function Documentation

template<class T>
T Multivac::CPiecewiseConstantSpeed< T >::Get2ndDerivatives x,
y,
nx,
ny,
t,
T &  dFdpdp,
T &  dFdpdx,
T &  dFdpdy,
T &  dFdpdnx,
T &  dFdpdny,
T &  dFdxdx,
T &  dFdxdy,
T &  dFdxdnx,
T &  dFdxdny,
T &  dFdydy,
T &  dFdydnx,
T &  dFdydny,
T &  dFdnxdnx,
T &  dFdnxdny,
T &  dFdnydny
const [inline, virtual]
 

Returns speed rate and second derivatives at some point.

Parameters:
x abscissa.
y ordinate.
nx normal fisrt-coordinate.
ny normal second-coordinate.
t date.
Returns:
The speed rate on (x, y).

Implements Multivac::CSpeedFunction< T >.

template<class T>
T Multivac::CPiecewiseConstantSpeed< T >::GetDerivatives x,
y,
nx,
ny,
t,
T &  dFdp,
T &  dFdx,
T &  dFdy,
T &  dFdnx,
T &  dFdny
const [inline, virtual]
 

Returns speed rate and derivatives at some point.

Parameters:
x abscissa.
y ordinate.
nx normal fisrt-coordinate.
ny normal second-coordinate.
t date.
dFdp partial derivative of F with respect to p.
dFdx partial derivative of F with respect to x.
dFdy partial derivative of F with respect to y.
dFdnx partial derivative of F with respect to nx.
dFdny partial derivative of F with respect to ny.
Returns:
The speed rate on (x, y).

Implements Multivac::CSpeedFunction< T >.

template<class T>
T Multivac::CPiecewiseConstantSpeed< T >::GetMaxF1 DxMin,
DxMax,
DyMin,
DyMax,
norm2
const [inline, virtual]
 

Returns an upper bound of the maximum (absolute value) of the first derivative of F with respect to Phi_x, where Phi_x = d(Phi)/dx, multiplied by | Phi|_2, i.e. max | F_{Phi_x} | Phi|_2 |. Returns this bound on [DxMin, DxMax] x [DyMin, DyMax].

Parameters:
DxMin minimum of Phi_x.
DxMax maximum of Phi_x.
DyMin minimum of Phi_y.
DyMax maximum of Phi_y.
norm2 an upper bound of | Phi|_2.
Returns:
An upper bound of the maximum (absolute value) of the first derivative of F with respect to Phi_x, multiplied by | Phi|_2.

Implements Multivac::CSpeedFunction< T >.

template<class T>
T Multivac::CPiecewiseConstantSpeed< T >::GetMaxF2 DxMin,
DxMax,
DyMin,
DyMax,
norm2
const [inline, virtual]
 

Returns an upper bound of the maximum (absolute value) of the first derivative of F with respect to Phi_y, where Phi_y = d(Phi)/dy, multiplied by | Phi|_2, i.e. max | F_{Phi_y} | Phi|_2 |. Returns this bound on [DxMin, DxMax] x [DyMin, DyMax].

Parameters:
DxMin minimum of Phi_x.
DxMax maximum of Phi_x.
DyMin minimum of Phi_y.
DyMax maximum of Phi_y.
norm2 an upper bound of | Phi|_2.
Returns:
An upper bound of the maximum (absolute value) of the first derivative of F with respect to Phi_y, multiplied by | Phi|_2.

Implements Multivac::CSpeedFunction< T >.

template<class T>
void Multivac::CPiecewiseConstantSpeed< T >::Init CMesh< T > &  Mesh  )  [inline, virtual]
 

Initializes speed function: memory allocation.

Allocates memory to store speed rates.

Parameters:
Mesh orthogonal mesh.

Implements Multivac::CSpeedFunction< T >.

template<class T>
T Multivac::CPiecewiseConstantSpeed< T >::operator() int  i,
int  j
const [inline, virtual]
 

Returns speed rate on grid points.

Parameters:
i row index.
j column index.
Returns:
The speed rate.
Exceptions:
Multivac::CError_OutOfDomain attempt to compute outside the domain.

Reimplemented from Multivac::CSpeedFunction< T >.

template<class T>
T Multivac::CPiecewiseConstantSpeed< T >::operator() x,
y,
time,
nx,
ny,
curvature
const [inline, virtual]
 

Returns speed rate at some point.

Parameters:
x abscissa.
y ordinate.
time time.
nx normal fisrt-coordinate.
ny normal second-coordinate.
curvature curvature.
Returns:
The constant speed rate.

Implements Multivac::CSpeedFunction< T >.

template<class T>
T Multivac::CPiecewiseConstantSpeed< T >::operator() x,
y,
time
const [inline, virtual]
 

Returns speed rate at some point.

Parameters:
x abscissa.
y ordinate.
Returns:
The speed rate on (x, y).

Implements Multivac::CSpeedFunction< T >.


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