spis.Top.Simulation
Class PlasmaScSimulation

java.lang.Object
  extended byspis.Top.Simulation.Simulation
      extended byspis.Top.Simulation.PlasmaScSimulation
Direct Known Subclasses:
DebugTests, GeoExample, GeoExample2, HallThrusterExample, LeoExample, SimulationFromUIParams

public abstract class PlasmaScSimulation
extends Simulation

Class Name : PlasmaScSimulation
Project ref : SPIS project
File name : PlasmaScSimulation.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 simulation class with major two variables:
- the spacecraft
- the plasma
and the meshes they rely upon.
It is an intermediate abstract layer un the derivation scheme between the parent class Simulation, which simply enforces communication with the framework (meshes as input results as output), and the next non-abstract derived classes e.g. GeoSimulation, LeoSimulation, SeePhotoemissionSimulation... (for now only exemple Simulations are implmented).
This class embeds the objects that are usually needed in any simulation (a spaceacraft and a plasma), which allow to develop some generic routines only depending on the existence of these objects (at least the getters and setters).
NB: It the responsibility of the developers of derived classes to define the spacecraft and plasma at this class level through the setters, since it could not be enforced to pass such complex objects in PlasmaScSimulation constructor (they need a few instructions to be built from the meshes that are passed by the framework to derived classes, which is incompatible with the constraint to call the parent-class constructor in the first line of a constructor).

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
PlasmaScSimulation(ThreeDUnstructVolMesh vm, ThreeDUnstructSurfMesh bsm, ThreeDUnstructSurfMesh scsm)
          Main constructor.
PlasmaScSimulation(ThreeDUnstructVolMesh vm, ThreeDUnstructSurfMesh bsm, ThreeDUnstructSurfMesh scsm, GlobalParameter[] globalParameters)
          Constructor with global parameters
 
Method Summary
 SurfField[] getBdSurfResults()
          Returns data on the external boundary surface resulting of the computation, typically potential and current surface maps.
 XyzData[] getCurveTimePlots()
          returns two arbitrary sets (y(x))(t) for post-processing testing
 MmfPlasma getMFPlasma()
          Returns a pointer to the plasma of the simulation.
 RCCabsSC getRCCabsSC()
          Returns a pointer to the spacecraft of the simulation.
 SurfField[] getScSurfResults()
          Returns data on spacecraft surface resulting of the computation, typically potential and current surface maps.
 Trajectory[] getTrajectories()
          returns two arbitrary trajectories for post-processing testing, which might even be out of the mesh if changed (it is contained in a [0-5]^3 cube, which e.g. fits in Demo_5.geo).
 VolField[] getVolResults()
          Returns volume data resulting of the computation, typically potential and density volume maps.
 void setPlasma(MmfPlasma plasma_)
          Sets the simulation plasma.
 void setSC(RCCabsSC spacecraft)
          Sets the simulation spacecraft.
 
Methods inherited from class spis.Top.Simulation.Simulation
exportUIData, getBdSurfMesh, getGlobalParameters, getResults, getScalTimePlots, getScSurfMesh, getVolMesh, importUIData, integrate, setBdSurfMesh, setDefaultInputPath, setDefaultOutputPath, setDefaultPaths, setGlobalParameters, setResults, setScSurfMesh, setVolMesh
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PlasmaScSimulation

public PlasmaScSimulation(ThreeDUnstructVolMesh vm,
                          ThreeDUnstructSurfMesh bsm,
                          ThreeDUnstructSurfMesh scsm)
Main constructor.


PlasmaScSimulation

public PlasmaScSimulation(ThreeDUnstructVolMesh vm,
                          ThreeDUnstructSurfMesh bsm,
                          ThreeDUnstructSurfMesh scsm,
                          GlobalParameter[] globalParameters)
Constructor with global parameters

Method Detail

getVolResults

public VolField[] getVolResults()
Description copied from class: Simulation
Returns volume data resulting of the computation, typically potential and density volume maps.
These choice of results to return, including the choice of possible intermediate data is done by the derived Simulation classes.
The VolField can be of any derived type, the main ones being ScalVolField and VectVolField.
They can also have variable centring (on nodes/volumes...)
The VolField data are self-contained, with in particular the following information:
- pointing to the volume mesh: volField.getVm() (but returns the only volume mesh existing the simulation => little interest)
- centring: volField.getCentring().getAbsDim() returns 0 for nodes, 1 for edges, 2 for surfaces, 3 for volume cells
- name of the data: volField.getName()
- time of data storage: volField.getTime()

Overrides:
getVolResults in class Simulation
See Also:
Simulation.getVolResults()

getScSurfResults

public SurfField[] getScSurfResults()
Description copied from class: Simulation
Returns data on spacecraft surface resulting of the computation, typically potential and current surface maps.
These choice of results to return, including the choice of possible intermediate data is done by the derived Simulation classes.
The SurfField can be of any derived type, the main ones being ScalSurfField and VectSurfField.
They can also have variable centring (on nodes/surfaces...)
The SurfField data are self-contained, with in particular the following information:
- pointing to the surface mesh: surfField.getVm() (but returns the spacecraft surface mesh passed from UI to NUM => not really needed)
- centring: surfField.getCentring().getAbsDim() returns 0 for nodes, 1 for edges, 2 for surfaces
- name of the data: surfField.getName()
- time of data storage: surfField.getTime()

Overrides:
getScSurfResults in class Simulation

getBdSurfResults

public SurfField[] getBdSurfResults()
Returns data on the external boundary surface resulting of the computation, typically potential and current surface maps.
These choice of results to return, including the choice of possible intermediate data is done by the derived Simulation classes.
The SurfField can be of any derived type, the main ones being ScalSurfField and VectSurfField.
They can also have variable centring (on nodes/surfaces...)
The SurfField data are self-contained, with in particular the following information:
- pointing to the surface mesh: surfField.getVm() (but returns the boundary surface mesh passed from UI to NUM => not really needed)
- centring: surfField.getCentring().getAbsDim() returns 0 for nodes, 1 for edges, 2 for surfaces
- name of the data: surfField.getName()
- time of data storage: surfField.getTime()

Overrides:
getBdSurfResults in class Simulation

getRCCabsSC

public RCCabsSC getRCCabsSC()
Returns a pointer to the spacecraft of the simulation.


getMFPlasma

public MmfPlasma getMFPlasma()
Returns a pointer to the plasma of the simulation.


setSC

public void setSC(RCCabsSC spacecraft)
Sets the simulation spacecraft.


setPlasma

public void setPlasma(MmfPlasma plasma_)
Sets the simulation plasma.


getCurveTimePlots

public XyzData[] getCurveTimePlots()
returns two arbitrary sets (y(x))(t) for post-processing testing

Specified by:
getCurveTimePlots in class Simulation
See Also:
Simulation.getCurveTimePlots()

getTrajectories

public Trajectory[] getTrajectories()
returns two arbitrary trajectories for post-processing testing, which might even be out of the mesh if changed (it is contained in a [0-5]^3 cube, which e.g. fits in Demo_5.geo).

Specified by:
getTrajectories in class Simulation
See Also:
spis.Top.Simulation.Simulation#getParticleTrajectories()