Rheolef
7.1
an efficient C++ finite element environment
yield_slip2.icc
The yield slip problem – class body
#include "
poisson_robin.icc
"
field
yield_slip::derivative_solve
(
const
field
& mrh)
const
{
field
mryh(
Yh
, 0.);
mryh[1] = -mrh;
field
delta_yh(
Yh
);
pA
.solve(mryh, delta_yh);
return
delta_yh[1];
}
field
yield_slip::derivative_trans_mult
(
const
field
& mrh)
const
{
field
rh (
Wh
);
pmb
.solve (mrh, rh);
field
rhs =
b
.trans_mult(rh);
field
delta_vh (
Xh
, 0.);
pa
.solve (rhs, delta_vh);
field
mgh =
b
*delta_vh +
c1
*rh;
field
gh
(
Wh
);
pmb
.solve (mgh,
gh
);
return
gh
;
}
Float
yield_slip::space_norm
(
const
field
& rh)
const
{
return
sqrt (
mb
(rh,rh));
}
Float
yield_slip::dual_space_norm
(
const
field
& mrh)
const
{
field
rh (
Wh
,0);
pmb
.solve (mrh, rh);
return
sqrt (
dual
(mrh,rh));
}
field
yield_slip::initial
()
const
{
field
uh =
poisson_robin
(
Cf
,
boundary
,
lh
);
return
(
Cf
+
r
)*uh[
"boundary"
];
}
void
yield_slip::post
(
const
field
& beta_h,
field
& uh,
field
& lambda_h)
const
{
field
rhs =
lh
-
b
.trans_mult(beta_h);
uh =
field
(
Xh
, 0.);
pa
.solve (rhs, uh);
lambda_h = beta_h -
r
*uh[
"boundary"
];
}
rheolef::details::dual
rheolef::details::is_field_expr_quadrature_arg dual
yield_slip::Wh
space Wh
Definition:
yield_slip.h:42
yield_slip::pa
problem pa
Definition:
yield_slip.h:46
poisson_robin.icc
The Poisson problem with Robin boundary condition – solver function.
gh
field gh(Float epsilon, Float t, const field &uh, const test &v)
Definition:
burgers_diffusion_operators.icc:37
yield_slip::lh
field lh
Definition:
yield_slip.h:43
field
see the field page for the full documentation
yield_slip::post
void post(const field &beta_h, field &uh, field &lambda_h) const
Definition:
yield_slip2.icc:56
yield_slip::b
form b
Definition:
yield_slip.h:44
yield_slip::dual_space_norm
Float dual_space_norm(const field &) const
Definition:
yield_slip2.icc:47
yield_slip::c1
form c1
Definition:
yield_slip.h:45
yield_slip::pmb
problem pmb
Definition:
yield_slip.h:46
yield_slip::r
Float r
Definition:
yield_slip.h:40
yield_slip::Yh
space Yh
Definition:
yield_slip.h:42
yield_slip::initial
field initial() const
Definition:
yield_slip2.icc:52
yield_slip::derivative_solve
field derivative_solve(const field &mrh) const
Definition:
yield_slip2.icc:26
Float
see the Float page for the full documentation
yield_slip::Cf
Float Cf
Definition:
yield_slip.h:40
yield_slip::derivative_trans_mult
field derivative_trans_mult(const field &mrh) const
Definition:
yield_slip2.icc:33
yield_slip::boundary
geo boundary
Definition:
yield_slip.h:41
yield_slip::mb
form mb
Definition:
yield_slip.h:44
yield_slip::space_norm
Float space_norm(const field &) const
Definition:
yield_slip2.icc:44
poisson_robin
field poisson_robin(Float Cf, const geo &boundary, const field &lh)
Definition:
poisson_robin.icc:25
yield_slip::Xh
space Xh
Definition:
yield_slip.h:42
yield_slip::pA
problem pA
Definition:
yield_slip.h:47