spis.Surf.InteractModel
Class FunctionOfParticleNothing

java.lang.Object
  extended byspis.Surf.InteractModel.FunctionOfParticle
      extended byspis.Surf.InteractModel.FunctionOfParticleNothing
All Implemented Interfaces:
ScalFunctionOf3Scal, ScalFunctionOfNothing
Direct Known Subclasses:
FunctionOfMaterial

public abstract class FunctionOfParticleNothing
extends FunctionOfParticle
implements ScalFunctionOfNothing, ScalFunctionOf3Scal

Class Name : FunctionOfParticleNothing
Project ref : SPIS project
File name : FunctionOfParticleNothing.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, but of none of its kinematic parameters (Energy...), hence compute() = physical_particle_number * constant. The constant is possibly dependent of material model / material / particle type:
the function of 3 scalars it implements (compute(E, modelId, matId, partId)) is the same function with extra parameters, hence its three arguments are:
1- the material model Id of that surface (an integer stored as a float)
2- the material Id of the impinged surface (an integer stored as a float)
3- the particle type Id (an integer stored as a float)
whereas these 3 parameters 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
FunctionOfParticleNothing(int materialRange, int modelId, int particleId, PartTable partTable)
          Default constructor.
 
Method Summary
 float compute()
          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 particle-independent function result, not using the generic inputs in this case
 float compute(float[] velocity, float mass, float[] normal, float matModId, float matId, float partId)
          returns the particle-independent function result (but material dependent), not using the generic inputs in this case
 float compute(float matModId, float matId, float partId)
          Generic way of selecting the right parameter set: calls selectParamSet.
protected abstract  float compute(int matId)
          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

FunctionOfParticleNothing

public FunctionOfParticleNothing(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 particle-independent function result, not using the generic inputs in this case

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 particle-independent function result (but material dependent), not using the generic inputs in this case

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()
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 ScalFunctionOfNothing

compute

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

Specified by:
compute in interface ScalFunctionOf3Scal
Parameters:
matModId -
matId -
partId -
See Also:
FunctionOfParticle.selectParamSet(float, float, float)

compute

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

Returns:
range [m] (not Angstrom, translation is done by l0)