spis.Top.Plasma
Class Plasma

java.lang.Object
  extended byspis.Top.Plasma.Plasma
Direct Known Subclasses:
MeshedPlasma

public abstract class Plasma
extends java.lang.Object

Class Name : Plasma (generic Plasma class)
Project ref : SPIS project
File name : Plasma.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 : general abstract Plasma class.
Stores plasma data and provides solvers. All Plasma classes must be derived from this class.
Data describing the plasma state, and methods computing its dynamics. Basically calls the solvers for field and matter dynamics in succession (or simultaneously for MHD)

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
Plasma()
           
 
Method Summary
abstract  float assessLargestDt()
           
 SurfDistrib[] integrate(float dt, ScalSurfField scPot, ScalSurfField totCur)
          Integrates the plasma dynamics over the (small) time dt, with potentials scPot on the spacecraft.
abstract  SurfDistrib[] integrate(float dt, ScalSurfField scPot, SurfDistrib[] inFlux)
          Integrates the plasma dynamics over the (small) time dt.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Plasma

public Plasma()
Method Detail

integrate

public SurfDistrib[] integrate(float dt,
                               ScalSurfField scPot,
                               ScalSurfField totCur)
Integrates the plasma dynamics over the (small) time dt, with potentials scPot on the spacecraft.
Simplified version, which only integrates the net current (a scalar field) while the full version returns all fluxes (full surface distribution functions).

Parameters:
dt - integration time
scPot - spacecraft potential (input)
Returns:
individual currents on SC (one per population)
See Also:
integrate(float, ScalSurfField, SurfDistrib[]), Plasma#computeNetCurrent(SurfDistrib[], ScalSurfField)

integrate

public abstract SurfDistrib[] integrate(float dt,
                                        ScalSurfField scPot,
                                        SurfDistrib[] inFlux)
Integrates the plasma dynamics over the (small) time dt.
The results of this time evolution are:
- the update of the plasma state (internal variables, accessible through the next methods)
- the fluxes (SurfDistrib) on the surface meshes, the ones on the spacecraft being returned by this function (the ones onto external plasma boundaries are not currently used but exist internally and can be used for domain splitting i nthe future)
Inputs are the integration time dt, spacecraft potential, and the incoming plasma fluxes: - sources (thurster, ion beam...)
- result of interactions (secondary particle...)
In principle the plasma flux itself is not one of these SurfDistrib/fluxes, it is stored internally, but it could be one of them.
The difference between these incoming fluxes and the ones stored internally to this class (plasma fluxes at external boundaries) is that these incoming fluxes can be modified at each iteration (as a result of secondary particle production, thruster on/off switch...).

Parameters:
dt - integration duration
scPot - spacecraft potential
inFlux - incoming plasma fluxes (sources, secondary particles...
Returns:
the matter fluxes from the plasma
See Also:
Plasma#integrate(float, ScalSurfField)

assessLargestDt

public abstract float assessLargestDt()
Returns:
the largest acceptable time step dt for plasma integration