yield_slip2.icc
Go to the documentation of this file.
#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"];
}
gh
field gh(Float epsilon, Float t, const field &uh, const test &v)
Definition: burgers_diffusion_operators.icc:37
Float
see the Float page for the full documentation
field
see the field page for the full documentation
yield_slip::derivative_trans_mult
field derivative_trans_mult(const field &mrh) const
Definition: yield_slip2.icc:33
yield_slip::pa
problem pa
Definition: yield_slip.h:46
yield_slip::dual_space_norm
Float dual_space_norm(const field &) const
Definition: yield_slip2.icc:47
yield_slip::mb
form mb
Definition: yield_slip.h:44
yield_slip::pA
problem pA
Definition: yield_slip.h:47
yield_slip::space_norm
Float space_norm(const field &) const
Definition: yield_slip2.icc:44
yield_slip::Xh
space Xh
Definition: yield_slip.h:42
yield_slip::derivative_solve
field derivative_solve(const field &mrh) const
Definition: yield_slip2.icc:26
yield_slip::c1
form c1
Definition: yield_slip.h:45
yield_slip::Wh
space Wh
Definition: yield_slip.h:42
yield_slip::lh
field lh
Definition: yield_slip.h:43
yield_slip::pmb
problem pmb
Definition: yield_slip.h:46
yield_slip::r
Float r
Definition: yield_slip.h:40
yield_slip::b
form b
Definition: yield_slip.h:44
yield_slip::Cf
Float Cf
Definition: yield_slip.h:40
yield_slip::initial
field initial() const
Definition: yield_slip2.icc:52
yield_slip::Yh
space Yh
Definition: yield_slip.h:42
yield_slip::post
void post(const field &beta_h, field &uh, field &lambda_h) const
Definition: yield_slip2.icc:56
yield_slip::boundary
geo boundary
Definition: yield_slip.h:41
rheolef::dual
rheolef::std enable_if ::type dual const Expr1 expr1, const Expr2 expr2 dual(const Expr1 &expr1, const Expr2 &expr2)
Definition: field_expr.h:260
poisson_robin.icc
The Poisson problem with Robin boundary condition – solver function.
poisson_robin
field poisson_robin(Float Cf, const geo &boundary, const field &lh)
Definition: poisson_robin.icc:25