Skip to content
Snippets Groups Projects
Commit 94f9f8ae authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Renamed tnlDefaultBuildConfigTag and FastBuildConfig

parent e33e1a32
No related branches found
No related tags found
No related merge requests found
......@@ -24,7 +24,7 @@
using namespace TNL;
//typedef tnlDefaultBuildMeshConfig BuildConfig;
typedef Solvers::FastBuildConfig BuildConfig;
typedef Solvers::FastBuildConfigTag BuildConfig;
template< typename MeshConfig >
class tnlDirectEikonalSolverConfig
......
......@@ -26,7 +26,7 @@
namespace TNL {
namespace Solvers {
class DefaultBuildConfigTag{};
class DefaultBuildConfigTag {};
/****
* All devices are enabled by default. Those which are not available
......
......@@ -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
......@@ -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>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment