|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectspis.Surf.SurfMesh.SurfMesh
Class Name : SurfMesh (generic Surface Mesh class)
Project ref : SPIS project
File name : SurfMesh.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 Surface Mesh class.
Stores mesh data and provides solvers since they are specific to the mesh type.
All Surface Mesh classes must be derived from this class.
Specific data will 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.
A Surface Mesh may be a boundary of a volume mesh, or an interception surface,
or both at the same time (in particular for unstructured volume mesh):
1. Boundary meshes support boundary conditions for volume field solvers
2. Interception surfaces intercept and emit particles, they can themselves be:
2.A. Physical spacecraft surfaces
2.B. Computation box boundaries (in which case they are also boundary meshes
whatever the type of volume mesh)
These different types of surface meshes may or may not lead to a specialisation of the class,
since the difference of data and methods seems to be rather small (Advance method
only needed in case 2).
Versions and anomalies correction :
Version number | Author (name, e-mail) | Corrections/Modifications |
0.1 | JF Roussel, roussel@onecert.fr | Creation |
Field Summary | |
private Geom |
geom
geometry of the space this mesh lives in |
private VolMesh |
vm
pointer to the Volume Mesh, of which SurfMesh is the boundary |
Constructor Summary | |
SurfMesh(Geom geometry,
VolMesh volMesh)
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. |
boolean |
checkIsOnThisMesh(SurfField sf)
tests whether this surface mesh is a surface mesh on this mesh |
abstract ScalSurfField[][] |
computeNeighbouringData()
Computes and returns data characterising neighbour cells of a cell (needed for surface conductivity). |
abstract void |
currentDeposit(PartList pl,
ScalSurfField cur)
Performs the deposit of charges of the particle list pl in the current cur. |
abstract void |
deposit(PartList pl,
ScalSurfField current,
int charge,
int mass)
Performs the deposit of charges of the particle list pl in the ScalSurfField current (current is incremented, reset it before if you want to start from 0). |
abstract int[] |
getEdgeFlag()
|
abstract ScalSurfField |
getEdgeLength()
Returns length of edges |
abstract float[] |
getEdgeRadius()
Returns real radius of thin wires |
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 ScalSurfField |
getSurfArea()
returns surface areas |
abstract VectSurfField |
getSurfNormal()
provides normals to mesh surfaces |
abstract float[] |
getSurfThickness()
Returns real thickness of thin plates |
VolMesh |
getVm()
gets volume mesh (pointer, no copy) |
abstract void |
interpolate(PointList pl,
SurfField sf,
Table val)
Interpolates the surface field sf (defined on the mesh nodes/cells/...) |
abstract void |
mapField(ScalSurfField fin,
ScalSurfField fout,
int flag)
Maps surface fields of different centering into one another (fin into fout). |
abstract void |
samplePos(IntScalTable indexT,
SpaceVectTable posT)
Performs a random sampling of particle positions. |
void |
setVm(VolMesh volMesh)
sets volume mesh (pointer, no copy) |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private Geom geom
private VolMesh vm
Constructor Detail |
public SurfMesh(Geom geometry, VolMesh volMesh)
Method Detail |
public abstract void currentDeposit(PartList pl, ScalSurfField cur)
public abstract void deposit(PartList pl, ScalSurfField current, int charge, int mass)
public abstract void advance(PartList pl, VectTable dx)
pl
- List of particles to be advanceddx
- Shift vectors for particlespublic abstract void interpolate(PointList pl, SurfField sf, Table val)
pl
- Point list at which interpolation is requested (input)sf
- Surface Field to be interpolatedval
- Table with interpolated valuespublic abstract float[] applyScalFunction(Centring centring, ScalFunctionOfVect f)
public abstract float[][] applyVectFunction(Centring centring, VectFunctionOfVect f)
public abstract void samplePos(IntScalTable indexT, SpaceVectTable posT)
indexT
- surface index of each particle (input)posT
- position of each particle (output)public abstract ScalSurfField[][] computeNeighbouringData()
public abstract int getElNb(Centring cent)
public abstract int getElNb(int relDim)
public abstract VectSurfField getSurfNormal()
public abstract ScalSurfField getSurfArea()
public abstract ScalSurfField getEdgeLength()
public abstract float[] getEdgeRadius()
public abstract int[] getEdgeFlag()
public abstract float[] getSurfThickness()
public abstract void mapField(ScalSurfField fin, ScalSurfField fout, int flag)
public boolean checkIsOnThisMesh(SurfField sf)
public void setVm(VolMesh volMesh)
public VolMesh getVm()
public Geom getGeom()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |