|
From: | Jiří Roleček |
Subject: | [Getfem-users] Helmholtz brick and QU term |
Date: | Thu, 15 Apr 2010 12:20:38 +0200 |
User-agent: | Mozilla-Thunderbird 2.0.0.24 (X11/20100329) |
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 |
[Prev in Thread] | Current Thread | [Next in Thread] |