spis.Util.List
Class MaxwellianThrusterSampler

java.lang.Object
  extended byspis.Util.List.SurfSampler
      extended byspis.Util.List.LocalMaxwellSurfSampler
          extended byspis.Util.List.MaxwellianThrusterSampler

public class MaxwellianThrusterSampler
extends LocalMaxwellSurfSampler

Class Name : MaxwellianThrusterSampler
Project ref : SPIS project
File name : MaxwellianThrusterSampler.java
File type : class
Copyright : ONERA, 2 Av. E. Belin, 31055 Toulouse cedex, France http://www.onecert.fr
Status : under development
Creation : Jul 8, 2004
Modification :

Description : simple sampler do define a basic thruster (starting example)
It generates a Maxwellian distribution (exp(-m.v2/2kT)) shifted by the average velocity v0 = vTh*mach = (kT/m)^1/2*mach aligned with the surface normal, hence exp(-m.(v-v0)^2/2kT), of the given flux
This is different of the flux of a shifted Maxwellian v.normal * exp(-m.(v-v0)^2/2kT), but becomes equivalent in the limit of large Mach number

Versions and anomalies correction :

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


Version:
0.1
Author:
JF Roussel

Constructor Summary
MaxwellianThrusterSampler(Part particleType, ScalSurfField flux, ScalSurfField temp, ScalSurfField mach_, float sourceFlag_)
          Default constructor
 
Method Summary
 ScalSurfField getMach()
           
 float getSourceFlag()
           
 void sample(SpaceVectTable surfNormal, FloatScalTable area, float time, IntScalTable index, VeloVectTable velo, float weight)
          Returns a sample of particle velocities with constant weight, not yet implemented.
 void sample(SpaceVectTable surfNormal, FloatScalTable areaT, float time, IntScalTable indexT, VeloVectTable veloT, FloatScalTable weightT)
          Returns a sample of particle velocities and weights generated following the Maxwellian flux distribution integrated over the duration time.
 void setMach(ScalSurfField field)
           
 void setSourceFlag(float f)
           
 
Methods inherited from class spis.Util.List.LocalMaxwellSurfSampler
getFlux, getTemp, setFlux, setTemp
 
Methods inherited from class spis.Util.List.SurfSampler
getParticleType, setParticleType
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MaxwellianThrusterSampler

public MaxwellianThrusterSampler(Part particleType,
                                 ScalSurfField flux,
                                 ScalSurfField temp,
                                 ScalSurfField mach_,
                                 float sourceFlag_)
Default constructor

Parameters:
particleType -
Method Detail

sample

public void sample(SpaceVectTable surfNormal,
                   FloatScalTable areaT,
                   float time,
                   IntScalTable indexT,
                   VeloVectTable veloT,
                   FloatScalTable weightT)
Returns a sample of particle velocities and weights generated following the Maxwellian flux distribution integrated over the duration time. The index returns the surface element the particle comes from.

Specified by:
sample in class SurfSampler
Parameters:
surfNormal - surface normals (input)
time - the particles generated are the particle that would cross the surfaces during that time (input)
areaT - cell areas (input)
indexT - index of each particle surface element (ouput)
veloT - sampled velocities (output)
weightT - weight of sampled particles (output)
See Also:
SurfSampler.sample(SpaceVectTable, FloatScalTable, float, IntScalTable, VeloVectTable, FloatScalTable)

sample

public void sample(SpaceVectTable surfNormal,
                   FloatScalTable area,
                   float time,
                   IntScalTable index,
                   VeloVectTable velo,
                   float weight)
Returns a sample of particle velocities with constant weight, not yet implemented.

Specified by:
sample in class SurfSampler
Parameters:
surfNormal - surface normals (input)
area - cell areas (input)
time - the particles generated are the particle that would cross the surfaces during that time (input)
index - index of each particle surface (ouput)
velo - sampled velocities (output)
weight - fixed particle weight (input)
See Also:
SurfSampler.sample(SpaceVectTable, FloatScalTable, float, IntScalTable, VeloVectTable, float)

getMach

public ScalSurfField getMach()
Returns:

getSourceFlag

public float getSourceFlag()
Returns:

setMach

public void setMach(ScalSurfField field)
Parameters:
field -

setSourceFlag

public void setSourceFlag(float f)
Parameters:
f -