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

Field Summary
protected  ScalSurfField mach
          Mach number
protected  float sourceFlag
          sourceFlag defined in UI: densification coefficient (more super-particles by a factor x)
protected static float totalSuperparticleNb
          pre-defined number of super-particles to be generated at each sampler call
 
Fields inherited from class spis.Util.List.LocalMaxwellSurfSampler
flux, temp
 
Fields inherited from class spis.Util.List.SurfSampler
particleType
 
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mach

protected ScalSurfField mach
Mach number


sourceFlag

protected float sourceFlag
sourceFlag defined in UI: densification coefficient (more super-particles by a factor x)


totalSuperparticleNb

protected static float totalSuperparticleNb
pre-defined number of super-particles to be generated at each sampler call

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 -