spis.Surf.InteractModel
Class SEEPYieldFunction1

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

public class SEEPYieldFunction1
extends FunctionOfParticleETheta

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

Description : Simple yield for secondary electron emission from proton impact. This function is based on the asumption of a constant energy loss rate for a particle (simple version of NASCAP SEE model, cf (3.4) to (3.6) of NASCAP "a three dimensional dynamic study of electrostatic charging i nmaterials", Katz et al., NASA CR-135256).
It gives the SEE yield(E, theta) = c1 * § dE/dx * exp(-c2*x*cos(theta)) = c1 * (1-exp(-c2*cos(theta)*E*dR/dE)) / (c2*cos(theta)*dR/dE), with c1 and c2 passed to the constructor (they are to be determined previously from SEE from electrons, cf SEEEYieldFunction1).
The range function for protons is defined by:
R(E) = 1/c (2E^(1/2) + 2/3 E^(3/2)/Emax)
(derived from NASCAP manual Eq 3.14: -dE/dx = cE^1/2 / (1+E/Emax)

Version:
0.1
Author:
JF Roussel
See Also:
spis.Surf.InteractModel.ProtonRangeFunction1)
where Emax is a NASCAP parameter and c is determined so as to give the right SEEP yield at 1 kev.
This class handles 3 different ParameterSet arrays (there is one set per material in each of the 3 ParameterSet[] parameter arrays).
ParameterSet[] params passed to the constructor are NASCAP parameters in SPIS units:
- 0: NASCAP param 11: Secondary electron yield due to impact of 1 keV protons [-]
- 1: NASCAP param 12: Incident proton energy that produces maximum secondary electron yield [eV].
ParameterSet[] c1c2Params are passed to the constructor and have to be computed somewhere else (normally in SEEEYieldFunction1):
- 0: c1 [eV-1] in yield function above (energy conversion efficiency)
- 1: c2 [m-1] in yield function above ("transfer to surface" parameter).
ParameterSet[] cParams are computed here and contain only:
- c parameter [m-1.eV1/2] in proton range function above.
It may be requested from this class (to compute proton range function).

Summary of units policy for this Function:
everything is SPIS units (eV, m...).

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



Field Summary
private  ParameterSet[] c1c2Params
          c1 [eV-1] and c2 [m-1] params stored as parameter sets (cf.
private  float[] cF
          array of c parameters (cf.
private  ParameterSet[] cParams
          c params stored as parameter sets
private  ParameterSet[] EmaxParams
          Emax parameters [eV] (extracted from params)
private static ParamSetExtractor EmaxParamsExtractor
          Emax parameters extractor
private static int[] EmaxParamsPosition
          position of the Emax parameter to be extracted from params parameters
private  ParameterSet[] params
          input parameters from database (in SPIS units): SEEP yield [-] at 1 keV and energy [eV] at which SEEP is maximum
private  RangeFunction range
          range function R(E) this SEE yield function is based upon (E in eV, R in meters)
private static float refE
          energy [eV] at which the yield is provided in params (normally 1000 eV)
 
Fields inherited from class spis.Surf.InteractModel.FunctionOfParticle
defaultParamsId, materialRange, modelId, particleId, partTable
 
Constructor Summary
SEEPYieldFunction1(ParameterSet[] params, ParameterSet[] c1c2Params, int modelId, int particleId, PartTable partTable)
           
 
Method Summary
protected  float compute(float E, float cosTheta, int matId)
          Returns the SEEE yield
protected  float compute(float E, int matId)
          Returns the average SEEE yield for an isotropic distribution
private  float computeC(float Y1k, float Emax, float c1, float c2)
          Compute the c parameter in proton range function
protected  ParameterSet[] getC()
           
 RangeFunction getProtonRange()
           
private  void init()
          performs initialisations, mostly c coefficients computation
 
Methods inherited from class spis.Surf.InteractModel.FunctionOfParticleETheta
compute, compute, compute, compute, compute, compute
 
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
 

Field Detail

params

private ParameterSet[] params
input parameters from database (in SPIS units): SEEP yield [-] at 1 keV and energy [eV] at which SEEP is maximum


c1c2Params

private ParameterSet[] c1c2Params
c1 [eV-1] and c2 [m-1] params stored as parameter sets (cf. NASCAP manual for their definition)

See Also:
SEEPYieldFunction1

EmaxParams

private ParameterSet[] EmaxParams
Emax parameters [eV] (extracted from params)


cParams

private ParameterSet[] cParams
c params stored as parameter sets


cF

private float[] cF
array of c parameters (cf. NASCAP manual for their definition): cF[i] is c for material i


range

private RangeFunction range
range function R(E) this SEE yield function is based upon (E in eV, R in meters)


refE

private static float refE
energy [eV] at which the yield is provided in params (normally 1000 eV)


EmaxParamsPosition

private static int[] EmaxParamsPosition
position of the Emax parameter to be extracted from params parameters


EmaxParamsExtractor

private static ParamSetExtractor EmaxParamsExtractor
Emax parameters extractor

Constructor Detail

SEEPYieldFunction1

public SEEPYieldFunction1(ParameterSet[] params,
                          ParameterSet[] c1c2Params,
                          int modelId,
                          int particleId,
                          PartTable partTable)
Parameters:
params - NASCAP params 11 and 12: Secondary electron yield due to impact of 1 keV protons [-] and incident proton energy that produces maximum secondary electron yield in SPIS units [eV]
c1c2Params - c1 [eV-1] and c2 [m-1] params
partTable -
Method Detail

init

private void init()
performs initialisations, mostly c coefficients computation


getC

protected ParameterSet[] getC()
Returns:
c parameters (cf. NASCAP manual for their definition)
See Also:
SEEPYieldFunction1

compute

protected float compute(float E,
                        float cosTheta,
                        int matId)
Returns the SEEE yield

Specified by:
compute in class FunctionOfParticleETheta
Parameters:
E - particle energy [eV]
cosTheta - cosine of indicence angle (1 <=> normal)
matId -
Returns:
yield [-]

compute

protected float compute(float E,
                        int matId)
Returns the average SEEE yield for an isotropic distribution

Overrides:
compute in class FunctionOfParticleETheta
Parameters:
E - particle energy [eV]
matId -
Returns:
yield [-]

computeC

private float computeC(float Y1k,
                       float Emax,
                       float c1,
                       float c2)
Compute the c parameter in proton range function

Parameters:
Y1k - yield [-] for protons of energy 1000 eV (refE)
Emax - energy [eV] at which yield is maximum
c1 - [eV-1]
c2 - [m-1]
Returns:
c parameter [m-1.eV1/2]
See Also:
SEEPYieldFunction1

getProtonRange

public RangeFunction getProtonRange()
Returns:
Returns the range.