spis.Vol.VolField
Class PotEField

java.lang.Object
  extended byspis.Vol.VolField.EField
      extended byspis.Vol.VolField.PotEField

public class PotEField
extends EField

Class Name : PotEField (Potential Electric Field)
Project ref : SPIS project
File name : PotEField.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 : Electric Field stored as a potential.
Contains an electric field stored as a potential and a consistent Poisson equation solver (i.e. able to solve Poisson equation on that potential)

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  PotVectVolField E
          The E field itself
protected  PotPoissonSolver poisson
          the Poisson Eq. solver
 
Constructor Summary
PotEField(PotPoissonSolver poissonSolver)
          Default constructor
PotEField(PotVectVolField E_, PotPoissonSolver poissonSolver)
          Constructor with pre-determined E as a PotVectVolField
PotEField(ThreeDUnstructVolMesh vm)
          Constructor with minimal data (default minimal Poisson solver will be used)
 
Method Summary
 void computeElectricField(PointList pl, VectTable val)
          Provides the values of the field at a list of arbitrary locations PointList (particle positions).
 void computePotential(PointList pl, FloatScalTable val)
          Provides the values of the field at a list of arbitrary locations PointList (particle positions).
 PotVectVolField getPotEField()
           
 PotPoissonSolver getPotPoissonSolver()
           
 void solve(ScalVolField density)
          Calls default Poisson solver (linear or not of the Poisson Solver).
 void solveLinear(ScalVolField density)
          Solves Poisson equations.
 void solveNonLinear(ScalVolField density)
          Solves non linear Poisson equation.
 
Methods inherited from class spis.Vol.VolField.EField
getE, getPoissonSolver, setScPot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

E

protected PotVectVolField E
The E field itself


poisson

protected PotPoissonSolver poisson
the Poisson Eq. solver

Constructor Detail

PotEField

public PotEField(PotPoissonSolver poissonSolver)
Default constructor

Parameters:
poissonSolver - Poisson eq. solver to compute the electric field dynamics

PotEField

public PotEField(PotVectVolField E_,
                 PotPoissonSolver poissonSolver)
Constructor with pre-determined E as a PotVectVolField

Parameters:
E_ - volume field to store the electric field values
poissonSolver - Poisson eq. solver to compute the electric field dynamics

PotEField

public PotEField(ThreeDUnstructVolMesh vm)
Constructor with minimal data (default minimal Poisson solver will be used)

Parameters:
vm - volume mesh
Method Detail

solveLinear

public void solveLinear(ScalVolField density)
Solves Poisson equations.
Different interfaces can be envisaged with some parameters to be transmitted to the solver although they should rather be part of the solver in an OO approach

Specified by:
solveLinear in class EField

solveNonLinear

public void solveNonLinear(ScalVolField density)
Solves non linear Poisson equation.
Different interfaces can be envisaged with some parameters to be transmitted to the solver although they should rather be part of the solver in an OO approach

Specified by:
solveNonLinear in class EField

solve

public void solve(ScalVolField density)
Calls default Poisson solver (linear or not of the Poisson Solver).

Specified by:
solve in class EField

getPotEField

public PotVectVolField getPotEField()

getPotPoissonSolver

public PotPoissonSolver getPotPoissonSolver()

computeElectricField

public void computeElectricField(PointList pl,
                                 VectTable val)
Provides the values of the field at a list of arbitrary locations PointList (particle positions).
In the list of points PointList, more than the position may be used , as e.g. the index of the cell containing the point.
The result table val must be of the same type as the field (vector/scalar/…).
This routine performs a better physical interpolation (e.g. taking into account the specificity of wires) than the basic linear interpolation of VolField.computeField
Basically calls the right computePotGradient(...) routine of the PoissonSolver embedded in this EField.

Specified by:
computeElectricField in class EField
See Also:
PoissonSolver.interpolatePotGradient(PointList, ScalVolField, VectTable)

computePotential

public void computePotential(PointList pl,
                             FloatScalTable val)
Provides the values of the field at a list of arbitrary locations PointList (particle positions).
In the list of points PointList, more than the position may be used , as e.g. the index of the cell containing the point.
The result table val must be of the same type as the field (vector/scalar/…).
This routine performs a better physical interpolation (e.g. taking into account the specificity of wires) than the basic linear interpolation of VolField.computeField
Basically calls the right computePotGradient(...) routine of the PoissonSolver embedded in this EField.

See Also:
PoissonSolver.interpolatePotential(PointList, ScalVolField, FloatScalTable)