spis.Surf.SurfDistrib
Class NonPICSurfDistrib

java.lang.Object
  extended byspis.Surf.SurfDistrib.SurfDistrib
      extended byspis.Surf.SurfDistrib.NonPICSurfDistrib
Direct Known Subclasses:
FluidSurfDistrib, GlobalSurfDistrib, MaxwellianThruster

public abstract class NonPICSurfDistrib
extends SurfDistrib

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

Description : Not sampled distribution (simplified in "NonPIC")
The distribution is directly stored as a fluid, a global analytic function (or maybe discretised in phase space in future)...

Sub-classes to be built from UI parameters:
to offer the possibility to be built from UI parameters (local and global parameters, the latter including the class name in sourceType) subclasses of this class must have a constructor with arguments:
- GlobalParameter[] globalParams,
- LocalParameter[] localParams,
- String option (unused)
- SurfMesh sm,
which is not enforced at compilation time, but must be true at execution time when such a class is built.
Examples of such classes are: LocalMaxwellSurfDistrib and MaxwellianThruster

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
NonPICSurfDistrib(SurfMesh sm, Part part_)
          Constructor without a sampler (for sub-types and usages not needing a sampling)
NonPICSurfDistrib(SurfMesh sm, SurfSampler sampler_)
          default constructor
 
Method Summary
 float assesMinTimeToCrossOneCell()
          Assesses the minimum time to cross one cell when particles are injected from this surface distribution into volume.
abstract  float assessTypicalVelo()
           
abstract  void getMoment(SurfField mom, int order, int charge, int mass)
          time, normalised and deviation flags omitted: they are set to their default value, 0
 void getMoment(SurfField mom, int order, int charge, int mass, int time)
          time flag must be = 0: time integrated flux not supported by NonPICDistrib (only by PICSurfDistrib, based on the accumulated particles)
 Part getPart()
           
 PartList getSample(float dt)
          Returns a sample of the surface distribution (a flux indeed) representing a flux integrated over the time dt.
 SurfSampler getSampler()
           
 void sample(PartList pl, float dt)
          Provides a sample generated following this Maxwellian distribution
 void setPart(Part part)
           
 void setSampler(SurfSampler sampler)
           
 
Methods inherited from class spis.Surf.SurfDistrib.SurfDistrib
getFrom, getMoment, getMoment, getMoment, getMoment, getSm, getTo, map, setFrom, setTo
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NonPICSurfDistrib

public NonPICSurfDistrib(SurfMesh sm,
                         SurfSampler sampler_)
default constructor


NonPICSurfDistrib

public NonPICSurfDistrib(SurfMesh sm,
                         Part part_)
Constructor without a sampler (for sub-types and usages not needing a sampling)

Method Detail

sample

public void sample(PartList pl,
                   float dt)
Provides a sample generated following this Maxwellian distribution

Specified by:
sample in class SurfDistrib
See Also:
SurfDistrib.sample(PartList, float)

getSample

public PartList getSample(float dt)
Returns a sample of the surface distribution (a flux indeed) representing a flux integrated over the time dt.

Specified by:
getSample in class SurfDistrib
See Also:
SurfDistrib.sample(PartList, float)

getMoment

public void getMoment(SurfField mom,
                      int order,
                      int charge,
                      int mass,
                      int time)
time flag must be = 0: time integrated flux not supported by NonPICDistrib (only by PICSurfDistrib, based on the accumulated particles)

Specified by:
getMoment in class SurfDistrib
Parameters:
mom -
order -
charge -
mass -
time -
See Also:
SurfDistrib.getMoment(spis.Surf.SurfField.SurfField, int, int, int, int)

getMoment

public abstract void getMoment(SurfField mom,
                               int order,
                               int charge,
                               int mass)
Description copied from class: SurfDistrib
time, normalised and deviation flags omitted: they are set to their default value, 0

Overrides:
getMoment in class SurfDistrib
Parameters:
mom -
order -
charge -
mass -
See Also:
SurfDistrib.getMoment(spis.Surf.SurfField.SurfField, int, int, int, int)

assesMinTimeToCrossOneCell

public float assesMinTimeToCrossOneCell()
Assesses the minimum time to cross one cell when particles are injected from this surface distribution into volume.
Rather crude version: divides average cell size by average velocity

Specified by:
assesMinTimeToCrossOneCell in class SurfDistrib
Returns:
the minimum time to cross one cell
See Also:
SurfDistrib.assesMinTimeToCrossOneCell()

assessTypicalVelo

public abstract float assessTypicalVelo()
Returns:
the typical velocity of particles emitted by this surface distribution (used by assesMinTimeToCrossOneCell)

getPart

public Part getPart()
Returns:
particle type of this distribution

getSampler

public SurfSampler getSampler()
Returns:
sampler to generate samples representing this distribution

setPart

public void setPart(Part part)
Parameters:
part - particle type of this distribution

setSampler

public void setSampler(SurfSampler sampler)
Parameters:
sampler - sampler to generate samples representing this distribution