|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectspis.Vol.VolDistrib.VolDistrib
Class Name : VolDistrib (generic Volume Distribution)
Project ref : SPIS project
File name : VolDistrib.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 : generic abstract Volume Distribution.
It stores the particle distribution at the desired accuracy level:
it can be a full velocity distribution function (PIC model) or only its moments (fluid approach)
All Volume Distribution classes must be derived from this class.
Pointers to surface fluxes of particles into and out of this volume distribution
are also stored:
- selfInFlux: internally-generated incoming fluxes, which can be considered as part of this distribution
(typically boundary fluxes generating this particle distribution), they are not externally updated
since considered as static (a sampling is done at most)
- inFlux: externally-generated incoming fluxes, which are coming from other objects
(typically secondary electrons form SC, ion source from SC...), they are externally updated
by the external objects (mostly the spacecraft) before each iteration
(although this updating or not, for inFlux or selfInFlux, is external to
this class, hence uncontrolled, and can indeed be coded differently)
- scOutFlux: flux of particles steming from this volume distribution onto the spacecraft
- bdOutFlux: flux of particles steming from this volume distribution onto external boundaries
NB: depending on the subtype of the incoming fluxes and the volume distribution,
the incoming fluxes can be re-sampled or not, see derived VolDistrib sub-classes.
Since some of these fluxes can be inexistent (no influx, outflux to be discarded)
it is allowed not to declare them:
- they are not requested in the constructors and are set to null or 0-dimension array
- use the setters (setInFlux...) to declare the ones needed
Versions and anomalies correction :
Version number | Author (name, e-mail) | Corrections/Modifications |
0.1 | JF Roussel, roussel@onecert.fr | Creation |
Field Summary | |
private boolean |
implicitDensity
Is the density of this population implicit, i.e. not to be added to other densities for Poisson solving, because it is already (implicitely) taken into account in Poisson non linear solver (set by default to false |
private java.lang.String |
name
Name of this distribution (optional) |
private Part |
particleType
Type of particles contained in this distribution in case one type only is allowed (remains null if several different types are allowed) |
protected VolMesh |
vm
Volume Mesh on which the distribution "lives" |
Constructor Summary | |
VolDistrib(VolMesh volMesh)
default constructor. |
Method Summary | |
abstract float |
assessLargestDt()
|
protected void |
checkMomentConsistentWithOrder(VolField mom,
int order)
Checks the moment sub-type (ScalVolField or VectVolField) is consistent with the moment order |
abstract boolean |
containsOnly(Part particletype)
|
void |
getMoment(VolField mom,
int order)
charge, mass, normalised and deviation flags omitted: they are set to their default value, 0 |
void |
getMoment(VolField mom,
int order,
int charge)
mass, normalised and deviation flags omitted: they are set to their default value, 0 |
abstract void |
getMoment(VolField mom,
int order,
int charge,
int mass)
normalised and deviation flags omitted: they are set to their default value, 0 |
void |
getMoment(VolField mom,
int order,
int charge,
int mass,
int normalised)
deviation flag omitted: it is set to its default value, 0 |
void |
getMoment(VolField mom,
int order,
int charge,
int mass,
int normalised,
int deviation)
Provides the moments of the distribution (order=0 => number density, 1 => momentum density, 2 => energy density...). |
java.lang.String |
getName()
|
Part |
getParticleType()
|
VolMesh |
getVm()
|
boolean |
isDensityImplicit()
if true the density of this population is implicit, i.e. not to be added to other densities for Poisson solving, because it is already (implicitely) taken into account in Poisson non linear solver |
abstract boolean |
mayContain(Part particletype)
|
abstract void |
move(float dt)
Time integration of the particle distribution over the duration dt. |
void |
setImplicitDensity(boolean b)
if set to true the density of this population is implicit, i.e. not to be added to other densities for Poisson solving, because it is already (implicitely) taken into account in Poisson non linear solver |
void |
setName(java.lang.String string)
|
void |
setParticleType(Part part)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected VolMesh vm
private boolean implicitDensity
private java.lang.String name
private Part particleType
Constructor Detail |
public VolDistrib(VolMesh volMesh)
Method Detail |
public abstract void move(float dt)
VolDistribWithIO
public abstract float assessLargestDt()
public void getMoment(VolField mom, int order, int charge, int mass, int normalised, int deviation)
public void getMoment(VolField mom, int order, int charge, int mass, int normalised)
getMoment(VolField, int, int, int, int, int)
public abstract void getMoment(VolField mom, int order, int charge, int mass)
getMoment(VolField, int, int, int, int, int)
public void getMoment(VolField mom, int order, int charge)
getMoment(VolField, int, int, int, int, int)
public void getMoment(VolField mom, int order)
getMoment(VolField, int, int, int, int, int)
protected void checkMomentConsistentWithOrder(VolField mom, int order)
mom
- momentorder
- moment orderpublic abstract boolean containsOnly(Part particletype)
particletype
-
public abstract boolean mayContain(Part particletype)
particletype
-
public VolMesh getVm()
public boolean isDensityImplicit()
public void setImplicitDensity(boolean b)
b
- public java.lang.String getName()
public Part getParticleType()
public void setName(java.lang.String string)
string
- public void setParticleType(Part part)
part
-
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |