1#include <deal.II/base/function.h>
5 using namespace dealii;
8 const char bcs[4] = {
'D',
'N',
'D',
'N'};
28 virtual double value(
const Point<dim> &p,
const unsigned int component = 0)
const override
41 template <
typename number>
42 number
value(
const Point<dim, number> & ,
const unsigned int = 0)
const
65 virtual void vector_value(
const Point<dim> &p, Vector<double> &values)
const override
77 template <
typename number>
78 void vector_value(
const Point<dim, number> & , Vector<number> &values)
const
91 virtual double value(
const Point<dim> &p,
const unsigned int component = 0)
const override
104 template <
typename number>
105 number
value(
const Point<dim, number> & ,
const unsigned int component = 0)
const
119 template <
typename number>
120 void tensor_value(
const Point<dim, number> & , Tensor<1, dim, number> &values)
const
145 virtual double value(
const Point<dim> &p,
const unsigned int component = 0)
const override
158 template <
typename number>
159 number
value(
const Point<dim, number> & ,
const unsigned int = 0)
const
183 virtual double value(
const Point<dim> &p,
const unsigned int component = 0)
const override
196 template <
typename number>
197 number
value(
const Point<dim, number> &p,
const unsigned int = 0)
const
199 return number(1.) - number(2.) * exp(p[0]);
221 virtual double value(
const Point<dim> &p,
const unsigned int component = 0)
const override
234 template <
typename number>
235 double value(
const Point<dim, number> &p,
const unsigned int = 0)
const
237 return number(2.) * exp(p[1]) - number(1.);
259 virtual double value(
const Point<dim> &p,
const unsigned int component = 0)
const override
272 template <
typename number>
273 double value(
const Point<dim, number> &p,
const unsigned int = 0)
const
275 return number(2.) * exp(p[0]) - number(1.);
297 virtual double value(
const Point<dim> &p,
const unsigned int component = 0)
const override
310 template <
typename number>
311 number
value(
const Point<dim, number> &p,
const unsigned int = 0)
const
313 return number(2.) * exp(p[0]) * (number(2.) * exp(p[1]) - number(1.));
335 virtual double value(
const Point<dim> &p,
const unsigned int component = 0)
const override
348 template <
typename number>
349 number
value(
const Point<dim, number> &p,
const unsigned int = 0)
const
351 return number(2.) * exp(p[1]) * (number(2.) * exp(p[0]) - number(1.));
373 virtual double value(
const Point<dim> &p,
const unsigned int = 0)
const override
375 return (2. * exp(p[0]) - 1.) * (2. * exp(p[1]) - 1.);
385 virtual Tensor<1, dim>
gradient(
const Point<dim> &p,
const unsigned int = 0)
const override
387 Tensor<1, dim> result;
389 result[0] = 2. * exp(p[0]) * (2. * exp(p[1]) - 1.);
390 result[1] = 2. * exp(p[1]) * (2. * exp(p[0]) - 1.);
Diffusion coefficient function.
Definition problem_data.hpp:19
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
Returns the value of the diffusion coefficient at a given point.
Definition problem_data.hpp:28
number value(const Point< dim, number > &, const unsigned int=0) const
Templated version of value() for different number types.
Definition problem_data.hpp:42
Dirichlet boundary condition (left and bottom) function.
Definition problem_data.hpp:212
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
Returns the value of the Dirichlet BC at a given point.
Definition problem_data.hpp:221
double value(const Point< dim, number > &p, const unsigned int=0) const
Templated version of value() for different number types.
Definition problem_data.hpp:235
Dirichlet boundary condition (right and top) function.
Definition problem_data.hpp:250
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
Returns the value of the Dirichlet BC at a given point.
Definition problem_data.hpp:259
double value(const Point< dim, number > &p, const unsigned int=0) const
Templated version of value() for different number types.
Definition problem_data.hpp:273
Exact solution function.
Definition problem_data.hpp:364
virtual Tensor< 1, dim > gradient(const Point< dim > &p, const unsigned int=0) const override
Returns the gradient of the exact solution at a given point.
Definition problem_data.hpp:385
virtual double value(const Point< dim > &p, const unsigned int=0) const override
Returns the exact solution value at a given point.
Definition problem_data.hpp:373
Forcing term function.
Definition problem_data.hpp:174
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
Returns the value of the forcing term at a given point.
Definition problem_data.hpp:183
number value(const Point< dim, number > &p, const unsigned int=0) const
Templated version of value() for different number types.
Definition problem_data.hpp:197
Neumann boundary condition (right and top) function.
Definition problem_data.hpp:288
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
Returns the value of the Neumann BC at a given point.
Definition problem_data.hpp:297
number value(const Point< dim, number > &p, const unsigned int=0) const
Templated version of value() for different number types.
Definition problem_data.hpp:311
Neumann boundary condition (left and bottom) function.
Definition problem_data.hpp:326
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
Returns the value of the Neumann BC at a given point.
Definition problem_data.hpp:335
number value(const Point< dim, number > &p, const unsigned int=0) const
Templated version of value() for different number types.
Definition problem_data.hpp:349
Reaction coefficient function.
Definition problem_data.hpp:136
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
Returns the value of the reaction coefficient at a given point.
Definition problem_data.hpp:145
number value(const Point< dim, number > &, const unsigned int=0) const
Templated version of value() for different number types.
Definition problem_data.hpp:159
Transport coefficient function.
Definition problem_data.hpp:57
void tensor_value(const Point< dim, number > &, Tensor< 1, dim, number > &values) const
Returns the tensor value of the transport coefficient at a given point.
Definition problem_data.hpp:120
virtual void vector_value(const Point< dim > &p, Vector< double > &values) const override
Returns the vector value of the transport coefficient at a given point.
Definition problem_data.hpp:65
void vector_value(const Point< dim, number > &, Vector< number > &values) const
Templated version of vector_value() for different number types.
Definition problem_data.hpp:78
number value(const Point< dim, number > &, const unsigned int component=0) const
Templated version of value() for different number types.
Definition problem_data.hpp:105
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
Returns the value of the transport coefficient for a specific component.
Definition problem_data.hpp:91
Definition problem_data.hpp:4
const char bcs[4]
Boundary conditions: 'D' for Dirichlet and 'N' for Neumann. Order: left, right, bottom,...
Definition problem_data.hpp:8