spis.Surf.SurfDistrib
Class PICSurfDistrib

java.lang.Object
  extended byspis.Surf.SurfDistrib.SurfDistrib
      extended byspis.Surf.SurfDistrib.PICSurfDistrib

public class PICSurfDistrib
extends SurfDistrib

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

Description : Particle-In-Cell (PIC) Surface Distribution (Monte-Carlo distribution indeed)
The particle distribution is kinetic through Monte-Carlo sampling.

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
PICSurfDistrib(SurfMesh sm, PartList partList)
          Default constructor
PICSurfDistrib(SurfMesh sm, PartList partList, float t)
          Constructor with time variable (integrated time for a flux)
 
Method Summary
 float assesMinTimeToCrossOneCell()
          Assesses the minimum time to cross one cell when particles are injected from this surface distribution into volume.
 void getMoment(SurfField mom, int order, int charge, int mass, int time)
          Provides the moments of the distribution (order=0 => number current, 1 => momentum current, 2 => energy current...).
 PartList getPartList()
          Provides the particle list
 PartList getSample(float dt)
          Returns a sample of the surface distribution (a flux indeed) integrated over the time dt.
 SurfDistrib getSimilar()
          returns a similar PICSurfDistrib, with similar particle list type (to be overriden by sub-types (derived classes)
 float getTime()
          Provides the time of flux integration the particle list represents
 void map(SurfDistrib sd)
          Maps the SurfDistrib passed, sd, into this PICSurfDistrib.
 void sample(PartList epl, float dt)
          Computes a sample of the surface distribution (a flux indeed) integrated over the time dt.
 void setPartList(PartList partList)
          Sets the particle list
 void setTime(float t)
          Sets the time of flux integration the particle list represents
 
Methods inherited from class spis.Surf.SurfDistrib.SurfDistrib
getFrom, getMoment, getMoment, getMoment, getMoment, getMoment, getSm, getTo, setFrom, setTo
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PICSurfDistrib

public PICSurfDistrib(SurfMesh sm,
                      PartList partList)
Default constructor


PICSurfDistrib

public PICSurfDistrib(SurfMesh sm,
                      PartList partList,
                      float t)
Constructor with time variable (integrated time for a flux)

Method Detail

getMoment

public void getMoment(SurfField mom,
                      int order,
                      int charge,
                      int mass,
                      int time)
Provides the moments of the distribution (order=0 => number current, 1 => momentum current, 2 => energy current...).
computes the momenta by particle averaging.

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

sample

public void sample(PartList epl,
                   float dt)
Computes a sample of the surface distribution (a flux indeed) integrated over the time dt.
For this PIC distribution, it is direct, or at maximum an extraction of a fraction of pl (dt/time), although a re-sampling may be needed.

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

getSample

public PartList getSample(float dt)
Returns a sample of the surface distribution (a flux indeed) integrated over the time dt.
For this PIC distribution, it is direct, or at maximum an extraction of a fraction of pl (dt/time), although a re-sampling may be needed.

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

map

public void map(SurfDistrib sd)
Maps the SurfDistrib passed, sd, into this PICSurfDistrib.

Specified by:
map in class SurfDistrib

assesMinTimeToCrossOneCell

public float assesMinTimeToCrossOneCell()
Assesses the minimum time to cross one cell when particles are injected from this surface distribution into volume.
not possible for a PICSurfDistrib (no a priori information on particles => returns +infinity

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

getSimilar

public SurfDistrib getSimilar()
returns a similar PICSurfDistrib, with similar particle list type (to be overriden by sub-types (derived classes)

See Also:
SurfDistrib#getSimilar()

getPartList

public PartList getPartList()
Provides the particle list


setPartList

public void setPartList(PartList partList)
Sets the particle list


getTime

public float getTime()
Provides the time of flux integration the particle list represents


setTime

public void setTime(float t)
Sets the time of flux integration the particle list represents