ViennaLS
Loading...
Searching...
No Matches
lsOxidationSolverBase.hpp File Reference
#include <lsDomain.hpp>
#include <hrleSparseIterator.hpp>
#include <algorithm>
#include <array>
#include <cmath>
#include <cstddef>
#include <functional>
#include <limits>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  viennals::detail::IndexTypeHasher< D >
class  viennals::OxidationSolverBase< T, D >
 Common Cartesian-grid infrastructure shared by the three oxidation solver classes (diffusion, deformation, mask bending). Provides the node lookup table, grid extents, and the core grid utility methods that operate on them. More...
struct  viennals::OxidationSolverBase< T, D >::GridBounds

Namespaces

namespace  viennals
namespace  viennals::detail

Functions

template<int D>
std::size_t viennals::detail::gridIndexHash (const viennahrle::Index< D > &index)
template<class T>
Vec3D< Tviennals::detail::vecScaled (const Vec3D< T > &source, T factor)
template<class T>
Vec3D< Tviennals::detail::vecAdd (const Vec3D< T > &a, const Vec3D< T > &b)
template<class T>
Vec3D< Tviennals::detail::vecSubtract (const Vec3D< T > &a, const Vec3D< T > &b)
template<class T>
void viennals::detail::vecAddTo (Vec3D< T > &target, const Vec3D< T > &source)
template<class T>
T viennals::detail::clampLevelSetPhi (T v)
 Clamp HRLE far-field sentinels (±DBL_MAX) to ±1 before differencing to prevent DBL_MAX² overflow that silently returns the zero vector.
template<class T>
T viennals::detail::levelSetCrossingDistance (T insidePhi, T outsidePhi, T minBoundaryFraction, T gridDelta)