Loading...
Searching...
No Matches
mosolov_augmented_lagrangian2.icc
Go to the documentation of this file.
mosolov_augmented_lagrangian::mosolov_augmented_lagrangian()
: Bi(0), n(1), r(1), tol(1e-10), max_iter(1000000),
Xh(), Th(), lh(), a(), b(), inv_mt(), pa()
{}
void mosolov_augmented_lagrangian::reset (geo omega, string approx) {
Xh = space (omega, approx);
Xh.block ("boundary");
string grad_approx = "P" + to_string(Xh.degree()-1) + "d";
Th = space (omega, grad_approx, "vector");
trial u (Xh), sigma(Th);
test v (Xh), tau (Th);
lh = integrate(2*v);
a = integrate (dot(grad(u),grad(v)));
b = integrate (dot(grad(u),tau));
integrate_option iopt;
iopt.invert = true;
inv_mt = integrate(dot(sigma,tau), iopt);
pa = problem (a);
}
void
mosolov_augmented_lagrangian::initial (field& sigma_h, field& uh) const {
uh = field(Xh);
uh ["boundary"] = 0;
pa.solve (lh, uh);
test tau (Th);
field mt_grad_uh = integrate(dot(grad(uh),tau));
sigma_h = inv_mt*mt_grad_uh;
}
void mosolov_augmented_lagrangian::put (odiststream& out,
field& sigma_h, field& uh) const
{
out << catchmark("Bi") << Bi << endl
<< catchmark("n") << n << endl
<< catchmark("r") << r << endl
<< catchmark("sigma") << sigma_h
<< catchmark("u") << uh;
}
lh
field lh(Float epsilon, Float t, const test &v)
Definition burgers_diffusion_operators.icc:25
field
see the field page for the full documentation
geo
see the geo page for the full documentation
problem
see the problem page for the full documentation
space
see the space page for the full documentation
test
see the test page for the full documentation
trial
see the test page for the full documentation
mosolov_augmented_lagrangian::inv_mt
form inv_mt
Definition mosolov_augmented_lagrangian.h:36
mosolov_augmented_lagrangian::pa
problem pa
Definition mosolov_augmented_lagrangian.h:37
mosolov_augmented_lagrangian::a
form a
Definition mosolov_augmented_lagrangian.h:36
mosolov_augmented_lagrangian::mosolov_augmented_lagrangian
mosolov_augmented_lagrangian()
Definition mosolov_augmented_lagrangian2.icc:25
mosolov_augmented_lagrangian::Bi
Float Bi
Definition mosolov_augmented_lagrangian.h:32
mosolov_augmented_lagrangian::Xh
space Xh
Definition mosolov_augmented_lagrangian.h:34
mosolov_augmented_lagrangian::lh
field lh
Definition mosolov_augmented_lagrangian.h:35
mosolov_augmented_lagrangian::n
Float n
Definition mosolov_augmented_lagrangian.h:32
mosolov_augmented_lagrangian::reset
void reset(geo omega, string approx)
Definition mosolov_augmented_lagrangian2.icc:29
mosolov_augmented_lagrangian::r
Float r
Definition mosolov_augmented_lagrangian.h:32
mosolov_augmented_lagrangian::b
form b
Definition mosolov_augmented_lagrangian.h:36
mosolov_augmented_lagrangian::put
void put(odiststream &out, field &sigma_h, field &uh) const
Definition mosolov_augmented_lagrangian2.icc:53
mosolov_augmented_lagrangian::Th
space Th
Definition mosolov_augmented_lagrangian.h:34
mosolov_augmented_lagrangian::initial
void initial(field &sigma_h, field &uh) const
Definition mosolov_augmented_lagrangian2.icc:45
sigma
Definition mosolov_exact_circle.h:40
u
Definition leveque.h:25