OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
closest_point.hpp File Reference

Functions for level set reinitialization and extension on OpenFPM grids based on closest point method. More...

#include "Grid/grid_dist_key.hpp"
#include "algoim_hocp.hpp"

Go to the source code of this file.

Data Structures

struct  AlgoimWrapper< wrapping_field, grid_type, wrapping_field_type >
 
struct  AlgoimWrapper< wrapping_field, grid_type, wrapping_field_type[N1]>
 
struct  AlgoimWrapper< wrapping_field, grid_type, wrapping_field_type[N1][N2]>
 
struct  AlgoimWrapper< wrapping_field, grid_type, wrapping_field_type[N1][N2][N3]>
 

Functions

template<size_t phi_field, size_t cp_field, int poly_order, typename grid_type >
void estimateClosestPoint (grid_type &gd, const double nb_gamma)
 Computes the closest point coordinate for each grid point within nb_gamma from interface.
 
template<size_t phi_field, size_t cp_field, size_t extend_field, size_t extend_field_temp, int poly_order, typename grid_type >
void extendLSField (grid_type &gd, const double nb_gamma)
 Extends a (scalar) field to within nb_gamma from interface. The grid should have level set SDF and closest point field.
 
template<size_t phi_field, size_t cp_field, typename grid_type >
void reinitializeLS (grid_type &gd, const double nb_gamma)
 Reinitializes the level set Phi field on a grid. The grid should have level set SDF and closest point field.
 

Variables

constexpr int algoim_padding = 4
 

Detailed Description

Functions for level set reinitialization and extension on OpenFPM grids based on closest point method.

Wrapping container to pass OpenFPM grid property values to Algoim library.

Depends on Algoim library for higher order closest point calculations and constructing stencil interpolating polynomials.

Author
Sachin Krishnan T V
Date
May 2021

Definition in file closest_point.hpp.

Function Documentation

◆ estimateClosestPoint()

template<size_t phi_field, size_t cp_field, int poly_order, typename grid_type >
void estimateClosestPoint ( grid_type gd,
const double  nb_gamma 
)

Computes the closest point coordinate for each grid point within nb_gamma from interface.

Template Parameters
phi_fieldProperty id on grid for the level set SDF (input)
cp_fieldProperty id on grid for storing closest point coordinates (output)
poly_orderType of stencil interpolation (Taylor poly orders between 2 to 5 and Tri/bicubic through -1 is supported)
grid_typeType of the grid container
Parameters
gdThe distributed grid containing at least level set SDF field and placeholder for closest point coordinates
nb_gammaThe width of the narrow band within which closest point estimation is to be done

Definition at line 209 of file closest_point.hpp.

◆ extendLSField()

template<size_t phi_field, size_t cp_field, size_t extend_field, size_t extend_field_temp, int poly_order, typename grid_type >
void extendLSField ( grid_type gd,
const double  nb_gamma 
)

Extends a (scalar) field to within nb_gamma from interface. The grid should have level set SDF and closest point field.

Template Parameters
phi_fieldProperty id on grid for the level set SDF
cp_fieldProperty id on grid for storing closest point coordinates
extend_fieldProperty id on grid where the field to be extended resides
extend_field_tempProperty id on grid for storing temporary intermediate values
poly_orderType of stencil interpolation (Taylor poly orders between 2 to 5 and Tri/bicubic through -1 is supported)
grid_typeType of the grid container
Parameters
gdThe distributed grid containing atleast level set SDF field and closest point coordinates
nb_gammaThe width of the narrow band within which extension is required (half band)

Definition at line 309 of file closest_point.hpp.

◆ reinitializeLS()

template<size_t phi_field, size_t cp_field, typename grid_type >
void reinitializeLS ( grid_type gd,
const double  nb_gamma 
)

Reinitializes the level set Phi field on a grid. The grid should have level set SDF and closest point field.

Template Parameters
phi_fieldProperty id on grid for the level set SDF
cp_fieldProperty id on grid for storing closest point coordinates
grid_typeType of the grid container
Parameters
gdThe distributed grid containing atleast level set SDF field and closest point coordinates
nb_gammaThe width of the narrow band for reinitialization

Definition at line 382 of file closest_point.hpp.

Variable Documentation

◆ algoim_padding

constexpr int algoim_padding = 4
constexpr

Definition at line 24 of file closest_point.hpp.