spis.Surf.InteractModel
Class FunctionOfParticleETheta

java.lang.Object
  extended byspis.Surf.InteractModel.FunctionOfParticle
      extended byspis.Surf.InteractModel.FunctionOfParticleETheta
All Implemented Interfaces:
ScalFunctionOf2Scal, ScalFunctionOf4Scal, ScalFunctionOf5Scal, ScalFunctionOfScal
Direct Known Subclasses:
ElecBackscatterFunction, SEEEYieldFunction1, SEEPYieldFunction1

public abstract class FunctionOfParticleETheta
extends FunctionOfParticle
implements ScalFunctionOf2Scal, ScalFunctionOf5Scal, ScalFunctionOfScal, ScalFunctionOf4Scal

Class Name : FunctionOfParticleETheta
Project ref : SPIS project
File name : FunctionOfParticleETheta.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 and angle COSINE (to surface normal).
The first argument of the function of 2 scalars (compute(E, cosTheta) is the energy E, the second the COSINE of the angle (to the normal).
The function of 5 scalars (compute(E, cosTheta, ) is the same function with extra parameters, hence its five arguments are:
1- the energy E,
2- the COSINE of the angle (to the normal),
3- the material model Id of that surface (an integer stored as a float)
4- the material Id of the impinged surface (an integer stored as a float)
5- the particle type Id (an integer stored as a float)
whereas the parameters arguments 3, 4 and 5 could be used with a different meaning (this meaning is used by the material properties functions used for secondary emission, etc.).

The function of 1 and 4 scalars return angle-averaged values for isotropic distributions ( * sin(theta) * cos(theta) * 2 for solid angle and Labertian law factors for a surface in 3D).
These isotropic versions are numerically computed in this class, but should rather be given analytically in derived classes when possible (override!)

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
FunctionOfParticleETheta(int materialRange, int modelId, int particleId, PartTable partTable)
          Default constructor.
 
Method Summary
 float compute(float E)
          Computes an isotropic function (material independent).
 float compute(float[] velocity, float mass, float[] normal)
          returns the energy and angle dependent function result, after having computed the particle energy and angle from the inputs
 float compute(float[] velocity, float mass, float[] normal, float matModId, float matId, float partId)
          returns the energy and angle dependent function result (also material dependent), after having computed the particle energy and angle from the inputs
 float compute(float E, float cosTheta)
          Generic way of handling non-material-indexed compute method: default parameter Id (material Id indeed) is chosen (if defined).
 float compute(float E, float modId, float matId, float partId)
          Computes an isotropic function (material dependent).
 float compute(float E, float cosTheta, float matModId, float matId, float partId)
          Generic way of selecting the right parameter set: calls selectParamSet.
 
Methods inherited from class spis.Surf.InteractModel.FunctionOfParticle
getDefaultParamsId, getMaterialRange, getModelId, getParticleId, getPartTable, setDefaultParams, setDefaultParamsId, setMaterialRange, setModelId, setParticleId, setPartTable
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FunctionOfParticleETheta

public FunctionOfParticleETheta(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 and angle dependent function result, after having computed the particle energy and angle 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 and angle dependent function result (also material dependent), after having computed the particle energy and angle 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,
                     float cosTheta)
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 ScalFunctionOf2Scal
Parameters:
E - particle energy [eV] (and not keV)
cosTheta - cosine of angle to normal

compute

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

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

compute

public float compute(float E,
                     float modId,
                     float matId,
                     float partId)
Computes an isotropic function (material dependent).

Specified by:
compute in interface ScalFunctionOf4Scal

compute

public float compute(float E)
Computes an isotropic function (material independent).

Specified by:
compute in interface ScalFunctionOfScal