File config.h#

Basic configuration:

  • Include general dependencies.

  • Define assertions.

Copyright

Copyright 2017. Tom de Geus. All rights reserved.

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

Defines

GOOSEFEM_ASSERT(expr)#

All assertions are implementation as::

 GOOSEFEM_ASSERT(...)
They can be enabled by::
 #define GOOSEFEM_ENABLE_ASSERT
(before including GooseFEM). The advantage is that:

  • File and line-number are displayed if the assertion fails.

  • GooseFEM’s assertions can be enabled/disabled independently from those of other libraries.

Throws std::runtime_error

GOOSEFEM_CHECK(expr)#

Assertion that cannot be switched off.

Implement assertion by::

 GOOSEFEM_CHECK(...)

Throws std::runtime_error

GOOSEFEM_WIP_ASSERT(expr)#

Assertion that concerns temporary implementation limitations.

Implement assertion by::

 GOOSEFEM_WIP_ASSERT(...)

Throws std::runtime_error

GOOSEFEM_WARNING(message)#

All warnings are implemented as::

 GOOSEFEM_WARNING(...)
They can be disabled by::
 #define GOOSEFEM_DISABLE_WARNING

GOOSEFEM_WARNING_PYTHON(message)#

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

 GOOSEFEM_WARNING_PYTHON(...)
They can be enabled by::
 #define GOOSEFEM_ENABLE_WARNING_PYTHON

namespace GooseFEM

Toolbox to perform finite element computations.

namespace array_type#

Container type.

By default array_type::tensor is used. Otherwise:

  • #define GOOSEFEM_USE_XTENSOR_PYTHON to use xt::pytensor

Typedefs

template<typename T, size_t N>
using tensor = xt::xtensor<T, N>#

Fixed (static) rank array.