|
| TFwdSolverMW (const QMMesh *mesh, LSOLVER linsolver, double tol=1e-10) |
| Constructor. Creates a forward solver instance. More...
|
|
| TFwdSolverMW (const QMMesh *mesh, char *solver, double tol=1e-10) |
| Constructor. Creates a forward solver instance. More...
|
|
| TFwdSolverMW (const QMMesh *mesh, ParamParser &pp) |
| Constructor. Creates a forward solver instance. More...
|
|
| ~TFwdSolverMW () |
| Destructor. Destroys the forward solver instance.
|
|
TVector< T > | ProjectAll_wavel (const TCompRowMatrix< T > &qvec, const TCompRowMatrix< T > &mvec, const MWsolution &sol, double omega, DataScale scl=DATA_DEFAULT) |
| Return boundary data for all sources and all detectors at all wavelengths. More...
|
|
RVector | ProjectAll_wavel_real (const TCompRowMatrix< T > &qvec, const TCompRowMatrix< T > &mvec, const MWsolution &sol, double omega, DataScale scl=DATA_DEFAULT) |
| Return boundary data for the complex case in a real vector. More...
|
|
| TFwdSolver (const QMMesh *mesh, LSOLVER linsolver, double tol=1e-10) |
| Constructor. Creates a forward solver instance. More...
|
|
| TFwdSolver (const QMMesh *mesh, const char *solver, double tol=1e-10) |
| Constructor. Creates a forward solver instance. More...
|
|
| TFwdSolver (const QMMesh *mesh, ParamParser &pp) |
| Constructor. Creates a forward solver instance. More...
|
|
| ~TFwdSolver () |
| Destructor. Destroys the forward solver instance.
|
|
void | SetDataScaling (DataScale scl) |
| Set the default scaling for data returned by the projection methods. More...
|
|
DataScale | GetDataScaling () const |
| Returns the current default setting for data scaling. More...
|
|
void | SetPrecon (PreconType type) |
| Set the preconditioning method. More...
|
|
void | SetPhaseUnwrap (bool unwrap) |
|
void | ReadParams (ParamParser &pp) |
| Read solver parameters from a parameter file. More...
|
|
void | WriteParams (ParamParser &pp) |
| Write the current solver settings to a parameter file. More...
|
|
void | SetLinSolver (const char *solver, double tol=1e-10) |
| Set the solver type and tolerance. More...
|
|
LSOLVER | LinSolver () const |
| Returns the current solver type. More...
|
|
double | GetLinSolverTol () const |
| Returns the solver tolerance. More...
|
|
void | SetLinSolverMaxit (int maxit) |
| Set max iteration count for iterative solver. More...
|
|
const QMMesh * | MeshPtr () const |
| Returns a pointer to the FEM mesh associated with the forward solver instance. More...
|
|
void | Allocate () |
| Evaluates fill structure of system matrices and allocates dynamic memory for them. More...
|
|
void | AssembleSystemMatrix (const Solution &sol, double omega=0, bool elbasis=false) |
| Construct the FEM system matrix from a set of parameter distributions for a given modulation frequency. More...
|
|
void | AssembleSystemMatrixComponent (const RVector &prm, int type) |
|
void | AssembleMassMatrix (const Mesh *mesh=0) |
| Construct the FEM mass matrix for time-dependent problems. More...
|
|
void | Reset (const Solution &sol, double omega=0, bool elbasis=false) |
| Reset the forward solver by re-building the system matrices from a new set of parameters. More...
|
|
void | CalcField (const TVector< T > &qvec, TVector< T > &phi, IterativeSolverResult *res=0) const |
| Calculate photon density field for a given source vector. More...
|
|
void | CalcFields (const TCompRowMatrix< T > &qvec, TVector< T > *phi, IterativeSolverResult *res=0) const |
| Calculate photon density fields for all sources. More...
|
|
void | CalcFields (int q0, int q1, const TCompRowMatrix< T > &qvec, TVector< T > *phi, IterativeSolverResult *res=0) const |
| Calculate photon density fields for a range of sources. More...
|
|
TVector< T > | ProjectSingle (int q, const TCompRowMatrix< T > &mvec, const TVector< T > &phi, DataScale scl=DATA_DEFAULT) const |
| Return boundary data for a single source, given the corresponding photon density field. More...
|
|
TVector< T > | ProjectAll (const TCompRowMatrix< T > &mvec, const TVector< T > *dphi, DataScale scl=DATA_DEFAULT) |
| Return boundary data for all sources and all detectors, given photon density fields for all sources. More...
|
|
TVector< T > | ProjectAll (const TCompRowMatrix< T > &qvec, const TCompRowMatrix< T > &mvec, const Solution &sol, double omega, DataScale scl=DATA_DEFAULT) |
| Return boundary data for all sources and all detectors, given parameter distributions. More...
|
|
RVector | ProjectAll_real (const TCompRowMatrix< T > &mvec, const TVector< T > *dphi, DataScale scl=DATA_DEFAULT) |
| Return boundary data for the complex case in a real vector. More...
|
|
FVector | ProjectAll_singlereal (const TCompRowMatrix< T > &mvec, const TVector< T > *dphi, DataScale scl=DATA_DEFAULT) |
|
RVector | ProjectAll_real (const TCompRowMatrix< T > &qvec, const TCompRowMatrix< T > &mvec, const Solution &sol, double omega, DataScale scl=DATA_DEFAULT) |
| Return boundary data for all sources and all detectors, given parameters defined via a Solution instance. More...
|
|
FVector | ProjectAll_singlereal (const TCompRowMatrix< T > &qvec, const TCompRowMatrix< T > &mvec, const Solution &sol, double omega, DataScale scl=DATA_DEFAULT) |
|
template<class T>
class TFwdSolverMW< T >
Templated forward solver class for multi-wavelength problems.
TFwdSolverMW is an extension to TFwdSolver which allows to calculate the boundary projections for multiple wavelengths with a single call to ProjectAll_wavel.