spis.Top.Simulation
Class DebugTests

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

public class DebugTests
extends PlasmaScSimulation

Class Name : DebugTests (generic Simulation)
Project ref : SPIS project
File name : DebugTests.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

Field Summary
protected  ScalSurfField netCur
          net current on spacecraft
protected  ScalSurfField scPot
          spacraft potential
 
Fields inherited from class spis.Top.Simulation.PlasmaScSimulation
bdSurfMesh, plasma, sc, scSurfMesh, volMesh
 
Fields inherited from class spis.Top.Simulation.Simulation
results
 
Constructor Summary
DebugTests(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.
DebugTests(ThreeDUnstructVolMesh vm, ThreeDUnstructSurfMesh bsm, ThreeDUnstructSurfMesh scsm)
           
 
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
 XyData[] getScalTimePlots()
          returns two arbitrary plots x(t) for post-processing testing,
 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 init()
          initialisations: builds a spacecraft and a plasma objects (and sets them in PlasmaScSimulation) and the connections between them (particle fluxes, potentials and current transfers)
 void integrate(float t)
          Time integration of the coupled plasma-spacecraft dynamics over the time t.
 void poissonTestPowerLaw()
          Test sequence R: quantitative testing of poisson solver.
 
Methods inherited from class spis.Top.Simulation.PlasmaScSimulation
getMFPlasma, getRCCabsSC, selectSurfResults, setPlasma, setSC
 
Methods inherited from class spis.Top.Simulation.Simulation
exportUIData, getBdSurfMesh, getGlobalParameters, getResults, getScSurfMesh, getVolMesh, importUIData, selectResults, setBdSurfMesh, setDefaultInputPath, setDefaultOutputPath, setDefaultPaths, setGlobalParameters, setResults, setScSurfMesh, setVolMesh
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

netCur

protected ScalSurfField netCur
net current on spacecraft


scPot

protected ScalSurfField scPot
spacraft potential

Constructor Detail

DebugTests

public DebugTests(ThreeDUnstructVolMesh vm,
                  ThreeDUnstructSurfMesh bsm,
                  ThreeDUnstructSurfMesh scsm)
Parameters:
vm -

DebugTests

public DebugTests(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.

Method Detail

init

public void init()
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 t)
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 will be developed in derived classes.

Specified by:
integrate in class Simulation

poissonTestPowerLaw

public void poissonTestPowerLaw()
Test sequence R: quantitative testing of poisson solver. The solver is created here (do not invoke 0 before)


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 PlasmaScSimulation
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 PlasmaScSimulation
See Also:
Simulation.getScSurfResults()

getBdSurfResults

public SurfField[] getBdSurfResults()
Description copied from class: PlasmaScSimulation
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 PlasmaScSimulation
See Also:
Simulation.getBdSurfResults()

getScalTimePlots

public XyData[] getScalTimePlots()
returns two arbitrary plots x(t) for post-processing testing,

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

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()