spis.Surf.InteractModel
Class FunctionOfParticleE

java.lang.Object
  extended byspis.Surf.InteractModel.FunctionOfParticle
      extended byspis.Surf.InteractModel.FunctionOfParticleE
All Implemented Interfaces:
ScalFunctionOf4Scal, ScalFunctionOfScal
Direct Known Subclasses:
DampedEnergyFunction, EnergyFunction, RangeFunction, ReciprocalOfFunctionOfParticleE, TransmissionFunction

public abstract class FunctionOfParticleE
extends FunctionOfParticle
implements ScalFunctionOfScal, ScalFunctionOf4Scal

Class Name : FunctionOfParticleE
Project ref : SPIS project
File name : FunctionOfParticleE.java
File type : class
Copyright : ONERA, 2 Av. E. Belin, 31055 Toulouse cedex, France http://www.onecert.fr
Status : under development
Creation : 7 mars 2004
Modification :

Description : A function of a (single) particle energy.
The argument of the function of 1 scalar it must implment (compute(E)) is the energy E.
The function of 4 scalars it implements (compute(E, modelId, matId, partId)) is the same function with extra parameters, hence its four arguments are:
1- the energy E,
2- the material model Id of that surface (an integer stored as a float)
3- the material Id of the impinged surface (an integer stored as a float)
4- the particle type Id (an integer stored as a float)
whereas the parameters arguments 2, 3 and 4 could be used with a different meaning (this meaning is used by the material properties functions used for secondary emission, etc.).

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
 
Fields inherited from class spis.Surf.InteractModel.FunctionOfParticle
defaultParamsId, materialRange, modelId, particleId, partTable
 
Constructor Summary
FunctionOfParticleE(int materialRange, int modelId, int particleId, PartTable partTable)
          Default constructor.
 
Method Summary
 float compute(float E)
          Generic way of handling non-material-indexed compute method: default parameter Id (material Id indeed) is chosen (if defined).
 float compute(float[] velocity, float mass, float[] normal)
          returns the energy dependent function result, after having computed the particle energy from the inputs
 float compute(float[] velocity, float mass, float[] normal, float matModId, float matId, float partId)
          returns the energy dependent function result (also material dependent), after having computed the particle energy from the inputs
 float compute(float E, float matModId, float matId, float partId)
          Generic way of selecting the right parameter set: calls selectParamSet.
protected abstract  float compute(float E, int parId)
          Protected abstract method to be implemented by derived classes (the only one, always the one called by the public methods defined in FunctionOfParticleE)
 
Methods inherited from class spis.Surf.InteractModel.FunctionOfParticle
getDefaultParamsId, getMaterialRange, getModelId, getParticleId, getPartTable, selectParamSet, setDefaultParams, setDefaultParamsId, setMaterialRange, setModelId, setParticleId, setPartTable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FunctionOfParticleE

public FunctionOfParticleE(int materialRange,
                           int modelId,
                           int particleId,
                           PartTable partTable)
Default constructor.

See Also:
FunctionOfParticle#FunctionOfParticle(MaterialModel[], PartTable)
Method Detail

compute

public float compute(float[] velocity,
                     float mass,
                     float[] normal)
returns the energy dependent function result, after having computed the particle energy from the inputs

Specified by:
compute in class FunctionOfParticle
Parameters:
velocity - particle velocity
mass - particle mass
normal - vector defining the angle origin
Returns:
See Also:
FunctionOfParticle.compute(float[], float, float[])

compute

public float compute(float[] velocity,
                     float mass,
                     float[] normal,
                     float matModId,
                     float matId,
                     float partId)
returns the energy dependent function result (also material dependent), after having computed the particle energy from the inputs

Specified by:
compute in class FunctionOfParticle
Parameters:
velocity - particle velocity
mass - particle mass
normal - vector defining the angle origin
matModId - material model Id
matId - material Id
partId - particle Id
Returns:
See Also:
FunctionOfParticle.compute(float[], float, float[], float, float, float)

compute

public float compute(float E)
Generic way of handling non-material-indexed compute method: default parameter Id (material Id indeed) is chosen (if defined).
May have to be overridden.

Specified by:
compute in interface ScalFunctionOfScal
Parameters:
E - particle energy [eV] (and not keV)

compute

public float compute(float E,
                     float matModId,
                     float matId,
                     float partId)
Generic way of selecting the right parameter set: calls selectParamSet.

Specified by:
compute in interface ScalFunctionOf4Scal
Parameters:
E - particle energy [eV] (and not keV, translation is done by E0)
matModId -
matId -
partId -
See Also:
FunctionOfParticle.selectParamSet(float, float, float)

compute

protected abstract float compute(float E,
                                 int parId)
Protected abstract method to be implemented by derived classes (the only one, always the one called by the public methods defined in FunctionOfParticleE)

Parameters:
E - particle energy [eV] (and not keV as often)
parId - selected parameter set
Returns:
range [m] (not Angstrom, translation is done by l0)