93 double calcTime(
int i,
int j,
double Fij,
int ord,
int &eFlag);
96 int ij2ind(
int i,
int j,
int m) {
return ( ( i - 1 ) + ( j - 1 ) * m ); }
97 int ind2i(
int ind,
int m) {
return 1 + ind - ( ind /
m ) * m; }
98 int ind2j(
int ind,
int m) {
return ( ( ind ) / m ) + 1; }
99 bool isInDomain(
int i,
int j,
int m,
int n) {
return ( ( i >= 1 ) && ( j >= 1 ) && ( i <= m ) && ( j <= n ) ); }
void printSolutionAsData()
FloatMatrix * T
Matrix storing the values of the unknown (computed) field (e.g., arrival times)
void setMethod(int o, double i, int c)
Set the details of the algorithm to be used.
double giveSolutionValueAt(int i, int j)
Output methods.
int ind2j(int ind, int m)
void unFreeze()
Set all flags to "unfrozen".
double calcTime(int i, int j, double Fij, int ord, int &eFlag)
Auxiliary function that evaluates the tentative value at one grid point, exploited by the fast marchi...
bool solutionAvailable
Flag indicating whether the solution has been computed.
FloatMatrix * givePrescribedField()
void fastMarch(int &eFlag)
Fast marching method, solving the eikonal equation.
int ij2ind(int i, int j, int m)
Utility methods.
FloatMatrix * F
Matrix storing the values of the prescribed field (e.g., front velocities)
void setZeroValues(FloatMatrix *gridCoords)
Methods setting the values of the unknown field at selected points (e.g., zero times) ...
Class that solves certain problems on a regular 2D grid, consisting of n x m nodes.
Grid(int N, int M)
Constructor (N = horizontal dimension, M = vertical dimension)
int n
Grid dimensions: number of grid nodes horizontally (n) and vertically (m)
Class implementing a heap, which is an auxiliary data structure used for efficient sorting and exploi...
double at(int i, int j) const
Coefficient access function.
int order
Algorithmic parameters.
Implementation of matrix containing floating point numbers.
void setSolutionValueAt(int i, int j, double value)
bool isInDomain(int i, int j, int m, int n)
void setPrescribedFieldValue(int i, int j, double val)
Method setting the values of the prescribed field (e.g., front velocities)
int giveSizeHorizontal()
Size information.
int ind2i(int ind, int m)
the oofem namespace is to define a context or scope in which all oofem names are defined.
Heap * narrowBand
Heap used for efficient sorting and detection of smallest candidate.
bool * Frozen
Array storing indicators of frozen points (at which the solution is already known) ...