Rheolef
7.1
an efficient C++ finite element environment
sphere.icc
Go to the documentation of this file.
1
struct
p
{
26
Float
operator()
(
const
point
& x)
const
{
27
if
(
d
== 2)
return
26*(
pow
(x[0],5) - 10*
pow
(x[0],3)*sqr(x[1])
28
+ 5*x[0]*
pow
(x[1],4));
29
else
return
3*sqr(x[0])*x[1] -
pow
(x[1],3);
30
}
31
p
(
size_t
d1) :
d
(d1) {}
32
protected
:
size_t
d
;
33
};
34
struct
f
{
35
Float
operator()
(
const
point
& x)
const
{
36
if
(
d
== 2)
return
_p
(x)/
pow
(
norm
(x),5);
37
else
return
alpha
*
_p
(x);
38
}
39
f
(
size_t
d1) :
d
(d1),
_p
(d1),
alpha
(0) {
40
Float
pi
= acos(
Float
(-1));
41
alpha
= -(13./8.)*sqrt(35./
pi
);
42
}
43
protected
:
size_t
d
;
p
_p
;
Float
alpha
;
44
};
45
struct
u_exact
{
46
Float
operator()
(
const
point
& x)
const
{
47
if
(
d
== 2)
return
_f
(x)/(25+sqr(
norm
(x)));
48
else
return
sqr(
norm
(x))/(12+sqr(
norm
(x)))*
_f
(x);
49
}
50
u_exact
(
size_t
d1) :
d
(d1),
_f
(d1) {}
51
protected
:
size_t
d
;
f
_f
;
52
};
53
Float
phi
(
const
point
& x) {
return
norm
(x) - 1; }
p::p
p(size_t d1)
Definition:
sphere.icc:31
f::f
f(size_t d1)
Definition:
sphere.icc:39
f::_p
p _p
Definition:
sphere.icc:43
f::d
size_t d
Definition:
cosinusprod_dirichlet.h:30
u_exact::u_exact
u_exact(size_t d1)
Definition:
sphere.icc:50
u_exact::d
size_t d
Definition:
interpolate_RTk_polynom.icc:145
p::d
size_t d
Definition:
sphere.icc:32
rheolef::pow
space_mult_list< T, M > pow(const space_basic< T, M > &X, size_t n)
Definition:
space_mult.h:120
rheolef::norm
T norm(const vec< T, M > &x)
norm(x): see the expression page for the full documentation
Definition:
vec.h:387
f::alpha
Float alpha
Definition:
sphere.icc:43
p
Definition:
sphere.icc:25
u_exact::operator()
point operator()(const point &x) const
Definition:
interpolate_RTk_polynom.icc:126
f::operator()
point operator()(const point &x) const
Definition:
cavity_dg.h:30
phi
Float phi(const point &x)
Definition:
sphere.icc:53
Float
see the Float page for the full documentation
u_exact
Definition:
interpolate_RTk_polynom.icc:125
point
see the point page for the full documentation
p::operator()
Float operator()(const point &x) const
Definition:
sphere.icc:26
f::pi
const Float pi
Definition:
cosinusprod_dirichlet.h:30
f
Definition:
cavity_dg.h:29
u_exact::_f
f _f
Definition:
sphere.icc:51