FrictionQPotFEM 0.23.3
Loading...
Searching...
No Matches
config.h File Reference
#include <algorithm>
#include <string>
#include <xtensor/xtensor.hpp>
Include dependency graph for config.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  FrictionQPotFEM
 Friction simulations based on a disorder potential energy landscape and the finite element method.
 
namespace  FrictionQPotFEM::array_type
 Container type.
 

Macros

#define FRICTIONQPOTFEM_ASSERT(expr)
 All assertions are implementation as:: More...
 
#define FRICTIONQPOTFEM_REQUIRE(expr)   FRICTIONQPOTFEM_ASSERT_IMPL(expr, __FILE__, __LINE__)
 Assertions that cannot be disabled. More...
 
#define FRICTIONQPOTFEM_WIP(expr)   FRICTIONQPOTFEM_WIP_IMPL(expr, __FILE__, __LINE__)
 Assertions on a implementation limitation (that in theory can be resolved) More...
 
#define FRICTIONQPOTFEM_WARNING(message)   FRICTIONQPOTFEM_WARNING_IMPL(message, __FILE__, __LINE__)
 All warnings are implemented as:: More...
 
#define FRICTIONQPOTFEM_WARNING_PYTHON(message)
 All warnings specific to the Python API are implemented as:: More...
 
#define FRICTIONQPOTFEM_VERSION   "@PROJECT_VERSION@"
 Current version. More...
 

Typedefs

template<typename T , size_t N>
using FrictionQPotFEM::array_type::tensor = xt::xtensor< T, N >
 Fixed (static) rank array. More...
 

Functions

std::string FrictionQPotFEM::version ()
 Return version string, e.g. More...
 

Detailed Description

License: This project is released under the GNU Public License (MIT).

Definition in file config.h.

Macro Definition Documentation

◆ FRICTIONQPOTFEM_ASSERT

#define FRICTIONQPOTFEM_ASSERT (   expr)

All assertions are implementation as::

FRICTIONQPOTFEM_ASSERT(...)

They can be enabled by::

#define FRICTIONQPOTFEM_ENABLE_ASSERT

(before including FrictionQPotFEM). The advantage is that:

  • File and line-number are displayed if the assertion fails.
  • FrictionQPotFEM's assertions can be enabled/disabled independently from those of other libraries.
Exceptions
std::runtime_error

Definition at line 62 of file config.h.

◆ FRICTIONQPOTFEM_REQUIRE

#define FRICTIONQPOTFEM_REQUIRE (   expr)    FRICTIONQPOTFEM_ASSERT_IMPL(expr, __FILE__, __LINE__)

Assertions that cannot be disabled.

Exceptions
std::runtime_error

Definition at line 70 of file config.h.

◆ FRICTIONQPOTFEM_VERSION

#define FRICTIONQPOTFEM_VERSION   "@PROJECT_VERSION@"

Current version.

Either:

  • Configure using CMake at install time. Internally uses::
    python -c "from setuptools_scm import get_version; print(get_version())"
    
  • Define externally using::
    ver = `python -c "from setuptools_scm import get_version; print(get_version())"`
    -DFRICTIONQPOTFEM_VERSION="${ver}"
    
    From the root of this project. This is what setup.py does.

Note that both CMakeLists.txt and setup.py will construct the version using setuptools_scm. Tip: use the environment variable SETUPTOOLS_SCM_PRETEND_VERSION to overwrite the automatic version.

Definition at line 132 of file config.h.

◆ FRICTIONQPOTFEM_WARNING

#define FRICTIONQPOTFEM_WARNING (   message)    FRICTIONQPOTFEM_WARNING_IMPL(message, __FILE__, __LINE__)

All warnings are implemented as::

FRICTIONQPOTFEM_WARNING(...)

They can be disabled by::

#define FRICTIONQPOTFEM_DISABLE_WARNING

Definition at line 91 of file config.h.

◆ FRICTIONQPOTFEM_WARNING_PYTHON

#define FRICTIONQPOTFEM_WARNING_PYTHON (   message)

All warnings specific to the Python API are implemented as::

FRICTIONQPOTFEM_WARNING_PYTHON(...)

They can be enabled by::

#define FRICTIONQPOTFEM_ENABLE_WARNING_PYTHON

Definition at line 107 of file config.h.

◆ FRICTIONQPOTFEM_WIP

#define FRICTIONQPOTFEM_WIP (   expr)    FRICTIONQPOTFEM_WIP_IMPL(expr, __FILE__, __LINE__)

Assertions on a implementation limitation (that in theory can be resolved)

Exceptions
std::out_of_range

Definition at line 77 of file config.h.