spis.Surf.SurfDistrib
Class LocalMaxwellSurfDistrib

java.lang.Object
  extended byspis.Surf.SurfDistrib.SurfDistrib
      extended byspis.Surf.SurfDistrib.NonPICSurfDistrib
          extended byspis.Surf.SurfDistrib.FluidSurfDistrib
              extended byspis.Surf.SurfDistrib.LocalMaxwellSurfDistrib
Direct Known Subclasses:
LocalMaxwellSurfDistribWithMachNotOperational

public class LocalMaxwellSurfDistrib
extends FluidSurfDistrib

Class Name : LocalMaxwellSurfDistrib (Maxwellian Surface Distribution)
Project ref : SPIS project
File name : LocalMaxwellSurfDistrib.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 : Maxwellian Surface Distribution.
The distribution is described by a local Maxwellian distribution (different moments on each surface element) contrarily GlobalMaxwellBoltzmannVolDistrib which is global (and maybe MaxwellianAnalyticSurfDistrib one day)

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
protected  ScalSurfField temp
          local temperature
 
Fields inherited from class spis.Surf.SurfDistrib.FluidSurfDistrib
flux
 
Fields inherited from class spis.Surf.SurfDistrib.NonPICSurfDistrib
part, sampler
 
Fields inherited from class spis.Surf.SurfDistrib.SurfDistrib
from, sm, to
 
Constructor Summary
LocalMaxwellSurfDistrib(GlobalParameter[] globalParams, LocalParameter[] localParams, java.lang.String option, SurfMesh sm, java.lang.Integer sourceId)
          Constructor based on UI-defined parameters
LocalMaxwellSurfDistrib(SurfMesh sm, LocalMaxwellSurfSampler sampler)
          constructor with minimal data, default initialisation of surface fields is performed: surface-centered flux and temperature ScalSurfFields are generated.
LocalMaxwellSurfDistrib(SurfMesh sm, Part part)
          Constructor without sampler: can be used for some distributions, which do not need to produce samples following that distribution (e.g. result distributions, but not sources of PICVolDistrib-utions).
LocalMaxwellSurfDistrib(SurfMesh sm, Part part, float typicalFlux, float typicalTemperature)
          Quick constructor:
- a default sampler is generated from particle type, and typical flux and temperature of the emitted particles (the latter are used to determined sampled particle weights),
- 0 flux and temperature fields are generated (surface-centred)
LocalMaxwellSurfDistrib(SurfMesh sm, ScalSurfField flux, ScalSurfField temperature, LocalMaxwellSurfSampler sampler)
          Default constructor.
LocalMaxwellSurfDistrib(SurfMesh sm, ScalSurfField flux, ScalSurfField temperature, Part part)
          Constructor without sampler: can be used for some distributions, which do not need to produce samples following that distribution (e.g. result distributions, but not sources of PICVolDistrib-utions)
 
Method Summary
 float assessTypicalVelo()
          Assessing velocity is not possible for a FluidSUrfDistrib (no information on temperature, hence velocity) => returns ~0
To be overriden by derived classes, for which velocity can be assessed!
 void getMoment(SurfField mom, int order, int charge, int mass)
          Returns a Maxwellian Surface Distribution moment
 ScalSurfField getTemp()
           
 void map(SurfDistrib sd)
          Maps the SurfDistrib passed, sd, into this LocalMaxwellSurfDistrib.
 void sample(PartList pl, float dt)
          Provides a sample generated following this Maxwellian distribution
 void setTemp(ScalSurfField temperature)
           
 
Methods inherited from class spis.Surf.SurfDistrib.FluidSurfDistrib
getFlux, setFlux
 
Methods inherited from class spis.Surf.SurfDistrib.NonPICSurfDistrib
assesMinTimeToCrossOneCell, getMoment, getPart, getSample, getSampler, setPart, setSampler
 
Methods inherited from class spis.Surf.SurfDistrib.SurfDistrib
checkMomentConsistentWithOrder, getFrom, getMoment, getMoment, getMoment, getMoment, getSm, getTo, setFrom, setTo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

temp

protected ScalSurfField temp
local temperature

Constructor Detail

LocalMaxwellSurfDistrib

public LocalMaxwellSurfDistrib(SurfMesh sm,
                               ScalSurfField flux,
                               ScalSurfField temperature,
                               LocalMaxwellSurfSampler sampler)
Default constructor. The ScalSurfFields flux and temperature are set as the flux and temperature of this LocalMaxwellSurfDistrib and the sampler. The sampler can/should thus have been defined with null flux and temperature fields.

Parameters:
sm -
flux -
temperature -
sampler -

LocalMaxwellSurfDistrib

public LocalMaxwellSurfDistrib(SurfMesh sm,
                               LocalMaxwellSurfSampler sampler)
constructor with minimal data, default initialisation of surface fields is performed: surface-centered flux and temperature ScalSurfFields are generated.
They are then set as the flux and temperature fields of the sampler, which can/should thus have been defined with null flux and temperature fields.

Parameters:
sm -
sampler -

LocalMaxwellSurfDistrib

public LocalMaxwellSurfDistrib(SurfMesh sm,
                               Part part,
                               float typicalFlux,
                               float typicalTemperature)
Quick constructor:
- a default sampler is generated from particle type, and typical flux and temperature of the emitted particles (the latter are used to determined sampled particle weights),
- 0 flux and temperature fields are generated (surface-centred)

Parameters:
sm - surface mesh
part - type of particles to be generated
typicalFlux - typical emitted flux [#/m2/s]
typicalTemperature - typical temperature of emitted particles [eV]
See Also:
LocalMaxwellSurfSampler1.LocalMaxwellSurfSampler1(Part, float, float, ScalSurfField, ScalSurfField)

LocalMaxwellSurfDistrib

public LocalMaxwellSurfDistrib(SurfMesh sm,
                               ScalSurfField flux,
                               ScalSurfField temperature,
                               Part part)
Constructor without sampler: can be used for some distributions, which do not need to produce samples following that distribution (e.g. result distributions, but not sources of PICVolDistrib-utions)


LocalMaxwellSurfDistrib

public LocalMaxwellSurfDistrib(SurfMesh sm,
                               Part part)
Constructor without sampler: can be used for some distributions, which do not need to produce samples following that distribution (e.g. result distributions, but not sources of PICVolDistrib-utions). Surface-centered flux and temperature Fields are generated


LocalMaxwellSurfDistrib

public LocalMaxwellSurfDistrib(GlobalParameter[] globalParams,
                               LocalParameter[] localParams,
                               java.lang.String option,
                               SurfMesh sm,
                               java.lang.Integer sourceId)
Constructor based on UI-defined parameters

Parameters:
globalParams -
localParams -
option - unused for now
sm -
sourceId -
Method Detail

sample

public void sample(PartList pl,
                   float dt)
Provides a sample generated following this Maxwellian distribution

Overrides:
sample in class FluidSurfDistrib
See Also:
SurfDistrib.sample(PartList, float)

getMoment

public void getMoment(SurfField mom,
                      int order,
                      int charge,
                      int mass)
Returns a Maxwellian Surface Distribution moment

Overrides:
getMoment in class FluidSurfDistrib
See Also:
SurfDistrib.getMoment(SurfField, int, int, int, int, int, int)

assessTypicalVelo

public float assessTypicalVelo()
Description copied from class: FluidSurfDistrib
Assessing velocity is not possible for a FluidSUrfDistrib (no information on temperature, hence velocity) => returns ~0
To be overriden by derived classes, for which velocity can be assessed!

Overrides:
assessTypicalVelo in class FluidSurfDistrib
Returns:
the typical velocity of particles emitted by this surface distribution (indeed maximum over mesh elements of typical velocity within a Maxwellian)

map

public void map(SurfDistrib sd)
Maps the SurfDistrib passed, sd, into this LocalMaxwellSurfDistrib.

Overrides:
map in class FluidSurfDistrib
See Also:
SurfDistrib.map(spis.Surf.SurfDistrib.SurfDistrib)

getTemp

public ScalSurfField getTemp()
Returns:
local temperature field

setTemp

public void setTemp(ScalSurfField temperature)