spis.Vol.Geom
Interface Geom

All Known Implementing Classes:
ThreeDCartesianGeom, TwoThreeDAxisymGeom

public interface Geom

Class Name : Geom (Geometry)
Project ref : SPIS project
File name : Geom.java
File type : interface
Copyright : ONERA, 2 Av. E. Belin, 31055 Toulouse cedex, France http://www.onecert.fr
Status : under development
Creation : 25/08/2003
Modification :

Description : interface to define the geometry of space.
It defines two aspects of space:
- the dimensions of space and velocity spaces (in phase space), hence the dimension of the space and velocity vectors
- the type of coordinates (cartesian/cylindrical/spherical/polar...) including the correspondance beetween the full coordinate system and the reduced set in case of reduced space (or velocity) dimension (e.g. 2+3D cylindrical with r, z, Vr, Vz, Vtheta (cylindrical symetry by theta rotation))
The methods of this interface are defined here to perform projections, trajectory integration, etc.
They must be implemented in the classes implementinf this interface for each type of geometry.

Versions and anomalies correction :

Version numberAuthor (name, e-mail) Corrections/Modifications
0.1 JF Roussel, roussel@onecert.frCreation


Version:
0.1
Author:
JF Roussel

Method Summary
 void computeAngleCos(SpaceVectTable normal, VeloVectTable v, FloatScalTable angleCos)
          Computes the cosine of the angle between 2 vector tables of two different sub-types
 void computeSpaceIncrement(SpaceVectTable dx, VeloVectTable v, float dt)
          Computes the space increment dx resulting from the movement at velovity v during the time dt (formally dx = v dt)
 void computeVeloIncrement(VeloVectTable dv, VeloVectTable a, float dt, VeloVectTable v, SpaceVectTable x)
          Computes the velocity increment dv resulting from the acceleratin a during the time dt (formally dv = a dt).
 void computeVeloSquared(VeloVectTable v, FloatScalTable v2)
          Computes the sqaure of the velovity
 int getSdim()
          Provides the dimension of (real) space
 int getVdim()
          Provides the dimension of velocity space
 float[] spaceToVelo(float[] v)
          transforms a space vector into a velocity vector (may be a kind of projection)
 float[] veloToSpace(float[] v)
          transforms a velocity vector into a space vector (may be a kind of projection)
 

Method Detail

getSdim

public int getSdim()
Provides the dimension of (real) space


getVdim

public int getVdim()
Provides the dimension of velocity space


computeSpaceIncrement

public void computeSpaceIncrement(SpaceVectTable dx,
                                  VeloVectTable v,
                                  float dt)
Computes the space increment dx resulting from the movement at velovity v during the time dt (formally dx = v dt)


computeVeloIncrement

public void computeVeloIncrement(VeloVectTable dv,
                                 VeloVectTable a,
                                 float dt,
                                 VeloVectTable v,
                                 SpaceVectTable x)
Computes the velocity increment dv resulting from the acceleratin a during the time dt (formally dv = a dt).
The velovity V and the position x are also passed since they are needed in not Cartesian geometries.


computeVeloSquared

public void computeVeloSquared(VeloVectTable v,
                               FloatScalTable v2)
Computes the sqaure of the velovity

Parameters:
v - velocity vector (input)
v2 - veleocity norm square (output)

computeAngleCos

public void computeAngleCos(SpaceVectTable normal,
                            VeloVectTable v,
                            FloatScalTable angleCos)
Computes the cosine of the angle between 2 vector tables of two different sub-types

Parameters:
normal - vertor of space syb-type (typically a normal to a surface)
v - vector of velocity type (typically a velocity)
angleCos - the cosine of their angle (the result)

spaceToVelo

public float[] spaceToVelo(float[] v)
transforms a space vector into a velocity vector (may be a kind of projection)

Parameters:
v - input space vector
Returns:
output velocity vector

veloToSpace

public float[] veloToSpace(float[] v)
transforms a velocity vector into a space vector (may be a kind of projection)

Parameters:
v - input velocity vector
Returns:
output space vector