spis.Surf.SurfDistrib
Class FluidSurfDistrib

java.lang.Object
  extended byspis.Surf.SurfDistrib.SurfDistrib
      extended byspis.Surf.SurfDistrib.NonPICSurfDistrib
          extended byspis.Surf.SurfDistrib.FluidSurfDistrib
Direct Known Subclasses:
LocalMaxwellSurfDistrib

public class FluidSurfDistrib
extends NonPICSurfDistrib

Class Name : FluidSurfDistrib
Project ref : SPIS project
File name : FluidSurfDistrib.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 : Simplest Fluid Surface Distribution.
Only the zero order flux moment is stored, more is stored in derived classes.

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
FluidSurfDistrib(SurfMesh sm, Part part)
          Constructor with minimal data (in particuler without sampler: can only be used for distributions which do not need to produce samples).
FluidSurfDistrib(SurfMesh sm, ScalSurfField flux_, LocalMaxwellSurfSampler sampler)
          Constructor with flux and sampler.
FluidSurfDistrib(SurfMesh sm, ScalSurfField flux_, Part part)
          Constructor without sampler: can be used for some distributions, which do not need to produce samples following that distribution (e.g. result distributions, but not sources of PICVolDistrib-utions, which should indeed rather be LocalMaxwellSurfDistrib-utions to have a temperature)
FluidSurfDistrib(SurfMesh sm, SurfSampler sampler)
          Constructor with sampler only, default initialisation of surface fields is performed: a surface-centered flux Field is generated This ScalSurfField flux is set as the sampler's flux, if it is a LocalMaxwellSurfSampler.
 
Method Summary
 float assessTypicalVelo()
          Assessing velocity is not possible for a FluidSUrfDistrib (no information on temperature, hence velocity) => returns ~0
To be overriden by derived classes, for which velocity can be assessed!
 ScalSurfField getFlux()
           
 void getMoment(SurfField mom, int order, int charge, int mass)
          The getMoment version (with order, charge and mass flags/parameters) that must be implemented by this FluidSurfDistrib and overriden by its derived classes for which higher moments are availabel
 void map(SurfDistrib sd)
          Maps the SurfDistrib passed, sd, into this SurfDistrib.
 void sample(PartList pl, float dt)
          Provides a sample generated following this Maxwellian distribution
 void setFlux(ScalSurfField flux_)
           
 
Methods inherited from class spis.Surf.SurfDistrib.NonPICSurfDistrib
assesMinTimeToCrossOneCell, getMoment, getPart, getSample, getSampler, setPart, setSampler
 
Methods inherited from class spis.Surf.SurfDistrib.SurfDistrib
getFrom, 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

FluidSurfDistrib

public FluidSurfDistrib(SurfMesh sm,
                        ScalSurfField flux_,
                        Part part)
Constructor without sampler: can be used for some distributions, which do not need to produce samples following that distribution (e.g. result distributions, but not sources of PICVolDistrib-utions, which should indeed rather be LocalMaxwellSurfDistrib-utions to have a temperature)


FluidSurfDistrib

public FluidSurfDistrib(SurfMesh sm,
                        Part part)
Constructor with minimal data (in particuler without sampler: can only be used for distributions which do not need to produce samples). A surface-centered flux Field is generated

See Also:
FluidSurfDistrib#FluidSurfDistrib(SurfMesh, ScalSurfField)

FluidSurfDistrib

public FluidSurfDistrib(SurfMesh sm,
                        ScalSurfField flux_,
                        LocalMaxwellSurfSampler sampler)
Constructor with flux and sampler. The flux is set as the FluidSurfDistrib and sampler flux.
(the sampler must implicitely contain temperature data because the flux information is not enough to generate a particle sample)


FluidSurfDistrib

public FluidSurfDistrib(SurfMesh sm,
                        SurfSampler sampler)
Constructor with sampler only, default initialisation of surface fields is performed: a surface-centered flux Field is generated This ScalSurfField flux is set as the sampler's flux, if it is a LocalMaxwellSurfSampler. The sampler can thus have been defined with null flux.

Method Detail

getMoment

public void getMoment(SurfField mom,
                      int order,
                      int charge,
                      int mass)
The getMoment version (with order, charge and mass flags/parameters) that must be implemented by this FluidSurfDistrib and overriden by its derived classes for which higher moments are availabel

Specified by:
getMoment in class NonPICSurfDistrib
See Also:
SurfDistrib.getMoment(spis.Surf.SurfField.SurfField, int, int, int)

sample

public void sample(PartList pl,
                   float dt)
Description copied from class: NonPICSurfDistrib
Provides a sample generated following this Maxwellian distribution

Overrides:
sample in class NonPICSurfDistrib
See Also:
SurfDistrib.sample(spis.Util.List.PartList, float)

map

public void map(SurfDistrib sd)
Description copied from class: SurfDistrib
Maps the SurfDistrib passed, sd, into this SurfDistrib.
Performs the best mapping possible: from a PIC distribution (sd) to a fluid distribution (this) it will compute moments, from fluid to PIC it will perform a sampling...
Richer interfaces may also be implemented in derived classes (to tune sampling...)

Specified by:
map in class SurfDistrib
See Also:
SurfDistrib.map(spis.Surf.SurfDistrib.SurfDistrib)

assessTypicalVelo

public float assessTypicalVelo()
Assessing velocity is not possible for a FluidSUrfDistrib (no information on temperature, hence velocity) => returns ~0
To be overriden by derived classes, for which velocity can be assessed!

Specified by:
assessTypicalVelo in class NonPICSurfDistrib
Returns:
the typical velocity of particles emitted by this surface distribution

getFlux

public ScalSurfField getFlux()
Returns:
the flux describing this basic fluid distribution

setFlux

public void setFlux(ScalSurfField flux_)
Parameters:
flux_ - the flux describing this basic fluid distribution