/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/mesh/no_adaptivity.hh Source File#

DiFfRG: /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/mesh/no_adaptivity.hh Source File
DiFfRG
Discretization Framework for functional Renormalization Group flows
no_adaptivity.hh
Go to the documentation of this file.
1#pragma once
2
3// external libraries
4#include <deal.II/dofs/dof_handler.h>
5#include <deal.II/dofs/dof_tools.h>
6#include <deal.II/grid/grid_refinement.h>
7#include <deal.II/grid/tria.h>
8#include <deal.II/lac/vector.h>
9#include <deal.II/numerics/derivative_approximation.h>
10#include <deal.II/numerics/error_estimator.h>
11#include <deal.II/numerics/solution_transfer.h>
12
13// DiFfRG
16
17#include <concepts>
18#include <type_traits>
19
20namespace DiFfRG
21{
22 using namespace dealii;
23
24 template <typename VectorType> class NoAdaptivity : public AbstractAdaptor<VectorType>
25 {
26 public:
28
38 template <typename AssemblerOrDiscretization>
39 requires(!std::same_as<std::remove_cvref_t<AssemblerOrDiscretization>, NoAdaptivity>) &&
40 std::same_as<typename std::remove_cvref_t<AssemblerOrDiscretization>::VectorType, VectorType>
41 explicit NoAdaptivity(const AssemblerOrDiscretization &)
42 {
43 }
44
45 virtual ~NoAdaptivity() = default;
46
54 virtual bool operator()(const double, VectorType &) override { return false; }
55
61 virtual bool adapt(VectorType &) override { return false; }
62 };
63
64 template <typename AssemblerOrDiscretization>
66} // namespace DiFfRG
Implement a simple interface to do all adaptivity tasks, i.e. solution transfer, reinit of dofHandler...
Definition abstract_adaptor.hh:11
Definition no_adaptivity.hh:25
NoAdaptivity(const AssemblerOrDiscretization &)
Deduction-only constructor.
Definition no_adaptivity.hh:41
virtual bool adapt(VectorType &) override
Force an adaptation and transfer the solution sol to the new mes.
Definition no_adaptivity.hh:61
virtual bool operator()(const double, VectorType &) override
Check if an adaptation step should be done and tranfer the given solution to the new mesh.
Definition no_adaptivity.hh:54
NoAdaptivity()
Definition no_adaptivity.hh:27
virtual ~NoAdaptivity()=default
Definition complex_math.hh:10
NoAdaptivity(const AssemblerOrDiscretization &) -> NoAdaptivity< typename AssemblerOrDiscretization::VectorType >