ViennaLS
Loading...
Searching...
No Matches
lsAdvect.hpp File Reference
#include <lsPreCompileMacros.hpp>
#include <limits>
#include <vector>
#include <hrleSparseIterator.hpp>
#include <hrleSparseStarIterator.hpp>
#include <vcLogger.hpp>
#include <vcSmartPointer.hpp>
#include <lsBooleanOperation.hpp>
#include <lsDomain.hpp>
#include <lsMarkVoidPoints.hpp>
#include <lsReduce.hpp>
#include <lsConcepts.hpp>
#include <lsEnquistOsher.hpp>
#include <lsLaxFriedrichs.hpp>
#include <lsLocalLaxFriedrichs.hpp>
#include <lsLocalLaxFriedrichsAnalytical.hpp>
#include <lsLocalLocalLaxFriedrichs.hpp>
#include <lsStencilLocalLaxFriedrichsScalar.hpp>
#include <lsVelocityField.hpp>

Go to the source code of this file.

Classes

class  viennals::Advect< T, D >
 This class is used to advance level sets over time. Level sets are passed to the constructor in an std::vector, with the last element being the level set to advect, or "top level set", while the others are then adjusted afterwards. In order to ensure that advection works correctly, the "top level set" has to include all lower level sets: LS_top = LS_top U LS_i for i = {0 ... n}, where n is the number of level sets. The velocities used to advect the level set are given in a concrete implementation of the lsVelocityField (check Advection examples for guidance) More...
 

Namespaces

namespace  lsInternal
 
namespace  lsInternal::advect
 
namespace  viennals
 

Enumerations

enum struct  viennals::IntegrationSchemeEnum : unsigned {
  viennals::ENGQUIST_OSHER_1ST_ORDER = 0 , viennals::ENGQUIST_OSHER_2ND_ORDER = 1 , viennals::LAX_FRIEDRICHS_1ST_ORDER = 2 , viennals::LAX_FRIEDRICHS_2ND_ORDER = 3 ,
  viennals::LOCAL_LAX_FRIEDRICHS_ANALYTICAL_1ST_ORDER = 4 , viennals::LOCAL_LOCAL_LAX_FRIEDRICHS_1ST_ORDER = 5 , viennals::LOCAL_LOCAL_LAX_FRIEDRICHS_2ND_ORDER = 6 , viennals::LOCAL_LAX_FRIEDRICHS_1ST_ORDER = 7 ,
  viennals::LOCAL_LAX_FRIEDRICHS_2ND_ORDER = 8 , viennals::STENCIL_LOCAL_LAX_FRIEDRICHS_1ST_ORDER = 9
}
 Enumeration for the different Integration schemes used by the advection kernel. More...
 

Functions

template<class IntegrationSchemeType , class T , int D, lsConcepts::IsNotSame< IntegrationSchemeType, lsInternal::StencilLocalLaxFriedrichsScalar< T, D, 1 > > = lsConcepts::assignable>
void lsInternal::advect::reduceTimeStepHamiltonJacobi (IntegrationSchemeType &, double &, hrleCoordType)