Loading src/TNL/Experimental/Hamilton-Jacobi/Solvers/hamilton-jacobi/tnl-direct-eikonal-solver.h +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ using namespace TNL; //typedef tnlDefaultBuildMeshConfig BuildConfig; typedef Solvers::FastBuildConfig BuildConfig; typedef Solvers::FastBuildConfigTag BuildConfig; template< typename MeshConfig > class tnlDirectEikonalSolverConfig Loading src/TNL/Solvers/FastBuildConfigTag.h +16 −16 Original line number Diff line number Diff line Loading @@ -15,46 +15,46 @@ namespace TNL { namespace Solvers { class FastBuildConfig class FastBuildConfigTag { public: static void print() { std::cerr << "FastBuildConfig" << std::endl; } static void print() { std::cerr << "FastBuildConfigTag" << std::endl; } }; /**** * Turn off support for float and long double. */ template<> struct ConfigTagReal< FastBuildConfig, float > { enum { enabled = false }; }; template<> struct ConfigTagReal< FastBuildConfig, long double > { enum { enabled = false }; }; template<> struct ConfigTagReal< FastBuildConfigTag, float > { enum { enabled = false }; }; template<> struct ConfigTagReal< FastBuildConfigTag, long double > { enum { enabled = false }; }; /**** * Turn off support for short int and long int indexing. */ template<> struct ConfigTagIndex< FastBuildConfig, short int >{ enum { enabled = false }; }; template<> struct ConfigTagIndex< FastBuildConfig, long int >{ enum { enabled = false }; }; template<> struct ConfigTagIndex< FastBuildConfigTag, short int >{ enum { enabled = false }; }; template<> struct ConfigTagIndex< FastBuildConfigTag, long int >{ enum { enabled = false }; }; /**** * Use of Grid is enabled for allowed dimensions and Real, Device and Index types. */ template< int Dimension, typename Real, typename Device, typename Index > struct ConfigTagMesh< FastBuildConfig, Meshes::Grid< Dimension, Real, Device, Index > > { enum { enabled = ConfigTagDimension< FastBuildConfig, Dimension >::enabled && ConfigTagReal< FastBuildConfig, Real >::enabled && ConfigTagDevice< FastBuildConfig, Device >::enabled && ConfigTagIndex< FastBuildConfig, Index >::enabled }; }; template< int Dimensions, typename Real, typename Device, typename Index > struct ConfigTagMesh< FastBuildConfigTag, Meshes::Grid< Dimensions, Real, Device, Index > > { enum { enabled = ConfigTagDimensions< FastBuildConfigTag, Dimensions >::enabled && ConfigTagReal< FastBuildConfigTag, Real >::enabled && ConfigTagDevice< FastBuildConfigTag, Device >::enabled && ConfigTagIndex< FastBuildConfigTag, Index >::enabled }; }; /**** * Please, chose your preferred time discretisation here. */ template<> struct ConfigTagTimeDiscretisation< FastBuildConfig, ExplicitTimeDiscretisationTag >{ enum { enabled = true }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfig, SemiImplicitTimeDiscretisationTag >{ enum { enabled = true }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfig, ImplicitTimeDiscretisationTag >{ enum { enabled = false }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfigTag, ExplicitTimeDiscretisationTag >{ enum { enabled = true }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfigTag, SemiImplicitTimeDiscretisationTag >{ enum { enabled = true }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfigTag, ImplicitTimeDiscretisationTag >{ enum { enabled = false }; }; /**** * Only the Runge-Kutta-Merson solver is enabled by default. */ //template<> struct ConfigTagExplicitSolver< FastBuildConfig, ExplicitEulerSolverTag >{ enum { enabled = false }; }; //template<> struct ConfigTagExplicitSolver< FastBuildConfigTag, ExplicitEulerSolverTag >{ enum { enabled = false }; }; } // namespace Solvers } // namespace TNL src/TNL/Solvers/SolverConfig_impl.h +1 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ #pragma once #include <TNL/tnlConfig.h> #include <TNL/Solvers/SolverConfig.h> #include <TNL/Solvers/BuildConfigTags.h> #include <TNL/Solvers/DummyProblem.h> #include <TNL/Solvers/PDE/ExplicitTimeStepper.h> Loading src/TNL/Solvers/BuildConfigTags.h +1 −1 File changed.Contains only whitespace changes. Show changes Loading
src/TNL/Experimental/Hamilton-Jacobi/Solvers/hamilton-jacobi/tnl-direct-eikonal-solver.h +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ using namespace TNL; //typedef tnlDefaultBuildMeshConfig BuildConfig; typedef Solvers::FastBuildConfig BuildConfig; typedef Solvers::FastBuildConfigTag BuildConfig; template< typename MeshConfig > class tnlDirectEikonalSolverConfig Loading
src/TNL/Solvers/FastBuildConfigTag.h +16 −16 Original line number Diff line number Diff line Loading @@ -15,46 +15,46 @@ namespace TNL { namespace Solvers { class FastBuildConfig class FastBuildConfigTag { public: static void print() { std::cerr << "FastBuildConfig" << std::endl; } static void print() { std::cerr << "FastBuildConfigTag" << std::endl; } }; /**** * Turn off support for float and long double. */ template<> struct ConfigTagReal< FastBuildConfig, float > { enum { enabled = false }; }; template<> struct ConfigTagReal< FastBuildConfig, long double > { enum { enabled = false }; }; template<> struct ConfigTagReal< FastBuildConfigTag, float > { enum { enabled = false }; }; template<> struct ConfigTagReal< FastBuildConfigTag, long double > { enum { enabled = false }; }; /**** * Turn off support for short int and long int indexing. */ template<> struct ConfigTagIndex< FastBuildConfig, short int >{ enum { enabled = false }; }; template<> struct ConfigTagIndex< FastBuildConfig, long int >{ enum { enabled = false }; }; template<> struct ConfigTagIndex< FastBuildConfigTag, short int >{ enum { enabled = false }; }; template<> struct ConfigTagIndex< FastBuildConfigTag, long int >{ enum { enabled = false }; }; /**** * Use of Grid is enabled for allowed dimensions and Real, Device and Index types. */ template< int Dimension, typename Real, typename Device, typename Index > struct ConfigTagMesh< FastBuildConfig, Meshes::Grid< Dimension, Real, Device, Index > > { enum { enabled = ConfigTagDimension< FastBuildConfig, Dimension >::enabled && ConfigTagReal< FastBuildConfig, Real >::enabled && ConfigTagDevice< FastBuildConfig, Device >::enabled && ConfigTagIndex< FastBuildConfig, Index >::enabled }; }; template< int Dimensions, typename Real, typename Device, typename Index > struct ConfigTagMesh< FastBuildConfigTag, Meshes::Grid< Dimensions, Real, Device, Index > > { enum { enabled = ConfigTagDimensions< FastBuildConfigTag, Dimensions >::enabled && ConfigTagReal< FastBuildConfigTag, Real >::enabled && ConfigTagDevice< FastBuildConfigTag, Device >::enabled && ConfigTagIndex< FastBuildConfigTag, Index >::enabled }; }; /**** * Please, chose your preferred time discretisation here. */ template<> struct ConfigTagTimeDiscretisation< FastBuildConfig, ExplicitTimeDiscretisationTag >{ enum { enabled = true }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfig, SemiImplicitTimeDiscretisationTag >{ enum { enabled = true }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfig, ImplicitTimeDiscretisationTag >{ enum { enabled = false }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfigTag, ExplicitTimeDiscretisationTag >{ enum { enabled = true }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfigTag, SemiImplicitTimeDiscretisationTag >{ enum { enabled = true }; }; template<> struct ConfigTagTimeDiscretisation< FastBuildConfigTag, ImplicitTimeDiscretisationTag >{ enum { enabled = false }; }; /**** * Only the Runge-Kutta-Merson solver is enabled by default. */ //template<> struct ConfigTagExplicitSolver< FastBuildConfig, ExplicitEulerSolverTag >{ enum { enabled = false }; }; //template<> struct ConfigTagExplicitSolver< FastBuildConfigTag, ExplicitEulerSolverTag >{ enum { enabled = false }; }; } // namespace Solvers } // namespace TNL
src/TNL/Solvers/SolverConfig_impl.h +1 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ #pragma once #include <TNL/tnlConfig.h> #include <TNL/Solvers/SolverConfig.h> #include <TNL/Solvers/BuildConfigTags.h> #include <TNL/Solvers/DummyProblem.h> #include <TNL/Solvers/PDE/ExplicitTimeStepper.h> Loading