Dear all,
I want to solve Helmholtz problem using standard_complex_model_state,
which constists of
2 volume regions
3 surface regions - a) transmitting region, b) reflecting region and c)
border region, where i want the waves to pass out of volume
My question is, whether i have all the parameters set well
For the volumes, i use
getfem::mdbrick_Helmholtz<MODELSTATE> WAVE(mim, mf_u,
complex_type(0,0));
and then I set
WAVE.wave_number().set(convexValuesByRegion);
convexValuesByRegion is a vector of complex values of wave number K
Then I add Robin condition acccording to c) and there *I'm really in
doubt if I'm right
* // (non-homogeneous) Robin conditions
getfem::mdbrick_QU_term<MODELSTATE> ROBIN(WAVE, borderValueRobin *
complex_type(0,1.), regIndsRobin[0]);
where borderValueRobin is *real part* of wave number K, which is set in
the volume next to this region
(When K in the volume is (400 + 0.5i, then borderValueRobin is 400, so
the term in QU_brick is (0 + 400i) - is it right?)
And finally I set the a) and b) region values
std::vector<double> emitValues(numDOFs, 1);
getfem::mdbrick_Dirichlet<MODELSTATE>
DIRICHLET1(ROBIN,transmittingRegion);
DIRICHLET1.rhs().set(mf_data, emitValues);
DIRICHLET1.set_constraints_type(getfem::constraints_type(PARAM.int_value("DIRICHLET_VERSION")));
emitValues=std::vector<double> (numDOFs, 0);
getfem::mdbrick_Dirichlet<MODELSTATE>
DIRICHLET2(DIRICHLET1,reflectingRegion);
DIRICHLET2.rhs().set(mf_data, emitValues);
DIRICHLET2.set_constraints_type(getfem::constraints_type(PARAM.int_value("DIRICHLET_VERSION")));
Everything seems to work well, but I think, that there are reflections
from the c) region (although its almost perpendicular to the propagating
wave), thats why I am asking you to be sure Iam right or not.
Thank you for your help
Jiri Rolecek
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users