The Helmholtz problem on a surface by the banded level-set method.
The Helmholtz problem on a surface by the banded level-set method
int main (
int argc,
char**argv) {
field phi_h = lazy_interpolate(Xh,
phi);
field phi_h_band = phi_h [gamma_h.band()];
space Bh (gamma_h.band(),
"P1");
Bh.block ("isolated");
Bh.unblock ("zero");
form a = lazy_integrate (gamma_h,
u*v + dot(grad_s(
u),grad_s(v)));
vector<field> b (gamma_h.n_connected_component());
vector<Float> z (gamma_h.n_connected_component(), 0);
for (size_t i = 0; i < b.size(); i++) {
const domain& cci = gamma_h.band() ["cc"+to_string(i)];
phi_h_cci [cci] = phi_h_band [cci];
b[i] = phi_h_cci;
}
form A = {{ a, trans(b) },
{ b, 0 }};
field Uh (Fh.get_space(), 0);
pa.solve (Fh, Uh);
}
field lh(Float epsilon, Float t, const test &v)
see the band page for the full documentation
see the field page for the full documentation
see the geo page for the full documentation
see the problem page for the full documentation
see the catchmark page for the full documentation
see the environment page for the full documentation
see the space page for the full documentation
see the test page for the full documentation
see the test page for the full documentation
This file is part of Rheolef.
rheolef - reference manual
The level set function for the sphere geometry.