spis.Top.Top
Class Top

java.lang.Object
  extended byspis.Top.Top.Top

public class Top
extends java.lang.Object

Class Name : Top
Project ref : SPIS project
File name : Top.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 : Top-most level class containing main.
It is currently used for testing, but disappears from the encapsulated code, the calls performed here are performed at jython script level.
These calls can thus be used as basic examples to write basic jython scripts.

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
private  ThreeDUnstructSurfMesh bdSurfMesh
          the 3D untructured surface mesh, external boundary of the simulation box (not a physical surface)
private  GlobalParameter[] globalParameters
          Global parameters (plasma density...)
private  LocalParameter[] localParameters
          Local parameters (meterial Id...)
private  ThreeDUnstructSurfMesh scSurfMesh
          the 3D untructured spacecraft surface mesh, (a physical surface)
private  PlasmaScSimulation simu
          simulation object, containing everything
private  ThreeDUnstructVolMesh volMesh
          the 3D untructured volume mesh, of the simulation box
 
Constructor Summary
private Top()
           
  Top(ThreeDUnstructVolMesh vm, ThreeDUnstructSurfMesh bsm, ThreeDUnstructSurfMesh scsm)
          Default constructor with data passed by the framework (SPIS/UI).
 
Method Summary
 ScalVolField buildElectronDensity()
          Returns the electron density
static void buildEmptyMeshes()
          Old deprecated routine, which builds 'empty' volume and surface meshes (allocated arrays but wit hzero value).
 ScalVolField buildIonDensity()
          Returns the ion density
 ScalVolField buildPlasmaDensity()
          Returns the plasma density
 void exportUIData()
          exports meshes
 MmfPlasma getPlasma()
          Returns the plasma of the simulation
 ScalVolField getPlasmaPotential()
          Returns the plasma potential
 RCCabsSC getSC()
          Returns the spacecraft of the simulation
 ScalSurfField getScPotential()
          Returns the spacecraft potential
 Simulation getSimulation()
          Returns the whole simulation object, from which everything can be extracted
 void importUIData()
          imports meshes
 void importUIDataIncludingLocalParams()
          imports meshes
 void launchMenu()
          Launches the test menu for SPIS/NUM.
static void main(java.lang.String[] argv)
          This class can also be called as a standalone code, but no meshes are then initialised.
 void poissonTestCosine()
          Test sequence P: quantitative testing of poisson solver.
 void poissonTestCosineHotStart()
          Test sequence p: quantitative testing of poisson solver.
 void poissonTestCosineHotStart(float[] k)
          Test sequence p: quantitative testing of poisson solver.
 void poissonTestPowerLaw()
          Test sequence R: quantitative testing of poisson solver.
 void poissonTestPowerLawNonLinear()
          Test sequence R: quantitative testing of poisson solver.
 void printPotentials()
           
 void test0()
          Test sequence 0: poisson solver
 void test1()
          Test sequence 1
 void test2()
          Test sequence 2
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

volMesh

private ThreeDUnstructVolMesh volMesh
the 3D untructured volume mesh, of the simulation box


bdSurfMesh

private ThreeDUnstructSurfMesh bdSurfMesh
the 3D untructured surface mesh, external boundary of the simulation box (not a physical surface)


scSurfMesh

private ThreeDUnstructSurfMesh scSurfMesh
the 3D untructured spacecraft surface mesh, (a physical surface)


globalParameters

private GlobalParameter[] globalParameters
Global parameters (plasma density...) stored here to be used by sub-objects


localParameters

private LocalParameter[] localParameters
Local parameters (meterial Id...)


simu

private PlasmaScSimulation simu
simulation object, containing everything

Constructor Detail

Top

public Top(ThreeDUnstructVolMesh vm,
           ThreeDUnstructSurfMesh bsm,
           ThreeDUnstructSurfMesh scsm)
Default constructor with data passed by the framework (SPIS/UI).
For now, these data are the three meshes: volume, external boundary and spacecraft surface, but some data is still lacking:
- a surface field with group id (at least) for spacecraft surfaces (to automatically derive spacecraft circuit)
- surface fields with material model type (NASCAP/extendedNascap...) and material index in the type (material 1 in NASCAP DB...)
But a more flexible way of transferring these fields from the framework to SPIS/NUM should certainly be found

Status: under development

Versions and anomalies correction :
Version numberAuthor (name, e-mail) Corrections/Modifications
0.1 JF Roussel, roussel@onecert.frCreation



Top

private Top()
Method Detail

launchMenu

public void launchMenu()
Launches the test menu for SPIS/NUM.

Status: under development

Versions and anomalies correction :
Version numberAuthor (name, e-mail) Corrections/Modifications
0.1 JF Roussel, roussel@onecert.frCreation



exportUIData

public void exportUIData()
exports meshes


importUIData

public void importUIData()
imports meshes


importUIDataIncludingLocalParams

public void importUIDataIncludingLocalParams()
imports meshes


test0

public void test0()
Test sequence 0: poisson solver


printPotentials

public void printPotentials()

poissonTestCosineHotStart

public void poissonTestCosineHotStart()
Test sequence p: quantitative testing of poisson solver. The solver must already exist in simu... (initialised by test0)


poissonTestCosineHotStart

public void poissonTestCosineHotStart(float[] k)
Test sequence p: quantitative testing of poisson solver. The solver must already exist in simu... (initialised by test0)


poissonTestCosine

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


poissonTestPowerLaw

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


poissonTestPowerLawNonLinear

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


test1

public void test1()
Test sequence 1


test2

public void test2()
Test sequence 2


buildEmptyMeshes

public static void buildEmptyMeshes()
Old deprecated routine, which builds 'empty' volume and surface meshes (allocated arrays but wit hzero value).
Now the meshes are filled and passed by the framework (see constructor) and this method is only used when Top is called through its main as a standalone code

Status: under development

Versions and anomalies correction :
Version numberAuthor (name, e-mail) Corrections/Modifications
0.1 JF Roussel, roussel@onecert.frCreation



getSimulation

public Simulation getSimulation()
Returns the whole simulation object, from which everything can be extracted


getSC

public RCCabsSC getSC()
Returns the spacecraft of the simulation


getPlasma

public MmfPlasma getPlasma()
Returns the plasma of the simulation


getScPotential

public ScalSurfField getScPotential()
Returns the spacecraft potential


getPlasmaPotential

public ScalVolField getPlasmaPotential()
Returns the plasma potential


buildPlasmaDensity

public ScalVolField buildPlasmaDensity()
Returns the plasma density


buildIonDensity

public ScalVolField buildIonDensity()
Returns the ion density


buildElectronDensity

public ScalVolField buildElectronDensity()
Returns the electron density


main

public static void main(java.lang.String[] argv)
This class can also be called as a standalone code, but no meshes are then initialised.