Gradient Augmented Levelset Implementation in CPU & GPU
|
#include <euler.h>
Public Types | |
using | value_type = T |
Public Member Functions | |
Euler () | |
~Euler () | |
void | compute (const T dt, const CPU::LevelsetVelocity< T_GRID, T > &levelset_velocity, GALS::CPU::Levelset< T_GRID, T > &levelset) |
void | operator() (const T dt, const CPU::LevelsetVelocity< T_GRID, T > &levelset_velocity, GALS::CPU::Levelset< T_GRID, T > &levelset) |
Euler scheme for temporal update.
using value_type = T |
void compute | ( | const T | dt, |
const CPU::LevelsetVelocity< T_GRID, T > & | levelset_velocity, | ||
GALS::CPU::Levelset< T_GRID, T > & | levelset | ||
) |
Advect in time using semi-Lagrangian scheme.
\(\frac{\phi^{n+1} - \phi^n}{dt} + \boldsymbol{u}\cdot\nabla\phi = 0.\).
TODO Document semi-Lagrangian formulation.
Ghost cells are not updated during this step.
dt | time step. |
levelset_velocity | velocity term. |
levelset | levelset function that needs to be advected. |
|
inline |
Advect in time.
\(\frac{\phi^{n+1} - \phi^n}{dt} + \boldsymbol{u}\cdot\nabla\phi = 0.\) Ghost cells are not updated during this step.
dt | time step. |
levelset_velocity | velocity term. |
levelset | levelset function that needs to be advected. |