|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectspis.Vol.VolMesh.VolMesh
Class Name : VolMesh (generic Volume Mesh class)
Project ref : SPIS project
File name : VolMesh.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 : general abstract Volume Mesh class.
Stores mesh data and provides solvers since they are specific to the mesh type.
All Volume Mesh classes must be derived from this class.
Specific data only be defined in the derived classes
for unstructured or structured mesh storage.
The abstract methods defined here must be implemented in the derived classes.
Versions and anomalies correction :
Version number | Author (name, e-mail) | Corrections/Modifications |
0.1 | JF Roussel, roussel@onecert.fr | Creation |
Constructor Summary | |
VolMesh(Geom geometry,
SurfMesh boundarySurfMesh,
SurfMesh scSurfMesh)
Default constructor. |
Method Summary | |
abstract void |
advance(PartList pl,
VectTable dx)
Advances the particles of particle list pl from their current position to their next position, defined by the shift vector dx. |
abstract float[] |
applyScalFunction(Centring centring,
ScalFunctionOfVect f)
Applies a function of the position to the nodes (or surfaces/cells... depending on centring), and returns the result (f(xi,yi,zi)) as a float array. |
abstract float[][] |
applyVectFunction(Centring centring,
VectFunctionOfVect f)
Applies a vectorial function of the position to the nodes (or surfaces/cells... depending on centring), and returns the result (f(xi,yi,zi)) as a float[i][] array. |
abstract void |
computeGradient(PointList pl,
ScalVolField vf,
VectTable val)
Similar to Interpolate, but the gradient of a volume field is computed. |
abstract void |
currentDeposit(PartList pl,
VectVolField cur)
Performs the PIC deposit of current of the particle list pl in the current density cur. |
abstract void |
deposit(PartList pl,
ScalVolField dens,
int charge,
int mass)
Performs the PIC deposit of charges of the particle list pl in the density dens (dens is incremented, reset it before if you want to start from 0). |
void |
eulerSolve(ScalVolField dens,
VectVolField cur,
ScalVolField E,
ScalVolField B,
BC bc)
Solves Euler equation for the density and current density dens and cur in the electric and magnetic fields E and B. |
SurfMesh |
getBsm()
gets boundary surface mesh (pointer, no copy) |
abstract ScalVolField |
getCellVolField()
Returns cell volumes |
abstract int |
getElNb(Centring cent)
Provides the number of elements for a field with this centring (on nodes/cells/...) |
abstract int |
getElNb(int relDim)
Returns the number of elements of relative dimension relDim |
Geom |
getGeom()
gets geometry (pointer, no copy) |
abstract IntScalTable |
getInjectionCell(IntScalTable flagTable,
IntScalTable indexTable)
Returns the table of the cell indices of particles particles injected from boundaries |
abstract ScalVolField |
getNodeVolField()
Returns node volumes |
SurfMesh |
getScsm()
gets spacecraft surface mesh (pointer, no copy) |
float |
getTotalVol()
Returns th total volume of the mesh |
abstract void |
interpolate(PointList pl,
VolField vf,
Table val)
Interpolates the volume field vf (defined on the mesh nodes/cells/...) |
abstract void |
mapToExternalNodeIndexing(float[][] internIndexed,
float[][] externIndexed)
Maps integer node-centered quantities from an internal-node-number-indexed array to an external-node-number-indexed array. |
abstract void |
mapToExternalNodeIndexing(float[] internIndexed,
float[] externIndexed)
Maps node-centered quantities from an internal-node-number-indexed array to an external-node-number-indexed array. |
abstract void |
mapToInternalNodeIndexing(float[][] externIndexed,
float[][] internIndexed)
Maps node-centered quantities from an external-node-number-indexed array to an internal-node-number-indexed array. |
abstract void |
mapToInternalNodeIndexing(float[] externIndexed,
float[] internIndexed)
Maps node-centered quantities from an external-node-number-indexed array to an internal-node-number-indexed array. |
abstract void |
mapToSurfField(ScalVolField fIn,
ScalSurfField fOut,
int flag)
Maps a volume field onto a surface fields. |
void |
maxwellSolve(VectVolField E,
VectVolField B,
ScalVolField dens,
VectVolField cur,
BC bc)
Maxwell solver, not implemented. |
void |
mhdSolve(ScalVolField dens,
VectVolField cur,
VectVolField B,
BC bc)
MHD equation solver, not implemented. |
abstract void |
poissonSolve(VectVolField E,
ScalVolField dens,
PoissonBC bc)
Solves Poison equation for electric field E (indeed for the potential from which it derives if E is stored as a potential, i.e. of sub-type PotVectVolField) and density dens. |
abstract void |
samplePos(IntScalTable indexT,
SpaceVectTable posT)
Performs a random sampling of particle positions. |
void |
setBsm(SurfMesh sm)
sets boundary surface mesh (pointer, no copy) |
void |
setScsm(SurfMesh sm)
sets spacecraft surface mesh (pointer, no copy) |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public VolMesh(Geom geometry, SurfMesh boundarySurfMesh, SurfMesh scSurfMesh)
Method Detail |
public abstract void interpolate(PointList pl, VolField vf, Table val)
public abstract void computeGradient(PointList pl, ScalVolField vf, VectTable val)
interpolate(PointList, VolField, Table)
public abstract void advance(PartList pl, VectTable dx)
public abstract void deposit(PartList pl, ScalVolField dens, int charge, int mass)
public abstract void currentDeposit(PartList pl, VectVolField cur)
public abstract void poissonSolve(VectVolField E, ScalVolField dens, PoissonBC bc)
public void maxwellSolve(VectVolField E, VectVolField B, ScalVolField dens, VectVolField cur, BC bc)
public void eulerSolve(ScalVolField dens, VectVolField cur, ScalVolField E, ScalVolField B, BC bc)
public void mhdSolve(ScalVolField dens, VectVolField cur, VectVolField B, BC bc)
public abstract void mapToInternalNodeIndexing(float[][] externIndexed, float[][] internIndexed)
public abstract void mapToInternalNodeIndexing(float[] externIndexed, float[] internIndexed)
public abstract void mapToExternalNodeIndexing(float[][] internIndexed, float[][] externIndexed)
public abstract void mapToExternalNodeIndexing(float[] internIndexed, float[] externIndexed)
public abstract void mapToSurfField(ScalVolField fIn, ScalSurfField fOut, int flag)
public abstract float[] applyScalFunction(Centring centring, ScalFunctionOfVect f)
public abstract float[][] applyVectFunction(Centring centring, VectFunctionOfVect f)
public abstract void samplePos(IntScalTable indexT, SpaceVectTable posT)
public abstract IntScalTable getInjectionCell(IntScalTable flagTable, IntScalTable indexTable)
flagTable
- flag of the particles (on SC or on boundary, cf PartList)indexTable
- surface index for a particle on a surface mesh
public abstract int getElNb(Centring cent)
public abstract int getElNb(int relDim)
public abstract ScalVolField getCellVolField()
public abstract ScalVolField getNodeVolField()
public float getTotalVol()
public void setBsm(SurfMesh sm)
public void setScsm(SurfMesh sm)
public SurfMesh getBsm()
public SurfMesh getScsm()
public Geom getGeom()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |