|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectspis.Util.List.PointList
spis.Util.List.PartList
spis.Util.List.RichPartList
Class Name : RichPartList
Project ref : SPIS project
File name : RichPartList.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 : List particles with enriched description
PointList class is extended (by derivation) to have a richer descrition of particles:
particle weight and type are added to allow variable weight (number of real
particles represented) and type (mass, charge...) in the same list.
Versions and anomalies correction :
Version number | Author (name, e-mail) | Corrections/Modifications |
0.1 | JF Roussel, roussel@onecert.fr | Creation |
Field Summary |
Fields inherited from class spis.Util.List.PartList |
isEmpty, isInVol, isNotInVol, isOccupied, isOnSurf1, isOnSurf2, setEmpty, setInVol, setOnSurf1, setOnSurf2 |
Constructor Summary | |
RichPartList(RichPartList rpl)
copy constructor (variable arrays are copied, whereas for meshes and particle type table pointers only are copied) |
|
RichPartList(VolMesh vm)
Constructor with minimal data: builds a list with 0 particles and default particle types |
|
RichPartList(VolMesh vm,
SurfMesh bdSurfMesh,
SurfMesh scSurfMesh,
PartTable partTable_)
Default constructor: builds a list with 0 particles |
|
RichPartList(VolMesh vm,
SurfMesh bdSurfMesh,
SurfMesh scSurfMesh,
PartTable partTable_,
int dim)
Constructor of a list of a given dimension |
|
RichPartList(VolMesh vm,
SurfMesh bdSurfMesh,
SurfMesh scSurfMesh,
PartTable partTable_,
IntScalTable flagT,
SpaceVectTable posT,
IntScalTable indexT,
VeloVectTable veloT,
IntScalTable partTypeIdT_,
FloatScalTable weightT_)
Constructor with full data |
|
RichPartList(VolMesh vm,
SurfMesh bdSurfMesh,
SurfMesh scSurfMesh,
PartTable partTable_,
VolSampler sampler,
int partType)
Constructor of a sampled list |
Method Summary | |
void |
clean(TestOfInt selectPart,
IntScalTable selectTable)
Cleans the list, excluding particles verifying selectPart.test(selectTable[i]) |
void |
computeChargeOverMass(FloatScalTable chargeOverMass)
|
void |
concat(PartList plIn)
concatenates the provided list plIn to this list. |
void |
extract(PartList plOut,
TestOfInt extractTest)
Extracts the particles of this list fullfilling the condition extractTest.test(flag) to the other list plOut. |
PartList |
extractFraction(float ratio)
extracts a fraction of the list (at random) |
void |
generateSurfaceSample(SurfMesh sm,
SurfSampler sampler,
float time)
generates a sample of particles following the passed sampler for velocities, and uniformely on surface mesh for positions. |
void |
generateVolumeSample(VolSampler sampler)
generates a sample of particles following the passed sampler for velocities, and uniformely in volume mesh for positions. |
float[] |
getChargeArray()
Returns the array of the charges of each particle type (array index = particle type) |
float[] |
getChargeOverMassArray()
Returns the array of the q/m ratios of each particle type (array index = particle type) |
float[] |
getMassArray()
Returns the array of the masses of each particle type (array index = particle type) |
PartList |
getPartListCopy()
returns a copy of this list (to be overriden by sub-types) |
PartTable |
getPartTable()
|
IntScalTable |
getPartTypeIdTable()
returns the table of particle types |
PartList |
getSimilar()
returns a similar PartList, with same subtype and particle type(s) (and fixed weight), but empty (to be overriden by sub-types (derived classes) |
FloatScalTable |
getWeightTable()
returns the table of particle weights (number of real particles in a superparticle) |
void |
init(int dim,
PartTable partTable_)
Initialisations |
void |
inject(PartList plIn)
injects the provided list plIn into this list. |
void |
setDim(int dimension)
sets the list dimension to dim: resizes the tables if needed, not preserving data (except if no resizing is needed). |
void |
setDimPreserve(int dimension)
sets the list dimension to dim: resizes the tables if needed preserving data |
Methods inherited from class spis.Util.List.PartList |
applyFunc, applyFuncDeprecated, applyFuncDeprecated, applyFuncDeprecated, applyFuncDeprecated, getFlagTable, getIsOnThisSurfMesh, getPart, getSm1, getSm2, getVeloTable, getWeight, init, initBuffers |
Methods inherited from class spis.Util.List.PointList |
declareDim, getDim, getEndId, getIndexTable, getPosTable, getStartId, getVm, init |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RichPartList(VolMesh vm, SurfMesh bdSurfMesh, SurfMesh scSurfMesh, PartTable partTable_)
vm
- reference volume mesh of the listbdSurfMesh
- boundary surface mesh (No 1)scSurfMesh
- spacecraft surface mesh (No 2)partTable_
- particle tablepublic RichPartList(VolMesh vm, SurfMesh bdSurfMesh, SurfMesh scSurfMesh, PartTable partTable_, int dim)
vm
- reference volume mesh of the listbdSurfMesh
- boundary surface mesh (No 1)scSurfMesh
- spacecraft surface mesh (No 2)partTable_
- particle tabledim
- dimension of the tables to be allocatedpublic RichPartList(VolMesh vm, SurfMesh bdSurfMesh, SurfMesh scSurfMesh, PartTable partTable_, VolSampler sampler, int partType)
vm
- reference volume mesh of the listbdSurfMesh
- boundary surface mesh (No 1)scSurfMesh
- spacecraft surface mesh (No 2)partTable_
- particle tablesampler
- particle random generatorpublic RichPartList(VolMesh vm)
vm
- reference volume mesh of the list (surface are extracted from this volume mesh)public RichPartList(VolMesh vm, SurfMesh bdSurfMesh, SurfMesh scSurfMesh, PartTable partTable_, IntScalTable flagT, SpaceVectTable posT, IntScalTable indexT, VeloVectTable veloT, IntScalTable partTypeIdT_, FloatScalTable weightT_)
vm
- reference volume mesh of the listbdSurfMesh
- boundary surface mesh (No 1)scSurfMesh
- spacecraft surface mesh (No 2)partTable_
- particle tableflagT
- flag tableposT
- position tableindexT
- index tableveloT
- velocity tablepartTypeIdT_
- particle type tableweightT_
- weight tablepublic RichPartList(RichPartList rpl)
rpl
- list to be copiedMethod Detail |
public void init(int dim, PartTable partTable_)
dim
- number of particle => dimension of the tables to createpublic void generateVolumeSample(VolSampler sampler)
generateVolumeSample
in class PartList
public void generateSurfaceSample(SurfMesh sm, SurfSampler sampler, float time)
generateSurfaceSample
in class PartList
sm
- surface mesh the smapling has to done onsampler
- surface sampler => generates random velocities following a given lawtime
- physical integration duration producing that samplepublic void extract(PartList plOut, TestOfInt extractTest)
extract
in class PartList
public PartList extractFraction(float ratio)
extractFraction
in class PartList
ratio
- fraction of the list to be extracted
public void inject(PartList plIn)
inject
in class PartList
plIn
- input listconcat(PartList)
public void concat(PartList plIn)
concat
in class PartList
plIn
- input list to concatenate to this listpublic void computeChargeOverMass(FloatScalTable chargeOverMass)
computeChargeOverMass
in class PartList
public void clean(TestOfInt selectPart, IntScalTable selectTable)
clean
in class PartList
selectPart
- selectTable
- public void setDim(int dimension)
setDim
in class PartList
public void setDimPreserve(int dimension)
setDimPreserve
in class PartList
public PartList getSimilar()
getSimilar
in class PartList
public PartList getPartListCopy()
getPartListCopy
in class PartList
public FloatScalTable getWeightTable()
public IntScalTable getPartTypeIdTable()
public float[] getChargeArray()
public float[] getMassArray()
public float[] getChargeOverMassArray()
public PartTable getPartTable()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |