spis.Vol.VolDistrib
Class AnalyticVolDistrib

java.lang.Object
  extended byspis.Vol.VolDistrib.VolDistrib
      extended byspis.Vol.VolDistrib.VolDistribWithIO
          extended byspis.Vol.VolDistrib.AnalyticVolDistrib
Direct Known Subclasses:
GlobalMaxwellBoltzmannVolDistrib

public abstract class AnalyticVolDistrib
extends VolDistribWithIO

Class Name : AnalyticVolDistrib
Project ref : SPIS project
File name : AnalyticVolDistrib.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 : Analytic Volume Distribution.
No dynamics is modelled for this distribution. It is given analytically, either constant (ex 1 below) or depending on other fields like e.g. the potential (ex 2).
In the second case extra parameters my be needed The whole distribution is either described by a few global parameters (ex 1) or involve a storage of a local field (ex 2)
Exemples:
(1) Boltzmann distribution
(2) fixed "analytical" background density (e.g. atmosphere ions/neutrals, neutrals for CEX interactions....)
The distribution can either be computed at each call to move, and stored, or only when getMoment is invoked. The latter is more storage-efficient, and the former can be more time-efficient since computations can be optimised (simultaneous computation of fluxOut and moment(s)) and extra parameters (potential for Boltzman, a few scalars for parametrised background densities) have only to be passed to move().

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
AnalyticVolDistrib(VolMesh vm, SurfDistrib scOutFlux_, SurfDistrib bdOutFlux_, VectVolField E_, VectVolField B_)
          Constructor with IO data (no incoming fluxes in case of an analytic distribution yet.
AnalyticVolDistrib(VolMesh vm, VectVolField E, VectVolField B)
          default constructor.
 
Method Summary
 float assessLargestDt()
          No upper limit for time integration time step for analytical distributions
 
Methods inherited from class spis.Vol.VolDistrib.VolDistribWithIO
buildAllInFlux, buildMostAccurateScOutFlux, getB, getBdOutFlux, getE, getInFlux, getScOutFlux, getSelfInFlux, setB, setBdOutFlux, setE, setInFlux, setScOutFlux, setSelfInFlux
 
Methods inherited from class spis.Vol.VolDistrib.VolDistrib
containsOnly, getMoment, getMoment, getMoment, getMoment, getMoment, getName, getParticleType, getVm, isDensityImplicit, mayContain, move, setImplicitDensity, setName, setParticleType
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AnalyticVolDistrib

public AnalyticVolDistrib(VolMesh vm,
                          VectVolField E,
                          VectVolField B)
default constructor.


AnalyticVolDistrib

public AnalyticVolDistrib(VolMesh vm,
                          SurfDistrib scOutFlux_,
                          SurfDistrib bdOutFlux_,
                          VectVolField E_,
                          VectVolField B_)
Constructor with IO data (no incoming fluxes in case of an analytic distribution yet.

Method Detail

assessLargestDt

public float assessLargestDt()
No upper limit for time integration time step for analytical distributions

Specified by:
assessLargestDt in class VolDistrib
Returns:
the largest acceptable time step dt for time integration: + infinity