PRISMS-PF Manual
Loading...
Searching...
No Matches
dirichlet.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2026 PRISMS Center at the University of Michigan
2// SPDX-License-Identifier: GNU Lesser General Public Version 2.1
3
4#pragma once
5
6#include <deal.II/base/function.h>
7
10
11#include <prismspf/config.h>
12
14
15template <unsigned int dim>
17
18template <unsigned int dim, unsigned int degree, typename number>
19class PDEOperatorBase;
20
24template <unsigned int dim, unsigned int degree, typename number>
25class DirichletConditions : public dealii::Function<dim, number>
26{
27public:
31 DirichletConditions(unsigned int _index,
32 unsigned int _boundary_id,
33 const PDEOperatorBase<dim, degree, number> &_pde_operator,
34 const SimulationTimer &_sim_timer,
35 unsigned int spacedim);
36
37 // NOLINTBEGIN(readability-identifier-length, readability-avoid-const-params-in-decls)
38
42 number
43 value(const dealii::Point<dim> &p, const unsigned int component = 0) const override;
44
48 void
49 vector_value(const dealii::Point<dim> &p, dealii::Vector<number> &value) const override;
50
51 // NOLINTEND(readability-identifier-length, readability-avoid-const-params-in-decls)
52
53private:
54 unsigned int index;
55
56 unsigned int boundary_id;
57
59
60 const SimulationTimer *sim_timer = nullptr;
61};
62
63PRISMS_PF_END_NAMESPACE
unsigned int boundary_id
Definition dirichlet.h:56
unsigned int index
Definition dirichlet.h:54
number value(const dealii::Point< dim > &p, const unsigned int component=0) const override
Scalar value.
Definition dirichlet.cc:29
const SimulationTimer * sim_timer
Definition dirichlet.h:60
const PDEOperatorBase< dim, degree, number > * pde_operator
Definition dirichlet.h:58
void vector_value(const dealii::Point< dim > &p, dealii::Vector< number > &value) const override
Vector value.
Definition dirichlet.cc:51
DirichletConditions(unsigned int _index, unsigned int _boundary_id, const PDEOperatorBase< dim, degree, number > &_pde_operator, const SimulationTimer &_sim_timer, unsigned int spacedim)
Constructor.
Definition dirichlet.cc:12
This class contains the user implementation of each PDE operator.
Definition pde_operator_base.h:27
Definition simulation_timer.h:13
Definition user_input_parameters.h:28
Definition conditional_ostreams.cc:20