spis.Top.Simulation
Class LeoExample

java.lang.Object
  extended byspis.Top.Simulation.Simulation
      extended byspis.Top.Simulation.PlasmaScSimulation
          extended byspis.Top.Simulation.LeoExample

public class LeoExample
extends PlasmaScSimulation

Class Name : LeoExample (generic Simulation)
Project ref : SPIS project
File name : LeoExample.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 (not abstract).
Basic simulation class with two variables, the spacecraft and the plasma, and one major method for time integration. More specific simulation classes can be derived from the parent class, Simulation, (e.g. GEOSImulation, LEOSimulation...). For now, this further specialisation is left at Plasma level since the spacecraft is similar in GEO, LEO, etc. However if different spacecraft-plasma coupling schemes are developed for LEO, GEO, etc. in future (and this is relevant), different Simulation sub-classes shall be defined since this coupling is performed here in Simulation.integrate().

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
LeoExample()
          temporary constructor without meshes, to allow to build this from the framework without meshes
LeoExample(RCCabsSC spacecraft, MmfPlasma plasma)
          Constructor with spacecraft and plasma, which can only be called by the Top object, not from the framework, unless Jython code is enhanced to build a SC and a plasma.
LeoExample(ThreeDUnstructVolMesh vm, ThreeDUnstructSurfMesh bsm, ThreeDUnstructSurfMesh scsm)
          Default constructor
 
Method Summary
 void buildScAndPlasma()
          initialisations: builds a spacecraft and a plasma objects (and sets them in PlasmaScSimulation) and the connections between them (particle fluxes, potentials and current transfers)
 XyzData[] getCurveTimePlots()
          returns two arbitrary sets (y(x))(t) for post-processing testing
 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).
 void init()
          standard initialisations: buffer allocation...
 void integrate(float duration)
          Time integration of the coupled plasma-spacecraft dynamics over the time t.
 
Methods inherited from class spis.Top.Simulation.PlasmaScSimulation
getBdSurfResults, getMFPlasma, getRCCabsSC, getScSurfResults, getVolResults, setPlasma, setSC
 
Methods inherited from class spis.Top.Simulation.Simulation
exportUIData, getBdSurfMesh, getGlobalParameters, getResults, getScalTimePlots, getScSurfMesh, getVolMesh, importUIData, 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

LeoExample

public LeoExample(ThreeDUnstructVolMesh vm,
                  ThreeDUnstructSurfMesh bsm,
                  ThreeDUnstructSurfMesh scsm)
Default constructor

Parameters:
vm - volume mesh
bsm - external boundary surface mesh
scsm - spacecraft surface mesh

LeoExample

public LeoExample(RCCabsSC spacecraft,
                  MmfPlasma plasma)
Constructor with spacecraft and plasma, which can only be called by the Top object, not from the framework, unless Jython code is enhanced to build a SC and a plasma.


LeoExample

public LeoExample()
temporary constructor without meshes, to allow to build this from the framework without meshes

Method Detail

init

public void init()
standard initialisations: buffer allocation...


buildScAndPlasma

public void buildScAndPlasma()
initialisations: builds a spacecraft and a plasma objects (and sets them in PlasmaScSimulation) and the connections between them (particle fluxes, potentials and current transfers)


integrate

public void integrate(float duration)
Time integration of the coupled plasma-spacecraft dynamics over the time t.
The results of this time evolution are the update of the plasma and spacecraft state variables (defined in the derived classes). It basically consists in an iteration of calls to the plasma dynamics and spacecraft potential update. Several different versions can be developed in derived classes.

Specified by:
integrate in class Simulation

getCurveTimePlots

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

Overrides:
getCurveTimePlots in class PlasmaScSimulation
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).

Overrides:
getTrajectories in class PlasmaScSimulation
See Also:
spis.Top.Simulation.Simulation#getParticleTrajectories()