spis.Surf.InteractModel
Class SurfInteractDeprecated

java.lang.Object
  extended byspis.Surf.InteractModel.SurfInteractDeprecated

public abstract class SurfInteractDeprecated
extends java.lang.Object

Class Name : SurfInteractDeprecated (generic Surface Interaction class)
Project ref : SPIS project
File name : SurfInteractDeprecated.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 : Project of "general abstract Surface Interaction class". not yet in use, would allow to reduce the region of interaction
Describes the interactions of particles with a surface, either a physical surface or boundary surface.
The inputs to compute an interaction are:
- a surface distribution for the incoming flux (of electrons, ions, or photons, etc.)
- parameters for the interaction
NB: they are treated on a different footing since the flux is variable, whereas the parameters are (more) constant: the latter are object members, whereas the former are method parameters.
The output are:
- a surface distribution for the outgoing flux (of electrons, ions, etc.)
- a "circuit field" for the net current collected by the spacecraft circuit
Most of the implementation is left to the derived classes, which specialise to the various types of interactions.
Particle sources are also considered as surface interactions, since they share almost all properties with interactions, they simply have no incoming flux.

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 applicable
          domain of interaction (0=no)
protected  InteractModel interactModel
          Material Model
protected  SurfMesh sm
          pointer to the Surface Mesh, on which the interaction happens
 
Constructor Summary
SurfInteractDeprecated()
          empty constructor, to be deleted later
SurfInteractDeprecated(SurfMesh surfMesh, ScalSurfField applicableArea, InteractModel interactMod)
          Default constructor.
SurfInteractDeprecated(SurfMesh surfMesh, ScalSurfField applicableArea, InteractModel interactMod, ScalSurfField interactModId, int thisInteractModId)
          Constructor with verification.
 
Method Summary
protected  void computeInteraction(SurfDistrib fluxIn, SurfDistrib fluxOut, SurfField netCur, Interactor inter)
          Has the interaction computed by the Interactor provided.
abstract  void interact(SurfDistrib fluxIn, SurfDistrib fluxOut, SurfField netCur)
          Simulates the interaction of the particle flux FluxIn, which produces the outgoing flux FluxOut and the net current NetCur.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sm

protected SurfMesh sm
pointer to the Surface Mesh, on which the interaction happens


applicable

protected ScalSurfField applicable
domain of interaction (0=no)


interactModel

protected InteractModel interactModel
Material Model

Constructor Detail

SurfInteractDeprecated

public SurfInteractDeprecated(SurfMesh surfMesh,
                              ScalSurfField applicableArea,
                              InteractModel interactMod)
Default constructor.


SurfInteractDeprecated

public SurfInteractDeprecated(SurfMesh surfMesh,
                              ScalSurfField applicableArea,
                              InteractModel interactMod,
                              ScalSurfField interactModId,
                              int thisInteractModId)
Constructor with verification.
Reduces the application field "applicable" to surfaces described with this interaction model (or material model).
Normally this task should already have been performed when the default constructor is used.
Warning: When using this constructor, "applicable" may be modified, so make a copy when calling it, if needed.


SurfInteractDeprecated

public SurfInteractDeprecated()
empty constructor, to be deleted later

Method Detail

interact

public abstract void interact(SurfDistrib fluxIn,
                              SurfDistrib fluxOut,
                              SurfField netCur)
Simulates the interaction of the particle flux FluxIn, which produces the outgoing flux FluxOut and the net current NetCur.
The type of description of the outgoing flux FluxOut is determined by the actual class of the object FluxOut: it cannot be the virtual class SurfDistrib but only PICSurfDistrib or FluidSurfDistrib...
Depending on that, a particle sampling is performed or only the total emitted current is provided in FluxOut.


computeInteraction

protected void computeInteraction(SurfDistrib fluxIn,
                                  SurfDistrib fluxOut,
                                  SurfField netCur,
                                  Interactor inter)
Has the interaction computed by the Interactor provided.
Since an Interactor may implement, or not, several methods to compute the interactions, they are tried successively until one works.
The more global methods are tried first since they are supposed to be better since the Interactor has more information. They are however longer to implement and may not have been implemented in all Interactors, this is why more local methods are tried next.
This is still a basic version, that needs to be improved when more actual iterators are implemented.
NB: all particles in the list must be arrived on a surface, hence have their index indicating a surface index (of the surf mesh). This condition is checked.

Status: under development

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