spis.Surf.InteractModel
Class Interactor

java.lang.Object
  extended byspis.Surf.InteractModel.Interactor
Direct Known Subclasses:
BasicInducedConductInteractor, MaxwellianInteractor, MultipleInteractor, MultipleMaxwellianInteractor, PICInteractor, ReflectionInteractor, Source

public abstract class Interactor
extends java.lang.Object

Class Name : Interactor (generic Interactor)
Project ref : SPIS project
File name : Interactor.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 Interactor class.
An interactor actually performs (computes) the interaction.
It deals with the incoming/outgoing surface distributions (fluxes), which can basically be sampled (PIC disctrubtions) or fluid (moments). It does not need to implement all versions, but it has to say what is implemented.
The general rule is to generate an outgoing flux of the subtype of the object passed as outgoing flux (e.g. a sampled distribution if "fluxOut" is of type PICSurfDIstrib) since this is (or should be) the subtype requested by the solver that will later propagate these particles.
However, in some cases the subtype of the outgoing flux can be modified (i.e. enforced by the Interactor), as e.g. if the emitted flux is a Maxwellien, why not keep it a fluid distribution, and the sampling will be done "later" (this aspect still under work)
For now only the global fluxIn to fluxOut computation can be provided by interactors, i.e. take a flux defined all over the surface mesh to also produce a global distribution as output. It is however envisaged to also have an Interactor handle local fluxes, i.e. over one elementary surface only. It would simplify the task of the Interactor, but makes the Interactor calls more complex (under reflexion).

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
Interactor(SurfDistrib inFlux_, SurfDistrib outFlux_, InteractModel interactModel_, ParameterSet[] parameters)
          Default constructor.
 
Method Summary
abstract  void computeInteraction()
          Computes the interaction, not computing the net current in this version
 void computeInteraction(ScalSurfField netCur)
          Computes the interaction from the incoming flux to the outgoing flux (through Interactor internal pointer inFlux & outFlux to these fluxes), computing also the net current (collected: + in - out)
 SurfDistrib getInFlux()
           
 InteractModel getInteractModel()
           
 SurfDistrib getOutFlux()
           
 ParameterSet[] getParams()
           
 void setInFlux(SurfDistrib distrib)
           
 void setInteractModel(InteractModel interactModel_)
           
 void setOutFlux(SurfDistrib distrib)
           
 void setParams(ParameterSet[] sets)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Interactor

public Interactor(SurfDistrib inFlux_,
                  SurfDistrib outFlux_,
                  InteractModel interactModel_,
                  ParameterSet[] parameters)
Default constructor.
The reference to the interaction model in which this Interactor is used is needed because the material Id (or interaction instance Id) are specific to the interactionModel

Method Detail

computeInteraction

public void computeInteraction(ScalSurfField netCur)
Computes the interaction from the incoming flux to the outgoing flux (through Interactor internal pointer inFlux & outFlux to these fluxes), computing also the net current (collected: + in - out)

Parameters:
netCur - net current (output)

computeInteraction

public abstract void computeInteraction()
Computes the interaction, not computing the net current in this version


getInteractModel

public InteractModel getInteractModel()
Returns:
pointer to the interaction model this interactor comes from

getParams

public ParameterSet[] getParams()
Returns:
parameters of this interactor

setInteractModel

public void setInteractModel(InteractModel interactModel_)
Parameters:
interactModel_ - pointer to the interaction model this interactor comes from

setParams

public void setParams(ParameterSet[] sets)
Parameters:
sets - parameters of this interactor

getInFlux

public SurfDistrib getInFlux()
Returns:

getOutFlux

public SurfDistrib getOutFlux()
Returns:

setInFlux

public void setInFlux(SurfDistrib distrib)
Parameters:
distrib -

setOutFlux

public void setOutFlux(SurfDistrib distrib)
Parameters:
distrib -