__init__ (self, prefix, fieldName, beginDump, endDump)
Initialize the FDM object. Here prefix
is the path to the data
files, up to and excluding the underscore preceding the dataset name.
fieldName
is the name of the field to analyze to obtain
frequencies. beginDump
and endDump
are the first and one
greater than the last dump numbers to use.
setPointsRandom (self, npts)
Select npts
random field points to use in the analysis. Components will also be chosen randomly.
setPointsUniform (self, npts, component = None)
Here, npts
is a tuple giving the number of points to use in each
spatial direction; points will be placed on a uniform grid. If
component
(an integer) is given, only that component will be
used. If component
is omitted, the component will be chosen from
among all field components in a round-robin fashion.
readAndCompute (self)
This reads the data specified and performs the bulk of the FDM analysis. However, computeModes must be called to compute a requested number of modes.
computeModes (self, nmodes)
This computes the (complex) frequencies of nmodes
modes.
constructModes (self, fieldName, compl = real)
Construct the field fieldName
for the previously
computed modes. compl
can be either real
or
imag
. Eigenmode fields will be written to files named
Eigenmode_*fieldName*[I]_modenum.h5
in the same
directory as the data. The letter I
is appended to the
field name for imaginary fields, and modenum
is the
mode index, starting with 0, ordered from low to high
frequency.
displayModes (self)
Display the computed mode information in a convenient format. This gives the number of the mode, the frequency, the inverse Q and the SVD value which allows the user to understand where the reliable mode calculations stop.
import FDM
extr = FDM.FDM("modeExtract2s", "elecField", 2, 14)
extr.setPointsUniform((10, 10), None)
extr.readAndCompute()
extr.computeModes(2)
extr.constructModes("elecField")
extr.displayModes()