Serialized Form


Package spis.Surf.SurfMesh

Class spis.Surf.SurfMesh.SurfMesh extends java.lang.Object implements Serializable

Serialized Fields

geom

Geom geom
geometry of the space this mesh lives in


vm

VolMesh vm
pointer to the Volume Mesh, of which SurfMesh is the boundary

Class spis.Surf.SurfMesh.ThreeDUnstructSurfMesh extends UnstructSurfMesh implements Serializable

Serialized Fields

vm

ThreeDUnstructVolMesh vm
volume mesh


surfNb

int surfNb
surface (triangle) number


edgeNb

int edgeNb
edge number


nodeNb

int nodeNb
node (points) number


surfEdge

int[][] surfEdge
edges of a surface (int[SurfNb][3])


surfNode

int[][] surfNode
nodes of a surface (int[SurfNb][3])


edgeNode

int[][] edgeNode
nodes of an edge (int[EdgeNb][2])


edgeSurf

int[][] edgeSurf
surfaces on both sides of an edge (int[edgeNb][2]) order is meaningless, negative value if out of mesh


surfFlag

int[] surfFlag
surface flag (int[surfNb]) to tag thin surfaces. :
- lowest weight bit (bit 0): = 0
- next bit: 0 = regular surface
1 = thin surface
hence:
- surfFlag=0 if a regular surface
- surfFlag=2 if not


surfIndex

int[] surfIndex
index of the surface in the numbering of the volume mesh this surface mesh is the boundary of


surfIndexS2

int[] surfIndexS2
if a thin surface (surfFlag = 2), index of the opposite numbering surface (Side 2) in the same local surface numbering


surfThickness

float[] surfThickness
surface real physical thickness in case it is considered as thin from the mesh viewpoint (thickness not meshed, surfFlag = 2)


edgeFlag

int[] edgeFlag
edge flag (int[edgeNb]) to tag thin
surface (2D) and thin wires (1D):
- bit 0: 0 = edge of a surface
1 = not a real edge but a wire
- bit 1: 0 = edge of a regular surface
1 = edge of a thin surface
hence: - edgeFlag=0 if edge of a regular surface
- edgeFlag=1 if this edge is indeed a wire
- edgeFlag=2 if edge of a thin surface
- nodeFlag=3 is forbidden (bits 0 and 1 are exclusive)


edgeIndex

int[] edgeIndex
index of the edge in the VolMesh numbering


edgeIndexS2

int[] edgeIndexS2
if a thin surface (edgeFlag = 2), index of the opposite duplicated edge (Side 2) in the same local surface numbering


edgeRadius

float[] edgeRadius
wire real physical radius in case this edge is indeed a wire (wire cylinder not meshed)


nodeFlag

int[] nodeFlag
node flag (int[nodeNb]) to tag thin
surface (2D) and thin wires (1D). :
- bit 0: 0 = node of a surface
1 = node of a wire-like edge
- bit 1: 0 = node of a regular surface
1 = node of a thin surface
hence:
- nodeFlag=0 if a node of a regular surface
- nodeFlag=1 if a node of a wire-like edge
- nodeFlag=2 if a node of a thin surface
- nodeFlag=3 is forbidden (bits 0 and 1 are exclusive)


nodeIndex

int[] nodeIndex
index of the node in the VolMesh numbering


nodeIndexS2

int[] nodeIndexS2
if a thin surface (nodeFlag = 2), index of the opposite duplicated node (Side 2) in the same local surface numbering


xyz

float[][] xyz
nodes coordinates (xyz[i][j] = j-th coordinate of i-th node)


surfArea

float[] surfArea
Surface area volume


edgeLength

float[] edgeLength
Edge length


surfNormal

float[][] surfNormal
Normal to a Surface (SurfNormal[i][j] = j-th coordinate of i-th surface normal), they point out of the volume, (hence into the spacecraft)


volNodeRenumbered

boolean volNodeRenumbered
Has the volume node renumbering be performed ? (to internal numbering)


mapNS

Matrix mapNS
Node to surface connectivity matrix


mapNSR

Matrix mapNSR
mapNS row-normalised (sum_j Mij = 1)


mapNSC

Matrix mapNSC
mapNS column-normalised (sum_j Mij = 1)


mapNSRT

Matrix mapNSRT
transpose of mapNSR


mapNSCT

Matrix mapNSCT
transpose of mapNSC


mapNE

Matrix mapNE
Node to surface connectivity matrix, for nodes and edges belonging to 1D wires only!


mapNER

Matrix mapNER
mapNE row-normalised (sum_j Mij = 1)


mapNEC

Matrix mapNEC
mapNE column-normalised (sum_j Mij = 1)


mapNERT

Matrix mapNERT
transpose of mapNER


mapNECT

Matrix mapNECT
transpose of mapNEC

Class spis.Surf.SurfMesh.UnstructSurfMesh extends SurfMesh implements Serializable


Package spis.Surf.SurfField

Class spis.Surf.SurfField.ScalSurfField extends SurfField implements Serializable

Serialized Fields

val

FloatScalTable val
Field values


curBuf

ScalSurfField curBuf
buffer field (to avoid permanent memory allocation-deallocation)

Class spis.Surf.SurfField.SurfField extends java.lang.Object implements Serializable

Serialized Fields

sm

SurfMesh sm
Surface Mesh on which the field "lives"


cent

Centring cent
centring of the field (values on cells/surfaces/edges/nodes)


name

java.lang.String name
Name of the filed (mostly used for post- processing since the name is carried by the variable in the solver, hence non mandatory field internally to NUM)


time

float time
Time at which this field has been generated (mostly used for post-processing, hence non mandatory field internally to NUM)

Class spis.Surf.SurfField.VectSurfField extends SurfField implements Serializable

Serialized Fields

val

VectTable val
Field values


Package spis.Vol.Geom

Class spis.Vol.Geom.ThreeDCartesianGeom extends java.lang.Object implements Serializable

Class spis.Vol.Geom.TwoThreeDAxisymGeom extends java.lang.Object implements Serializable


Package spis.Util.Table

Class spis.Util.Table.FloatScalTable extends ScalTable implements Serializable

Serialized Fields

val

float[] val
table scalar values

Class spis.Util.Table.IntScalTable extends ScalTable implements Serializable

Serialized Fields

val

int[] val
table scalar values

Class spis.Util.Table.ScalTable extends Table implements Serializable

Class spis.Util.Table.SpaceVectTable extends VectTable implements Serializable

Class spis.Util.Table.Table extends java.lang.Object implements Serializable

Serialized Fields

dim

int dim
logical dimension of the table (if stored as an array it is the size of the table effectively filled (which may be less than the the array size), if it is stored as a uniform constant, it is the size of the table it represents

Class spis.Util.Table.VectTable extends Table implements Serializable

Serialized Fields

val

float[][] val
table vector values (val[i][j] is j-th coordinate of i-th vector, table size is [length][dim])


vectDim

int vectDim
dimension each vector


geom

Geom geom
pointer to the geometry defining the vector meaning

Class spis.Util.Table.VeloVectTable extends VectTable implements Serializable


Package spis.Util.Monitor

Class spis.Util.Monitor.Trajectory extends java.lang.Object implements Serializable

Serialized Fields

vm

VolMesh vm
volume mesh this trajectoris lives in


posT

SpaceVectTable posT
trajectory positions


timeT

FloatScalTable timeT
time table (time of each position


pointNb

int pointNb
point number on the trajevtory


index

int index
trajectory index (can be the order index but can also be used to store particle type, start surface...)


name

java.lang.String name
Trajectory name or description

Class spis.Util.Monitor.XyData extends java.lang.Object implements Serializable

Serialized Fields

xT

FloatScalTable xT
x data (usually time)


yT

FloatScalTable yT
y data (usually physical value)


name

java.lang.String name
name of this data


dataNb

int dataNb
number of stored data

Class spis.Util.Monitor.XyzData extends java.lang.Object implements Serializable

Serialized Fields

xT

FloatScalTable xT
x data (usually time)


yT

FloatScalTable yT
y data (usually a scannig parameter, e.g. RPA bias potential)


zT

FloatScalTable zT
y data (usually physical value)


name

java.lang.String name
name of this data


dataNb

int dataNb
number of stored data


Package spis.Vol.VolField

Class spis.Vol.VolField.DirVectVolField extends VectVolField implements Serializable

Serialized Fields

val

VectTable val
Field values (the type of the actual object shall be either SpaceVectTable or VeloVectTable)

Class spis.Vol.VolField.PotVectVolField extends VectVolField implements Serializable

Serialized Fields

pot

ScalVolField pot
potential values

Class spis.Vol.VolField.ScalVolField extends VolField implements Serializable

Serialized Fields

val

FloatScalTable val
Field values

Class spis.Vol.VolField.VectVolField extends VolField implements Serializable

Class spis.Vol.VolField.VolField extends java.lang.Object implements Serializable

Serialized Fields

vm

VolMesh vm
Volume Mesh on which the field "lives"


cent

Centring cent
centring of the field (values on cells/surfaces/edges/nodes)


name

java.lang.String name
Name of the filed (mostly used for post- processing since the name is carried by the variable in the solver, hence non mandatory field internally to NUM)


time

float time
Time at which this field has been generated (mostly used for post-processing, hence non mandatory field internally to NUM)


Package spis.Vol.VolMesh

Class spis.Vol.VolMesh.Centring extends java.lang.Object implements Serializable

Serialized Fields

geom

Geom geom
pointer to the space geometry definition (to get the space dimension


absDim

int absDim
absolute dimension of centring elements (3=3D elements, 2=2D ...)


relDim

int relDim
relative dimension of centring elements (going down): 0=volumes, -1=surfaces... (even for surface meshes where 0 cannot be met thus) but in 2D, volumes relDim is 2

Class spis.Vol.VolMesh.ThreeDUnstructVolMesh extends UnstructVolMesh implements Serializable

Serialized Fields

bsm

ThreeDUnstructSurfMesh bsm
pointer to the 3D untructured surface mesh, external boundary of the simulation box (not a physical surface)


scsm

ThreeDUnstructSurfMesh scsm
pointer to the 3D untructured spacecraft surface mesh, (a physical surface)


cellNb

int cellNb
cell (tetrahedra) number


surfNb

int surfNb
surface (triangle) number


edgeNb

int edgeNb
edge number


nodeNb

int nodeNb
node (points) number


cellSurf

int[][] cellSurf
pointers (indices) to the surfaces surrounding a cell (int[cellNb][4]). The surf cellSurf[n][s] must be opposite the node cellNode[n][s].


cellEdge

int[][] cellEdge
edges of a cell (int[cellNb][6])


cellNode

int[][] cellNode
nodes of a cell (int[cellNb][4]). the surf cellSurf[n][s] must be opposite the node cellNode[n][s]


surfEdge

int[][] surfEdge
edges of a surface (int[surfNb][3])


surfNode

int[][] surfNode
nodes of a surface (int[surfNb][3])


edgeNode

int[][] edgeNode
nodes of an edge (int[edgeNb][2])


surfCell

int[][] surfCell
cells around a surface (int[surfNb][2]) (negative value if out of mesh)


surfFlag

int[] surfFlag
surface flag (int[surfNb]) to tag special surfaces. :
- lowest weight bit: 0 = not a spacecraft surface
(bit 0) 1 = on a spacecraft surface
- next bit: 0 = not a thin surface
(bit 1) 1 = it is a thin surface
(meaningful only if bit 0 = 1)
- bit 2: = 0
- bit 3: 0 = not a mesh boundary surface
1 = it is a mesh boundary surface
next bits may be used (transiently) to tag special surfaces for monitoring, as current computation through a virtual instrument...
hence:
- surfFlag=0 if a non-physical face between tetrahedra
- surfFlag=1 if regular physical surface
- surfFlag=3 if a thin physical surface
- surfFlag=8 if a boundary surface


surfIndexSC

int[] surfIndexSC
for a surface of the spacecraft SurfMesh (bit 0 of surfFlag = 1), index of the surface in the SC SurfMesh numbering


surfIndexB

int[] surfIndexB
for a surface of the boundary SurfMesh (bit 3 of surfFlag = 1), index of the surface in the boundary SurfMesh numbering


edgeFlag

int[] edgeFlag
edge flag (int[edgeNb]) to tag special edges. :
- bit 0: 0 = not on a spacrecraft surface
1 = on a spacecraft surface
- bit 1: 0 = not on a thin SC surface
1 = on a thin SC surface
(meaningful only if bit 0 = 1)
- bit 2: 0 = not a wire-like boom
1 = wire-like boom (1D physical surface)
(meaningful only if 1st bit = 1 and 2nd bit = 0)
- bit 3: 0 = not a mesh boundary edge
1 = it is a mesh boundary edge
next bits may be used (transiently) to tag special edges for monitoring...
hence:
- edgeFlag=0 if a non-physical edge in volume
- edgeFlag=1 if a regular physical edge on a SC surface
- edgeFlag=3 if an edge of a thin physical SC surface
- edgeFlag=5 if a wire-like element (1D physical surface)
- edgeFlag=8 if a boundary edge
- edgeFlag=9 if both a SC edge
and a boundary edge
- edgeFlag=11 if an edge of a thin SC surface
and a boundary edge


edgeIndexSC

int[] edgeIndexSC
for an edge of the spacecraft SurfMesh (first bit of edgeFlag = 1), index of the edge in the SC SurfMesh numbering


edgeIndexB

int[] edgeIndexB
for an edge of the boundary SurfMesh (fourth bit of edgeFlag = 1), index of the edge in the boundary SurfMesh numbering


nodeFlag

int[] nodeFlag
node flag (int[nodeNb]) to tag special nodes. :
- bit 0: 0 = not on a spacrecraft surface
1 = on a spacecraft surface
- bit 1: 0 = not on a thin SC surface
1 = on a thin SC surface
(meaningful only if bit 0 = 1)
- bit 2: 0 = not a node of a wire-like boom
1 = node of a wire-like boom (1D physical surface)
(meaningful only if 1st bit = 1 and 2nd bit = 0)
- bit 3: 0 = not a mesh boundary node
1 = it is a mesh boundary node
next bits may be used (transiently) to tag special nodes for monitoring...
hence:
- nodeFlag=0 if a non-physical node in volume
- nodeFlag=1 if a regular physical node on a SC surface
- nodeFlag=3 if a node of a thin physical SC surface
- edgeFlag=5 if a node of wire-like element
- nodeFlag=8 if a boundary node
- nodeFlag=9 if both a SC node and a boundary node
- nodeFlag=11 if a node of a thin SC surface and a boundary node


nodeIndexSC

int[] nodeIndexSC
for a node of the spacecraft SurfMesh (first bit of nodeFlag = 1), index of the node in the SC SurfMesh numbering


nodeIndexB

int[] nodeIndexB
for a node of the boundary SurfMesh (third bit of nodeFlag = 1), index of the node in the boundary SurfMesh numbering


xyz

float[][] xyz
nodes coordinates (xyz[i][j] = j-th coordinate of i-th node)


cellVol

float[] cellVol
Cell volume


surfArea

float[] surfArea
Surface area


edgeLength

float[] edgeLength
Edge length


nodeVol

float[] nodeVol
Can be viewed by physicists as the 'effective' volume surrounding a node, which allows to compute the density from the particle number obtained by PIC charge deposit (numericians would rather call it the lumped mass matrix)


surfNormal

float[][] surfNormal
Normal to a Surface (SurfNormal[i][j] = j-th coordinate of i-th surface normal). The normal points into the second cell referenced in surfCell, surCell[][1]


toBarCo

float[][][] toBarCo
Matrices to get the barycentric coordinates ([cellNb][3][3]): {l2,l3,l4} = toBarCo[cellId][][].{x-x1,y-y1,z-z1}, with l1 = 1 - l2 - l3 - l4


nodeRenumbering

boolean nodeRenumbering
Is node renumbering on ?


internNum

int[] internNum
internal numbering, dimensionned only if nodeRenumbering = true (internNum[externalId] = internalId)


externNum

int[] externNum
external numbering, dimensionned only if nodeRenumbering = true (externNum[internalId] = externalId)


bufferNodeArrayI

int[] bufferNodeArrayI
buffer used to renumber node quantities on the spot (it is stored as object variable to avoid intensive memory re-allocation)


bufferNodeArrayF

float[] bufferNodeArrayF
buffer used to renumber node quantities on the spot (it is stored as object variable to avoid intensive memory re-allocation)

Class spis.Vol.VolMesh.UnstructVolMesh extends VolMesh implements Serializable

Class spis.Vol.VolMesh.VolMesh extends java.lang.Object implements Serializable

Serialized Fields

geom

Geom geom
geometry of the space this mesh lives in


bsm

SurfMesh bsm
pointer to Surface Mesh, external boundary of the simulation box (not a physical surface)


scsm

SurfMesh scsm
pointer to spacecraft Surface Mesh, (a physical surface)


Package spis.Top.Default

Class spis.Top.Default.GlobalParameter extends Parameter implements Serializable

Class spis.Top.Default.LocalParameter extends Parameter implements Serializable

Class spis.Top.Default.Parameter extends java.lang.Object implements Serializable

Serialized Fields

name

java.lang.String name
Name of the parameter (reserved keyword, that will be reckognized by the solvers)


type

java.lang.String type
Type of the parameter (for now, should be limited to one of Integer, Float, or String)


value

java.lang.Object value
Value of the parameter


unit

java.lang.String unit
Unit of that parameter


comment

java.lang.String comment
Comment on that parameter


Package spis.Util.Matrix

Class spis.Util.Matrix.DiagMatrix extends Matrix implements Serializable

Serialized Fields

diagVal

float[] diagVal
matrix values

Class spis.Util.Matrix.DirMatrix extends Matrix implements Serializable

Serialized Fields

val

float[][] val
matrix values

Class spis.Util.Matrix.Matrix extends java.lang.Object implements Serializable

Serialized Fields

dim1

int dim1
first matrix dimension


dim2

int dim2
second matrix dimension

Class spis.Util.Matrix.SparseMatrix extends Matrix implements Serializable

Serialized Fields

val

float[] val
non zero values of the matrix


col

int[] col
column index of non zero values


p

int[] p
pointer to each row start: val[p[i]] is the first value of row i and col[p[i]] is its column index.


Package spis.Util.Exception

Class spis.Util.Exception.SpisParameterNotFoundException extends SpisRuntimeException implements Serializable

Class spis.Util.Exception.SpisRuntimeException extends java.lang.RuntimeException implements Serializable