(m)
| 46 | |
| 47 | |
| 48 | def get_source(m): |
| 49 | source_center = mp.Vector3( |
| 50 | design_r / 2, |
| 51 | 0, |
| 52 | -(sz / 2 - dpml + design_z / 2) / 2, |
| 53 | ) |
| 54 | # exclude r=0 whenever |m| > 1 |
| 55 | source_size = mp.Vector3( |
| 56 | design_r if abs(m) <= 1 else 0.5 * design_r, |
| 57 | 0, |
| 58 | 0, |
| 59 | ) |
| 60 | src = mp.GaussianSource(frequency=fcen, fwidth=fwidth) |
| 61 | source = [ |
| 62 | mp.Source( |
| 63 | src, |
| 64 | component=mp.Er, |
| 65 | center=source_center, |
| 66 | size=source_size, |
| 67 | ) |
| 68 | ] |
| 69 | |
| 70 | return source |
| 71 | |
| 72 | |
| 73 | def forward_simulation(design_params, m, far_x): |
no test coverage detected