class for the fast marching algorithm on 3-D uniform grids More...
#include <FastMarching3DG.h>

Public Member Functions | |
FastMarching3DG () | |
Default Constructor. More... | |
FastMarching3DG (const Grid &g, Vect< real_t > &T) | |
Constructor using grid data. More... | |
FastMarching3DG (const Grid &g, Vect< real_t > &T, Vect< real_t > &F) | |
Constructor. More... | |
~FastMarching3DG () | |
Destructor. | |
void | set (const Grid &g, Vect< real_t > &T) |
Define grid and solution vector. More... | |
void | set (const Grid &g, Vect< real_t > &T, Vect< real_t > &F) |
Define grid, solution vector and prppagation speed. More... | |
int | run () |
Execute Fast Marching Procedure. More... | |
real_t | getResidual () |
Check consistency by computing the discrete residual. More... | |
![]() | |
Equa () | |
Default constructor. | |
virtual | ~Equa () |
Destructor. | |
void | setMesh (Mesh &m) |
Define mesh and renumber DOFs after removing imposed ones. | |
Mesh & | getMesh () const |
Return reference to Mesh instance. More... | |
LinearSolver & | getLinearSolver () |
Return reference to linear solver instance. | |
Matrix< real_t > * | getMatrix () const |
Return pointer to matrix. | |
void | setSolver (Iteration ls, Preconditioner pc=IDENT_PREC) |
Choose solver for the linear system. More... | |
void | setMatrixType (int t) |
Choose type of matrix. More... | |
int | solveLinearSystem (Matrix< real_t > *A, Vect< real_t > &b, Vect< real_t > &x) |
Solve the linear system with given matrix and right-hand side. More... | |
int | solveLinearSystem (Vect< real_t > &b, Vect< real_t > &x) |
Solve the linear system with given right-hand side. More... | |
void | LinearSystemInfo () |
Print info on linear system solver. | |
Detailed Description
class for the fast marching algorithm on 3-D uniform grids
This class implements the Fast Marching method to solve the eikonal equation in a 3-D uniform grid. In other words, the class solves the partial differential equation |∇T|F = 1 with T = 0 on the interface, where F
is the velocity
Constructor & Destructor Documentation
◆ FastMarching3DG() [1/3]
FastMarching3DG | ( | ) |
Default Constructor.
Initializes to default value grid data
◆ FastMarching3DG() [2/3]
FastMarching3DG | ( | const Grid & | g, |
Vect< real_t > & | T | ||
) |
Constructor using grid data.
Constructor using Grid instance
- Parameters
-
[in] g Instance of class Grid [in] T Vector containing the on input an initialization of the distance function and once the function run
is invoked the distance at grid nodes. The initialization vector must use the following rules:- The solution must be supplied at all grid points in the vicinity of the interface(s).
-
All other grid nodes must have the value
INFINITY
wth positive value if the node is in an outer domain and negative if it is in an inner domain
◆ FastMarching3DG() [3/3]
Constructor.
Constructor using Grid instance and propagation speed
- Parameters
-
[in] g Instance of class Grid [in] T Vector containing the on input an initialization of the distance function and once the function run
is invoked the distance at grid nodes. The initialization vector must use the following rules:- The solution must be supplied at all grid points in the vicinity of the interface(s).
-
All other grid nodes must have the value
INFINITY
wth positive value if the node is in an outer domain and negative if it is in an inner domain
[in] F Vector containing propagation speed at grid nodes
Member Function Documentation
◆ getResidual()
real_t getResidual | ( | ) |
Check consistency by computing the discrete residual.
This function returns residual error (||∇u|2|F|2-1|)
◆ run()
int run | ( | ) |
Execute Fast Marching Procedure.
Once this function is invoked, the vector T
in the constructor or in the member function set
contains the solution
- Returns
- Return value:
- = 0 if solution has been normally computed
- != 0 An error has occurred
◆ set() [1/2]
Define grid and solution vector.
This function is to be used if the default constructor has been used
- Parameters
-
[in] g Instance of class Grid [in] T Vector containing the on input an initialization of the distance function and once the function run
is invoked the distance at grid nodes. The initialization vector must use the following rules:- The solution must be supplied at all grid points in the vicinity of the interface(s).
-
All other grid nodes must have the value
INFINITY
wth positive value if the node is in an outer domain and negative if it is in an inner domain
◆ set() [2/2]
Define grid, solution vector and prppagation speed.
This function is to be used if the default constructor has been used
- Parameters
-
[in] g Instance of class Grid [in] T Vector containing the on input an initialization of the distance function and once the function run
is invoked the distance at grid nodes. The initialization vector must use the following rules:- The solution must be supplied at all grid points in the vicinity of the interface(s).
-
All other grid nodes must have the value
INFINITY
wth positive value if the node is in an outer domain and negative if it is in an inner domain
[in] F Vector containing propagation speed at grid nodes