spis.Surf.InteractModel
Class BasicMaterialModel

java.lang.Object
  extended byspis.Surf.InteractModel.InteractModel
      extended byspis.Surf.InteractModel.MaterialModel
          extended byspis.Surf.InteractModel.BasicMaterialModel

public class BasicMaterialModel
extends MaterialModel

Class Name : BasicMaterialModel
Project ref : SPIS project
File name : BasicMaterialModel.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 : Basic Material Model.
This is the default material model of SPIS. It is based on a NASCAP-like material models for secondary emission, photo-emission, and induced conductivity. Model parameters are the 19 NASCAP properties per material, in order to be able to use the databases of such material properties. Some implemtation details may differ from NASCAP, in particular concerning the distribution function of emitted particles (secondary or photo electrons)

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
private static float electronRangeFunctionEnergyUnit
          energy unit of range function (input) (normally 1 keV in [eV])
private static float electronRangeFunctionLengthUnit
          length unit of range function (result) (normally 1 Angstrom in [m])
private static ParamSetExtractor electronRangeParamsExtractor
          range parameters extractor
private static int[] electronRangeParamsPosition
          position of the range parameters to be extracted (NASCAP params 7-10)
private  BasicInducedConductInteractor indCond
          Induced Conductivity interactor
private static ParamSetExtractor indCondParamsExtractor
           
private static int[] indCondParamsPosition
          position of the parameters for induced conductivity to be extracted (NASCAP params 2, 4, 17, 18, 19 hence 1, 3, 16, 17, 18 in Java arrays starting from 0)
private  float photoElectronTemperature
          photo-electron temperature [eV]
private  Interactor photoEm
          Photo emission interactor
private static ParamSetExtractor photoEmParamExtractor
           
private static int[] photoEmParamPositions
           
private  float secondaryFromProtonTemperature
          temperature of secondary electron under proton impact [eV]
private  float secondaryTemperature
          true secondary electron temperature (under electron impact) [eV]
private  BasicSEEEInteractor SEEE
          Secondary emission interactor (from electrons)
private static ParamSetExtractor SEEEParamExtractor
           
private static int[] seeeParamsPosition
          position of the parameters for secondary emission from electrons to be extracted (NASCAP params 4-10 hence Id 3-9 in Java arrays starting from 0, + param 3)
private  BasicSEEPInteractor SEEP
          Secondary emission interactor (from protons)
private static ParamSetExtractor SEEPParamExtractor
           
private static int[] seepParamsPosition
          position of the parameters for secondary emission from protons to be extracted (NASCAP params 11-12 hence Id 10-11 in Java arrays starting from 0)
 
Fields inherited from class spis.Surf.InteractModel.MaterialModel
modelId
 
Fields inherited from class spis.Surf.InteractModel.InteractModel
paramSets
 
Constructor Summary
BasicMaterialModel(NascapModelParamSet[] modelParamSets, int modelId)
          Default constructor
BasicMaterialModel(ParameterSet[] modelParamSets, int modelId, GlobalParameter[] globalParameters)
          Constructor with global parameters supplied: some global interaction parameters will be taken from them: photoElectronTemperature, secondaryTemperature, secondaryFromProtonTemperature
 
Method Summary
 float computeCapacitance(int matId)
          Computes the capacitance per surface unit [F/m2] of the material of Id matId (and default thickness, defined in material database)
 float computeCapacitance(int matId, float matThickness)
          Computes the capacitance par surface unit [F/m2] of the material of Id matId, and thickness matThickness (returns -1 if thickness <= 0, i.e. a conductor)
 float computeConductivity(int matId)
          Computes the conductivity par surface unit [ohm-1.m-2] of the material of Id matId (and default thickness, defined in material database)
 float computeConductivity(int matId, float matThickness)
          Computes the conductivity par surface unit [ohm-1.m-2] of the material of Id matId, and thickness matThickness (returns -1 if thickness <= 0, i.e. a conductor)
 float computeSurfaceConductivity(int matId)
          Computes the surface conductivity of the material of Id matId (in [ohm-1] corresponding to surface resistivity in [ohm] sometimes called [ohm/square]).
 RangeFunction getElectronRange()
           
 Interactor getNewIndCondInteractor(SurfDistrib inFlux, ScalSurfField matModId, ScalSurfField matId, ScalSurfField matThickness, InteractSC sc)
          Provides the Secondary Emission interactor of this Material Model.
 Interactor getNewPhotoEmInteractor(FluidSurfDistrib sunFlux, ScalSurfField matModId, ScalSurfField matId)
          Provides the photo-emission interactor of this Material Model.
 Interactor getNewSEEEInteractor(SurfDistrib inFlux, ScalSurfField matModId, ScalSurfField matId)
          Builds and returns the interactor for Secondary Electron Emission from Electron (of this Material Model).
 Interactor getNewSEEPInteractor(SurfDistrib inFlux, ScalSurfField matModId, ScalSurfField matId)
          Builds and returns the interactor for Secondary Electron Emission from Proton impact (of this Material Model).
 Interactor getPhotoEmInteractorDeprecated(ScalSurfField matModId, ScalSurfField matId)
          Provides the photo-emission interactor of this Material Model.
 Interactor getPhotoEmInteractorDeprecated(ScalSurfField matModId, ScalSurfField matId, ScalSurfField surfacePotential)
          Provides a (more) advanced photo-emission interactor of this Material Model, including re-collection depending on local potential.
 RangeFunction getProtonRange()
           
private  void init()
          Initialisations: for now only nullifies pointers to interactors.
 
Methods inherited from class spis.Surf.InteractModel.MaterialModel
getModelId, setModelId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SEEE

private BasicSEEEInteractor SEEE
Secondary emission interactor (from electrons)


SEEP

private BasicSEEPInteractor SEEP
Secondary emission interactor (from protons)


photoEm

private Interactor photoEm
Photo emission interactor


indCond

private BasicInducedConductInteractor indCond
Induced Conductivity interactor


photoElectronTemperature

private float photoElectronTemperature
photo-electron temperature [eV]


secondaryTemperature

private float secondaryTemperature
true secondary electron temperature (under electron impact) [eV]


secondaryFromProtonTemperature

private float secondaryFromProtonTemperature
temperature of secondary electron under proton impact [eV]


photoEmParamPositions

private static int[] photoEmParamPositions

photoEmParamExtractor

private static ParamSetExtractor photoEmParamExtractor

seeeParamsPosition

private static int[] seeeParamsPosition
position of the parameters for secondary emission from electrons to be extracted (NASCAP params 4-10 hence Id 3-9 in Java arrays starting from 0, + param 3)


SEEEParamExtractor

private static ParamSetExtractor SEEEParamExtractor

seepParamsPosition

private static int[] seepParamsPosition
position of the parameters for secondary emission from protons to be extracted (NASCAP params 11-12 hence Id 10-11 in Java arrays starting from 0)


SEEPParamExtractor

private static ParamSetExtractor SEEPParamExtractor

indCondParamsPosition

private static int[] indCondParamsPosition
position of the parameters for induced conductivity to be extracted (NASCAP params 2, 4, 17, 18, 19 hence 1, 3, 16, 17, 18 in Java arrays starting from 0)


indCondParamsExtractor

private static ParamSetExtractor indCondParamsExtractor

electronRangeParamsPosition

private static int[] electronRangeParamsPosition
position of the range parameters to be extracted (NASCAP params 7-10)


electronRangeParamsExtractor

private static ParamSetExtractor electronRangeParamsExtractor
range parameters extractor


electronRangeFunctionLengthUnit

private static float electronRangeFunctionLengthUnit
length unit of range function (result) (normally 1 Angstrom in [m])


electronRangeFunctionEnergyUnit

private static float electronRangeFunctionEnergyUnit
energy unit of range function (input) (normally 1 keV in [eV])

Constructor Detail

BasicMaterialModel

public BasicMaterialModel(NascapModelParamSet[] modelParamSets,
                          int modelId)
Default constructor

Parameters:
modelParamSets -
modelId -

BasicMaterialModel

public BasicMaterialModel(ParameterSet[] modelParamSets,
                          int modelId,
                          GlobalParameter[] globalParameters)
Constructor with global parameters supplied: some global interaction parameters will be taken from them: photoElectronTemperature, secondaryTemperature, secondaryFromProtonTemperature

Parameters:
modelParamSets -
modelId -
globalParameters -
Method Detail

init

private void init()
Initialisations: for now only nullifies pointers to interactors.
Might also generate the interactors one day (for now interactors are only generated at the time they are requested through getNew*Interactor(...)). If the same interactor type is requested twice, a new one is generated.


getNewSEEEInteractor

public Interactor getNewSEEEInteractor(SurfDistrib inFlux,
                                       ScalSurfField matModId,
                                       ScalSurfField matId)
Builds and returns the interactor for Secondary Electron Emission from Electron (of this Material Model).

Specified by:
getNewSEEEInteractor in class MaterialModel

getNewSEEPInteractor

public Interactor getNewSEEPInteractor(SurfDistrib inFlux,
                                       ScalSurfField matModId,
                                       ScalSurfField matId)
Builds and returns the interactor for Secondary Electron Emission from Proton impact (of this Material Model). Warning: this model of SEEP needs c1 and c2 parameters describing secondary electron creation and transport in ache material. As a consequence SEEE (SEE from electrons) must have been computed before, since these parameters are provided by the SEEEInteractor.

Specified by:
getNewSEEPInteractor in class MaterialModel

getNewPhotoEmInteractor

public Interactor getNewPhotoEmInteractor(FluidSurfDistrib sunFlux,
                                          ScalSurfField matModId,
                                          ScalSurfField matId)
Provides the photo-emission interactor of this Material Model.

Specified by:
getNewPhotoEmInteractor in class MaterialModel

getPhotoEmInteractorDeprecated

public Interactor getPhotoEmInteractorDeprecated(ScalSurfField matModId,
                                                 ScalSurfField matId)
Provides the photo-emission interactor of this Material Model.
Is deprecated because getPhotoEmInteractor with sunFlux supplied is preferred

Specified by:
getPhotoEmInteractorDeprecated in class MaterialModel

getPhotoEmInteractorDeprecated

public Interactor getPhotoEmInteractorDeprecated(ScalSurfField matModId,
                                                 ScalSurfField matId,
                                                 ScalSurfField surfacePotential)
Provides a (more) advanced photo-emission interactor of this Material Model, including re-collection depending on local potential.

Specified by:
getPhotoEmInteractorDeprecated in class MaterialModel

getNewIndCondInteractor

public Interactor getNewIndCondInteractor(SurfDistrib inFlux,
                                          ScalSurfField matModId,
                                          ScalSurfField matId,
                                          ScalSurfField matThickness,
                                          InteractSC sc)
Provides the Secondary Emission interactor of this Material Model.

Specified by:
getNewIndCondInteractor in class MaterialModel
Parameters:
inFlux -
matModId -
matId -
matThickness - material thickness surface field (if positive, overrides default NASCAp material thickness)
sc - Spacecraft on which conductivity is to be applied
Returns:

getElectronRange

public RangeFunction getElectronRange()
Specified by:
getElectronRange in class MaterialModel
Returns:
the range function for electrons

getProtonRange

public RangeFunction getProtonRange()
Specified by:
getProtonRange in class MaterialModel
Returns:
the range function for protons

computeCapacitance

public float computeCapacitance(int matId,
                                float matThickness)
Computes the capacitance par surface unit [F/m2] of the material of Id matId, and thickness matThickness (returns -1 if thickness <= 0, i.e. a conductor)

Specified by:
computeCapacitance in class MaterialModel

computeCapacitance

public float computeCapacitance(int matId)
Computes the capacitance per surface unit [F/m2] of the material of Id matId (and default thickness, defined in material database)

Specified by:
computeCapacitance in class MaterialModel

computeConductivity

public float computeConductivity(int matId,
                                 float matThickness)
Computes the conductivity par surface unit [ohm-1.m-2] of the material of Id matId, and thickness matThickness (returns -1 if thickness <= 0, i.e. a conductor)

Specified by:
computeConductivity in class MaterialModel

computeConductivity

public float computeConductivity(int matId)
Computes the conductivity par surface unit [ohm-1.m-2] of the material of Id matId (and default thickness, defined in material database)

Specified by:
computeConductivity in class MaterialModel

computeSurfaceConductivity

public float computeSurfaceConductivity(int matId)
Computes the surface conductivity of the material of Id matId (in [ohm-1] corresponding to surface resistivity in [ohm] sometimes called [ohm/square]).
Returns -1 if a conductor (coded as -1 (or 0) in the surface resistivity data)

Specified by:
computeSurfaceConductivity in class MaterialModel