|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectspis.Top.Simulation.Simulation
Class Name : Simulation (generic Simulation class)
Project ref : SPIS project
File name : Simulation.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 Simulation class.
The top level simulation level.
It computes the dynamics due to the coupling of the spacecraft and plasma dynamics.
All Simulation classes must be derived from this class.
The abstract methods defined here must be implemented in the derived classes.
This class simply enforces the minimum data transfer to allow proper interfacing
with SPIS framework:
- inputs (in constructor): volume mesh, two surface meshes
(external boundary and spacecraft, internally)
- ouputs (abstract getXXX() routines): results as volume/surface maps,
particle trajectories, time varying scalar (for x(t) plots),
or tyme varying curves (for (y(x))(t) plots, or possibly(y,x)(t)).
NB: The volume/surface meshes are left of the generic VolMesh/SurfMesh types,
but only 3D unstructured versions of the meshes, ThreeDUnstructVolMesh and
ThreeDUnstructSurfMesh, can indeed currently be handled by the solvers and
the framework (this is why the only derived class of this one,
PlasmaScSimulation, stores the meshes with their sub-types).
When solvers for other types of meshes are developed, this class will still
be valid, and new simulation classes will have to be derived from it.
Versions and anomalies correction :
Version number | Author (name, e-mail) | Corrections/Modifications |
0.1 | JF Roussel, roussel@onecert.fr | Creation |
Field Summary | |
private SurfMesh |
bdSurfMesh
the 3D untructured surface mesh, external boundary of the simulation box (not a physical surface) |
private GlobalParameter[] |
globalParameters
Global parameters (plasma density...) |
protected java.util.Vector |
results
data to be stored for post-processing |
private SurfMesh |
scSurfMesh
the 3D untructured spacecraft surface mesh, (a physical surface) |
private VolMesh |
volMesh
the 3D untructured volume mesh, of the simulation box |
Constructor Summary | |
protected |
Simulation()
temporary constructor without meshes, to allow to build this from the framework without meshes |
|
Simulation(VolMesh volMesh_,
SurfMesh bdSurfMesh_,
SurfMesh scSurfMesh_)
Default constructor with volume and surface meshes. |
|
Simulation(VolMesh volMesh_,
SurfMesh bdSurfMesh_,
SurfMesh scSurfMesh_,
GlobalParameter[] globalParameters_)
Constructor with volume and surface meshes, and global parameters. |
Method Summary | |
void |
exportUIData()
exports meshes and other data from user interface |
SurfMesh |
getBdSurfMesh()
|
SurfField[] |
getBdSurfResults()
Returns data on the external boundary surface resulting of the computation, typically potential and current surface maps. |
abstract XyzData[] |
getCurveTimePlots()
Returns x-y-z data resulting of the computation, typically curves at successive computation times, e.g. an RPA I(V) curve at different simulation times (x is time, y is V, z is I, which shall allow to generate I(V) plots in the framework). |
GlobalParameter[] |
getGlobalParameters()
|
java.util.Vector |
getResults()
|
XyData[] |
getScalTimePlots()
Returns x-y data resulting of the computation, typically time plots a physical value (potential... cf myXyData.getName()). |
SurfMesh |
getScSurfMesh()
|
SurfField[] |
getScSurfResults()
Returns data on spacecraft surface resulting of the computation, typically potential and current surface maps. |
abstract Trajectory[] |
getTrajectories()
Returns particle trajectories compited in the simulation. |
VolMesh |
getVolMesh()
|
VolField[] |
getVolResults()
Returns volume data resulting of the computation, typically potential and density volume maps. |
void |
importUIData()
imports meshes and other data from user interface |
abstract void |
integrate(float t)
Time integration of the coupled plasma-spacecraft dynamics over the time t. |
protected int |
selectResults(java.lang.Object[] specificData,
int ctr,
java.lang.Class selectedClass)
Adds results (post-processing data) of the type selectedClass to the array specificData, starting at the index ctr of the passed array specific data (it must have been dimensioned to a sufficient size before the call, use results.size()). |
void |
setBdSurfMesh(SurfMesh mesh)
|
void |
setDefaultInputPath(java.lang.String inPath)
Sets the default input path, used for file reading. |
void |
setDefaultOutputPath(java.lang.String outPath)
Sets the default output path, used for file writing. |
void |
setDefaultPaths(java.lang.String outPath,
java.lang.String inPath)
Sets the default paths (used for file reading/writing) |
void |
setGlobalParameters(GlobalParameter[] parameters)
Defines the global parameters for this simulation |
void |
setResults(java.util.Vector vector)
|
void |
setScSurfMesh(SurfMesh mesh)
|
void |
setVolMesh(VolMesh mesh)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private VolMesh volMesh
private SurfMesh bdSurfMesh
private SurfMesh scSurfMesh
private GlobalParameter[] globalParameters
protected java.util.Vector results
Constructor Detail |
public Simulation(VolMesh volMesh_, SurfMesh bdSurfMesh_, SurfMesh scSurfMesh_)
volMesh_
- volume meshbdSurfMesh_
- external boundary surface meshscSurfMesh_
- spacecraft surface mesh (also "internal" boundary of the volume mesh)public Simulation(VolMesh volMesh_, SurfMesh bdSurfMesh_, SurfMesh scSurfMesh_, GlobalParameter[] globalParameters_)
volMesh_
- volume meshbdSurfMesh_
- external boundary surface meshscSurfMesh_
- spacecraft surface mesh (also "internal" boundary of the volume mesh)protected Simulation()
Method Detail |
public VolField[] getVolResults()
public SurfField[] getScSurfResults()
public SurfField[] getBdSurfResults()
public abstract Trajectory[] getTrajectories()
Trajectory
public XyData[] getScalTimePlots()
XyData
public abstract XyzData[] getCurveTimePlots()
XyData
public abstract void integrate(float t)
public void exportUIData()
public void importUIData()
protected int selectResults(java.lang.Object[] specificData, int ctr, java.lang.Class selectedClass)
specificData
- ctr
- selectedClass
-
public void setDefaultOutputPath(java.lang.String outPath)
outPath
- public void setDefaultInputPath(java.lang.String inPath)
inPath
- public void setDefaultPaths(java.lang.String outPath, java.lang.String inPath)
outPath
- inPath
- public SurfMesh getBdSurfMesh()
public java.util.Vector getResults()
public SurfMesh getScSurfMesh()
public VolMesh getVolMesh()
public void setBdSurfMesh(SurfMesh mesh)
mesh
- public void setResults(java.util.Vector vector)
vector
- public void setScSurfMesh(SurfMesh mesh)
mesh
- public void setVolMesh(VolMesh mesh)
mesh
- public GlobalParameter[] getGlobalParameters()
public void setGlobalParameters(GlobalParameter[] parameters)
parameters
-
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |