├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── LICENSE ├── README.md ├── bin ├── OpenParEM2D ├── builder ├── process └── simplify ├── doc ├── OpenParEM2D_Theory_Methodology_Accuracy.pdf ├── OpenParEM2D_Users_Manual.pdf └── builder_Users_Manual.pdf ├── regression ├── Lee_microstrip │ ├── full_line │ │ ├── Lee_microstrip.FCStd │ │ ├── Lee_microstrip.brep │ │ ├── Lee_microstrip.geo │ │ ├── Lee_microstrip.msh │ │ ├── Lee_microstrip.proj │ │ ├── Lee_microstrip_derived_test_cases.csv │ │ ├── Lee_microstrip_lines.txt │ │ ├── Lee_microstrip_test_cases.csv │ │ └── Lee_microstrip_test_fields.csv │ ├── full_line_omit_current │ │ ├── Lee_microstrip.FCStd │ │ ├── Lee_microstrip.brep │ │ ├── Lee_microstrip.geo │ │ ├── Lee_microstrip.msh │ │ ├── Lee_microstrip.proj │ │ ├── Lee_microstrip_derived_test_cases.csv │ │ ├── Lee_microstrip_lines_omit_current.txt │ │ ├── Lee_microstrip_test_cases.csv │ │ └── Lee_microstrip_test_fields.csv │ ├── full_line_omit_voltage │ │ ├── Lee_microstrip.FCStd │ │ ├── Lee_microstrip.brep │ │ ├── Lee_microstrip.geo │ │ ├── Lee_microstrip.msh │ │ ├── Lee_microstrip.proj │ │ ├── Lee_microstrip_derived_test_cases.csv │ │ ├── Lee_microstrip_lines_omit_voltage.txt │ │ ├── Lee_microstrip_test_cases.csv │ │ └── Lee_microstrip_test_fields.csv │ ├── full_modal │ │ ├── Lee_microstrip.FCStd │ │ ├── Lee_microstrip.brep │ │ ├── Lee_microstrip.geo │ │ ├── Lee_microstrip.msh │ │ ├── Lee_microstrip.proj │ │ ├── Lee_microstrip_derived_test_cases.csv │ │ ├── Lee_microstrip_modes.txt │ │ ├── Lee_microstrip_test_cases.csv │ │ └── Lee_microstrip_test_fields.csv │ ├── full_modal_omit_current │ │ ├── Lee_microstrip.FCStd │ │ ├── Lee_microstrip.brep │ │ ├── Lee_microstrip.geo │ │ ├── Lee_microstrip.msh │ │ ├── Lee_microstrip.proj │ │ ├── Lee_microstrip_derived_test_cases.csv │ │ ├── Lee_microstrip_modes_omit_current.txt │ │ ├── Lee_microstrip_test_cases.csv │ │ └── Lee_microstrip_test_fields.csv │ ├── full_modal_omit_voltage │ │ ├── Lee_microstrip.FCStd │ │ ├── Lee_microstrip.brep │ │ ├── Lee_microstrip.geo │ │ ├── Lee_microstrip.msh │ │ ├── Lee_microstrip.proj │ │ ├── Lee_microstrip_derived_test_cases.csv │ │ ├── Lee_microstrip_lines_omit_voltage.txt │ │ ├── Lee_microstrip_test_cases.csv │ │ └── Lee_microstrip_test_fields.csv │ └── half │ │ ├── Lee_microstrip.geo │ │ ├── Lee_microstrip.msh │ │ ├── Lee_microstrip.proj │ │ ├── Lee_microstrip_derived_test_cases.csv │ │ ├── Lee_microstrip_modes.txt │ │ ├── Lee_microstrip_test_cases.csv │ │ ├── Lee_microstrip_test_fields.csv │ │ └── builder │ │ ├── Lee_microstrip.geo │ │ ├── Lee_microstrip.proj │ │ ├── Lee_microstrip_modes.txt │ │ └── builder.txt ├── README.txt ├── Simonovich_stripline │ ├── Simonovich_stripline.msh │ ├── Simonovich_stripline.proj │ ├── Simonovich_stripline_derived_test_cases.csv │ ├── Simonovich_stripline_modes.txt │ ├── Simonovich_stripline_test_cases.csv │ ├── builder │ │ ├── Simonovich_stripline.geo │ │ ├── Simonovich_stripline.geo.opt │ │ ├── Simonovich_stripline.msh │ │ ├── Simonovich_stripline.proj │ │ ├── Simonovich_stripline_modes.txt │ │ └── builder.txt │ └── local_materials.txt ├── Simonovich_stripline_study │ ├── Simonovich_stripline.msh │ ├── Simonovich_stripline.proj │ ├── Simonovich_stripline_accuracy.ods │ ├── Simonovich_stripline_for_plots.proj │ ├── Simonovich_stripline_modes.txt │ ├── builder │ │ ├── Simonovich_stripline.geo │ │ ├── Simonovich_stripline.geo.opt │ │ ├── Simonovich_stripline.msh │ │ ├── Simonovich_stripline.proj │ │ ├── Simonovich_stripline_modes.txt │ │ └── builder.txt │ ├── local_materials.txt │ └── screenshots │ │ ├── stripline_error.png │ │ ├── stripline_final_mesh.png │ │ ├── stripline_initial_mesh.png │ │ ├── stripline_mesh_zoom1.png │ │ ├── stripline_mesh_zoom2.png │ │ ├── stripline_plot.png │ │ └── stripline_results.png ├── WR90_rectangular_waveguide │ ├── .gitkeep │ ├── WR90 │ │ ├── .gitkeep │ │ ├── WR90_order_1_refinement_no_mesh_reuse │ │ │ ├── WR90.proj │ │ │ ├── WR90_exact_test_cases.csv │ │ │ ├── WR90_test_cases.csv │ │ │ └── WR90_test_fields.csv │ │ ├── WR90_order_2_refinement_mesh_reuse │ │ │ ├── WR90.proj │ │ │ ├── WR90_exact_test_cases.csv │ │ │ ├── WR90_test_cases.csv │ │ │ └── WR90_test_fields.csv │ │ ├── WR90_order_3_mixed_refinement │ │ │ ├── WR90.proj │ │ │ ├── WR90_exact_test_cases.csv │ │ │ ├── WR90_test_cases.csv │ │ │ └── WR90_test_fields.csv │ │ ├── WR90_order_3_no_refinement_no_mesh_reuse │ │ │ ├── WR90.proj │ │ │ ├── WR90_exact_test_cases.csv │ │ │ ├── WR90_test_cases.csv │ │ │ ├── WR90_test_cases.csv.by_hand │ │ │ └── WR90_test_fields.csv │ │ ├── WR90_order_3_refinement_no_mesh_reuse │ │ │ ├── WR90.proj │ │ │ ├── WR90_exact_test_cases.csv │ │ │ ├── WR90_results.csv.mpi │ │ │ ├── WR90_results.csv.seq │ │ │ ├── WR90_test_cases.csv │ │ │ ├── WR90_test_cases.csv.by_hand │ │ │ └── WR90_test_fields.csv │ │ ├── WR90_order_4_refinement │ │ │ ├── WR90.proj │ │ │ ├── WR90_exact_test_cases.csv │ │ │ ├── WR90_test_cases.csv │ │ │ ├── WR90_test_fields.csv │ │ │ └── builder │ │ │ │ ├── WR90.geo │ │ │ │ ├── WR90.msh │ │ │ │ ├── WR90.proj │ │ │ │ ├── WR90_modes.txt │ │ │ │ └── builder.txt │ │ ├── WR90_order_4_refinement_no_mesh_reuse_loss │ │ │ ├── WR90.proj │ │ │ ├── WR90_exact_test_cases.csv │ │ │ ├── WR90_test_cases.csv │ │ │ └── WR90_test_fields.csv │ │ ├── WR90_order_5_refinement_mesh_reuse │ │ │ ├── WR90.proj │ │ │ ├── WR90_exact_test_cases.csv │ │ │ ├── WR90_test_cases.csv │ │ │ └── WR90_test_fields.csv │ │ ├── WR90_order_6_lossy_study │ │ │ ├── WR90_accuracy_run.proj │ │ │ ├── WR90_accuracy_run_plots.ods │ │ │ └── screenshots │ │ │ │ ├── WR90_lossy_gamma.png │ │ │ │ └── WR90_lossy_gamma_error.png │ │ ├── WR90_order_6_norefinement │ │ │ ├── WR90.proj │ │ │ ├── WR90_exact_test_cases.csv │ │ │ ├── WR90_test_cases.csv │ │ │ └── WR90_test_fields.csv │ │ ├── WR90_order_6_study │ │ │ ├── WR90_accuracy_run.proj │ │ │ ├── WR90_accuracy_run_for_plots.proj │ │ │ ├── WR90_accuracy_run_plots.ods │ │ │ └── screenshots │ │ │ │ ├── WR90_gamma.png │ │ │ │ ├── WR90_gamma_error.png │ │ │ │ ├── WR90_impedance.png │ │ │ │ ├── WR90_mode_1.png │ │ │ │ └── WR90_mode_4_Pz.png │ │ ├── WR90_waveguide.FCStd │ │ ├── WR90_waveguide.msh │ │ ├── WR90_waveguide_modes_Zs.txt │ │ └── WR90_waveguide_modes_no_Zs.txt │ └── WR90_PMC_symmetry │ │ ├── WR90_waveguide_half.FCStd │ │ ├── WR90_waveguide_half.brep │ │ ├── WR90_waveguide_half.geo │ │ ├── WR90_waveguide_half.msh │ │ ├── WR90_waveguide_modes_half.txt │ │ ├── WR90half.proj │ │ ├── WR90half_exact_test_cases.csv │ │ ├── WR90half_test_cases.csv │ │ ├── WR90half_test_fields.csv │ │ └── builder │ │ ├── README.txt │ │ ├── WR90half.geo │ │ ├── WR90half.msh │ │ ├── WR90half.proj │ │ ├── WR90half_modes.txt │ │ └── builder.txt ├── builder │ ├── .gitkeep │ ├── differentialPair │ │ ├── builder.txt │ │ ├── diffPair.geo │ │ ├── diffPair.geo.golden │ │ ├── diffPair.proj │ │ ├── diffPair.proj.golden │ │ ├── diffPair_lines.txt │ │ └── diffPair_lines.txt.golden │ ├── differentialPairPMC │ │ ├── builder.txt │ │ ├── diffPair.geo │ │ ├── diffPair.geo.golden │ │ ├── diffPair.proj │ │ ├── diffPair.proj.golden │ │ ├── diffPair_lines.txt │ │ └── diffPair_modes.txt.golden │ ├── microstrip │ │ ├── Lee_microstrip.geo │ │ ├── Lee_microstrip.geo.golden │ │ ├── Lee_microstrip.proj │ │ ├── Lee_microstrip.proj.golden │ │ ├── Lee_microstrip_lines.txt │ │ ├── Lee_microstrip_lines.txt.golden │ │ └── builder.txt │ ├── rectangularWaveguide │ │ ├── WR90.geo │ │ ├── WR90.geo.golden │ │ ├── WR90.proj │ │ ├── WR90.proj.golden │ │ ├── WR90_modes.txt │ │ ├── WR90_modes.txt.golden │ │ └── builder.txt │ └── stripline │ │ ├── Simonovich_stripline.geo │ │ ├── Simonovich_stripline.geo.golden │ │ ├── Simonovich_stripline.proj │ │ ├── Simonovich_stripline.proj.golden │ │ ├── Simonovich_stripline_lines.txt │ │ ├── Simonovich_stripline_lines.txt.golden │ │ └── builder.txt ├── check.sh ├── coaxEighth │ ├── coax.FCStd │ ├── coax.brep │ ├── coax.geo │ ├── coax.msh │ ├── coax.proj │ ├── coax_exact_test_cases.csv │ ├── coax_modes.txt │ ├── coax_test_cases.csv │ ├── coax_test_fields.csv │ └── local_materials.txt ├── coaxEighthAlt │ ├── coax.FCStd │ ├── coax.msh │ ├── coax.proj │ ├── coax_exact_test_cases.csv │ ├── coax_modes.txt │ ├── coax_test_cases.csv │ ├── coax_test_fields.csv │ └── local_materials.txt ├── coaxEighth_study │ ├── coax.FCStd │ ├── coax.brep │ ├── coax.geo │ ├── coax.msh │ ├── coax_accuracy_run.proj │ ├── coax_accuracy_run_for_plots.proj │ ├── coax_accuracy_run_plots.ods │ ├── coax_modes.txt │ ├── local_materials.txt │ └── screenshots │ │ ├── coax_E_zoom.png │ │ ├── coax_Pz.png │ │ ├── coax_Pz_zoom.png │ │ ├── coax_field.png │ │ └── coax_results.png ├── coax_line │ ├── coax.FCStd │ ├── coax.brep │ ├── coax.geo │ ├── coax.msh │ ├── coax.proj │ ├── coax_exact_test_cases.csv │ ├── coax_modes.txt │ ├── coax_test_cases.csv │ ├── coax_test_fields.csv │ └── local_materials.txt ├── coax_modal │ ├── coax.FCStd │ ├── coax.brep │ ├── coax.geo │ ├── coax.msh │ ├── coax.proj │ ├── coax_exact_test_cases.csv │ ├── coax_modes.txt │ ├── coax_test_cases.csv │ ├── coax_test_fields.csv │ └── local_materials.txt ├── differential_pair │ ├── README.txt │ ├── diff_pair_line │ │ ├── builder │ │ │ ├── builder.txt │ │ │ ├── diffPair.geo │ │ │ ├── diffPair.geo.opt │ │ │ ├── diffPair.proj │ │ │ └── diffPair_lines.txt │ │ ├── diffPair.msh │ │ ├── diffPair.proj │ │ ├── diffPair_derived_test_cases.csv │ │ ├── diffPair_lines.txt │ │ └── diffPair_test_cases.csv │ ├── diff_pair_line_wide_spacing │ │ ├── builder │ │ │ ├── builder.txt │ │ │ ├── diffPair.geo │ │ │ ├── diffPair.proj │ │ │ └── diffPair_lines.txt │ │ ├── diffPair.geo │ │ ├── diffPair.geo.opt │ │ ├── diffPair.msh │ │ ├── diffPair.proj │ │ ├── diffPair_derived_test_cases.csv │ │ ├── diffPair_lines.txt │ │ └── diffPair_test_cases.csv │ ├── diff_pair_modal │ │ ├── builder │ │ │ ├── builder.txt │ │ │ ├── diffPair.geo │ │ │ ├── diffPair.geo.opt │ │ │ ├── diffPair.proj │ │ │ └── diffPair_modes.txt │ │ ├── diffPair.FCStd │ │ ├── diffPair.brep │ │ ├── diffPair.geo │ │ ├── diffPair.msh │ │ ├── diffPair.proj │ │ ├── diffPair_derived_test_cases.csv │ │ ├── diffPair_modes.txt │ │ └── diffPair_test_cases.csv │ ├── diff_pair_modal_symmetry_even │ │ ├── builder │ │ │ ├── builder.txt │ │ │ ├── diffPair.geo │ │ │ ├── diffPair.msh │ │ │ ├── diffPair.proj │ │ │ └── diffPair_modes.txt │ │ ├── diffPair.FCStd │ │ ├── diffPair.brep │ │ ├── diffPair.geo │ │ ├── diffPair.msh │ │ ├── diffPair.proj │ │ ├── diffPair_derived_test_cases.csv │ │ ├── diffPair_modes.txt │ │ └── diffPair_test_cases.csv │ ├── diff_pair_modal_symmetry_odd │ │ ├── builder │ │ │ ├── builder.txt │ │ │ ├── diffPair.geo │ │ │ ├── diffPair.msh │ │ │ ├── diffPair.proj │ │ │ └── diffPair_modes.txt │ │ ├── diffPair.msh │ │ ├── diffPair.proj │ │ ├── diffPair_derived_test_cases.csv │ │ ├── diffPair_modes.txt │ │ └── diffPair_test_cases.csv │ ├── diff_pair_study │ │ ├── diffPair.FCStd │ │ ├── diffPair.brep │ │ ├── diffPair.geo │ │ ├── diffPair.geo.opt │ │ ├── diffPair.msh │ │ ├── diffPair.proj │ │ ├── diffPair_for_plots.proj │ │ ├── diffPair_modes.txt │ │ ├── diff_pair_accuracy_run_results.ods │ │ └── screenshots │ │ │ ├── diffpair_even.png │ │ │ ├── diffpair_even_plot.png │ │ │ ├── diffpair_initial_mesh.png │ │ │ ├── diffpair_odd.png │ │ │ ├── diffpair_odd_plot.png │ │ │ └── diffpair_optimized_mesh.png │ └── local_materials.txt ├── global_materials.txt ├── partially_filled_rect_waveguide │ ├── PartFilled_order_3_norefinement │ │ ├── PartFilled.proj │ │ ├── PartFilled_exact_test_cases.csv │ │ ├── PartFilled_test_cases.csv │ │ └── PartFilled_test_fields.csv │ ├── PartFilled_order_3_refinement │ │ ├── PartFilled.proj │ │ ├── PartFilled_exact_test_cases.csv │ │ ├── PartFilled_test_cases.csv │ │ └── PartFilled_test_fields.csv │ ├── PartFilled_order_4_norefinement │ │ ├── PartFilled.proj │ │ ├── PartFilled_exact_test_cases.csv │ │ ├── PartFilled_test_cases.csv │ │ └── PartFilled_test_fields.csv │ ├── PartFilled_order_4_norefinement_widebandwidth │ │ ├── PartFilled.proj │ │ ├── PartFilled_exact_test_cases.csv │ │ ├── PartFilled_test_cases.csv │ │ └── PartFilled_test_fields.csv │ ├── PartFilled_order_5_norefinement │ │ ├── PartFilled.proj │ │ ├── PartFilled_exact_test_cases.csv │ │ ├── PartFilled_test_cases.csv │ │ └── PartFilled_test_fields.csv │ ├── PartFilled_order_6_norefinement │ │ ├── PartFilled.proj │ │ ├── PartFilled_exact_test_cases.csv │ │ ├── PartFilled_test_cases.csv │ │ └── PartFilled_test_fields.csv │ ├── PartFilled_order_6_study │ │ ├── PartFilled_accuracy_run.proj │ │ ├── PartFilled_accuracy_run_for_plots.proj │ │ ├── PartFilled_accuracy_run_plots.ods │ │ └── screenshots │ │ │ ├── partial_drawing.png │ │ │ ├── partial_field.png │ │ │ ├── partial_gamma.png │ │ │ ├── partial_gamma_error.png │ │ │ └── partial_power.png │ ├── README.txt │ ├── local_materials.txt │ ├── partially_filled_waveguide.FCStd │ ├── partially_filled_waveguide.brep │ ├── partially_filled_waveguide.geo │ └── partially_filled_waveguide.msh ├── permeability │ ├── partially_filled_rect_waveguide │ │ ├── PartFilled.proj │ │ ├── PartFilled_exact_test_cases.csv │ │ ├── PartFilled_test_cases.csv │ │ └── local_materials.txt │ └── rectangular_waveguide │ │ ├── WR90.proj │ │ ├── WR90_exact_test_cases.csv │ │ ├── WR90_test_cases.csv │ │ └── local_materials.txt ├── regression_case_list.txt └── single_microstrip │ ├── builder │ ├── builder.txt │ ├── single.geo │ ├── single.msh │ ├── single.proj │ ├── single_lines.txt │ └── single_modes.txt │ ├── local_materials.txt │ ├── single.msh │ ├── single.proj │ └── single_lines.txt ├── scripts ├── OpenParEM2D_save.py ├── checkBuilder.sh ├── field_plot.py ├── process.sh └── regression.sh ├── src ├── .gitkeep ├── Hsolve.c ├── Hsolve.h ├── OpenParEM2D.cpp ├── builder.cpp ├── builder.hpp ├── convergence.cpp ├── convergence.hpp ├── eigensolve.c ├── eigensolve.h ├── fem2D.cpp ├── fem2D.hpp ├── fieldPoints.cpp ├── fieldPoints.hpp ├── findPoints.cpp ├── makefile ├── modes.cpp ├── modes.hpp ├── process.cpp ├── process.hpp ├── project.c ├── project.h ├── results.cpp ├── results.hpp ├── simplify.cpp ├── simplify.hpp ├── waveguide.c └── waveguide.h └── tutorials ├── coaxial_waveguide ├── coaxial_waveguide.FCStd ├── coaxial_waveguide.brep ├── coaxial_waveguide.geo ├── coaxial_waveguide.msh ├── coaxial_waveguide.proj ├── coaxial_waveguide_modes.txt ├── local_materials.txt └── screenshots │ ├── coaxial_ReHt.png │ ├── coaxial_drawing.png │ └── coaxial_mesh.png ├── coupled_microstrip ├── coupled_microstrip.FCStd ├── coupled_microstrip.brep ├── coupled_microstrip.geo ├── coupled_microstrip.msh ├── coupled_microstrip.proj ├── coupled_microstrip_modes.txt ├── local_materials.txt └── screenshots │ ├── coupled_common_mode.png │ ├── coupled_differential_mode.png │ ├── coupled_drawing.png │ ├── coupled_initial_mesh.png │ └── coupled_refined_mesh.png ├── coupled_microstrip_modal ├── coupled_microstrip.FCStd ├── coupled_microstrip.brep ├── coupled_microstrip.geo ├── coupled_microstrip.msh ├── coupled_microstrip.proj ├── coupled_microstrip_modes.txt ├── local_materials.txt └── screenshots │ ├── coupled_common_mode.png │ ├── coupled_differential_mode.png │ ├── coupled_drawing.png │ ├── coupled_initial_mesh.png │ └── coupled_refined_mesh.png └── rectangular_waveguide ├── global_materials.txt ├── rectangular_waveguide.FCStd ├── rectangular_waveguide.brep ├── rectangular_waveguide.geo ├── rectangular_waveguide.msh ├── rectangular_waveguide.proj ├── rectangular_waveguide_modes.txt └── screenshots ├── rectangular_ReEt.png ├── rectangular_mesh.png └── rectangular_waveguide.png /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Contents of the input text files ... 16 | 2. Command line ... 17 | 3. Error text ... 18 | 19 | **Expected behavior** 20 | A clear and concise description of what you expected to happen. 21 | 22 | **Screenshots** 23 | If applicable, add screenshots to help explain your problem. 24 | 25 | **Software and OS (please complete the following information):** 26 | - OpenParEM distribution version: 27 | - Linux distribution and version: 28 | 29 | **Additional context** 30 | Add any other context about the problem here. 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OpenParEM2D 2 | 3 | DEPRECATED - Replaced by OpenParEM 4 | 5 | **Open** **Par**allel **E**lectro**m**agnetic **2D** – A free, open-source electromagnetic simulator for 2D waveguides and transmission lines. 6 | 7 | [OpenParEM2D](https://openparem.org) solves waveguides and transmission lines with arbitrary cross sections and conductor counts for the propagation constants, losses (dielectric, conductor, and surface roughness), characteristic impedances, and fields of the dominant and higher-order modes. It is a full-wave solver simultaneously solving all of Maxwell's equations, so the solutions are good to arbitrarily high frequencys with a problem-dependent limit on lower frequencies. 8 | 9 | The tool uses advanced finite elements (FEM) of arbitrarily high order, adaptive mesh refinement, and parallel processing using the Message Passing Interface (MPI). An extensive set of worked examples demonstrate a variety of setups and solution styles using rectangular waveuide, coax, microstrip, coupled microstrip, and stripline. 10 | 11 | A detailed document on the theory, methodology, and accuracy of OpenParEM2D is available along with a comprehensive user's manual. 12 | 13 | See the project web site at https://openparem.org. 14 | 15 | Installation instructions are provided in the doc directory of the OpenParEMCommon project. Pre-compiled binaries are available for Ubuntu Linux along with source code for compiling from source for other flavors of Linux. 16 | 17 | OpenParEM2D is a free, open-source project licensed under GPLv3 or later. 18 | -------------------------------------------------------------------------------- /bin/OpenParEM2D: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/bin/OpenParEM2D -------------------------------------------------------------------------------- /bin/builder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/bin/builder -------------------------------------------------------------------------------- /bin/process: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/bin/process -------------------------------------------------------------------------------- /bin/simplify: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/bin/simplify -------------------------------------------------------------------------------- /doc/OpenParEM2D_Theory_Methodology_Accuracy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/doc/OpenParEM2D_Theory_Methodology_Accuracy.pdf -------------------------------------------------------------------------------- /doc/OpenParEM2D_Users_Manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/doc/OpenParEM2D_Users_Manual.pdf -------------------------------------------------------------------------------- /doc/builder_Users_Manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/doc/builder_Users_Manual.pdf -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line/Lee_microstrip.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Lee_microstrip/full_line/Lee_microstrip.FCStd -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line/Lee_microstrip.geo: -------------------------------------------------------------------------------- 1 | Merge "Lee_microstrip.brep"; 2 | //+ 3 | Physical Surface("air", 2) = {2}; 4 | //+ 5 | Physical Surface("Lee_semiconductor", 1) = {1}; 6 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line/Lee_microstrip_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.7758944309217,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49590823954737,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,57.9524033642139,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.0720839355146515,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,0.00125,0.000125,equal,1.00000003829497,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,0.00125,0.000125,equal,1.5710725862964,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,0.00125,0.000125,equal,1.57077987595942,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,0.00125,0.000125,equal,0.008906887022723,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,0.00125,0.000125,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,0.00125,0.000125,equal,6.88023269612755e-06,1e-07 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,0.00125,0.000125,equal,0.00668537793648363,1e-10 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,0.00125,0.000125,equal,-3.14123236344769,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,0.00125,0.000125,equal,1.57079693560395,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,0.00125,0.000125,equal,8.52518885731767e-06,1e-09 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,0.00125,0.000125,equal,0.000252656259137101,1e-07 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,0.00125,0.000125,equal,1.73454850599112,1e-08 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line/Lee_microstrip_lines.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=Lee_microstrip.FCStd 5 | EndFile 6 | 7 | Path 8 | name=V1 9 | point=(0.00125,0.0) 10 | point=(0.00125,0.00025) 11 | closed=false 12 | EndPath 13 | 14 | Path 15 | name=line1 16 | point=(0.001125,0.00025) 17 | point=(0.001375,0.00025) 18 | point=(0.001375,0.0003) 19 | point=(0.001125,0.0003) 20 | closed=true 21 | EndPath 22 | 23 | Line 24 | line=1 25 | type=voltage 26 | path=V1 27 | EndLine 28 | 29 | Line 30 | line=1 31 | type=current 32 | path=line1 33 | EndLine 34 | 35 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line/Lee_microstrip_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.7758944309217,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49590823954737,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,57.9524033642139,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.0720839355146515,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,0.00125,0.000125,equal,1.00000003829497,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,0.00125,0.000125,equal,1.5710725862964,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,0.00125,0.000125,equal,1.57077987595942,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,0.00125,0.000125,equal,0.008906887022723,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,0.00125,0.000125,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,0.00125,0.000125,equal,6.88023269612755e-06,1e-07 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,0.00125,0.000125,equal,0.00668537793648363,1e-10 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,0.00125,0.000125,equal,-3.14123236344769,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,0.00125,0.000125,equal,1.57079693560395,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,0.00125,0.000125,equal,8.52518885731767e-06,1e-09 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,0.00125,0.000125,equal,0.000252656259137101,1e-07 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,0.00125,0.000125,equal,1.73454850599112,1e-08 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line/Lee_microstrip_test_fields.csv: -------------------------------------------------------------------------------- 1 | #frequency,mode,x,y,Ex_re,Ex_im,Ey_re,Ey_im,Ez_re,Ez_im,Hx_re,Hx_im,Hy_re,Hy_im,Hz_re,Hz_im 2 | 4e+10,1,0.00125,0.000125,-0.00027625950835845,6.12814571217125e-08,1,-0,1.64508361038243e-05,0.00890688702254988,-0.00668537750255745,8.41114325696254e-06,-2.40867571377762e-06,2.12512802149749e-09,-4.0701186610028e-09,-1.38978762712985e-06 3 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_current/Lee_microstrip.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Lee_microstrip/full_line_omit_current/Lee_microstrip.FCStd -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_current/Lee_microstrip.geo: -------------------------------------------------------------------------------- 1 | Merge "Lee_microstrip.brep"; 2 | //+ 3 | Physical Surface("air", 2) = {2}; 4 | //+ 5 | Physical Surface("Lee_semiconductor", 1) = {1}; 6 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_current/Lee_microstrip_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | ../full_line/Lee_microstrip_derived_test_cases.csv -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_current/Lee_microstrip_lines_omit_current.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/regression/Lee_microstrip/full_line_omit_current/Lee_microstrip.FCStd 5 | EndFile 6 | 7 | Path 8 | name=V1 9 | point=(0.00125,0.0) 10 | point=(0.00125,0.00025) 11 | closed=false 12 | EndPath 13 | 14 | Line 15 | line=1 16 | type=voltage 17 | path=V1 18 | EndLine 19 | 20 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_current/Lee_microstrip_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.7758944309217,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49590823954737,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,57.9524033642139,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.0720839355146515,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,0.00125,0.000125,equal,1.00000003829497,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,0.00125,0.000125,equal,1.5710725862964,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,0.00125,0.000125,equal,1.57077987595942,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,0.00125,0.000125,equal,0.008906887022723,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,0.00125,0.000125,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,0.00125,0.000125,equal,6.88023269612755e-06,1e-07 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,0.00125,0.000125,equal,0.00668537793648363,1e-10 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,0.00125,0.000125,equal,-3.14123236344769,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,0.00125,0.000125,equal,1.57079693560395,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,0.00125,0.000125,equal,8.52518885731767e-06,1e-09 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,0.00125,0.000125,equal,0.000252656259137101,1e-07 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,0.00125,0.000125,equal,1.73454850599112,1e-08 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_current/Lee_microstrip_test_fields.csv: -------------------------------------------------------------------------------- 1 | #frequency,mode,x,y,Ex_re,Ex_im,Ey_re,Ey_im,Ez_re,Ez_im,Hx_re,Hx_im,Hy_re,Hy_im,Hz_re,Hz_im 2 | 4e+10,1,0.00125,0.000125,-0.00027625950835845,6.12814571217125e-08,1,-0,1.64508361038243e-05,0.00890688702254988,-0.00668537750255745,8.41114325696254e-06,-2.40867571377762e-06,2.12512802149749e-09,-4.0701186610028e-09,-1.38978762712985e-06 3 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_voltage/Lee_microstrip.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Lee_microstrip/full_line_omit_voltage/Lee_microstrip.FCStd -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_voltage/Lee_microstrip.geo: -------------------------------------------------------------------------------- 1 | Merge "Lee_microstrip.brep"; 2 | //+ 3 | Physical Surface("air", 2) = {2}; 4 | //+ 5 | Physical Surface("Lee_semiconductor", 1) = {1}; 6 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_voltage/Lee_microstrip_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.6894256926086,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49062679205796,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,49.5694085762329,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.061511012099239,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,0.00125,0.000125,equal,1.0000000046741,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,0.00125,0.000125,equal,1.57089144640962,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,0.00125,0.000125,equal,1.57077899310344,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,0.00125,0.000125,equal,0.0093344162514818,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,0.00125,0.000125,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,0.00125,0.000125,equal,5.49855726559727e-06,1e-06 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,0.00125,0.000125,equal,0.00667597104033415,1e-10 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,0.00125,0.000125,equal,-3.14147953201211,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,0.00125,0.000125,equal,1.5707966215137,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,0.00125,0.000125,equal,8.41158064368494e-06,1e-07 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,0.00125,0.000125,equal,7.35908991082639e-05,1e-07 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,0.00125,0.000125,equal,1.64334622185137,1e-08 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_voltage/Lee_microstrip_lines_omit_voltage.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/regression/Lee_microstrip/full_line_omit_voltage/Lee_microstrip.FCStd 5 | EndFile 6 | 7 | Path 8 | name=line1 9 | point=(0.001125,0.00025) 10 | point=(0.001375,0.00025) 11 | point=(0.001375,0.00030000000000000003) 12 | point=(0.001125,0.00030000000000000003) 13 | closed=true 14 | EndPath 15 | 16 | Line 17 | line=1 18 | type=current 19 | path=line1 20 | EndLine 21 | 22 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_voltage/Lee_microstrip_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.6894256926086,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49062679205796,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,49.5694085762329,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.061511012099239,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,0.00125,0.000125,equal,1.0000000046741,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,0.00125,0.000125,equal,1.57089144640962,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,0.00125,0.000125,equal,1.57077899310344,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,0.00125,0.000125,equal,0.0093344162514818,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,0.00125,0.000125,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,0.00125,0.000125,equal,5.49855726559727e-06,1e-06 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,0.00125,0.000125,equal,0.00667597104033415,1e-10 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,0.00125,0.000125,equal,-3.14147953201211,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,0.00125,0.000125,equal,1.5707966215137,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,0.00125,0.000125,equal,8.41158064368494e-06,1e-07 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,0.00125,0.000125,equal,7.35908991082639e-05,1e-07 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,0.00125,0.000125,equal,1.64334622185137,1e-08 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_line_omit_voltage/Lee_microstrip_test_fields.csv: -------------------------------------------------------------------------------- 1 | #frequency,mode,x,y,Ex_re,Ex_im,Ey_re,Ey_im,Ez_re,Ez_im,Hx_re,Hx_im,Hy_re,Hy_im,Hz_re,Hz_im 2 | 4e+10,1,0.00125,0.000125,-9.51196129094605e-05,5.13258281987373e-08,1,-0,1.7333691541546e-05,0.00933441625109854,-0.00667597099763095,8.38945320531963e-06,-7.55196376971206e-07,6.17387362037562e-10,-1.96753411888321e-09,-6.09724067172731e-07 3 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal/Lee_microstrip.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Lee_microstrip/full_modal/Lee_microstrip.FCStd -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal/Lee_microstrip.geo: -------------------------------------------------------------------------------- 1 | Merge "Lee_microstrip.brep"; 2 | //+ 3 | Physical Surface("air", 2) = {2}; 4 | //+ 5 | Physical Surface("Lee_semiconductor", 1) = {1}; 6 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal/Lee_microstrip_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | ../full_line/Lee_microstrip_derived_test_cases.csv -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal/Lee_microstrip_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/regression/Lee_microstrip/full_modal/Lee_microstrip.FCStd 5 | EndFile 6 | 7 | Path 8 | name=V1 9 | point=(0.00125,0.0) 10 | point=(0.00125,0.00025) 11 | closed=false 12 | EndPath 13 | 14 | Path 15 | name=line1 16 | point=(0.001125,0.00025) 17 | point=(0.001375,0.00025) 18 | point=(0.001375,0.00030000000000000003) 19 | point=(0.001125,0.00030000000000000003) 20 | closed=true 21 | EndPath 22 | 23 | Mode 24 | mode=1 25 | type=voltage 26 | path=V1 27 | EndMode 28 | 29 | Mode 30 | mode=1 31 | type=current 32 | path=line1 33 | EndMode 34 | 35 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal/Lee_microstrip_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.7758944309217,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49590823954737,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,57.9524033642139,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.0720839355146515,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,0.00125,0.000125,equal,1.00000003829497,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,0.00125,0.000125,equal,1.5710725862964,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,0.00125,0.000125,equal,1.57077987595942,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,0.00125,0.000125,equal,0.008906887022723,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,0.00125,0.000125,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,0.00125,0.000125,equal,6.88023269612755e-06,1e-07 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,0.00125,0.000125,equal,0.00668537793648363,1e-10 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,0.00125,0.000125,equal,-3.14123236344769,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,0.00125,0.000125,equal,1.57079693560395,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,0.00125,0.000125,equal,8.52518885731767e-06,1e-09 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,0.00125,0.000125,equal,0.000252656259137101,1e-07 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,0.00125,0.000125,equal,1.73454850599112,1e-08 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal/Lee_microstrip_test_fields.csv: -------------------------------------------------------------------------------- 1 | #frequency,mode,x,y,Ex_re,Ex_im,Ey_re,Ey_im,Ez_re,Ez_im,Hx_re,Hx_im,Hy_re,Hy_im,Hz_re,Hz_im 2 | 4e+10,1,0.00125,0.000125,-0.00027625950835845,6.12814571217125e-08,1,-0,1.64508361038243e-05,0.00890688702254988,-0.00668537750255745,8.41114325696254e-06,-2.40867571377762e-06,2.12512802149749e-09,-4.0701186610028e-09,-1.38978762712985e-06 3 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_current/Lee_microstrip.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Lee_microstrip/full_modal_omit_current/Lee_microstrip.FCStd -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_current/Lee_microstrip.geo: -------------------------------------------------------------------------------- 1 | Merge "Lee_microstrip.brep"; 2 | //+ 3 | Physical Surface("air", 2) = {2}; 4 | //+ 5 | Physical Surface("Lee_semiconductor", 1) = {1}; 6 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_current/Lee_microstrip_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | ../full_line/Lee_microstrip_derived_test_cases.csv -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_current/Lee_microstrip_modes_omit_current.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/regression/Lee_microstrip/full_modal_omit_current/Lee_microstrip.FCStd 5 | EndFile 6 | 7 | Path 8 | name=V1 9 | point=(0.00125,0.0) 10 | point=(0.00125,0.00025) 11 | closed=false 12 | EndPath 13 | 14 | Mode 15 | mode=1 16 | type=voltage 17 | path=V1 18 | EndMode 19 | 20 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_current/Lee_microstrip_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.7758944309217,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49590823954737,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,57.9524033642139,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.0720839355146515,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,0.00125,0.000125,equal,1.00000003829497,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,0.00125,0.000125,equal,1.5710725862964,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,0.00125,0.000125,equal,1.57077987595942,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,0.00125,0.000125,equal,0.008906887022723,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,0.00125,0.000125,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,0.00125,0.000125,equal,6.88023269612755e-06,1e-07 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,0.00125,0.000125,equal,0.00668537793648363,1e-10 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,0.00125,0.000125,equal,-3.14123236344769,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,0.00125,0.000125,equal,1.57079693560395,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,0.00125,0.000125,equal,8.52518885731767e-06,1e-09 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,0.00125,0.000125,equal,0.000252656259137101,1e-07 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,0.00125,0.000125,equal,1.73454850599112,1e-08 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_current/Lee_microstrip_test_fields.csv: -------------------------------------------------------------------------------- 1 | #frequency,mode,x,y,Ex_re,Ex_im,Ey_re,Ey_im,Ez_re,Ez_im,Hx_re,Hx_im,Hy_re,Hy_im,Hz_re,Hz_im 2 | 4e+10,1,0.00125,0.000125,-0.00027625950835845,6.12814571217125e-08,1,-0,1.64508361038243e-05,0.00890688702254988,-0.00668537750255745,8.41114325696254e-06,-2.40867571377762e-06,2.12512802149749e-09,-4.0701186610028e-09,-1.38978762712985e-06 3 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_voltage/Lee_microstrip.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Lee_microstrip/full_modal_omit_voltage/Lee_microstrip.FCStd -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_voltage/Lee_microstrip.geo: -------------------------------------------------------------------------------- 1 | Merge "Lee_microstrip.brep"; 2 | //+ 3 | Physical Surface("air", 2) = {2}; 4 | //+ 5 | Physical Surface("Lee_semiconductor", 1) = {1}; 6 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_voltage/Lee_microstrip_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | ../full_line_omit_voltage/Lee_microstrip_derived_test_cases.csv -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_voltage/Lee_microstrip_lines_omit_voltage.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/regression/Lee_microstrip/full_line_omit_voltage/Lee_microstrip.FCStd 5 | EndFile 6 | 7 | Path 8 | name=line1 9 | point=(0.001125,0.00025) 10 | point=(0.001375,0.00025) 11 | point=(0.001375,0.00030000000000000003) 12 | point=(0.001125,0.00030000000000000003) 13 | closed=true 14 | EndPath 15 | 16 | Line 17 | line=1 18 | type=current 19 | path=line1 20 | EndLine 21 | 22 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_voltage/Lee_microstrip_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.6894256926086,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49062679205796,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,49.5694085762329,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.061511012099239,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,0.00125,0.000125,equal,1.0000000046741,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,0.00125,0.000125,equal,1.57089144640962,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,0.00125,0.000125,equal,1.57077899310344,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,0.00125,0.000125,equal,0.0093344162514818,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,0.00125,0.000125,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,0.00125,0.000125,equal,5.49855726559727e-06,1e-06 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,0.00125,0.000125,equal,0.00667597104033415,1e-10 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,0.00125,0.000125,equal,-3.14147953201211,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,0.00125,0.000125,equal,1.5707966215137,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,0.00125,0.000125,equal,8.41158064368494e-06,1e-07 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,0.00125,0.000125,equal,7.35908991082639e-05,1e-07 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,0.00125,0.000125,equal,1.64334622185137,1e-08 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/full_modal_omit_voltage/Lee_microstrip_test_fields.csv: -------------------------------------------------------------------------------- 1 | #frequency,mode,x,y,Ex_re,Ex_im,Ey_re,Ey_im,Ez_re,Ez_im,Hx_re,Hx_im,Hy_re,Hy_im,Hz_re,Hz_im 2 | 4e+10,1,0.00125,0.000125,-9.51196129094605e-05,5.13258281987373e-08,1,-0,1.7333691541546e-05,0.00933441625109854,-0.00667597099763095,8.38945320531963e-06,-7.55196376971206e-07,6.17387362037562e-10,-1.96753411888321e-09,-6.09724067172731e-07 3 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/Lee_microstrip.geo: -------------------------------------------------------------------------------- 1 | // Control 2 | // build=Lee_microstrip 3 | // check_limits=true 4 | // EndControl 5 | // Strip 6 | // name=Lee_microstrip 7 | // use_symmetry=true 8 | // upper_material=air 9 | // upper_thickness=0.00225 10 | // lower_material=Lee_semiconductor 11 | // lower_thickness=0.00025 12 | // left_side_gap=0.001125 13 | // right_side_gap=0.001125 14 | // trace_thickness=5e-05 15 | // trace_width=0.00025 16 | // trace_etch_angle=90 17 | // default_conductor_material=PEC 18 | // EndStrip 19 | Point(1) = {-0.00125,0,0,0.000625}; 20 | Point(2) = {-0.000375,0,0,0.000625}; 21 | Point(3) = {-0.000125,0,0,0.00025}; 22 | Point(4) = {0,0,0,0.00025}; 23 | Point(8) = {-0.00125,0.00025,0,0.000625}; 24 | Point(9) = {-0.000208333333333333,0.00025,0,0.000625}; 25 | Point(10) = {-0.000166666666666667,0.00025,0,5e-05}; 26 | Point(11) = {-0.000125,0.00025,0,5e-05}; 27 | Point(12) = {-8.33333333333333e-05,0.00025,0,5e-05}; 28 | Point(13) = {-4.16666666666667e-05,0.00025,0,0.00025}; 29 | Point(14) = {0,0.00025,0,0.00025}; 30 | Point(21) = {-0.000125,0.0003,0,5e-05}; 31 | Point(22) = {-8.33333333333333e-05,0.0003,0,5e-05}; 32 | Point(23) = {-4.16666666666667e-05,0.0003,0,0.00025}; 33 | Point(24) = {0,0.0003,0,0.00025}; 34 | Point(28) = {-0.00125,0.0025,0,0.000625}; 35 | Point(29) = {0,0.0025,0,0.000625}; 36 | Line(1) = {1,2}; 37 | Line(2) = {2,3}; 38 | Line(3) = {3,4}; 39 | Line(7) = {1,8}; 40 | Line(9) = {8,9}; 41 | Line(10) = {9,10}; 42 | Line(11) = {10,11}; 43 | Line(12) = {11,12}; 44 | Line(13) = {12,13}; 45 | Line(14) = {13,14}; 46 | Line(21) = {11,21}; 47 | Line(23) = {21,22}; 48 | Line(24) = {22,23}; 49 | Line(25) = {23,24}; 50 | Line(29) = {8,28}; 51 | Line(31) = {28,29}; 52 | Line(33) = {4,14}; 53 | Line(34) = {24,29}; 54 | Curve Loop(1) = {1,2,3,33,-14,-13,-12,-11,-10,-9,-7}; 55 | Plane Surface(1) = {1}; 56 | Curve Loop(2) = {9,10,11,21,23,24,25,34,-31,-29}; 57 | Plane Surface(2) = {2}; 58 | Physical Surface("Lee_semiconductor",1) = {1}; 59 | Physical Surface("air",2) = {2}; 60 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/Lee_microstrip.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields false 6 | mesh.file Lee_microstrip.msh 7 | mesh.order 4 8 | mesh.refinement.fraction 0.01 9 | mode.definition.file Lee_microstrip_modes.txt 10 | materials.global.path ../../ 11 | materials.global.name global_materials.txt 12 | materials.local.path 13 | materials.local.name 14 | refinement.frequency all 15 | refinement.variable |Zo| 16 | refinement.iteration.min 3 17 | refinement.iteration.max 50 18 | refinement.required.passes 3 19 | refinement.tolerance 1e-4 20 | frequency.plan.point 40e9 21 | solution.modes 1 22 | solution.temperature 20 23 | solution.tolerance 1e-10 24 | solution.iteration.limit 30000 25 | solution.modes.buffer 0 26 | solution.impedance.definition PV 27 | solution.impedance.calculation modal 28 | solution.shift.invert true 29 | solution.use.initial.guess true 30 | solution.check.closed.loop false 31 | output.show.refining.mesh false 32 | output.show.postprocessing false 33 | output.show.iterations false 34 | output.show.license false 35 | debug.show.impedance.details false 36 | test.create.cases false 37 | 38 | field.point -0.001,0.0001 39 | 40 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/Lee_microstrip_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.6824463730896,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49021996367744,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,116.070934643736,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.144007087194388,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,-0.001,0.0001,equal,1.18120955550369,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,-0.001,0.0001,equal,2.13204552734438,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,-0.001,0.0001,equal,1.56921439129214,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,-0.001,0.0001,equal,0.704638360602666,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,-0.001,0.0001,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,-0.001,0.0001,equal,0.00325164739827864,1e-09 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,-0.001,0.0001,equal,0.029022970519435,1e-09 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,-0.001,0.0001,equal,2.94744354302462,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,-0.001,0.0001,equal,1.56816397999721,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,-0.001,0.0001,equal,0.0375012811874254,1e-10 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,-0.001,0.0001,equal,-0.103701778145736,1e-09 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,-0.001,0.0001,equal,0.00175255991267072,1e-09 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/Lee_microstrip_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=Lee_microstrip 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=Lee_microstrip 9 | // use_symmetry=true 10 | // upper_material=air 11 | // upper_thickness=0.00225 12 | // lower_material=Lee_semiconductor 13 | // lower_thickness=0.00025 14 | // left_side_gap=0.001125 15 | // right_side_gap=0.001125 16 | // trace_thickness=5e-05 17 | // trace_width=0.00025 18 | // trace_etch_angle=90 19 | // default_conductor_material=PEC 20 | // EndStrip 21 | 22 | File 23 | name=generated_by_builder 24 | EndFile 25 | 26 | Path 27 | name=voltage_line 28 | point=(0,0) 29 | point=(0,0.00025) 30 | closed=false 31 | EndPath 32 | 33 | Mode 34 | mode=1 35 | type=voltage 36 | path=voltage_line 37 | EndMode 38 | 39 | Path 40 | name=symmetry_line 41 | point=(0,0) 42 | point=(0,0.0025) 43 | closed=false 44 | EndPath 45 | 46 | Boundary 47 | name=symmetry 48 | type=perfect_magnetic_conductor 49 | path=symmetry_line 50 | EndBoundary 51 | 52 | Path 53 | name=trace_top 54 | point=(-0.000125,0.0003) 55 | point=(0,0.0003) 56 | closed=false 57 | EndPath 58 | 59 | Path 60 | name=trace_bottom 61 | point=(-0.000125,0.00025) 62 | point=(0,0.00025) 63 | closed=false 64 | EndPath 65 | 66 | Path 67 | name=trace_left 68 | point=(-0.000125,0.00025) 69 | point=(-0.000125,0.0003) 70 | closed=false 71 | EndPath 72 | 73 | Mode 74 | mode=1 75 | type=current 76 | path=+trace_top 77 | path+=trace_bottom 78 | path+=trace_left 79 | EndMode 80 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/Lee_microstrip_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Lee_microstrip_1_1_0_result,4e+10,1,alpha,equal,22.6824463730896,1e-10 3 | Lee_microstrip_1_1_1_result,40000000000,1,beta,equal,2.49021996367744,1e-10 4 | Lee_microstrip_1_1_2_result,40000000000,1,real_Z,equal,116.070934643736,1e-10 5 | Lee_microstrip_1_1_3_result,40000000000,1,imag_Z,equal,0.144007087194388,1e-10 6 | # FieldPointDatabase::save_as_test 7 | Lee_microstrip_1_1_0_field,4e+10,1,real_Emag,-0.001,0.0001,equal,1.18120955550369,1e-10 8 | Lee_microstrip_1_1_1_field,40000000000,1,real_Ephi,-0.001,0.0001,equal,2.13204552734438,1e-10 9 | Lee_microstrip_1_1_2_field,40000000000,1,real_Etheta,-0.001,0.0001,equal,1.56921439129214,1e-10 10 | Lee_microstrip_1_1_3_field,40000000000,1,imag_Emag,-0.001,0.0001,equal,0.704638360602666,1e-10 11 | Lee_microstrip_1_1_4_field,40000000000,1,imag_Ephi,-0.001,0.0001,lessthan,1e-10 12 | Lee_microstrip_1_1_5_field,40000000000,1,imag_Etheta,-0.001,0.0001,equal,0.00325164739827864,1e-09 13 | Lee_microstrip_1_1_6_field,40000000000,1,real_Hmag,-0.001,0.0001,equal,0.029022970519435,1e-09 14 | Lee_microstrip_1_1_7_field,40000000000,1,real_Hphi,-0.001,0.0001,equal,2.94744354302462,1e-10 15 | Lee_microstrip_1_1_8_field,40000000000,1,real_Htheta,-0.001,0.0001,equal,1.56816397999721,1e-10 16 | Lee_microstrip_1_1_9_field,40000000000,1,imag_Hmag,-0.001,0.0001,equal,0.0375012811874254,1e-10 17 | Lee_microstrip_1_1_10_field,40000000000,1,imag_Hphi,-0.001,0.0001,equal,-0.103701778145736,1e-09 18 | Lee_microstrip_1_1_11_field,40000000000,1,imag_Htheta,-0.001,0.0001,equal,0.00175255991267072,1e-09 19 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/Lee_microstrip_test_fields.csv: -------------------------------------------------------------------------------- 1 | #frequency,mode,x,y,Ex_re,Ex_im,Ey_re,Ey_im,Ez_re,Ez_im,Hx_re,Hx_im,Hy_re,Hy_im,Hz_re,Hz_im 2 | 4e+10,1,-0.001,0.0001,-0.628691118407608,0.00229123145449434,1,-0,0.00186859655278361,0.704634635463376,-0.0284775937491876,6.53701294079827e-05,0.00559943169525515,-6.8034042325623e-06,7.63984352905832e-05,0.0375012235989037 3 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/builder/Lee_microstrip.geo: -------------------------------------------------------------------------------- 1 | // Control 2 | // build=Lee_microstrip 3 | // check_limits=true 4 | // EndControl 5 | // Strip 6 | // name=Lee_microstrip 7 | // use_symmetry=true 8 | // upper_material=air 9 | // upper_thickness=0.00225 10 | // lower_material=Lee_semiconductor 11 | // lower_thickness=0.00025 12 | // left_side_gap=0.001125 13 | // right_side_gap=0.001125 14 | // trace_thickness=5e-05 15 | // trace_width=0.00025 16 | // trace_etch_angle=90 17 | // default_conductor_material=PEC 18 | // EndStrip 19 | Point(1) = {-0.00125,0,0,0.000625}; 20 | Point(2) = {-0.000375,0,0,0.000625}; 21 | Point(3) = {-0.000125,0,0,0.00025}; 22 | Point(4) = {0,0,0,0.00025}; 23 | Point(8) = {-0.00125,0.00025,0,0.000625}; 24 | Point(9) = {-0.000208333333333333,0.00025,0,0.000625}; 25 | Point(10) = {-0.000166666666666667,0.00025,0,5e-05}; 26 | Point(11) = {-0.000125,0.00025,0,5e-05}; 27 | Point(12) = {-8.33333333333333e-05,0.00025,0,5e-05}; 28 | Point(13) = {-4.16666666666667e-05,0.00025,0,0.00025}; 29 | Point(14) = {0,0.00025,0,0.00025}; 30 | Point(21) = {-0.000125,0.0003,0,5e-05}; 31 | Point(22) = {-8.33333333333333e-05,0.0003,0,5e-05}; 32 | Point(23) = {-4.16666666666667e-05,0.0003,0,0.00025}; 33 | Point(24) = {0,0.0003,0,0.00025}; 34 | Point(28) = {-0.00125,0.0025,0,0.000625}; 35 | Point(29) = {0,0.0025,0,0.000625}; 36 | Line(1) = {1,2}; 37 | Line(2) = {2,3}; 38 | Line(3) = {3,4}; 39 | Line(7) = {1,8}; 40 | Line(9) = {8,9}; 41 | Line(10) = {9,10}; 42 | Line(11) = {10,11}; 43 | Line(12) = {11,12}; 44 | Line(13) = {12,13}; 45 | Line(14) = {13,14}; 46 | Line(21) = {11,21}; 47 | Line(23) = {21,22}; 48 | Line(24) = {22,23}; 49 | Line(25) = {23,24}; 50 | Line(29) = {8,28}; 51 | Line(31) = {28,29}; 52 | Line(33) = {4,14}; 53 | Line(34) = {24,29}; 54 | Curve Loop(1) = {1,2,3,33,-14,-13,-12,-11,-10,-9,-7}; 55 | Plane Surface(1) = {1}; 56 | Curve Loop(2) = {9,10,11,21,23,24,25,34,-31,-29}; 57 | Plane Surface(2) = {2}; 58 | Physical Surface("Lee_semiconductor",1) = {1}; 59 | Physical Surface("air",2) = {2}; 60 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/builder/Lee_microstrip.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file Lee_microstrip.msh 8 | mesh.order 4 9 | 10 | mode.definition.file Lee_microstrip_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/builder/Lee_microstrip_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=Lee_microstrip 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=Lee_microstrip 9 | // use_symmetry=true 10 | // upper_material=air 11 | // upper_thickness=0.00225 12 | // lower_material=Lee_semiconductor 13 | // lower_thickness=0.00025 14 | // left_side_gap=0.001125 15 | // right_side_gap=0.001125 16 | // trace_thickness=5e-05 17 | // trace_width=0.00025 18 | // trace_etch_angle=90 19 | // default_conductor_material=PEC 20 | // EndStrip 21 | 22 | File 23 | name=generated_by_builder 24 | EndFile 25 | 26 | Path 27 | name=voltage_line 28 | point=(0,0) 29 | point=(0,0.00025) 30 | closed=false 31 | EndPath 32 | 33 | Mode 34 | mode=1 35 | type=voltage 36 | path=voltage_line 37 | EndMode 38 | 39 | Path 40 | name=symmetry_line 41 | point=(0,0) 42 | point=(0,0.0025) 43 | closed=false 44 | EndPath 45 | 46 | Boundary 47 | name=symmetry 48 | type=perfect_magnetic_conductor 49 | path=symmetry_line 50 | EndBoundary 51 | 52 | Path 53 | name=trace_top 54 | point=(-0.000125,0.0003) 55 | point=(0,0.0003) 56 | closed=false 57 | EndPath 58 | 59 | Path 60 | name=trace_bottom 61 | point=(-0.000125,0.00025) 62 | point=(0,0.00025) 63 | closed=false 64 | EndPath 65 | 66 | Path 67 | name=trace_left 68 | point=(-0.000125,0.00025) 69 | point=(-0.000125,0.0003) 70 | closed=false 71 | EndPath 72 | 73 | Mode 74 | mode=1 75 | type=current 76 | path=+trace_top 77 | path+=trace_bottom 78 | path+=trace_left 79 | EndMode 80 | -------------------------------------------------------------------------------- /regression/Lee_microstrip/half/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=Lee_microstrip 5 | check_limits=true 6 | EndControl 7 | 8 | Strip 9 | name=Lee_microstrip 10 | use_symmetry=true 11 | left_side_gap=0.001125 12 | right_side_gap=0.001125 13 | upper_thickness=0.00225 14 | upper_material=air 15 | lower_thickness=0.00025 16 | lower_material=Lee_semiconductor 17 | trace_thickness=0.00005 18 | trace_width=0.00025 19 | trace_etch_angle=90 20 | default_conductor_material=PEC 21 | //trace_material_top=copper1 22 | //trace_material_bottom=copper2 23 | //trace_material_sides=copper3 24 | //groundplane_material=copper 25 | EndStrip 26 | 27 | -------------------------------------------------------------------------------- /regression/README.txt: -------------------------------------------------------------------------------- 1 | Note: The regression tests are set up to exercise and to check setop options for OpenParEM2D, so the setups do not necessarily 2 | demonstrate the best way to set a up a problem. 3 | 4 | 1. check on project files 5 | 6 | (a) find . -name ".*.lock" -print 7 | 8 | Remove any locks found. 9 | Verify that a valid job is not running before removing a lock file. 10 | 11 | (b) proj_search has output.show.license | grep true 12 | proj_search has debug.show.mode.definitions | grep true 13 | proj_search has debug.show.impedance.details | grep true 14 | proj_search has debug.tempfiles.keep | grep true 15 | proj_search has project.save.fields | grep true 16 | proj_search has test.create.cases | grep true 17 | proj_search has debug.tempfiles.keep | grep true 18 | 19 | Generally, these should be false to minimize disk usage. 20 | 21 | 2. To set up a project: 22 | 23 | If derived comparisons are desired, then run with test.create.cases set to true. 24 | Then: 25 | mpirun -np OpenParEM2D *.proj 26 | mv *_prototype_test_cases.csv *_derived_test_cases.csv 27 | Edit the file *_derived_test_cases.csv as desired. 28 | Set test.create.cases to false 29 | 30 | 3. To check a project for errors: 31 | 32 | process.sh project.proj N 33 | 34 | 4. To check errors in all projects, from the regression directory: 35 | 36 | regression.sh >& regression.log 37 | 38 | 5. To check the files for issues, run: 39 | 40 | ./check.sh 41 | 42 | 6. To add projects to the regression suite, add a line to 43 | 44 | regression_case_list.txt 45 | 46 | 7. To clean up directories after a regression run, from the regression directory: 47 | 48 | find -type d -exec project_cleanup.sh {} \; 49 | 50 | WARNING: Will remove 'regression_results.csv' and 'regression.log', so save these first. 51 | 52 | 53 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline/Simonovich_stripline.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file Simonovich_stripline.msh 6 | 7 | mesh.order 2 8 | mesh.uniform_refinement.count 0 9 | mesh.refinement.fraction 0.01 10 | 11 | mode.definition.file Simonovich_stripline_modes.txt 12 | 13 | materials.global.path 14 | materials.global.name 15 | materials.local.path ./ 16 | materials.local.name local_materials.txt 17 | materials.check.limits true 18 | 19 | refinement.frequency high 20 | 21 | refinement.variable alpha 22 | refinement.iteration.min 3 23 | refinement.iteration.max 50 24 | refinement.required.passes 1 25 | refinement.tolerance 1e-4 26 | 27 | frequency.plan.linear 20e9,50e9,30e9 28 | 29 | solution.modes 1 30 | solution.temperature 20 31 | solution.tolerance 1e-12 32 | solution.iteration.limit 100000 33 | solution.modes.buffer 0 34 | solution.impedance.definition PI 35 | solution.impedance.calculation modal 36 | solution.accurate.residual false 37 | solution.shift.invert true 38 | solution.use.initial.guess true 39 | solution.shift.factor 1 40 | 41 | output.show.refining.mesh false 42 | output.show.postprocessing false 43 | output.show.iterations false 44 | 45 | test.create.cases false 46 | test.show.audit false 47 | test.show.detailed.cases false 48 | 49 | debug.show.memory false 50 | debug.show.project false 51 | debug.show.frequency.plan false 52 | debug.show.materials false 53 | debug.show.mode.definitions false 54 | debug.show.impedance.details false 55 | debug.skip.solve false 56 | debug.tempfiles.keep false 57 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline/Simonovich_stripline_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Simonovich_stripline_1_1_0_result,2e+10,1,alpha,equal,56.6682505900062,1e-10 3 | Simonovich_stripline_1_1_1_result,20000000000,1,beta,equal,1.92836303005291,1e-10 4 | Simonovich_stripline_1_1_2_result,20000000000,1,real_Z,equal,49.1217410528491,1e-10 5 | Simonovich_stripline_1_1_3_result,20000000000,1,imag_Z,equal,0.232193922124397,1e-10 6 | Simonovich_stripline_2_1_4_result,50000000000,1,alpha,equal,133.735178389929,1e-10 7 | Simonovich_stripline_2_1_5_result,50000000000,1,beta,equal,1.92837502704944,1e-10 8 | Simonovich_stripline_2_1_6_result,50000000000,1,real_Z,equal,49.1470249082978,1e-10 9 | Simonovich_stripline_2_1_7_result,50000000000,1,imag_Z,equal,0.232297330953204,1e-10 10 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline/Simonovich_stripline_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | Simonovich_stripline_1_1_0_result,2e+10,1,alpha,equal,56.6682505900062,1e-10 3 | Simonovich_stripline_1_1_1_result,20000000000,1,beta,equal,1.92836303005291,1e-10 4 | Simonovich_stripline_1_1_2_result,20000000000,1,real_Z,equal,49.1217410528491,1e-10 5 | Simonovich_stripline_1_1_3_result,20000000000,1,imag_Z,equal,0.232193922124397,1e-10 6 | Simonovich_stripline_2_1_4_result,50000000000,1,alpha,equal,133.735178389929,1e-10 7 | Simonovich_stripline_2_1_5_result,50000000000,1,beta,equal,1.92837502704944,1e-10 8 | Simonovich_stripline_2_1_6_result,50000000000,1,real_Z,equal,49.1470249082978,1e-10 9 | Simonovich_stripline_2_1_7_result,50000000000,1,imag_Z,equal,0.232297330953204,1e-10 10 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline/builder/Simonovich_stripline.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file Simonovich_stripline.msh 8 | mesh.order 4 9 | 10 | mode.definition.file Simonovich_stripline_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=Simonovich_stripline 5 | check_limits=true 6 | EndControl 7 | 8 | Strip 9 | name=Simonovich_stripline 10 | use_symmetry=false 11 | left_side_gap=0.00486 12 | right_side_gap=0.00486 13 | upper_thickness=0.000301 14 | upper_material=prepreg 15 | lower_thickness=0.000305 16 | lower_material=core 17 | trace_thickness=0.00003175 18 | trace_width=0.000279 19 | trace_etch_angle=60 20 | default_conductor_material=PEC // box left and right sides 21 | trace_material_bottom=copper_core 22 | trace_material_top=copper_prepreg 23 | trace_material_sides=copper_prepreg 24 | upper_groundplane_material=copper_prepreg 25 | lower_groundplane_material=copper_core 26 | EndStrip 27 | 28 | 29 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=prepreg 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=3.713 // 3.713 adjusted per the paper vs. datasheet value of 3.59 10 | mur=1 11 | tand=0.0095 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | Simonovich, A Practical Method to Model Effective Permittivity and Phase Delay Due to Conductor Surface Roughness 17 | EndSource 18 | EndMaterial 19 | 20 | Material 21 | name=core 22 | Temperature 23 | temperature=any 24 | Frequency 25 | frequency=any 26 | er=3.725 // 3.725 adjusted per the paper vs. datasheet value of 3.65 27 | mur=1 28 | tand=0.0094 29 | Rz=0 30 | EndFrequency 31 | EndTemperature 32 | Source 33 | Simonovich, A Practical Method to Model Effective Permittivity and Phase Delay Due to Conductor Surface Roughness 34 | EndSource 35 | EndMaterial 36 | 37 | Material 38 | name=copper_prepreg 39 | Temperature 40 | temperature=any 41 | Frequency 42 | frequency=any 43 | er=1 44 | mur=1 45 | conductivity=5.813e7 46 | Rz=4.445e-6 47 | EndFrequency 48 | EndTemperature 49 | Source 50 | copper conductivity - use IPC spec at 20 degC - conductivity not provided in the paper 51 | Simonovich, A Practical Method to Model Effective Permittivity and Phase Delay Due to Conductor Surface Roughness 52 | EndSource 53 | EndMaterial 54 | 55 | Material 56 | name=copper_core 57 | Temperature 58 | temperature=any 59 | Frequency 60 | frequency=any 61 | er=1 62 | mur=1 63 | conductivity=5.813e7 64 | Rz=3.048e-6 65 | EndFrequency 66 | EndTemperature 67 | Source 68 | copper conductivity - use IPC spec at 20 degC - conductivity not provided in the paper 69 | Simonovich, A Practical Method to Model Effective Permittivity and Phase Delay Due to Conductor Surface Roughness 70 | EndSource 71 | EndMaterial 72 | 73 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/Simonovich_stripline.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file Simonovich_stripline.msh 6 | 7 | mesh.order 2 8 | mesh.uniform_refinement.count 0 9 | mesh.refinement.fraction 0.01 10 | 11 | mode.definition.file Simonovich_stripline_modes.txt 12 | 13 | materials.global.path 14 | materials.global.name 15 | materials.local.path ./ 16 | materials.local.name local_materials.txt 17 | materials.check.limits true 18 | 19 | refinement.frequency high 20 | 21 | refinement.variable alpha 22 | refinement.iteration.min 3 23 | refinement.iteration.max 50 24 | refinement.required.passes 1 25 | refinement.tolerance 1e-4 26 | 27 | frequency.plan.point 0.3e9 28 | frequency.plan.linear 1e9,50e9,1e9 29 | 30 | solution.modes 1 31 | solution.temperature 20 32 | solution.tolerance 1e-12 33 | solution.iteration.limit 100000 34 | solution.modes.buffer 0 35 | solution.impedance.definition PI 36 | solution.impedance.calculation modal 37 | solution.accurate.residual false 38 | solution.shift.invert true 39 | solution.use.initial.guess true 40 | solution.shift.factor 1 41 | 42 | output.show.refining.mesh false 43 | output.show.postprocessing false 44 | output.show.iterations false 45 | 46 | test.create.cases false 47 | test.show.audit false 48 | test.show.detailed.cases false 49 | 50 | debug.show.memory false 51 | debug.show.project false 52 | debug.show.frequency.plan false 53 | debug.show.materials false 54 | debug.show.mode.definitions false 55 | debug.show.impedance.details false 56 | debug.skip.solve false 57 | debug.tempfiles.keep false 58 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/Simonovich_stripline_accuracy.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Simonovich_stripline_study/Simonovich_stripline_accuracy.ods -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/Simonovich_stripline_for_plots.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file Simonovich_stripline.msh 6 | 7 | mesh.order 2 8 | mesh.uniform_refinement.count 0 9 | mesh.refinement.fraction 0.01 10 | 11 | mode.definition.file Simonovich_stripline_modes.txt 12 | 13 | materials.global.path 14 | materials.global.name 15 | materials.local.path ./ 16 | materials.local.name local_materials.txt 17 | materials.check.limits true 18 | 19 | refinement.frequency high 20 | 21 | refinement.variable alpha 22 | refinement.iteration.min 3 23 | refinement.iteration.max 50 24 | refinement.required.passes 1 25 | refinement.tolerance 1e-4 26 | 27 | //frequency.plan.point 0.3e9 28 | //frequency.plan.linear 1e9,50e9,1e9 29 | frequency.plan.point 50e9 30 | 31 | solution.modes 1 32 | solution.temperature 20 33 | solution.tolerance 1e-12 34 | solution.iteration.limit 100000 35 | solution.modes.buffer 0 36 | solution.impedance.definition PI 37 | solution.impedance.calculation modal 38 | solution.accurate.residual false 39 | solution.shift.invert true 40 | solution.use.initial.guess true 41 | solution.shift.factor 1 42 | 43 | output.show.refining.mesh false 44 | output.show.postprocessing false 45 | output.show.iterations true // false 46 | 47 | test.create.cases false 48 | test.show.audit false 49 | test.show.detailed.cases false 50 | 51 | debug.show.memory false 52 | debug.show.project false 53 | debug.show.frequency.plan false 54 | debug.show.materials false 55 | debug.show.mode.definitions false 56 | debug.show.impedance.details true // false 57 | debug.skip.solve false 58 | debug.tempfiles.keep false 59 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/builder/Simonovich_stripline.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file Simonovich_stripline.msh 8 | mesh.order 4 9 | 10 | mode.definition.file Simonovich_stripline_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=Simonovich_stripline 5 | check_limits=true 6 | EndControl 7 | 8 | Strip 9 | name=Simonovich_stripline 10 | use_symmetry=false 11 | left_side_gap=0.00486 12 | right_side_gap=0.00486 13 | upper_thickness=0.000301 14 | upper_material=prepreg 15 | lower_thickness=0.000305 16 | lower_material=core 17 | trace_thickness=0.00003175 18 | trace_width=0.000279 19 | trace_etch_angle=60 20 | default_conductor_material=PEC // box left and right sides 21 | trace_material_bottom=copper_core 22 | trace_material_top=copper_prepreg 23 | trace_material_sides=copper_prepreg 24 | upper_groundplane_material=copper_prepreg 25 | lower_groundplane_material=copper_core 26 | EndStrip 27 | 28 | 29 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=prepreg 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=3.713 // 3.713 adjusted per the paper vs. datasheet value of 3.59 10 | mur=1 11 | tand=0.0095 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | Simonovich, A Practical Method to Model Effective Permittivity and Phase Delay Due to Conductor Surface Roughness 17 | EndSource 18 | EndMaterial 19 | 20 | Material 21 | name=core 22 | Temperature 23 | temperature=any 24 | Frequency 25 | frequency=any 26 | er=3.725 // 3.725 adjusted per the paper vs. datasheet value of 3.65 27 | mur=1 28 | tand=0.0094 29 | Rz=0 30 | EndFrequency 31 | EndTemperature 32 | Source 33 | Simonovich, A Practical Method to Model Effective Permittivity and Phase Delay Due to Conductor Surface Roughness 34 | EndSource 35 | EndMaterial 36 | 37 | Material 38 | name=copper_prepreg 39 | Temperature 40 | temperature=any 41 | Frequency 42 | frequency=any 43 | er=1 44 | mur=1 45 | conductivity=5.813e7 46 | Rz=4.445e-6 47 | EndFrequency 48 | EndTemperature 49 | Source 50 | copper conductivity - use IPC spec at 20 degC - conductivity not provided in the paper 51 | Simonovich, A Practical Method to Model Effective Permittivity and Phase Delay Due to Conductor Surface Roughness 52 | EndSource 53 | EndMaterial 54 | 55 | Material 56 | name=copper_core 57 | Temperature 58 | temperature=any 59 | Frequency 60 | frequency=any 61 | er=1 62 | mur=1 63 | conductivity=5.813e7 64 | Rz=3.048e-6 65 | EndFrequency 66 | EndTemperature 67 | Source 68 | copper conductivity - use IPC spec at 20 degC - conductivity not provided in the paper 69 | Simonovich, A Practical Method to Model Effective Permittivity and Phase Delay Due to Conductor Surface Roughness 70 | EndSource 71 | EndMaterial 72 | 73 | -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/screenshots/stripline_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Simonovich_stripline_study/screenshots/stripline_error.png -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/screenshots/stripline_final_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Simonovich_stripline_study/screenshots/stripline_final_mesh.png -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/screenshots/stripline_initial_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Simonovich_stripline_study/screenshots/stripline_initial_mesh.png -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/screenshots/stripline_mesh_zoom1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Simonovich_stripline_study/screenshots/stripline_mesh_zoom1.png -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/screenshots/stripline_mesh_zoom2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Simonovich_stripline_study/screenshots/stripline_mesh_zoom2.png -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/screenshots/stripline_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Simonovich_stripline_study/screenshots/stripline_plot.png -------------------------------------------------------------------------------- /regression/Simonovich_stripline_study/screenshots/stripline_results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/Simonovich_stripline_study/screenshots/stripline_results.png -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_1_refinement_no_mesh_reuse/WR90_exact_test_cases.csv: -------------------------------------------------------------------------------- 1 | # highly accurate field results are not feasible with 1st order elements, so the field results are removed 2 | # equal error limit changed from 1e-5 to 2e-3 3 | WR90_1_1_0_result_exact,9e+09,1,alpha,lessthan,1e-08 4 | WR90_1_1_1_result_exact,9e+09,1,beta,equal,0.685407962562495,2e-03 5 | WR90_1_1_2_result_exact,9e+09,1,real_Z,equal,488.572365707888,2e-03 6 | WR90_1_1_3_result_exact,9e+09,1,imag_Z,lessthan,1e-08 7 | WR90_1_2_148_result_exact,9e+09,2,alpha,equal,1735.9644289781,2e-03 8 | WR90_1_2_149_result_exact,9e+09,2,beta,lessthan,1e-08 9 | WR90_1_3_286_result_exact,9e+09,3,alpha,equal,2127.7920927848,2e-03 10 | WR90_1_3_287_result_exact,9e+09,3,beta,lessthan,1e-08 11 | WR90_1_4_424_result_exact,9e+09,4,alpha,equal,2439.74821862761,2e-03 12 | WR90_1_4_425_result_exact,9e+09,4,beta,lessthan,1e-08 13 | WR90_1_5_562_result_exact,9e+09,5,alpha,equal,2439.74821862761,2e-03 14 | WR90_1_5_563_result_exact,9e+09,5,beta,lessthan,1e-08 15 | WR90_2_1_674_result_exact,1e+10,1,alpha,lessthan,1e-08 16 | WR90_2_1_675_result_exact,1e+10,1,beta,equal,0.755406579840748,2e-03 17 | WR90_2_1_676_result_exact,1e+10,1,real_Z,equal,443.299540513372,2e-03 18 | WR90_2_1_677_result_exact,1e+10,1,imag_Z,lessthan,1e-08 19 | WR90_2_2_822_result_exact,1e+10,2,alpha,equal,1543.8726526439,2e-03 20 | WR90_2_2_823_result_exact,1e+10,2,beta,lessthan,1e-08 21 | WR90_2_3_960_result_exact,1e+10,3,alpha,equal,1974.20096723255,2e-03 22 | WR90_2_3_961_result_exact,1e+10,3,beta,lessthan,1e-08 23 | WR90_2_4_1098_result_exact,1e+10,4,alpha,equal,2307.02007776287,2e-03 24 | WR90_2_4_1099_result_exact,1e+10,4,beta,lessthan,1e-08 25 | WR90_2_5_1236_result_exact,1e+10,5,alpha,equal,2307.02007776287,2e-03 26 | WR90_2_5_1237_result_exact,1e+10,5,beta,lessthan,1e-08 27 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_1_refinement_no_mesh_reuse/WR90_test_cases.csv: -------------------------------------------------------------------------------- 1 | # highly accurate field results are not feasible with 1st order elements, so the field results are removed 2 | # equal error limit changed from 1e-5 to 2e-3 3 | WR90_1_1_0_result_exact,9e+09,1,alpha,lessthan,1e-08 4 | WR90_1_1_1_result_exact,9e+09,1,beta,equal,0.685407962562495,2e-03 5 | WR90_1_1_2_result_exact,9e+09,1,real_Z,equal,488.572365707888,2e-03 6 | WR90_1_1_3_result_exact,9e+09,1,imag_Z,lessthan,1e-08 7 | WR90_1_2_148_result_exact,9e+09,2,alpha,equal,1735.9644289781,2e-03 8 | WR90_1_2_149_result_exact,9e+09,2,beta,lessthan,1e-08 9 | WR90_1_3_286_result_exact,9e+09,3,alpha,equal,2127.7920927848,2e-03 10 | WR90_1_3_287_result_exact,9e+09,3,beta,lessthan,1e-08 11 | WR90_1_4_424_result_exact,9e+09,4,alpha,equal,2439.74821862761,2e-03 12 | WR90_1_4_425_result_exact,9e+09,4,beta,lessthan,1e-08 13 | WR90_1_5_562_result_exact,9e+09,5,alpha,equal,2439.74821862761,2e-03 14 | WR90_1_5_563_result_exact,9e+09,5,beta,lessthan,1e-08 15 | WR90_2_1_674_result_exact,1e+10,1,alpha,lessthan,1e-08 16 | WR90_2_1_675_result_exact,1e+10,1,beta,equal,0.755406579840748,2e-03 17 | WR90_2_1_676_result_exact,1e+10,1,real_Z,equal,443.299540513372,2e-03 18 | WR90_2_1_677_result_exact,1e+10,1,imag_Z,lessthan,1e-08 19 | WR90_2_2_822_result_exact,1e+10,2,alpha,equal,1543.8726526439,2e-03 20 | WR90_2_2_823_result_exact,1e+10,2,beta,lessthan,1e-08 21 | WR90_2_3_960_result_exact,1e+10,3,alpha,equal,1974.20096723255,2e-03 22 | WR90_2_3_961_result_exact,1e+10,3,beta,lessthan,1e-08 23 | WR90_2_4_1098_result_exact,1e+10,4,alpha,equal,2307.02007776287,2e-03 24 | WR90_2_4_1099_result_exact,1e+10,4,beta,lessthan,1e-08 25 | WR90_2_5_1236_result_exact,1e+10,5,alpha,equal,2307.02007776287,2e-03 26 | WR90_2_5_1237_result_exact,1e+10,5,beta,lessthan,1e-08 27 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_3_refinement_no_mesh_reuse/WR90_results.csv.mpi: -------------------------------------------------------------------------------- 1 | #frequency,iteration,mesh size,matrix size,converged,final error,elapsed time (s),modal impedance calculation,mode count,alpha[1] db/m,beta[1]/ko,alpha[2] db/m,beta[2]/ko,alpha[3] db/m,beta[3]/ko,alpha[4] db/m,beta[4]/ko,alpha[5] db/m,beta[5]/ko,real(Z[1;1]),imag(Z[1;1]), 2 | 9000000000,7,179,5509,1,7.6158916324454e-08,6.60414826,1,5,-7.73966104106374e-13,0.685407961393561,1735.96461318412,-7.20996435098141e-16,2127.79214892065,7.09678970333775e-16,2439.74831964945,5.58181772475897e-16,2439.74850905799,6.19152054421061e-15,488.572993995537,-3.46052671360945e-13, 3 | 10000000000,7,202,5947,1,8.5053292995657e-08,7.163156043,1,5,-1.45939203369694e-12,0.755406578692152,1543.87277815753,3.54671987707841e-17,1974.20101618225,-7.80099480852928e-16,2307.02021816044,7.32803800914017e-11,2307.02036012467,-3.58413434038452e-11,443.299699858312,-4.57905090999444e-13, 4 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_3_refinement_no_mesh_reuse/WR90_results.csv.seq: -------------------------------------------------------------------------------- 1 | #frequency,iteration,mesh size,matrix size,converged,final error,elapsed time (s),modal impedance calculation,mode count,alpha[1] db/m,beta[1]/ko,alpha[2] db/m,beta[2]/ko,alpha[3] db/m,beta[3]/ko,alpha[4] db/m,beta[4]/ko,alpha[5] db/m,beta[5]/ko,real(Z[1;1]),imag(Z[1;1]), 2 | 9000000000,10,300,4591,1,6.43264401602799e-08,12.984716795,1,5,-3.48943246244802e-14,0.685407961253044,1735.96459257504,-1.37080214176944e-17,2127.79222787302,1.96147095299674e-16,2439.74844810688,1.13156324624771e-15,2439.74857070657,1.4083453675029e-14,488.573238061553,-8.33617098696008e-15, 3 | 10000000000,10,297,4549,1,6.21945173215495e-08,11.997702925,1,5,1.69088343993975e-14,0.755406578259162,1543.87282647168,-1.02419805433534e-16,1974.20110936028,8.60466531591302e-17,2307.02031446454,-3.74634479371359e-11,2307.020491643,1.43712962324316e-11,443.300331420412,-1.68767558109136e-16, 4 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_4_refinement/builder/WR90.geo: -------------------------------------------------------------------------------- 1 | // Control 2 | // build=WR90 3 | // check_limits=true 4 | // EndControl 5 | // RectangularWaveguide 6 | // name=WR90 7 | // width=0.02286 8 | // height=0.01016 9 | // material=air 10 | // default_conductor_material=PEC 11 | // EndRectangularWaveguide 12 | Point(1) = {-0.01143,-0.00508,0,0.00508}; 13 | Point(2) = {0.01143,-0.00508,0,0.00508}; 14 | Point(3) = {0.01143,0.00508,0,0.00508}; 15 | Point(4) = {-0.01143,0.00508,0,0.00508}; 16 | Line(1) = {1,2}; 17 | Line(2) = {2,3}; 18 | Line(3) = {3,4}; 19 | Line(4) = {4,1}; 20 | Curve Loop(1) = {1,2,3,4}; 21 | Plane Surface(1) = {1}; 22 | Physical Surface("air",1) = {1}; 23 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_4_refinement/builder/WR90.msh: -------------------------------------------------------------------------------- 1 | $MeshFormat 2 | 2.2 0 8 3 | $EndMeshFormat 4 | $PhysicalNames 5 | 1 6 | 2 1 "air" 7 | $EndPhysicalNames 8 | $Nodes 9 | 24 10 | 1 -0.01143 -0.00508 0 11 | 2 0.01143 -0.00508 0 12 | 3 0.01143 0.00508 0 13 | 4 -0.01143 0.00508 0 14 | 5 -0.006858000000010602 -0.00508 0 15 | 6 -0.002286000000024593 -0.00508 0 16 | 7 0.002285999999974926 -0.00508 0 17 | 8 0.006857999999987801 -0.00508 0 18 | 9 0.01143 -1.338946314932699e-14 0 19 | 10 0.006858000000010602 0.00508 0 20 | 11 0.002286000000024593 0.00508 0 21 | 12 -0.002285999999974926 0.00508 0 22 | 13 -0.006857999999987801 0.00508 0 23 | 14 -0.01143 1.338946314932699e-14 0 24 | 15 2.483342606960828e-14 0.001120531853903813 0 25 | 16 -0.004270529556166144 -0.001274198347646001 0 26 | 17 0.004270529556161315 -0.001274198347642453 0 27 | 18 -0.00839661135219763 -0.001927771383112641 0 28 | 19 0.008396611352198357 -0.001927771383115518 0 29 | 20 -2.483342384784482e-14 -0.00240113308551416 0 30 | 21 -0.004571999999981364 0.002401133085513298 0 31 | 22 0.004572000000017598 0.00240113308551811 0 32 | 23 0.007826190151397978 0.001559860559124458 0 33 | 24 -0.007826190151388822 0.001559860559128007 0 34 | $EndNodes 35 | $Elements 36 | 32 37 | 1 2 2 1 1 16 15 21 38 | 2 2 2 1 1 15 16 20 39 | 3 2 2 1 1 17 15 20 40 | 4 2 2 1 1 15 17 22 41 | 5 2 2 1 1 7 8 17 42 | 6 2 2 1 1 11 12 15 43 | 7 2 2 1 1 5 6 16 44 | 8 2 2 1 1 9 3 23 45 | 9 2 2 1 1 4 14 24 46 | 10 2 2 1 1 7 17 20 47 | 11 2 2 1 1 15 12 21 48 | 12 2 2 1 1 11 15 22 49 | 13 2 2 1 1 16 6 20 50 | 14 2 2 1 1 14 1 18 51 | 15 2 2 1 1 2 9 19 52 | 16 2 2 1 1 13 4 24 53 | 17 2 2 1 1 3 10 23 54 | 18 2 2 1 1 8 2 19 55 | 19 2 2 1 1 1 5 18 56 | 20 2 2 1 1 6 7 20 57 | 21 2 2 1 1 12 13 21 58 | 22 2 2 1 1 10 11 22 59 | 23 2 2 1 1 17 8 19 60 | 24 2 2 1 1 5 16 18 61 | 25 2 2 1 1 22 17 23 62 | 26 2 2 1 1 16 21 24 63 | 27 2 2 1 1 17 19 23 64 | 28 2 2 1 1 18 16 24 65 | 29 2 2 1 1 14 18 24 66 | 30 2 2 1 1 19 9 23 67 | 31 2 2 1 1 10 22 23 68 | 32 2 2 1 1 21 13 24 69 | $EndElements 70 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_4_refinement/builder/WR90.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | mesh.file WR90.msh 7 | mesh.order 4 8 | mode.definition.file WR90_modes.txt 9 | materials.global.path ../../../../ 10 | materials.global.name global_materials.txt 11 | materials.local.path 12 | materials.local.name // change to point at the project materials file 13 | refinement.frequency highlow 14 | refinement.variable |gamma| 15 | refinement.iteration.min 1 16 | refinement.iteration.max 50 17 | refinement.required.passes 1 18 | refinement.tolerance 1e-9 19 | frequency.plan.linear 9e9,10e9,1e9 20 | solution.modes 5 21 | solution.temperature 20 22 | solution.tolerance 1e-12 23 | solution.iteration.limit 10000 24 | solution.modes.buffer 10 25 | solution.impedance.definition PV 26 | solution.impedance.calculation modal 27 | solution.shift.invert true 28 | solution.use.initial.guess true 29 | output.show.refining.mesh false 30 | output.show.postprocessing false 31 | output.show.iterations false 32 | output.show.license false 33 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_4_refinement/builder/WR90_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=WR90 5 | // check_limits=true 6 | // EndControl 7 | // RectangularWaveguide 8 | // name=WR90 9 | // width=0.02286 10 | // height=0.01016 11 | // material=air 12 | // default_conductor_material=PEC 13 | // EndRectangularWaveguide 14 | 15 | File 16 | name=generated_by_builder 17 | EndFile 18 | 19 | Path 20 | name=center_line 21 | point=(0,-0.00508) 22 | point=(0,0.00508) 23 | closed=false 24 | EndPath 25 | 26 | Mode 27 | mode=1 28 | type=voltage 29 | path=center_line 30 | EndMode 31 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_4_refinement/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=WR90 5 | check_limits=true 6 | EndControl 7 | 8 | RectangularWaveguide 9 | name=WR90 10 | width=0.02286 11 | height=0.01016 12 | material=air 13 | default_conductor_material=PEC 14 | EndRectangularWaveguide 15 | 16 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_lossy_study/WR90_accuracy_run.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file ../WR90_waveguide.msh 6 | mesh.order 6 7 | mesh.uniform_refinement.count 1 8 | 9 | mode.definition.file ../WR90_waveguide_modes_Zs.txt 10 | 11 | materials.global.path ../../../ 12 | materials.global.name global_materials.txt 13 | materials.local.path ./ 14 | materials.local.name //local_materials.txt 15 | materials.check.limits true 16 | 17 | refinement.frequency plan 18 | refinement.variable alpha 19 | refinement.iteration.min 1 20 | refinement.iteration.max 100 21 | refinement.required.passes 2 22 | refinement.tolerance 1e-10 23 | 24 | frequency.plan.linear 6.75e9,15e9,0.25e9 25 | frequency.plan.point.refine 11e9 26 | 27 | solution.modes 1 28 | solution.temperature 20 29 | solution.tolerance 1e-13 30 | solution.iteration.limit 10000 31 | solution.modes.buffer 5 32 | solution.impedance.definition PV 33 | solution.impedance.calculation modal 34 | solution.accurate.residual false 35 | solution.shift.invert true 36 | solution.shift.factor 10 37 | solution.use.initial.guess true 38 | 39 | output.show.refining.mesh false 40 | output.show.postprocessing false 41 | output.show.iterations false 42 | 43 | test.create.cases false 44 | test.show.audit false 45 | test.show.detailed.cases false 46 | 47 | debug.show.memory false 48 | debug.show.project false 49 | debug.show.frequency.plan false 50 | debug.show.materials false 51 | debug.show.mode.definitions false 52 | debug.show.impedance.details false 53 | debug.skip.solve false 54 | debug.tempfiles.keep false 55 | 56 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_lossy_study/WR90_accuracy_run_plots.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_order_6_lossy_study/WR90_accuracy_run_plots.ods -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_lossy_study/screenshots/WR90_lossy_gamma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_order_6_lossy_study/screenshots/WR90_lossy_gamma.png -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_lossy_study/screenshots/WR90_lossy_gamma_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_order_6_lossy_study/screenshots/WR90_lossy_gamma_error.png -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/WR90_accuracy_run_plots.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/WR90_accuracy_run_plots.ods -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_gamma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_gamma.png -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_gamma_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_gamma_error.png -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_impedance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_impedance.png -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_mode_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_mode_1.png -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_mode_4_Pz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_order_6_study/screenshots/WR90_mode_4_Pz.png -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_waveguide.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90/WR90_waveguide.FCStd -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_waveguide.msh: -------------------------------------------------------------------------------- 1 | $MeshFormat 2 | 2.2 0 8 3 | $EndMeshFormat 4 | $PhysicalNames 5 | 1 6 | 2 1 "air" 7 | $EndPhysicalNames 8 | $Nodes 9 | 5 10 | 1 0 0 0 11 | 2 0.02286 0 0 12 | 3 0.02286 0.01016 0 13 | 4 0 0.01016 0 14 | 5 0.01143 0.00508 0 15 | $EndNodes 16 | $Elements 17 | 4 18 | 1 2 2 1 1 3 5 2 19 | 2 2 2 1 1 1 5 4 20 | 3 2 2 1 1 2 5 1 21 | 4 2 2 1 1 4 5 3 22 | $EndElements 23 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_waveguide_modes_Zs.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=WR90_waveguide.FCStd 5 | EndFile 6 | 7 | Path 8 | name=symmetry 9 | point=(0.01143,0.0) 10 | point=(0.01143,0.01016) 11 | closed=false 12 | EndPath 13 | 14 | Mode 15 | mode=1 16 | type=voltage 17 | path=symmetry 18 | EndMode 19 | 20 | Path 21 | name=boundary 22 | point=(0.0,0.0) 23 | point=(0.02286,0.0) 24 | point=(0.02286,0.01016) 25 | point=(0.0,0.01016) 26 | closed=true 27 | EndPath 28 | 29 | Boundary 30 | name=boundary 31 | type=surface_impedance 32 | path=boundary 33 | material=copper 34 | EndBoundary 35 | 36 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90/WR90_waveguide_modes_no_Zs.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=WR90_waveguide.FCStd 5 | EndFile 6 | 7 | Path 8 | name=V1 9 | point=(0.01143,0.0) 10 | point=(0.01143,0.01016) 11 | closed=false 12 | EndPath 13 | 14 | Mode 15 | mode=1 16 | type=voltage 17 | path=V1 18 | EndMode 19 | 20 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/WR90_waveguide_half.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/WR90_waveguide_half.FCStd -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/WR90_waveguide_half.brep: -------------------------------------------------------------------------------- 1 | DBRep_DrawableShape 2 | 3 | CASCADE Topology V1, (c) Matra-Datavision 4 | Locations 1 5 | 1 6 | 1 0 0 0 7 | 0 1 0 0 8 | 0 0 1 0 9 | Curve2ds 0 10 | Curves 4 11 | 1 0 0 0 1 0 0 12 | 1 0.011429999999999999 0 0 0 1 0 13 | 1 0.011429999999999999 0.010160000000000001 0 -1 0 0 14 | 1 0 0.010160000000000001 0 0 -1 0 15 | Polygon3D 0 16 | PolygonOnTriangulations 4 17 | 2 1 2 18 | p 3.59833333333333e-05 1 0 0.01143 19 | 2 2 3 20 | p 3.59833333333333e-05 1 0 0.01016 21 | 2 3 4 22 | p 3.59833333333333e-05 1 0 0.01143 23 | 2 4 1 24 | p 3.59833333333333e-05 1 0 0.01016 25 | Surfaces 1 26 | 1 0.0057149999999999987 0.0050800000000000003 0 0 0 1 1 0 -0 -0 1 0 27 | Triangulations 1 28 | 4 2 1 3.59833333333333e-05 29 | 0 0 0 0.01143 0 0 0.01143 0.01016 0 0 0.01016 0 -0.005715 -0.00508 0.005715 -0.00508 0.005715 0.00508 -0.005715 0.00508 3 1 2 3 4 1 30 | 31 | TShapes 11 32 | Ve 33 | 1e-07 34 | 0 0 0 35 | 0 0 36 | 37 | 0101101 38 | * 39 | Ve 40 | 1e-07 41 | 0.01143 0 0 42 | 0 0 43 | 44 | 0101101 45 | * 46 | Ed 47 | 1e-07 1 1 0 48 | 1 1 0 0 0.01143 49 | 6 1 1 0 50 | 0 51 | 52 | 0101000 53 | +11 0 -10 0 * 54 | Ve 55 | 1e-07 56 | 0.01143 0.01016 0 57 | 0 0 58 | 59 | 0101101 60 | * 61 | Ed 62 | 1e-07 1 1 0 63 | 1 2 0 0 0.01016 64 | 6 2 1 0 65 | 0 66 | 67 | 0101000 68 | +10 0 -8 0 * 69 | Ve 70 | 1e-07 71 | 0 0.01016 0 72 | 0 0 73 | 74 | 0101101 75 | * 76 | Ed 77 | 1e-07 1 1 0 78 | 1 3 0 0 0.01143 79 | 6 3 1 0 80 | 0 81 | 82 | 0101000 83 | +8 0 -6 0 * 84 | Ed 85 | 1e-07 1 1 0 86 | 1 4 0 0 0.01016 87 | 6 4 1 0 88 | 0 89 | 90 | 0101000 91 | +6 0 -11 0 * 92 | Wi 93 | 94 | 0101100 95 | +9 0 +7 0 +5 0 +4 0 * 96 | Fa 97 | 0 1e-07 1 0 98 | 2 1 99 | 0101000 100 | +3 0 * 101 | Co 102 | 103 | 1100000 104 | +2 1 * 105 | 106 | +1 0 -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/WR90_waveguide_half.geo: -------------------------------------------------------------------------------- 1 | Merge "WR90_waveguide_half.brep"; 2 | //+ 3 | Physical Curve("PMC", 2) = {2}; 4 | //+ 5 | Physical Surface("air", 1) = {1}; 6 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/WR90_waveguide_half.msh: -------------------------------------------------------------------------------- 1 | $MeshFormat 2 | 2.2 0 8 3 | $EndMeshFormat 4 | $PhysicalNames 5 | 1 6 | 2 1 "air" 7 | $EndPhysicalNames 8 | $Nodes 9 | 5 10 | 1 0 0 0 11 | 2 0.01143 0 0 12 | 3 0.01143 0.01016 0 13 | 4 0 0.01016 0 14 | 5 0.005715 0.00508 0 15 | $EndNodes 16 | $Elements 17 | 4 18 | 1 2 2 1 1 2 5 1 19 | 2 2 2 1 1 4 5 3 20 | 3 2 2 1 1 1 5 4 21 | 4 2 2 1 1 3 5 2 22 | $EndElements 23 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/WR90_waveguide_modes_half.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=WR90_waveguide.FCStd 5 | EndFile 6 | 7 | Path 8 | name=symmetry 9 | point=(0.01143,0.0) 10 | point=(0.01143,0.01016) 11 | closed=false 12 | EndPath 13 | 14 | Boundary 15 | name=symmetry 16 | type=perfect_magnetic_conductor 17 | path=symmetry 18 | EndBoundary 19 | 20 | Mode 21 | mode=1 22 | type=voltage 23 | path=symmetry 24 | EndMode 25 | 26 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/builder/README.txt: -------------------------------------------------------------------------------- 1 | The default location for the voltage line is the center, so 2 | the voltage line is manually moved from the center to the right 3 | edge by chaning the path from "center_line" to "conductor_right" 4 | in file WR90half_modes.txt. 5 | 6 | 7 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/builder/WR90half.geo: -------------------------------------------------------------------------------- 1 | // Control 2 | // build=WR90half 3 | // check_limits=true 4 | // EndControl 5 | // RectangularWaveguide 6 | // name=WR90half 7 | // width=0.01143 8 | // height=0.01016 9 | // material=air 10 | // default_conductor_material=PEC 11 | // conductor_material_right=PMC 12 | // EndRectangularWaveguide 13 | Point(1) = {-0.005715,-0.00508,0,0.00508}; 14 | Point(2) = {0.005715,-0.00508,0,0.00508}; 15 | Point(3) = {0.005715,0.00508,0,0.00508}; 16 | Point(4) = {-0.005715,0.00508,0,0.00508}; 17 | Line(1) = {1,2}; 18 | Line(2) = {2,3}; 19 | Line(3) = {3,4}; 20 | Line(4) = {4,1}; 21 | Curve Loop(1) = {1,2,3,4}; 22 | Plane Surface(1) = {1}; 23 | Physical Surface("air",1) = {1}; 24 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/builder/WR90half.msh: -------------------------------------------------------------------------------- 1 | $MeshFormat 2 | 2.2 0 8 3 | $EndMeshFormat 4 | $PhysicalNames 5 | 1 6 | 2 1 "air" 7 | $EndPhysicalNames 8 | $Nodes 9 | 16 10 | 1 -0.005715 -0.00508 0 11 | 2 0.005715 -0.00508 0 12 | 3 0.005715 0.00508 0 13 | 4 -0.005715 0.00508 0 14 | 5 -0.001905000000009852 -0.00508 0 15 | 6 0.001904999999989609 -0.00508 0 16 | 7 0.005715 -1.338946314932699e-14 0 17 | 8 0.001905000000009852 0.00508 0 18 | 9 -0.001904999999989609 0.00508 0 19 | 10 -0.005715 1.338946314932699e-14 0 20 | 11 3.92145318159185e-15 0.001348838218438446 0 21 | 12 -7.508490357244214e-15 -0.002609033531762217 0 22 | 13 0.003237764617949801 0.002110823463454203 0 23 | 14 -0.003237764617928613 0.002110823463454749 0 24 | 15 -0.002762127436323675 -0.001551561974975939 0 25 | 16 0.002762127436322637 -0.001551561974980493 0 26 | $EndNodes 27 | $Elements 28 | 20 29 | 1 2 2 1 1 12 11 15 30 | 2 2 2 1 1 11 12 16 31 | 3 2 2 1 1 11 14 15 32 | 4 2 2 1 1 13 11 16 33 | 5 2 2 1 1 8 9 11 34 | 6 2 2 1 1 7 3 13 35 | 7 2 2 1 1 4 10 14 36 | 8 2 2 1 1 10 1 15 37 | 9 2 2 1 1 2 7 16 38 | 10 2 2 1 1 5 6 12 39 | 11 2 2 1 1 9 4 14 40 | 12 2 2 1 1 3 8 13 41 | 13 2 2 1 1 6 2 16 42 | 14 2 2 1 1 1 5 15 43 | 15 2 2 1 1 8 11 13 44 | 16 2 2 1 1 11 9 14 45 | 17 2 2 1 1 5 12 15 46 | 18 2 2 1 1 12 6 16 47 | 19 2 2 1 1 14 10 15 48 | 20 2 2 1 1 7 13 16 49 | $EndElements 50 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/builder/WR90half.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | mesh.file WR90half.msh 7 | mesh.order 4 8 | mode.definition.file WR90half_modes.txt 9 | materials.global.path ../../../ 10 | materials.global.name global_materials.txt 11 | materials.local.path 12 | materials.local.name // change to point at the project materials file 13 | refinement.frequency all 14 | refinement.variable |gamma| 15 | refinement.iteration.min 1 16 | refinement.iteration.max 10 17 | refinement.required.passes 1 18 | refinement.tolerance 1e-8 19 | frequency.plan.linear 9e9,10e9,1e9 20 | solution.modes 4 21 | solution.temperature 20 22 | solution.tolerance 1e-12 23 | solution.iteration.limit 10000 24 | solution.modes.buffer 10 25 | solution.impedance.definition PV 26 | solution.impedance.calculation modal 27 | solution.shift.invert true 28 | solution.use.initial.guess true 29 | output.show.refining.mesh false 30 | output.show.postprocessing false 31 | output.show.iterations false 32 | output.show.license false 33 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/builder/WR90half_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=WR90half 5 | // check_limits=true 6 | // EndControl 7 | // RectangularWaveguide 8 | // name=WR90half 9 | // width=0.01143 10 | // height=0.01016 11 | // material=air 12 | // default_conductor_material=PEC 13 | // conductor_material_right=PMC 14 | // EndRectangularWaveguide 15 | 16 | File 17 | name=generated_by_builder 18 | EndFile 19 | 20 | Path 21 | name=center_line 22 | point=(0,-0.00508) 23 | point=(0,0.00508) 24 | closed=false 25 | EndPath 26 | 27 | Mode 28 | mode=1 29 | type=voltage 30 | // path=center_line 31 | path=conductor_right 32 | EndMode 33 | 34 | Path 35 | name=conductor_right 36 | point=(0.005715,-0.00508) 37 | point=(0.005715,0.00508) 38 | closed=false 39 | EndPath 40 | 41 | Boundary 42 | name=conductor_right 43 | type=perfect_magnetic_conductor 44 | path=conductor_right 45 | EndBoundary 46 | -------------------------------------------------------------------------------- /regression/WR90_rectangular_waveguide/WR90_PMC_symmetry/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=WR90half 5 | check_limits=true 6 | EndControl 7 | 8 | RectangularWaveguide 9 | name=WR90half 10 | // width=0.02286 11 | width=0.01143 12 | height=0.01016 13 | material=air 14 | default_conductor_material=PEC 15 | conductor_material_right=PMC 16 | EndRectangularWaveguide 17 | 18 | -------------------------------------------------------------------------------- /regression/builder/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /regression/builder/differentialPair/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=diffPair 5 | check_limits=true 6 | EndControl 7 | 8 | CoupledStrip 9 | name=diffPair 10 | left_side_gap=0.0085 11 | right_side_gap=0.0085 12 | upper_thickness=0.006 13 | upper_material=air 14 | lower_thickness=0.000635 15 | lower_material=alumina 16 | trace_thickness=0.0003 17 | trace_left_width=0.001 18 | trace_right_width=0 19 | trace_air_gap=0.001 20 | trace_etch_angle=90 21 | default_conductor_material=PEC 22 | EndCoupledStrip 23 | 24 | -------------------------------------------------------------------------------- /regression/builder/differentialPair/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file diffPair.msh 8 | mesh.order 4 9 | 10 | mode.definition.file diffPair_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 2 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/differentialPair/diffPair.proj.golden: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file diffPair.msh 8 | mesh.order 4 9 | 10 | mode.definition.file diffPair_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 2 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/differentialPairPMC/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=diffPair 5 | check_limits=true 6 | EndControl 7 | 8 | Strip 9 | name=diffPair 10 | use_symmetry=false 11 | left_side_gap=0.0085 12 | right_side_gap=0.0005 13 | upper_thickness=0.006 14 | upper_material=air 15 | lower_thickness=0.000635 16 | lower_material=alumina 17 | trace_thickness=0.0003 18 | trace_width=0.001 19 | trace_etch_angle=90 20 | default_conductor_material=PEC 21 | right_side_material=PMC 22 | EndStrip 23 | 24 | -------------------------------------------------------------------------------- /regression/builder/differentialPairPMC/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file diffPair.msh 8 | mesh.order 4 9 | 10 | mode.definition.file diffPair_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/differentialPairPMC/diffPair.proj.golden: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file diffPair.msh 8 | mesh.order 4 9 | 10 | mode.definition.file diffPair_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/differentialPairPMC/diffPair_lines.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=diffPair 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=diffPair 9 | // use_symmetry=false 10 | // upper_material=air 11 | // upper_thickness=0.006 12 | // lower_material=alumina 13 | // lower_thickness=0.000635 14 | // left_side_gap=0.0085 15 | // right_side_material=PMC 16 | // right_side_gap=0.0005 17 | // trace_thickness=0.0003 18 | // trace_width=0.001 19 | // trace_etch_angle=90 20 | // default_conductor_material=PEC 21 | // EndStrip 22 | 23 | File 24 | name=generated_by_builder 25 | EndFile 26 | 27 | Path 28 | name=voltage_line 29 | point=(0,0) 30 | point=(0,0.000635) 31 | closed=false 32 | EndPath 33 | 34 | Mode 35 | mode=1 36 | type=voltage 37 | path=voltage_line 38 | EndMode 39 | 40 | Path 41 | name=trace_top 42 | point=(-0.0005,0.000935) 43 | point=(0.0005,0.000935) 44 | closed=false 45 | EndPath 46 | 47 | Path 48 | name=trace_bottom 49 | point=(-0.0005,0.000635) 50 | point=(0.0005,0.000635) 51 | closed=false 52 | EndPath 53 | 54 | Path 55 | name=trace_left 56 | point=(-0.0005,0.000635) 57 | point=(-0.0005,0.000935) 58 | closed=false 59 | EndPath 60 | 61 | Path 62 | name=trace_right 63 | point=(0.0005,0.000635) 64 | point=(0.0005,0.000935) 65 | closed=false 66 | EndPath 67 | 68 | Path 69 | name=right_side 70 | point=(0.001,0) 71 | point=(0.001,0.006635) 72 | closed=false 73 | EndPath 74 | 75 | Boundary 76 | name=right_side 77 | type=perfect_magnetic_conductor 78 | path=right_side 79 | EndBoundary 80 | 81 | Mode 82 | mode=1 83 | type=current 84 | path=+trace_top 85 | path+=trace_right 86 | path+=trace_bottom 87 | path+=trace_left 88 | EndMode 89 | -------------------------------------------------------------------------------- /regression/builder/differentialPairPMC/diffPair_modes.txt.golden: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=diffPair 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=diffPair 9 | // use_symmetry=false 10 | // upper_material=air 11 | // upper_thickness=0.006 12 | // lower_material=alumina 13 | // lower_thickness=0.000635 14 | // left_side_gap=0.0085 15 | // right_side_material=PMC 16 | // right_side_gap=0.0005 17 | // trace_thickness=0.0003 18 | // trace_width=0.001 19 | // trace_etch_angle=90 20 | // default_conductor_material=PEC 21 | // EndStrip 22 | 23 | File 24 | name=generated_by_builder 25 | EndFile 26 | 27 | Path 28 | name=voltage_line 29 | point=(0,0) 30 | point=(0,0.000635) 31 | closed=false 32 | EndPath 33 | 34 | Mode 35 | mode=1 36 | type=voltage 37 | path=voltage_line 38 | EndMode 39 | 40 | Path 41 | name=trace_top 42 | point=(-0.0005,0.000935) 43 | point=(0.0005,0.000935) 44 | closed=false 45 | EndPath 46 | 47 | Path 48 | name=trace_bottom 49 | point=(-0.0005,0.000635) 50 | point=(0.0005,0.000635) 51 | closed=false 52 | EndPath 53 | 54 | Path 55 | name=trace_left 56 | point=(-0.0005,0.000635) 57 | point=(-0.0005,0.000935) 58 | closed=false 59 | EndPath 60 | 61 | Path 62 | name=trace_right 63 | point=(0.0005,0.000635) 64 | point=(0.0005,0.000935) 65 | closed=false 66 | EndPath 67 | 68 | Path 69 | name=right_side 70 | point=(0.001,0) 71 | point=(0.001,0.006635) 72 | closed=false 73 | EndPath 74 | 75 | Boundary 76 | name=right_side 77 | type=perfect_magnetic_conductor 78 | path=right_side 79 | EndBoundary 80 | 81 | Mode 82 | mode=1 83 | type=current 84 | path=+trace_top 85 | path+=trace_right 86 | path+=trace_bottom 87 | path+=trace_left 88 | EndMode 89 | -------------------------------------------------------------------------------- /regression/builder/microstrip/Lee_microstrip.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file Lee_microstrip.msh 8 | mesh.order 4 9 | 10 | mode.definition.file Lee_microstrip_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/microstrip/Lee_microstrip.proj.golden: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file Lee_microstrip.msh 8 | mesh.order 4 9 | 10 | mode.definition.file Lee_microstrip_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/microstrip/Lee_microstrip_lines.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=Lee_microstrip 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=Lee_microstrip 9 | // use_symmetry=false 10 | // upper_material=air 11 | // upper_thickness=0.00225 12 | // lower_material=Lee_semiconductor 13 | // lower_thickness=0.00025 14 | // left_side_gap=0.001125 15 | // right_side_gap=0.001125 16 | // trace_thickness=5e-05 17 | // trace_width=0.00025 18 | // trace_etch_angle=90 19 | // default_conductor_material=PEC 20 | // EndStrip 21 | 22 | File 23 | name=generated_by_builder 24 | EndFile 25 | 26 | Path 27 | name=voltage_line 28 | point=(0,0) 29 | point=(0,0.00025) 30 | closed=false 31 | EndPath 32 | 33 | Mode 34 | mode=1 35 | type=voltage 36 | path=voltage_line 37 | EndMode 38 | 39 | Path 40 | name=trace_top 41 | point=(-0.000125,0.0003) 42 | point=(0.000125,0.0003) 43 | closed=false 44 | EndPath 45 | 46 | Path 47 | name=trace_bottom 48 | point=(-0.000125,0.00025) 49 | point=(0.000125,0.00025) 50 | closed=false 51 | EndPath 52 | 53 | Path 54 | name=trace_left 55 | point=(-0.000125,0.00025) 56 | point=(-0.000125,0.0003) 57 | closed=false 58 | EndPath 59 | 60 | Path 61 | name=trace_right 62 | point=(0.000125,0.00025) 63 | point=(0.000125,0.0003) 64 | closed=false 65 | EndPath 66 | 67 | Mode 68 | mode=1 69 | type=current 70 | path=+trace_top 71 | path+=trace_right 72 | path+=trace_bottom 73 | path+=trace_left 74 | EndMode 75 | -------------------------------------------------------------------------------- /regression/builder/microstrip/Lee_microstrip_lines.txt.golden: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=Lee_microstrip 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=Lee_microstrip 9 | // use_symmetry=false 10 | // upper_material=air 11 | // upper_thickness=0.00225 12 | // lower_material=Lee_semiconductor 13 | // lower_thickness=0.00025 14 | // left_side_gap=0.001125 15 | // right_side_gap=0.001125 16 | // trace_thickness=5e-05 17 | // trace_width=0.00025 18 | // trace_etch_angle=90 19 | // default_conductor_material=PEC 20 | // EndStrip 21 | 22 | File 23 | name=generated_by_builder 24 | EndFile 25 | 26 | Path 27 | name=voltage_line 28 | point=(0,0) 29 | point=(0,0.00025) 30 | closed=false 31 | EndPath 32 | 33 | Mode 34 | mode=1 35 | type=voltage 36 | path=voltage_line 37 | EndMode 38 | 39 | Path 40 | name=trace_top 41 | point=(-0.000125,0.0003) 42 | point=(0.000125,0.0003) 43 | closed=false 44 | EndPath 45 | 46 | Path 47 | name=trace_bottom 48 | point=(-0.000125,0.00025) 49 | point=(0.000125,0.00025) 50 | closed=false 51 | EndPath 52 | 53 | Path 54 | name=trace_left 55 | point=(-0.000125,0.00025) 56 | point=(-0.000125,0.0003) 57 | closed=false 58 | EndPath 59 | 60 | Path 61 | name=trace_right 62 | point=(0.000125,0.00025) 63 | point=(0.000125,0.0003) 64 | closed=false 65 | EndPath 66 | 67 | Mode 68 | mode=1 69 | type=current 70 | path=+trace_top 71 | path+=trace_right 72 | path+=trace_bottom 73 | path+=trace_left 74 | EndMode 75 | -------------------------------------------------------------------------------- /regression/builder/microstrip/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=Lee_microstrip 5 | check_limits=true 6 | EndControl 7 | 8 | Strip 9 | name=Lee_microstrip 10 | use_symmetry=false 11 | left_side_gap=0.001125 12 | right_side_gap=0.001125 13 | upper_thickness=0.00225 14 | upper_material=air 15 | lower_thickness=0.00025 16 | lower_material=Lee_semiconductor 17 | trace_thickness=0.00005 18 | trace_width=0.00025 19 | trace_etch_angle=90 20 | default_conductor_material=PEC 21 | EndStrip 22 | 23 | -------------------------------------------------------------------------------- /regression/builder/rectangularWaveguide/WR90.geo: -------------------------------------------------------------------------------- 1 | // Control 2 | // build=WR90 3 | // check_limits=true 4 | // EndControl 5 | // RectangularWaveguide 6 | // name=WR90 7 | // width=0.02286 8 | // height=0.01016 9 | // material=air 10 | // default_conductor_material=PEC 11 | // EndRectangularWaveguide 12 | Point(1) = {-0.01143,-0.00508,0,0.00508}; 13 | Point(2) = {0.01143,-0.00508,0,0.00508}; 14 | Point(3) = {0.01143,0.00508,0,0.00508}; 15 | Point(4) = {-0.01143,0.00508,0,0.00508}; 16 | Line(1) = {1,2}; 17 | Line(2) = {2,3}; 18 | Line(3) = {3,4}; 19 | Line(4) = {4,1}; 20 | Curve Loop(1) = {1,2,3,4}; 21 | Plane Surface(1) = {1}; 22 | Physical Surface("air",1) = {1}; 23 | -------------------------------------------------------------------------------- /regression/builder/rectangularWaveguide/WR90.geo.golden: -------------------------------------------------------------------------------- 1 | // Control 2 | // build=WR90 3 | // check_limits=true 4 | // EndControl 5 | // RectangularWaveguide 6 | // name=WR90 7 | // width=0.02286 8 | // height=0.01016 9 | // material=air 10 | // default_conductor_material=PEC 11 | // EndRectangularWaveguide 12 | Point(1) = {-0.01143,-0.00508,0,0.00508}; 13 | Point(2) = {0.01143,-0.00508,0,0.00508}; 14 | Point(3) = {0.01143,0.00508,0,0.00508}; 15 | Point(4) = {-0.01143,0.00508,0,0.00508}; 16 | Line(1) = {1,2}; 17 | Line(2) = {2,3}; 18 | Line(3) = {3,4}; 19 | Line(4) = {4,1}; 20 | Curve Loop(1) = {1,2,3,4}; 21 | Plane Surface(1) = {1}; 22 | Physical Surface("air",1) = {1}; 23 | -------------------------------------------------------------------------------- /regression/builder/rectangularWaveguide/WR90.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file WR90.msh 8 | mesh.order 4 9 | 10 | mode.definition.file WR90_modes.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PV 32 | solution.impedance.calculation modal 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/rectangularWaveguide/WR90.proj.golden: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file WR90.msh 8 | mesh.order 4 9 | 10 | mode.definition.file WR90_modes.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PV 32 | solution.impedance.calculation modal 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/rectangularWaveguide/WR90_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=WR90 5 | // check_limits=true 6 | // EndControl 7 | // RectangularWaveguide 8 | // name=WR90 9 | // width=0.02286 10 | // height=0.01016 11 | // material=air 12 | // default_conductor_material=PEC 13 | // EndRectangularWaveguide 14 | 15 | File 16 | name=generated_by_builder 17 | EndFile 18 | 19 | Path 20 | name=center_line 21 | point=(0,-0.00508) 22 | point=(0,0.00508) 23 | closed=false 24 | EndPath 25 | 26 | Mode 27 | mode=1 28 | type=voltage 29 | path=center_line 30 | EndMode 31 | -------------------------------------------------------------------------------- /regression/builder/rectangularWaveguide/WR90_modes.txt.golden: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=WR90 5 | // check_limits=true 6 | // EndControl 7 | // RectangularWaveguide 8 | // name=WR90 9 | // width=0.02286 10 | // height=0.01016 11 | // material=air 12 | // default_conductor_material=PEC 13 | // EndRectangularWaveguide 14 | 15 | File 16 | name=generated_by_builder 17 | EndFile 18 | 19 | Path 20 | name=center_line 21 | point=(0,-0.00508) 22 | point=(0,0.00508) 23 | closed=false 24 | EndPath 25 | 26 | Mode 27 | mode=1 28 | type=voltage 29 | path=center_line 30 | EndMode 31 | -------------------------------------------------------------------------------- /regression/builder/rectangularWaveguide/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=WR90 5 | check_limits=true 6 | EndControl 7 | 8 | RectangularWaveguide 9 | name=WR90 10 | width=0.02286 11 | height=0.01016 12 | material=air 13 | default_conductor_material=PEC 14 | EndRectangularWaveguide 15 | 16 | -------------------------------------------------------------------------------- /regression/builder/stripline/Simonovich_stripline.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file Simonovich_stripline.msh 8 | mesh.order 4 9 | 10 | mode.definition.file Simonovich_stripline_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/stripline/Simonovich_stripline.proj.golden: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file Simonovich_stripline.msh 8 | mesh.order 4 9 | 10 | mode.definition.file Simonovich_stripline_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/builder/stripline/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=Simonovich_stripline 5 | check_limits=true 6 | EndControl 7 | 8 | Strip 9 | name=Simonovich_stripline 10 | use_symmetry=false 11 | left_side_gap=0.00486 12 | right_side_gap=0.00486 13 | upper_thickness=0.000301 14 | upper_material=prepreg 15 | lower_thickness=0.000305 16 | lower_material=core 17 | trace_thickness=0.000032055 18 | trace_width=0.000279 19 | trace_etch_angle=60 20 | default_conductor_material=PEC // box left and right sides 21 | trace_material_bottom=copper_core 22 | trace_material_top=copper_prepreg 23 | trace_material_sides=copper_prepreg 24 | upper_groundplane_material=copper_prepreg 25 | lower_groundplane_material=copper_core 26 | EndStrip 27 | 28 | 29 | -------------------------------------------------------------------------------- /regression/check.sh: -------------------------------------------------------------------------------- 1 | cat regression.log | grep ERROR 2 | cat regression.log | grep FAIL 3 | cat regression.log | grep term 4 | cat regression.log | grep ASSERT 5 | cat regression.log | grep NOT 6 | cat regression_results.csv | grep FAIL 7 | 8 | -------------------------------------------------------------------------------- /regression/coaxEighth/coax.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coaxEighth/coax.FCStd -------------------------------------------------------------------------------- /regression/coaxEighth/coax.geo: -------------------------------------------------------------------------------- 1 | Merge "coax.brep"; 2 | //+ 3 | Physical Surface("teflon", 1) = {1}; 4 | -------------------------------------------------------------------------------- /regression/coaxEighth/coax.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file coax.msh 6 | mesh.order 2 7 | mesh.uniform_refinement.count 0 8 | 9 | mode.definition.file coax_modes.txt 10 | 11 | materials.global.path ../ 12 | materials.global.name global_materials.txt 13 | materials.local.path ./ 14 | materials.local.name local_materials.txt 15 | materials.check.limits true 16 | 17 | refinement.frequency high 18 | 19 | refinement.variable |Zo| 20 | refinement.iteration.min 3 21 | refinement.iteration.max 50 22 | refinement.required.passes 1 23 | refinement.tolerance 5e-6 24 | 25 | frequency.plan.log 1e7,10e9,1 26 | 27 | solution.modes 1 28 | solution.temperature 20 29 | solution.tolerance 1e-13 30 | solution.iteration.limit 30000 31 | solution.modes.buffer 0 32 | solution.impedance.definition PV 33 | solution.impedance.calculation modal 34 | solution.accurate.residual false 35 | solution.shift.invert true 36 | solution.use.initial.guess true 37 | 38 | output.show.refining.mesh false 39 | output.show.postprocessing false 40 | output.show.iterations false 41 | 42 | test.create.cases false 43 | test.show.audit false 44 | test.show.detailed.cases false 45 | 46 | debug.show.memory false 47 | debug.show.project false 48 | debug.show.frequency.plan false 49 | debug.show.materials false 50 | debug.show.mode.definitions false 51 | debug.show.impedance.details false 52 | debug.skip.solve false 53 | debug.tempfiles.keep false 54 | 55 | field.point 0.0008,0.0003 56 | field.point 0.0005,0.0002 57 | field.point 0.0006,0.00023 58 | field.point 0.0012,0.00045 59 | field.point 0.0013,0.0005 60 | 61 | -------------------------------------------------------------------------------- /regression/coaxEighth/coax_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=coax.FCStd 5 | EndFile 6 | 7 | Path 8 | name=1 9 | point=(0.000406,0.0) 10 | point=(0.00148,0.0) 11 | closed=false 12 | EndPath 13 | 14 | Mode 15 | mode=1 16 | type=voltage 17 | path=1 18 | EndMode 19 | 20 | Path 21 | name=2 22 | point=(0.0002870853531618216,0.00028708535316165386) 23 | point=(0.001046518036156143,0.0010465180361560358) 24 | closed=false 25 | EndPath 26 | 27 | Boundary 28 | name=1 29 | type=perfect_magnetic_conductor 30 | path=1 31 | EndBoundary 32 | 33 | Boundary 34 | name=2 35 | type=perfect_magnetic_conductor 36 | path=2 37 | EndBoundary 38 | 39 | -------------------------------------------------------------------------------- /regression/coaxEighth/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=teflon 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=2.26 10 | mur=1 11 | tand=0 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | textbook 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /regression/coaxEighthAlt/coax.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coaxEighthAlt/coax.FCStd -------------------------------------------------------------------------------- /regression/coaxEighthAlt/coax_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=coax.FCStd 5 | EndFile 6 | 7 | Path 8 | name=1 9 | point=(0.000406,0.0) 10 | point=(0.00148,0.0) 11 | closed=false 12 | EndPath 13 | 14 | Mode 15 | mode=1 16 | type=voltage 17 | path=2 18 | EndMode 19 | 20 | Path 21 | name=2 22 | point=(0.000287085353162,0.000287085353162) 23 | point=(0.0010465180361563214,0.001046518036156382) 24 | closed=false 25 | EndPath 26 | 27 | Boundary 28 | name=1 29 | type=perfect_magnetic_conductor 30 | path=1 31 | EndBoundary 32 | 33 | Boundary 34 | name=2 35 | type=perfect_magnetic_conductor 36 | path=2 37 | EndBoundary 38 | 39 | -------------------------------------------------------------------------------- /regression/coaxEighthAlt/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=teflon 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=2.26 10 | mur=1 11 | tand=0 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | textbook 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /regression/coaxEighth_study/coax.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coaxEighth_study/coax.FCStd -------------------------------------------------------------------------------- /regression/coaxEighth_study/coax.geo: -------------------------------------------------------------------------------- 1 | Merge "coax.brep"; 2 | //+ 3 | Physical Surface("teflon", 1) = {1}; 4 | -------------------------------------------------------------------------------- /regression/coaxEighth_study/coax_accuracy_run_plots.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coaxEighth_study/coax_accuracy_run_plots.ods -------------------------------------------------------------------------------- /regression/coaxEighth_study/coax_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/regression/coaxEighth_study/coax.FCStd 5 | EndFile 6 | 7 | Path 8 | name=v 9 | point=(0.000406,0.0) 10 | point=(0.00148,0.0) 11 | closed=false 12 | EndPath 13 | 14 | Path 15 | name=pmc 16 | point=(0.000287085353162,0.000287085353162) 17 | point=(0.0010465180361560003,0.001046518036156) 18 | closed=false 19 | EndPath 20 | 21 | Boundary 22 | name=pmc1 23 | type=perfect_magnetic_conductor 24 | path=+v 25 | EndBoundary 26 | 27 | Boundary 28 | name=pmc2 29 | type=perfect_magnetic_conductor 30 | path=+pmc 31 | EndBoundary 32 | 33 | Mode 34 | mode=1 35 | type=voltage 36 | path=+v 37 | EndMode 38 | 39 | -------------------------------------------------------------------------------- /regression/coaxEighth_study/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=teflon 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=2.26 10 | mur=1 11 | tand=0 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | textbook 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /regression/coaxEighth_study/screenshots/coax_E_zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coaxEighth_study/screenshots/coax_E_zoom.png -------------------------------------------------------------------------------- /regression/coaxEighth_study/screenshots/coax_Pz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coaxEighth_study/screenshots/coax_Pz.png -------------------------------------------------------------------------------- /regression/coaxEighth_study/screenshots/coax_Pz_zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coaxEighth_study/screenshots/coax_Pz_zoom.png -------------------------------------------------------------------------------- /regression/coaxEighth_study/screenshots/coax_field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coaxEighth_study/screenshots/coax_field.png -------------------------------------------------------------------------------- /regression/coaxEighth_study/screenshots/coax_results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coaxEighth_study/screenshots/coax_results.png -------------------------------------------------------------------------------- /regression/coax_line/coax.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coax_line/coax.FCStd -------------------------------------------------------------------------------- /regression/coax_line/coax.geo: -------------------------------------------------------------------------------- 1 | Merge "coax.brep"; 2 | //+ 3 | Physical Surface("teflon", 1) = {1}; 4 | -------------------------------------------------------------------------------- /regression/coax_line/coax_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=coax.FCStd 5 | EndFile 6 | 7 | Path 8 | name=V1 9 | point=(0.000406,0.0) 10 | point=(0.00148,0.0) 11 | closed=false 12 | EndPath 13 | 14 | Mode 15 | mode=1 16 | type=voltage 17 | path=V1 18 | EndMode 19 | 20 | -------------------------------------------------------------------------------- /regression/coax_line/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=teflon 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=2.26 10 | mur=1 11 | tand=0 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | textbook 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /regression/coax_modal/coax.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/coax_modal/coax.FCStd -------------------------------------------------------------------------------- /regression/coax_modal/coax.geo: -------------------------------------------------------------------------------- 1 | Merge "coax.brep"; 2 | //+ 3 | Physical Surface("teflon", 1) = {1}; 4 | -------------------------------------------------------------------------------- /regression/coax_modal/coax_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=coax.FCStd 5 | EndFile 6 | 7 | Path 8 | name=V1 9 | point=(0.000406,0.0) 10 | point=(0.00148,0.0) 11 | closed=false 12 | EndPath 13 | 14 | Mode 15 | mode=1 16 | type=voltage 17 | path=V1 18 | EndMode 19 | 20 | -------------------------------------------------------------------------------- /regression/coax_modal/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=teflon 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=2.26 10 | mur=1 11 | tand=0 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | textbook 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /regression/differential_pair/README.txt: -------------------------------------------------------------------------------- 1 | The cases in this directory simulate the setup from Fig. 8 of the paper: 2 | Frank Olyslager, Daniel De Zutter, and Krist Blomme, "Rigorous analysis of the propagation characteristics 3 | of general lossless and lossy multiconductor transmission lines in multilayered media," IEEE Trans. 4 | Microwave Theory and Tech, vol. 41, no. 1, Jan. 1993, pp. 79-88. 5 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=diffPair 5 | check_limits=true 6 | EndControl 7 | 8 | CoupledStrip 9 | name=diffPair 10 | solution_impedance_calculation=line 11 | left_side_gap=0.0085 12 | right_side_gap=0.0085 13 | upper_thickness=0.006 14 | upper_material=air 15 | lower_thickness=0.000635 16 | lower_material=alumina 17 | trace_thickness=0.0003 18 | trace_left_width=0.001 19 | trace_right_width=0 20 | trace_air_gap=0.001 21 | trace_etch_angle=90 22 | default_conductor_material=PEC 23 | EndCoupledStrip 24 | 25 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line/builder/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file diffPair.msh 8 | mesh.order 4 9 | 10 | mode.definition.file diffPair_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 2 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file ./diffPair.msh 6 | mesh.order 3 7 | mesh.uniform_refinement.count 0 8 | mesh.refinement.fraction 0.01 9 | 10 | mode.definition.file diffPair_lines.txt 11 | 12 | materials.global.path ../../ 13 | materials.global.name global_materials.txt 14 | materials.local.path ../ 15 | materials.local.name local_materials.txt 16 | materials.check.limits true 17 | 18 | refinement.frequency plan 19 | refinement.variable |Zo| 20 | refinement.iteration.min 1 21 | refinement.iteration.max 50 22 | refinement.required.passes 1 23 | refinement.tolerance 1e-3 24 | 25 | frequency.plan.point.refine 100e9 26 | frequency.plan.point.refine 52e9 27 | frequency.plan.point.refine 8e9 28 | 29 | solution.modes 2 30 | solution.temperature 30 31 | solution.tolerance 1e-12 32 | solution.iteration.limit 30000 33 | solution.modes.buffer 0 34 | solution.impedance.definition PI 35 | solution.impedance.calculation line 36 | solution.accurate.residual false 37 | solution.shift.invert true 38 | solution.use.initial.guess true 39 | 40 | output.show.refining.mesh false 41 | output.show.postprocessing false 42 | output.show.iterations false 43 | 44 | test.create.cases false 45 | test.show.audit false 46 | test.show.detailed.cases false 47 | 48 | debug.show.memory false 49 | debug.show.project false 50 | debug.show.frequency.plan false 51 | debug.show.materials false 52 | debug.show.mode.definitions false 53 | debug.show.impedance.details false 54 | debug.skip.solve false 55 | debug.tempfiles.keep false 56 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line/diffPair_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-09 3 | diffPair_1_2_1_result,8e+09,2,alpha,lessthan,1e-10 4 | diffPair_1_1_2_result,8e+09,1,beta,equal,2.71126846144558,1e-10 5 | diffPair_1_2_3_result,8000000000,2,beta,equal,2.35245657738595,1e-10 6 | diffPair_1_1_4_result,8000000000,1,real_Z,equal,19.8194000600671,1e-10 7 | diffPair_1_2_5_result,8000000000,2,real_Z,equal,62.0026883354892,1e-09 8 | diffPair_1_1_6_result,8000000000,1,imag_Z,lessthan,1e-10 9 | diffPair_1_2_7_result,8000000000,2,imag_Z,lessthan,1e-10 10 | diffPair_2_1_8_result,52000000000,1,alpha,lessthan,1e-09 11 | diffPair_2_2_9_result,52000000000,2,alpha,lessthan,1e-10 12 | diffPair_2_1_10_result,52000000000,1,beta,equal,2.98155097207921,1e-10 13 | diffPair_2_2_11_result,52000000000,2,beta,equal,2.90850634869389,1e-10 14 | diffPair_2_1_12_result,52000000000,1,real_Z,equal,27.5571761867746,1e-10 15 | diffPair_2_2_13_result,52000000000,2,real_Z,equal,96.6026478007103,1e-10 16 | diffPair_2_1_14_result,52000000000,1,imag_Z,lessthan,1e-10 17 | diffPair_2_2_15_result,52000000000,2,imag_Z,lessthan,1e-10 18 | diffPair_3_1_16_result,100000000000,1,alpha,lessthan,1e-09 19 | diffPair_3_2_17_result,100000000000,2,alpha,lessthan,1e-09 20 | diffPair_3_1_18_result,100000000000,1,beta,equal,3.06334753277178,1e-10 21 | diffPair_3_2_19_result,100000000000,2,beta,equal,3.04492294918494,1e-10 22 | diffPair_3_1_20_result,100000000000,1,real_Z,equal,36.135033857138,1e-10 23 | diffPair_3_2_21_result,100000000000,2,real_Z,equal,131.86213099336,1e-10 24 | diffPair_3_1_22_result,100000000000,1,imag_Z,lessthan,1e-10 25 | diffPair_3_2_23_result,100000000000,2,imag_Z,lessthan,1e-10 26 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line/diffPair_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-09 3 | diffPair_1_2_1_result,8e+09,2,alpha,lessthan,1e-10 4 | diffPair_1_1_2_result,8e+09,1,beta,equal,2.71126846144558,1e-10 5 | diffPair_1_2_3_result,8000000000,2,beta,equal,2.35245657738595,1e-10 6 | diffPair_1_1_4_result,8000000000,1,real_Z,equal,19.8194000600671,1e-10 7 | diffPair_1_2_5_result,8000000000,2,real_Z,equal,62.0026883354892,1e-09 8 | diffPair_1_1_6_result,8000000000,1,imag_Z,lessthan,1e-10 9 | diffPair_1_2_7_result,8000000000,2,imag_Z,lessthan,1e-10 10 | diffPair_2_1_8_result,52000000000,1,alpha,lessthan,1e-09 11 | diffPair_2_2_9_result,52000000000,2,alpha,lessthan,1e-10 12 | diffPair_2_1_10_result,52000000000,1,beta,equal,2.98155097207921,1e-10 13 | diffPair_2_2_11_result,52000000000,2,beta,equal,2.90850634869389,1e-10 14 | diffPair_2_1_12_result,52000000000,1,real_Z,equal,27.5571761867746,1e-10 15 | diffPair_2_2_13_result,52000000000,2,real_Z,equal,96.6026478007103,1e-10 16 | diffPair_2_1_14_result,52000000000,1,imag_Z,lessthan,1e-10 17 | diffPair_2_2_15_result,52000000000,2,imag_Z,lessthan,1e-10 18 | diffPair_3_1_16_result,100000000000,1,alpha,lessthan,1e-09 19 | diffPair_3_2_17_result,100000000000,2,alpha,lessthan,1e-09 20 | diffPair_3_1_18_result,100000000000,1,beta,equal,3.06334753277178,1e-10 21 | diffPair_3_2_19_result,100000000000,2,beta,equal,3.04492294918494,1e-10 22 | diffPair_3_1_20_result,100000000000,1,real_Z,equal,36.135033857138,1e-10 23 | diffPair_3_2_21_result,100000000000,2,real_Z,equal,131.86213099336,1e-10 24 | diffPair_3_1_22_result,100000000000,1,imag_Z,lessthan,1e-10 25 | diffPair_3_2_23_result,100000000000,2,imag_Z,lessthan,1e-10 26 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line_wide_spacing/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=diffPair 5 | check_limits=true 6 | EndControl 7 | 8 | CoupledStrip 9 | name=diffPair 10 | left_side_gap=0.0065 11 | right_side_gap=0.0065 12 | upper_thickness=0.006 13 | upper_material=air 14 | lower_thickness=0.000635 15 | lower_material=alumina 16 | trace_thickness=0.0003 17 | trace_left_width=0.001 18 | trace_right_width=0.00101 // break symmetry 19 | trace_air_gap=0.005 20 | trace_etch_angle=90 21 | default_conductor_material=PEC 22 | EndCoupledStrip 23 | 24 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line_wide_spacing/builder/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file diffPair.msh 8 | mesh.order 4 9 | 10 | mode.definition.file diffPair_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 2 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line_wide_spacing/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // The two widely spaced lines with perfect symmetry have 4 degenerate modes: 4 | // single-ended on the left, single-ended on the right, common mode, and differential mode. 5 | // Due to slight numerical differences iteration to iteration and run to run, 6 | // which two propagating modes are produced is somewhat random, consisting of pure modes 7 | // or superpositions of them. Convergence is not possible. 8 | 9 | // To avoid this situation, the symmetry is broken by making one line slightly wider than 10 | // the other. See builder.txt. 11 | 12 | project.save.fields false 13 | mesh.file diffPair.msh 14 | mesh.order 3 15 | mesh.refinement.fraction 0.01 16 | mode.definition.file diffPair_lines.txt 17 | materials.global.path ../../ 18 | materials.global.name global_materials.txt 19 | materials.local.path ../ 20 | materials.local.name local_materials.txt 21 | refinement.frequency plan 22 | refinement.variable |Zo| 23 | refinement.iteration.min 1 24 | refinement.iteration.max 50 25 | refinement.required.passes 1 26 | refinement.tolerance 1e-3 27 | frequency.plan.point.refine 100e9 28 | frequency.plan.point.refine 52e9 29 | frequency.plan.point.refine 8e9 30 | solution.modes 2 31 | solution.temperature 30 32 | solution.tolerance 1e-12 33 | solution.iteration.limit 30000 34 | solution.modes.buffer 0 35 | solution.impedance.definition PI 36 | solution.impedance.calculation line 37 | solution.shift.invert true 38 | solution.use.initial.guess true 39 | output.show.refining.mesh false 40 | output.show.postprocessing false 41 | output.show.iterations false 42 | output.show.license false 43 | test.create.cases false 44 | debug.show.impedance.details false 45 | 46 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line_wide_spacing/diffPair_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-10 3 | diffPair_1_2_1_result,8e+09,2,alpha,lessthan,1e-10 4 | diffPair_1_1_2_result,8e+09,1,beta,equal,2.57535903348385,1e-10 5 | diffPair_1_2_3_result,8000000000,2,beta,equal,2.54369316331697,1e-10 6 | diffPair_1_1_4_result,8000000000,1,real_Z,equal,18.1214998311399,1e-10 7 | diffPair_1_2_5_result,8000000000,2,real_Z,equal,65.5830905611636,1e-08 8 | diffPair_1_1_6_result,8000000000,1,imag_Z,lessthan,1e-10 9 | diffPair_1_2_7_result,8000000000,2,imag_Z,lessthan,1e-10 10 | diffPair_2_1_8_result,52000000000,1,alpha,lessthan,1e-10 11 | diffPair_2_2_9_result,52000000000,2,alpha,lessthan,1e-10 12 | diffPair_2_1_10_result,52000000000,1,beta,equal,2.94919136178293,1e-10 13 | diffPair_2_2_11_result,52000000000,2,beta,equal,2.9477452244571,1e-10 14 | diffPair_2_1_12_result,52000000000,1,real_Z,equal,50.3685032837818,1e-10 15 | diffPair_2_2_13_result,52000000000,2,real_Z,equal,51.951112163576,1e-10 16 | diffPair_2_1_14_result,52000000000,1,imag_Z,lessthan,1e-10 17 | diffPair_2_2_15_result,52000000000,2,imag_Z,lessthan,1e-10 18 | diffPair_3_1_16_result,100000000000,1,alpha,lessthan,1e-09 19 | diffPair_3_2_17_result,100000000000,2,alpha,lessthan,1e-09 20 | diffPair_3_1_18_result,100000000000,1,beta,equal,3.05540252215303,1e-10 21 | diffPair_3_2_19_result,100000000000,2,beta,equal,3.05472371320704,1e-10 22 | diffPair_3_1_20_result,100000000000,1,real_Z,equal,67.9263607894006,1e-09 23 | diffPair_3_2_21_result,100000000000,2,real_Z,equal,69.4815637433838,1e-10 24 | diffPair_3_1_22_result,100000000000,1,imag_Z,lessthan,1e-10 25 | diffPair_3_2_23_result,100000000000,2,imag_Z,lessthan,1e-10 26 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_line_wide_spacing/diffPair_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-10 3 | diffPair_1_2_1_result,8e+09,2,alpha,lessthan,1e-10 4 | diffPair_1_1_2_result,8e+09,1,beta,equal,2.57535903348385,1e-10 5 | diffPair_1_2_3_result,8000000000,2,beta,equal,2.54369316331697,1e-10 6 | diffPair_1_1_4_result,8000000000,1,real_Z,equal,18.1214998311399,1e-10 7 | diffPair_1_2_5_result,8000000000,2,real_Z,equal,65.5830905611636,1e-08 8 | diffPair_1_1_6_result,8000000000,1,imag_Z,lessthan,1e-10 9 | diffPair_1_2_7_result,8000000000,2,imag_Z,lessthan,1e-10 10 | diffPair_2_1_8_result,52000000000,1,alpha,lessthan,1e-10 11 | diffPair_2_2_9_result,52000000000,2,alpha,lessthan,1e-10 12 | diffPair_2_1_10_result,52000000000,1,beta,equal,2.94919136178293,1e-10 13 | diffPair_2_2_11_result,52000000000,2,beta,equal,2.9477452244571,1e-10 14 | diffPair_2_1_12_result,52000000000,1,real_Z,equal,50.3685032837818,1e-10 15 | diffPair_2_2_13_result,52000000000,2,real_Z,equal,51.951112163576,1e-10 16 | diffPair_2_1_14_result,52000000000,1,imag_Z,lessthan,1e-10 17 | diffPair_2_2_15_result,52000000000,2,imag_Z,lessthan,1e-10 18 | diffPair_3_1_16_result,100000000000,1,alpha,lessthan,1e-09 19 | diffPair_3_2_17_result,100000000000,2,alpha,lessthan,1e-09 20 | diffPair_3_1_18_result,100000000000,1,beta,equal,3.05540252215303,1e-10 21 | diffPair_3_2_19_result,100000000000,2,beta,equal,3.05472371320704,1e-10 22 | diffPair_3_1_20_result,100000000000,1,real_Z,equal,67.9263607894006,1e-09 23 | diffPair_3_2_21_result,100000000000,2,real_Z,equal,69.4815637433838,1e-10 24 | diffPair_3_1_22_result,100000000000,1,imag_Z,lessthan,1e-10 25 | diffPair_3_2_23_result,100000000000,2,imag_Z,lessthan,1e-10 26 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=diffPair 5 | check_limits=true 6 | EndControl 7 | 8 | CoupledStrip 9 | name=diffPair 10 | solution_impedance_calculation=modal 11 | left_side_gap=0.0085 12 | right_side_gap=0.0085 13 | upper_thickness=0.006 14 | upper_material=air 15 | lower_thickness=0.000635 16 | lower_material=alumina 17 | trace_thickness=0.0003 18 | trace_left_width=0.001 19 | trace_right_width=0 20 | trace_air_gap=0.001 21 | trace_etch_angle=90 22 | default_conductor_material=PEC 23 | EndCoupledStrip 24 | 25 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal/builder/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file diffPair.msh 8 | mesh.order 4 9 | 10 | mode.definition.file diffPair_modes.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 2 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation modal 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal/diffPair.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_modal/diffPair.FCStd -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal/diffPair.geo: -------------------------------------------------------------------------------- 1 | Merge "diffPair.brep"; 2 | //+ 3 | Physical Surface("substrate", 1) = {1}; 4 | //+ 5 | Physical Surface("air", 2) = {2}; 6 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file ./diffPair.msh 6 | mesh.order 3 7 | mesh.uniform_refinement.count 0 8 | mesh.refinement.fraction 0.01 9 | 10 | mode.definition.file diffPair_modes.txt 11 | 12 | materials.global.path ../../ 13 | materials.global.name global_materials.txt 14 | materials.local.path ../ 15 | materials.local.name local_materials.txt 16 | materials.check.limits true 17 | 18 | refinement.frequency plan 19 | refinement.variable |Zo| 20 | refinement.iteration.min 1 21 | refinement.iteration.max 50 22 | refinement.required.passes 1 23 | refinement.tolerance 1e-3 24 | 25 | frequency.plan.point.refine 100e9 26 | frequency.plan.point.refine 52e9 27 | frequency.plan.point.refine 8e9 28 | 29 | solution.modes 2 30 | solution.temperature 30 31 | solution.tolerance 1e-12 32 | solution.iteration.limit 30000 33 | solution.modes.buffer 0 34 | solution.impedance.definition PI 35 | solution.impedance.calculation modal 36 | solution.accurate.residual false 37 | solution.shift.invert true 38 | solution.use.initial.guess true 39 | 40 | output.show.refining.mesh false 41 | output.show.postprocessing false 42 | output.show.iterations false 43 | 44 | test.create.cases false 45 | test.show.audit false 46 | test.show.detailed.cases false 47 | 48 | debug.show.memory false 49 | debug.show.project false 50 | debug.show.frequency.plan false 51 | debug.show.materials false 52 | debug.show.mode.definitions false 53 | debug.show.impedance.details false 54 | debug.skip.solve false 55 | debug.tempfiles.keep false 56 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal/diffPair_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-09 3 | diffPair_1_2_1_result,8e+09,2,alpha,lessthan,1e-10 4 | diffPair_1_1_2_result,8e+09,1,beta,equal,2.7112684614111,1e-10 5 | diffPair_1_2_3_result,8000000000,2,beta,equal,2.35245657735134,1e-10 6 | diffPair_1_1_4_result,8000000000,1,real_Z,equal,19.8194000603173,1e-10 7 | diffPair_1_2_5_result,8000000000,2,real_Z,equal,62.036132484698,1e-10 8 | diffPair_1_1_6_result,8000000000,1,imag_Z,lessthan,1e-10 9 | diffPair_1_2_7_result,8000000000,2,imag_Z,lessthan,1e-10 10 | diffPair_2_1_8_result,52000000000,1,alpha,lessthan,1e-09 11 | diffPair_2_2_9_result,52000000000,2,alpha,lessthan,1e-10 12 | diffPair_2_1_10_result,52000000000,1,beta,equal,2.98155097207946,1e-10 13 | diffPair_2_2_11_result,52000000000,2,beta,equal,2.90850634869402,1e-10 14 | diffPair_2_1_12_result,52000000000,1,real_Z,equal,27.5571761867608,1e-10 15 | diffPair_2_2_13_result,52000000000,2,real_Z,equal,96.6451082665807,1e-10 16 | diffPair_2_1_14_result,52000000000,1,imag_Z,lessthan,1e-10 17 | diffPair_2_2_15_result,52000000000,2,imag_Z,lessthan,1e-10 18 | diffPair_3_1_16_result,100000000000,1,alpha,lessthan,1e-09 19 | diffPair_3_2_17_result,100000000000,2,alpha,lessthan,1e-09 20 | diffPair_3_1_18_result,100000000000,1,beta,equal,3.06334753277179,1e-10 21 | diffPair_3_2_19_result,100000000000,2,beta,equal,3.04492294918492,1e-10 22 | diffPair_3_1_20_result,100000000000,1,real_Z,equal,36.135033857149,1e-10 23 | diffPair_3_2_21_result,100000000000,2,real_Z,equal,131.908074430018,1e-10 24 | diffPair_3_1_22_result,100000000000,1,imag_Z,lessthan,1e-10 25 | diffPair_3_2_23_result,100000000000,2,imag_Z,lessthan,1e-10 26 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal/diffPair_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-09 3 | diffPair_1_2_1_result,8e+09,2,alpha,lessthan,1e-10 4 | diffPair_1_1_2_result,8e+09,1,beta,equal,2.7112684614111,1e-10 5 | diffPair_1_2_3_result,8000000000,2,beta,equal,2.35245657735134,1e-10 6 | diffPair_1_1_4_result,8000000000,1,real_Z,equal,19.8194000603173,1e-10 7 | diffPair_1_2_5_result,8000000000,2,real_Z,equal,62.036132484698,1e-10 8 | diffPair_1_1_6_result,8000000000,1,imag_Z,lessthan,1e-10 9 | diffPair_1_2_7_result,8000000000,2,imag_Z,lessthan,1e-10 10 | diffPair_2_1_8_result,52000000000,1,alpha,lessthan,1e-09 11 | diffPair_2_2_9_result,52000000000,2,alpha,lessthan,1e-10 12 | diffPair_2_1_10_result,52000000000,1,beta,equal,2.98155097207946,1e-10 13 | diffPair_2_2_11_result,52000000000,2,beta,equal,2.90850634869402,1e-10 14 | diffPair_2_1_12_result,52000000000,1,real_Z,equal,27.5571761867608,1e-10 15 | diffPair_2_2_13_result,52000000000,2,real_Z,equal,96.6451082665807,1e-10 16 | diffPair_2_1_14_result,52000000000,1,imag_Z,lessthan,1e-10 17 | diffPair_2_2_15_result,52000000000,2,imag_Z,lessthan,1e-10 18 | diffPair_3_1_16_result,100000000000,1,alpha,lessthan,1e-09 19 | diffPair_3_2_17_result,100000000000,2,alpha,lessthan,1e-09 20 | diffPair_3_1_18_result,100000000000,1,beta,equal,3.06334753277179,1e-10 21 | diffPair_3_2_19_result,100000000000,2,beta,equal,3.04492294918492,1e-10 22 | diffPair_3_1_20_result,100000000000,1,real_Z,equal,36.135033857149,1e-10 23 | diffPair_3_2_21_result,100000000000,2,real_Z,equal,131.908074430018,1e-10 24 | diffPair_3_1_22_result,100000000000,1,imag_Z,lessthan,1e-10 25 | diffPair_3_2_23_result,100000000000,2,imag_Z,lessthan,1e-10 26 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_even/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=diffPair 5 | check_limits=true 6 | EndControl 7 | 8 | Strip 9 | name=diffPair 10 | use_symmetry=false 11 | left_side_gap=0.0085 12 | right_side_gap=0.0005 13 | upper_thickness=0.006 14 | upper_material=air 15 | lower_thickness=0.000635 16 | lower_material=alumina 17 | trace_thickness=0.0003 18 | trace_width=0.001 19 | trace_etch_angle=90 20 | default_conductor_material=PEC 21 | right_side_material=PMC 22 | EndStrip 23 | 24 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_even/builder/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file diffPair.msh 8 | mesh.order 4 9 | 10 | mode.definition.file diffPair_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_even/builder/diffPair_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=diffPair 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=diffPair 9 | // use_symmetry=false 10 | // upper_material=air 11 | // upper_thickness=0.006 12 | // lower_material=alumina 13 | // lower_thickness=0.000635 14 | // left_side_gap=0.0085 15 | // right_side_material=PMC 16 | // right_side_gap=0.0005 17 | // trace_thickness=0.0003 18 | // trace_width=0.001 19 | // trace_etch_angle=90 20 | // default_conductor_material=PEC 21 | // EndStrip 22 | 23 | File 24 | name=generated_by_builder 25 | EndFile 26 | 27 | Path 28 | name=voltage_line 29 | point=(0,0) 30 | point=(0,0.000635) 31 | closed=false 32 | EndPath 33 | 34 | Mode 35 | mode=1 36 | type=voltage 37 | path=voltage_line 38 | EndMode 39 | 40 | Path 41 | name=trace_top 42 | point=(-0.0005,0.000935) 43 | point=(0.0005,0.000935) 44 | closed=false 45 | EndPath 46 | 47 | Path 48 | name=trace_bottom 49 | point=(-0.0005,0.000635) 50 | point=(0.0005,0.000635) 51 | closed=false 52 | EndPath 53 | 54 | Path 55 | name=trace_left 56 | point=(-0.0005,0.000635) 57 | point=(-0.0005,0.000935) 58 | closed=false 59 | EndPath 60 | 61 | Path 62 | name=trace_right 63 | point=(0.0005,0.000635) 64 | point=(0.0005,0.000935) 65 | closed=false 66 | EndPath 67 | 68 | Path 69 | name=right_side 70 | point=(0.001,0) 71 | point=(0.001,0.006635) 72 | closed=false 73 | EndPath 74 | 75 | Boundary 76 | name=right_side 77 | type=perfect_magnetic_conductor 78 | path=right_side 79 | EndBoundary 80 | 81 | Mode 82 | mode=1 83 | type=current 84 | path=+trace_top 85 | path+=trace_right 86 | path+=trace_bottom 87 | path+=trace_left 88 | EndMode 89 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_even/diffPair.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_modal_symmetry_even/diffPair.FCStd -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_even/diffPair.geo: -------------------------------------------------------------------------------- 1 | Merge "diffPair.brep"; 2 | //+ 3 | Physical Surface("air", 2) = {2}; 4 | //+ 5 | Physical Surface("substrate", 1) = {1}; 6 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_even/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file ./diffPair.msh 6 | mesh.order 3 7 | mesh.uniform_refinement.count 0 8 | mesh.refinement.fraction 0.01 9 | 10 | mode.definition.file diffPair_modes.txt 11 | 12 | materials.global.path ../../ 13 | materials.global.name global_materials.txt 14 | materials.local.path ../ 15 | materials.local.name local_materials.txt 16 | materials.check.limits true 17 | 18 | refinement.frequency plan 19 | refinement.variable |Zo| 20 | refinement.iteration.min 1 21 | refinement.iteration.max 50 22 | refinement.required.passes 1 23 | refinement.tolerance 1e-3 24 | 25 | frequency.plan.point.refine 100e9 26 | frequency.plan.point.refine 52e9 27 | frequency.plan.point.refine 8e9 28 | 29 | solution.modes 1 30 | solution.temperature 30 31 | solution.tolerance 1e-12 32 | solution.iteration.limit 30000 33 | solution.modes.buffer 0 34 | solution.impedance.definition PI 35 | solution.impedance.calculation modal 36 | solution.accurate.residual false 37 | solution.shift.invert true 38 | solution.use.initial.guess true 39 | 40 | output.show.refining.mesh false 41 | output.show.postprocessing false 42 | output.show.iterations false 43 | 44 | test.create.cases false 45 | test.show.audit false 46 | test.show.detailed.cases false 47 | 48 | debug.show.memory false 49 | debug.show.project false 50 | debug.show.frequency.plan false 51 | debug.show.materials false 52 | debug.show.mode.definitions false 53 | debug.show.impedance.details false 54 | debug.skip.solve false 55 | debug.tempfiles.keep false 56 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_even/diffPair_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-10 3 | diffPair_1_1_1_result,8e+09,1,beta,equal,2.71128693255777,1e-10 4 | diffPair_1_1_2_result,8000000000,1,real_Z,equal,39.8015934937595,1e-10 5 | diffPair_1_1_3_result,8000000000,1,imag_Z,lessthan,1e-10 6 | diffPair_2_1_4_result,52000000000,1,alpha,lessthan,1e-10 7 | diffPair_2_1_5_result,52000000000,1,beta,equal,2.98156370632369,1e-10 8 | diffPair_2_1_6_result,52000000000,1,real_Z,equal,55.245499016369,1e-10 9 | diffPair_2_1_7_result,52000000000,1,imag_Z,lessthan,1e-10 10 | diffPair_3_1_8_result,100000000000,1,alpha,lessthan,1e-09 11 | diffPair_3_1_9_result,100000000000,1,beta,equal,3.0633537601307,1e-10 12 | diffPair_3_1_10_result,100000000000,1,real_Z,equal,72.3644599662425,1e-10 13 | diffPair_3_1_11_result,100000000000,1,imag_Z,lessthan,1e-10 14 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_even/diffPair_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=diffPair 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=diffPair 9 | // use_symmetry=false 10 | // upper_material=air 11 | // upper_thickness=0.006 12 | // lower_material=alumina 13 | // lower_thickness=0.000635 14 | // left_side_gap=0.0085 15 | // right_side_material=PMC 16 | // right_side_gap=0.0005 17 | // trace_thickness=0.0003 18 | // trace_width=0.001 19 | // trace_etch_angle=90 20 | // default_conductor_material=PEC 21 | // EndStrip 22 | 23 | File 24 | name=generated_by_builder 25 | EndFile 26 | 27 | Path 28 | name=voltage_line 29 | point=(0,0) 30 | point=(0,0.000635) 31 | closed=false 32 | EndPath 33 | 34 | Mode 35 | mode=1 36 | type=voltage 37 | path=voltage_line 38 | EndMode 39 | 40 | Path 41 | name=trace_top 42 | point=(-0.0005,0.000935) 43 | point=(0.0005,0.000935) 44 | closed=false 45 | EndPath 46 | 47 | Path 48 | name=trace_bottom 49 | point=(-0.0005,0.000635) 50 | point=(0.0005,0.000635) 51 | closed=false 52 | EndPath 53 | 54 | Path 55 | name=trace_left 56 | point=(-0.0005,0.000635) 57 | point=(-0.0005,0.000935) 58 | closed=false 59 | EndPath 60 | 61 | Path 62 | name=trace_right 63 | point=(0.0005,0.000635) 64 | point=(0.0005,0.000935) 65 | closed=false 66 | EndPath 67 | 68 | Path 69 | name=right_side 70 | point=(0.001,0) 71 | point=(0.001,0.006635) 72 | closed=false 73 | EndPath 74 | 75 | Boundary 76 | name=right_side 77 | type=perfect_magnetic_conductor 78 | path=right_side 79 | EndBoundary 80 | 81 | Mode 82 | mode=1 83 | type=current 84 | path=+trace_top 85 | path+=trace_right 86 | path+=trace_bottom 87 | path+=trace_left 88 | EndMode 89 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_even/diffPair_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-10 3 | diffPair_1_1_1_result,8e+09,1,beta,equal,2.71128693255777,1e-10 4 | diffPair_1_1_2_result,8000000000,1,real_Z,equal,39.8015934937595,1e-10 5 | diffPair_1_1_3_result,8000000000,1,imag_Z,lessthan,1e-10 6 | diffPair_2_1_4_result,52000000000,1,alpha,lessthan,1e-10 7 | diffPair_2_1_5_result,52000000000,1,beta,equal,2.98156370632369,1e-10 8 | diffPair_2_1_6_result,52000000000,1,real_Z,equal,55.245499016369,1e-10 9 | diffPair_2_1_7_result,52000000000,1,imag_Z,lessthan,1e-10 10 | diffPair_3_1_8_result,100000000000,1,alpha,lessthan,1e-09 11 | diffPair_3_1_9_result,100000000000,1,beta,equal,3.0633537601307,1e-10 12 | diffPair_3_1_10_result,100000000000,1,real_Z,equal,72.3644599662425,1e-10 13 | diffPair_3_1_11_result,100000000000,1,imag_Z,lessthan,1e-10 14 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_odd/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=diffPair 5 | check_limits=true 6 | EndControl 7 | 8 | Strip 9 | name=diffPair 10 | use_symmetry=false 11 | left_side_gap=0.0085 12 | right_side_gap=0.0005 13 | upper_thickness=0.006 14 | upper_material=air 15 | lower_thickness=0.000635 16 | lower_material=alumina 17 | trace_thickness=0.0003 18 | trace_width=0.001 19 | trace_etch_angle=90 20 | default_conductor_material=PEC 21 | EndStrip 22 | 23 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_odd/builder/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file diffPair.msh 8 | mesh.order 4 9 | 10 | mode.definition.file diffPair_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_odd/builder/diffPair_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=diffPair 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=diffPair 9 | // use_symmetry=false 10 | // upper_material=air 11 | // upper_thickness=0.006 12 | // lower_material=alumina 13 | // lower_thickness=0.000635 14 | // left_side_gap=0.0085 15 | // right_side_gap=0.0005 16 | // trace_thickness=0.0003 17 | // trace_width=0.001 18 | // trace_etch_angle=90 19 | // default_conductor_material=PEC 20 | // EndStrip 21 | 22 | File 23 | name=generated_by_builder 24 | EndFile 25 | 26 | Path 27 | name=voltage_line 28 | point=(0,0) 29 | point=(0,0.000635) 30 | closed=false 31 | EndPath 32 | 33 | Mode 34 | mode=1 35 | type=voltage 36 | path=voltage_line 37 | EndMode 38 | 39 | Path 40 | name=trace_top 41 | point=(-0.0005,0.000935) 42 | point=(0.0005,0.000935) 43 | closed=false 44 | EndPath 45 | 46 | Path 47 | name=trace_bottom 48 | point=(-0.0005,0.000635) 49 | point=(0.0005,0.000635) 50 | closed=false 51 | EndPath 52 | 53 | Path 54 | name=trace_left 55 | point=(-0.0005,0.000635) 56 | point=(-0.0005,0.000935) 57 | closed=false 58 | EndPath 59 | 60 | Path 61 | name=trace_right 62 | point=(0.0005,0.000635) 63 | point=(0.0005,0.000935) 64 | closed=false 65 | EndPath 66 | 67 | Mode 68 | mode=1 69 | type=current 70 | path=+trace_top 71 | path+=trace_right 72 | path+=trace_bottom 73 | path+=trace_left 74 | EndMode 75 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_odd/diffPair.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file ./diffPair.msh 6 | mesh.order 3 7 | mesh.uniform_refinement.count 0 8 | mesh.refinement.fraction 0.01 9 | 10 | mode.definition.file diffPair_modes.txt 11 | 12 | materials.global.path ../../ 13 | materials.global.name global_materials.txt 14 | materials.local.path ../ 15 | materials.local.name local_materials.txt 16 | materials.check.limits true 17 | 18 | refinement.frequency plan 19 | refinement.variable |Zo| 20 | refinement.iteration.min 1 21 | refinement.iteration.max 50 22 | refinement.required.passes 1 23 | refinement.tolerance 1e-3 24 | 25 | frequency.plan.point.refine 100e9 26 | frequency.plan.point.refine 52e9 27 | frequency.plan.point.refine 8e9 28 | 29 | solution.modes 1 30 | solution.temperature 30 31 | solution.tolerance 1e-12 32 | solution.iteration.limit 30000 33 | solution.modes.buffer 0 34 | solution.impedance.definition PI 35 | solution.impedance.calculation modal 36 | solution.accurate.residual false 37 | solution.shift.invert true 38 | solution.use.initial.guess true 39 | 40 | output.show.refining.mesh false 41 | output.show.postprocessing false 42 | output.show.iterations false 43 | 44 | test.create.cases false 45 | test.show.audit false 46 | test.show.detailed.cases false 47 | 48 | debug.show.memory false 49 | debug.show.project false 50 | debug.show.frequency.plan false 51 | debug.show.materials false 52 | debug.show.mode.definitions false 53 | debug.show.impedance.details false 54 | debug.skip.solve false 55 | debug.tempfiles.keep false 56 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_odd/diffPair_derived_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-10 3 | diffPair_1_1_1_result,8e+09,1,beta,equal,2.35244801415456,1e-10 4 | diffPair_1_1_2_result,8000000000,1,real_Z,equal,30.9012382044946,1e-10 5 | diffPair_1_1_3_result,8000000000,1,imag_Z,lessthan,1e-10 6 | diffPair_2_1_4_result,52000000000,1,alpha,lessthan,1e-10 7 | diffPair_2_1_5_result,52000000000,1,beta,equal,2.90849778804867,1e-10 8 | diffPair_2_1_6_result,52000000000,1,real_Z,equal,48.204055668822,1e-10 9 | diffPair_2_1_7_result,52000000000,1,imag_Z,lessthan,1e-10 10 | diffPair_3_1_8_result,100000000000,1,alpha,lessthan,1e-09 11 | diffPair_3_1_9_result,100000000000,1,beta,equal,3.0449186916085,1e-10 12 | diffPair_3_1_10_result,100000000000,1,real_Z,equal,65.8422120846362,1e-10 13 | diffPair_3_1_11_result,100000000000,1,imag_Z,lessthan,1e-10 14 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_odd/diffPair_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | // Control 4 | // build=diffPair 5 | // check_limits=true 6 | // EndControl 7 | // Strip 8 | // name=diffPair 9 | // use_symmetry=false 10 | // upper_material=air 11 | // upper_thickness=0.006 12 | // lower_material=alumina 13 | // lower_thickness=0.000635 14 | // left_side_gap=0.0085 15 | // right_side_gap=0.0005 16 | // trace_thickness=0.0003 17 | // trace_width=0.001 18 | // trace_etch_angle=90 19 | // default_conductor_material=PEC 20 | // EndStrip 21 | 22 | File 23 | name=generated_by_builder 24 | EndFile 25 | 26 | Path 27 | name=voltage_line 28 | point=(0,0) 29 | point=(0,0.000635) 30 | closed=false 31 | EndPath 32 | 33 | Mode 34 | mode=1 35 | type=voltage 36 | path=voltage_line 37 | EndMode 38 | 39 | Path 40 | name=trace_top 41 | point=(-0.0005,0.000935) 42 | point=(0.0005,0.000935) 43 | closed=false 44 | EndPath 45 | 46 | Path 47 | name=trace_bottom 48 | point=(-0.0005,0.000635) 49 | point=(0.0005,0.000635) 50 | closed=false 51 | EndPath 52 | 53 | Path 54 | name=trace_left 55 | point=(-0.0005,0.000635) 56 | point=(-0.0005,0.000935) 57 | closed=false 58 | EndPath 59 | 60 | Path 61 | name=trace_right 62 | point=(0.0005,0.000635) 63 | point=(0.0005,0.000935) 64 | closed=false 65 | EndPath 66 | 67 | Mode 68 | mode=1 69 | type=current 70 | path=+trace_top 71 | path+=trace_right 72 | path+=trace_bottom 73 | path+=trace_left 74 | EndMode 75 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_modal_symmetry_odd/diffPair_test_cases.csv: -------------------------------------------------------------------------------- 1 | # ResultDatabase::save_as_test 2 | diffPair_1_1_0_result,8e+09,1,alpha,lessthan,1e-10 3 | diffPair_1_1_1_result,8e+09,1,beta,equal,2.35244801415456,1e-10 4 | diffPair_1_1_2_result,8000000000,1,real_Z,equal,30.9012382044946,1e-10 5 | diffPair_1_1_3_result,8000000000,1,imag_Z,lessthan,1e-10 6 | diffPair_2_1_4_result,52000000000,1,alpha,lessthan,1e-10 7 | diffPair_2_1_5_result,52000000000,1,beta,equal,2.90849778804867,1e-10 8 | diffPair_2_1_6_result,52000000000,1,real_Z,equal,48.204055668822,1e-10 9 | diffPair_2_1_7_result,52000000000,1,imag_Z,lessthan,1e-10 10 | diffPair_3_1_8_result,100000000000,1,alpha,lessthan,1e-09 11 | diffPair_3_1_9_result,100000000000,1,beta,equal,3.0449186916085,1e-10 12 | diffPair_3_1_10_result,100000000000,1,real_Z,equal,65.8422120846362,1e-10 13 | diffPair_3_1_11_result,100000000000,1,imag_Z,lessthan,1e-10 14 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/diffPair.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_study/diffPair.FCStd -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/diffPair.geo: -------------------------------------------------------------------------------- 1 | Merge "diffPair.brep"; 2 | //+ 3 | Physical Surface("alumina", 1) = {1}; 4 | //+ 5 | Physical Surface("air", 2) = {2}; 6 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/diffPair_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/regression/differential_pair/diff_pair_study/diffPair.FCStd 5 | EndFile 6 | 7 | Path 8 | name=V1 9 | point=(-0.001,0.000635) 10 | point=(-0.001,0.0) 11 | closed=false 12 | EndPath 13 | 14 | Path 15 | name=V2 16 | point=(0.001,0.000635) 17 | point=(0.001,0.0) 18 | closed=false 19 | EndPath 20 | 21 | Path 22 | name=line1 23 | point=(-0.0015,0.000635) 24 | point=(-0.0005,0.000635) 25 | point=(-0.0005,0.0009350000000000001) 26 | point=(-0.0015,0.0009350000000000001) 27 | closed=true 28 | EndPath 29 | 30 | Path 31 | name=line2 32 | point=(0.0005,0.000635) 33 | point=(0.0015,0.000635) 34 | point=(0.0015,0.0009350000000000001) 35 | point=(0.0005,0.0009350000000000001) 36 | closed=true 37 | EndPath 38 | 39 | Mode 40 | mode=1 41 | type=current 42 | path=+line1 43 | path+=line2 44 | EndMode 45 | 46 | Mode 47 | mode=1 48 | type=voltage 49 | scale=0.5 50 | path=+V1 51 | path+=V2 52 | EndMode 53 | 54 | Mode 55 | mode=2 56 | type=current 57 | scale=0.5 58 | path=+line1 59 | path-=line2 60 | EndMode 61 | 62 | Mode 63 | mode=2 64 | type=voltage 65 | path=+V1 66 | path-=V2 67 | EndMode 68 | 69 | -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/diff_pair_accuracy_run_results.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_study/diff_pair_accuracy_run_results.ods -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/screenshots/diffpair_even.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_study/screenshots/diffpair_even.png -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/screenshots/diffpair_even_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_study/screenshots/diffpair_even_plot.png -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/screenshots/diffpair_initial_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_study/screenshots/diffpair_initial_mesh.png -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/screenshots/diffpair_odd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_study/screenshots/diffpair_odd.png -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/screenshots/diffpair_odd_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_study/screenshots/diffpair_odd_plot.png -------------------------------------------------------------------------------- /regression/differential_pair/diff_pair_study/screenshots/diffpair_optimized_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/differential_pair/diff_pair_study/screenshots/diffpair_optimized_mesh.png -------------------------------------------------------------------------------- /regression/differential_pair/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=alumina 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=9.8 10 | mur=1 11 | tand=0 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | Fig. 8 in Rigorous_analysis_of_the_propagation_characteristics_of_general_lossless_and_lossy_multiconductor_transmission_lines_in_multilayered_media.pdf 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/PartFilled_order_6_study/PartFilled_accuracy_run_plots.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/partially_filled_rect_waveguide/PartFilled_order_6_study/PartFilled_accuracy_run_plots.ods -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_drawing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_drawing.png -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_field.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_field.png -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_gamma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_gamma.png -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_gamma_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_gamma_error.png -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_power.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/partially_filled_rect_waveguide/PartFilled_order_6_study/screenshots/partial_power.png -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/README.txt: -------------------------------------------------------------------------------- 1 | These examples are various runs of the same problem with different setups. 2 | The problem is derived from Fig. 4-7 on page 161 from: 3 | Roger F. Harrington, "Time-Harmonic Electromagnetic Fields", McGraw-Hill, 1961. 4 | The transcendental equations for the propagation constant are solved in waveguide.c in the src directory. 5 | 6 | -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=teflon 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=2.45 10 | mur=1 11 | tand=0 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | Harrington Fig. 4-7 17 | EndSource 18 | EndMaterial 19 | 20 | Material 21 | name=alumina 22 | Temperature 23 | temperature=any 24 | Frequency 25 | frequency=any 26 | er=10 27 | mur=1 28 | tand=0 29 | Rz=0 30 | EndFrequency 31 | EndTemperature 32 | Source 33 | Harrington Fig. 4-7 34 | EndSource 35 | EndMaterial 36 | 37 | -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/partially_filled_waveguide.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/regression/partially_filled_rect_waveguide/partially_filled_waveguide.FCStd -------------------------------------------------------------------------------- /regression/partially_filled_rect_waveguide/partially_filled_waveguide.geo: -------------------------------------------------------------------------------- 1 | SetFactory("OpenCASCADE"); 2 | Merge "partially_filled_waveguide.brep"; 3 | //+ 4 | Physical Surface("freespace", 8) = {2}; 5 | //+ 6 | Physical Surface("teflon", 9) = {1}; 7 | -------------------------------------------------------------------------------- /regression/permeability/partially_filled_rect_waveguide/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=teflon 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=2.45 10 | mur=2 // 1 11 | tand=0 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | Harrington Fig. 4-7 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /regression/permeability/rectangular_waveguide/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=air 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=1.0006 10 | mur=2 11 | tand=0 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | override "air" with high mur 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /regression/single_microstrip/builder/builder.txt: -------------------------------------------------------------------------------- 1 | #builder 1.0 2 | 3 | Control 4 | build=single 5 | check_limits=true 6 | EndControl 7 | 8 | Strip 9 | name=single 10 | use_symmetry=false 11 | left_side_gap=0.0085 12 | right_side_gap=0.0085 13 | upper_thickness=0.006 14 | upper_material=air 15 | lower_thickness=0.000635 16 | lower_material=alumina 17 | trace_thickness=0.0003 18 | trace_width=0.001 19 | trace_etch_angle=90 20 | default_conductor_material=copper 21 | EndStrip 22 | 23 | -------------------------------------------------------------------------------- /regression/single_microstrip/builder/single.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | // template settings: change as needed 4 | 5 | project.save.fields true 6 | 7 | mesh.file single.msh 8 | mesh.order 4 9 | 10 | mode.definition.file single_lines.txt 11 | 12 | materials.global.path 13 | materials.global.name 14 | materials.local.path 15 | materials.local.name materials.txt // change to point at the project materials file 16 | 17 | refinement.frequency high 18 | refinement.variable |Zo| 19 | refinement.iteration.min 3 20 | refinement.iteration.max 50 21 | refinement.required.passes 3 22 | refinement.tolerance 1e-7 23 | 24 | frequency.plan.linear 9e9,10e9,1e9 25 | 26 | solution.modes 1 27 | solution.temperature 20 28 | solution.tolerance 1e-12 29 | solution.iteration.limit 10000 30 | solution.modes.buffer 0 31 | solution.impedance.definition PI 32 | solution.impedance.calculation line 33 | solution.shift.invert true 34 | solution.use.initial.guess true 35 | 36 | output.show.refining.mesh false 37 | output.show.postprocessing false 38 | output.show.iterations false 39 | output.show.license false 40 | -------------------------------------------------------------------------------- /regression/single_microstrip/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | 3 | Material 4 | name=alumina 5 | Temperature 6 | temperature=any 7 | Frequency 8 | frequency=any 9 | er=9.8 10 | mur=1 11 | tand=0.001 12 | Rz=0 13 | EndFrequency 14 | EndTemperature 15 | Source 16 | Generic numbers for testing. 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /regression/single_microstrip/single.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | 3 | project.save.fields false 4 | 5 | mesh.file single.msh 6 | mesh.order 4 7 | 8 | mode.definition.file single_lines.txt 9 | 10 | materials.global.path ../ 11 | materials.global.name global_materials.txt 12 | materials.local.path ./ 13 | materials.local.name local_materials.txt 14 | 15 | refinement.frequency high 16 | refinement.variable alpha 17 | refinement.iteration.min 3 18 | refinement.iteration.max 50 19 | refinement.required.passes 1 20 | refinement.tolerance 1e-4 21 | 22 | frequency.plan.point 12e9 23 | 24 | solution.modes 1 25 | solution.temperature 20 26 | solution.tolerance 1e-12 27 | solution.iteration.limit 10000 28 | solution.modes.buffer 0 29 | solution.impedance.definition PI 30 | solution.impedance.calculation line 31 | solution.shift.invert true 32 | solution.use.initial.guess true 33 | 34 | output.show.refining.mesh false 35 | output.show.postprocessing false 36 | output.show.iterations false 37 | output.show.license false 38 | -------------------------------------------------------------------------------- /scripts/checkBuilder.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | builder builder.txt 4 | diff $1.geo $1.geo.golden > junk 5 | diff $1_modes.txt $1_modes.txt.golden >> junk 6 | diff $1.proj $1.proj.golden >> junk 7 | 8 | size="$(wc -c < junk)" 9 | 10 | if [[ $size = 0 ]]; then 11 | echo "$1: pass" 12 | else 13 | echo "$1: FAIL" 14 | fi 15 | 16 | rm junk 17 | 18 | -------------------------------------------------------------------------------- /src/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/waveguide.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////////// 2 | // // 3 | // waveguide - A calculator for several waveguide types. // 4 | // Copyright (C) 2025 Brian Young // 5 | // // 6 | // This program is free software: you can redistribute it and/or modify // 7 | // it under the terms of the GNU General Public License as published by // 8 | // the Free Software Foundation, either version 3 of the License, or // 9 | // (at your option) any later version. // 10 | // // 11 | // This program is distributed in the hope that it will be useful, // 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of // 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 14 | // GNU General Public License for more details. // 15 | // // 16 | // You should have received a copy of the GNU General Public License // 17 | // along with this program. If not, see . // 18 | // // 19 | //////////////////////////////////////////////////////////////////////////////// 20 | 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | struct rectWaveguide { 29 | double width, height; 30 | double epsr,mur; 31 | }; 32 | 33 | struct partiallyFilledRectWaveguide { 34 | double width, height, thickness; 35 | double epsr1, epsr2; // 0->thickness: epsr1; thickness->height: epsr2 36 | double mur1, mur2; // 0->thickness: mur1; thickness->height: mur2 37 | }; 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /tutorials/coaxial_waveguide/coaxial_waveguide.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coaxial_waveguide/coaxial_waveguide.FCStd -------------------------------------------------------------------------------- /tutorials/coaxial_waveguide/coaxial_waveguide.geo: -------------------------------------------------------------------------------- 1 | SetFactory("OpenCASCADE"); 2 | Merge "coaxial_waveguide.brep"; 3 | //+ 4 | Physical Surface("PTFE", 73) = {1}; 5 | -------------------------------------------------------------------------------- /tutorials/coaxial_waveguide/coaxial_waveguide.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | project.save.fields true 3 | mesh.file coaxial_waveguide.msh 4 | mesh.order 3 5 | mode.definition.file coaxial_waveguide_modes.txt 6 | materials.global.path ./ 7 | materials.global.name //global_materials.txt 8 | materials.local.path ./ 9 | materials.local.name local_materials.txt 10 | refinement.frequency none 11 | frequency.plan.point 10e9 12 | solution.modes 1 13 | solution.modes.buffer 0 14 | solution.impedance.definition PV 15 | solution.impedance.calculation modal 16 | solution.temperature 20 17 | debug.show.impedance.details true 18 | -------------------------------------------------------------------------------- /tutorials/coaxial_waveguide/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | Material 3 | name=PTFE 4 | Temperature 5 | temperature=any 6 | Frequency 7 | frequency=any 8 | er=2.1 9 | mur=1 10 | tand=0.0004 11 | Rz=0 12 | EndFrequency 13 | EndTemperature 14 | Source 15 | generic numbers 16 | EndSource 17 | EndMaterial 18 | Material 19 | name=copper 20 | Temperature 21 | temperature=20 22 | Frequency 23 | frequency=any 24 | er=1 25 | mur=1 26 | conductivity=5.813e7 27 | Rz=0 28 | EndFrequency 29 | EndTemperature 30 | Source 31 | David M. Pozar, "Microwave Engineering," Addison-Wesley Publishing Company, 1990, p.714. 32 | EndSource 33 | EndMaterial 34 | -------------------------------------------------------------------------------- /tutorials/coaxial_waveguide/screenshots/coaxial_ReHt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coaxial_waveguide/screenshots/coaxial_ReHt.png -------------------------------------------------------------------------------- /tutorials/coaxial_waveguide/screenshots/coaxial_drawing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coaxial_waveguide/screenshots/coaxial_drawing.png -------------------------------------------------------------------------------- /tutorials/coaxial_waveguide/screenshots/coaxial_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coaxial_waveguide/screenshots/coaxial_mesh.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/coupled_microstrip.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip/coupled_microstrip.FCStd -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/coupled_microstrip.geo: -------------------------------------------------------------------------------- 1 | SetFactory("OpenCASCADE"); 2 | Merge "coupled_microstrip.brep"; 3 | //+ 4 | Physical Surface("air", 24) = {4}; 5 | //+ 6 | Physical Surface("alumina", 25) = {2, 1, 3}; 7 | -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/coupled_microstrip.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | project.save.fields true 3 | mesh.file coupled_microstrip.msh 4 | mesh.order 4 5 | mesh.refinement.fraction 0.01 6 | mode.definition.file coupled_microstrip_modes.txt 7 | materials.global.path ./ 8 | materials.global.name //global_materials.txt 9 | materials.local.path ./ 10 | materials.local.name local_materials.txt 11 | refinement.frequency high 12 | frequency.plan.point 40.11e9 13 | refinement.variable |Zo| 14 | refinement.iteration.min 1 15 | refinement.iteration.max 40 16 | refinement.required.passes 1 17 | refinement.tolerance 0.0001 18 | solution.modes 2 19 | solution.modes.buffer 0 20 | solution.impedance.definition PI 21 | solution.impedance.calculation line 22 | debug.show.impedance.details true 23 | 24 | -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/coupled_microstrip_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/tutorials/coupled_microstrip/coupled_microstrip.FCStd 5 | EndFile 6 | 7 | Path 8 | name=i1 9 | point=(-0.0015,0.0) 10 | point=(-0.0005,0.0) 11 | point=(-0.0005,0.0003) 12 | point=(-0.0015,0.0003) 13 | closed=true 14 | EndPath 15 | 16 | Path 17 | name=i2 18 | point=(0.0005,0.0) 19 | point=(0.0015,0.0) 20 | point=(0.0015,0.0003) 21 | point=(0.0005,0.0003) 22 | closed=true 23 | EndPath 24 | 25 | Path 26 | name=v1 27 | point=(-0.001,-0.000635) 28 | point=(-0.001,0.0) 29 | closed=false 30 | EndPath 31 | 32 | Path 33 | name=v2 34 | point=(0.001,-0.000635) 35 | point=(0.001,0.0) 36 | closed=false 37 | EndPath 38 | 39 | Line 40 | line=1 41 | type=voltage 42 | path=+v1 43 | EndLine 44 | 45 | Line 46 | line=2 47 | type=voltage 48 | path=+v2 49 | EndLine 50 | 51 | Line 52 | line=1 53 | type=current 54 | path=+i1 55 | EndLine 56 | 57 | Line 58 | line=2 59 | type=current 60 | path=+i2 61 | EndLine 62 | 63 | -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | Material 3 | name=air 4 | Temperature 5 | temperature=any 6 | Frequency 7 | frequency=any 8 | er=1.0006 9 | mur=1 10 | tand=0 11 | Rz=0 12 | EndFrequency 13 | EndTemperature 14 | Source 15 | Constantine A. Balanis, "Advanced Engineering Electromagnetics", 16 | John Wiley and Sons, 1989, p.79. 17 | EndSource 18 | EndMaterial 19 | Material 20 | name=alumina 21 | Temperature 22 | temperature=any 23 | Frequency 24 | frequency=any 25 | er=9.8 26 | mur=1 27 | tand=0 28 | Rz=0 29 | EndFrequency 30 | EndTemperature 31 | Source 32 | EndSource 33 | EndMaterial 34 | 35 | -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/screenshots/coupled_common_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip/screenshots/coupled_common_mode.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/screenshots/coupled_differential_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip/screenshots/coupled_differential_mode.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/screenshots/coupled_drawing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip/screenshots/coupled_drawing.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/screenshots/coupled_initial_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip/screenshots/coupled_initial_mesh.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip/screenshots/coupled_refined_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip/screenshots/coupled_refined_mesh.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/coupled_microstrip.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip_modal/coupled_microstrip.FCStd -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/coupled_microstrip.geo: -------------------------------------------------------------------------------- 1 | SetFactory("OpenCASCADE"); 2 | Merge "coupled_microstrip.brep"; 3 | //+ 4 | Physical Surface("air", 24) = {4}; 5 | //+ 6 | Physical Surface("alumina", 25) = {2, 1, 3}; 7 | -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/coupled_microstrip.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | project.save.fields true 3 | mesh.file coupled_microstrip.msh 4 | mesh.order 4 5 | mesh.refinement.fraction 0.01 6 | mode.definition.file coupled_microstrip_modes.txt 7 | materials.global.path ./ 8 | materials.global.name //global_materials.txt 9 | materials.local.path ./ 10 | materials.local.name local_materials.txt 11 | refinement.frequency high 12 | frequency.plan.point 40.11e9 13 | refinement.variable |Zo| 14 | refinement.iteration.min 1 15 | refinement.iteration.max 40 16 | refinement.required.passes 1 17 | refinement.tolerance 0.0001 18 | solution.modes 2 19 | solution.modes.buffer 0 20 | solution.impedance.definition PI 21 | solution.impedance.calculation modal 22 | debug.show.impedance.details true 23 | 24 | -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/coupled_microstrip_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/tutorials/coupled_microstrip_modal/coupled_microstrip.FCStd 5 | EndFile 6 | 7 | Path 8 | name=i1 9 | point=(-0.0015,0.0) 10 | point=(-0.0005,0.0) 11 | point=(-0.0005,0.0003) 12 | point=(-0.0015,0.0003) 13 | closed=true 14 | EndPath 15 | 16 | Path 17 | name=i2 18 | point=(0.0005,0.0) 19 | point=(0.0015,0.0) 20 | point=(0.0015,0.0003) 21 | point=(0.0005,0.0003) 22 | closed=true 23 | EndPath 24 | 25 | Path 26 | name=v1 27 | point=(-0.001,-0.000635) 28 | point=(-0.001,0.0) 29 | closed=false 30 | EndPath 31 | 32 | Path 33 | name=v2 34 | point=(0.001,-0.000635) 35 | point=(0.001,0.0) 36 | closed=false 37 | EndPath 38 | 39 | Mode 40 | mode=1 41 | type=voltage 42 | scale=0.5 43 | path=+v1 44 | path+=v2 45 | EndMode 46 | 47 | Mode 48 | mode=2 49 | type=voltage 50 | path=+v1 51 | path-=v2 52 | EndMode 53 | 54 | Mode 55 | mode=1 56 | type=current 57 | path=+i1 58 | path+=i2 59 | EndMode 60 | 61 | Mode 62 | mode=2 63 | type=current 64 | scale=0.5 65 | path=+i1 66 | path-=i2 67 | EndMode 68 | 69 | -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/local_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | Material 3 | name=air 4 | Temperature 5 | temperature=any 6 | Frequency 7 | frequency=any 8 | er=1.0006 9 | mur=1 10 | tand=0 11 | Rz=0 12 | EndFrequency 13 | EndTemperature 14 | Source 15 | Constantine A. Balanis, "Advanced Engineering Electromagnetics", 16 | John Wiley and Sons, 1989, p.79. 17 | EndSource 18 | EndMaterial 19 | Material 20 | name=alumina 21 | Temperature 22 | temperature=any 23 | Frequency 24 | frequency=any 25 | er=9.8 26 | mur=1 27 | tand=0 28 | Rz=0 29 | EndFrequency 30 | EndTemperature 31 | Source 32 | EndSource 33 | EndMaterial 34 | 35 | -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/screenshots/coupled_common_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip_modal/screenshots/coupled_common_mode.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/screenshots/coupled_differential_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip_modal/screenshots/coupled_differential_mode.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/screenshots/coupled_drawing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip_modal/screenshots/coupled_drawing.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/screenshots/coupled_initial_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip_modal/screenshots/coupled_initial_mesh.png -------------------------------------------------------------------------------- /tutorials/coupled_microstrip_modal/screenshots/coupled_refined_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/coupled_microstrip_modal/screenshots/coupled_refined_mesh.png -------------------------------------------------------------------------------- /tutorials/rectangular_waveguide/global_materials.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmaterials 1.0 2 | Material 3 | name=air 4 | Temperature 5 | temperature=any 6 | Frequency 7 | frequency=any 8 | er=1.0006 9 | mur=1 10 | tand=0 11 | Rz=0 12 | EndFrequency 13 | EndTemperature 14 | Source 15 | Constantine A. Balanis, "Advanced Engineering Electromagnetics", 16 | John Wiley and Sons, 1989, p.79. 17 | EndSource 18 | EndMaterial 19 | 20 | -------------------------------------------------------------------------------- /tutorials/rectangular_waveguide/rectangular_waveguide.FCStd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/rectangular_waveguide/rectangular_waveguide.FCStd -------------------------------------------------------------------------------- /tutorials/rectangular_waveguide/rectangular_waveguide.brep: -------------------------------------------------------------------------------- 1 | DBRep_DrawableShape 2 | 3 | CASCADE Topology V1, (c) Matra-Datavision 4 | Locations 1 5 | 1 6 | 1 0 0 0 7 | 0 1 0 0 8 | 0 0 1 0 9 | Curve2ds 0 10 | Curves 4 11 | 1 0 0 0 1 0 0 12 | 1 0.022859999999999998 0 0 0 1 0 13 | 1 0.022859999999999998 0.010160000000000001 0 -1 0 0 14 | 1 0 0.010160000000000001 0 0 -1 0 15 | Polygon3D 0 16 | PolygonOnTriangulations 0 17 | Surfaces 1 18 | 1 0.011429999999999999 0.0050800000000000003 0 0 0 1 1 0 -0 -0 1 0 19 | Triangulations 0 20 | 21 | TShapes 11 22 | Ve 23 | 1e-07 24 | 0 0 0 25 | 0 0 26 | 27 | 0101101 28 | * 29 | Ve 30 | 1e-07 31 | 0.02286 0 0 32 | 0 0 33 | 34 | 0101101 35 | * 36 | Ed 37 | 1e-07 1 1 0 38 | 1 1 0 0 0.02286 39 | 0 40 | 41 | 0101000 42 | +11 0 -10 0 * 43 | Ve 44 | 1e-07 45 | 0.02286 0.01016 0 46 | 0 0 47 | 48 | 0101101 49 | * 50 | Ed 51 | 1e-07 1 1 0 52 | 1 2 0 0 0.01016 53 | 0 54 | 55 | 0101000 56 | +10 0 -8 0 * 57 | Ve 58 | 1e-07 59 | 0 0.01016 0 60 | 0 0 61 | 62 | 0101101 63 | * 64 | Ed 65 | 1e-07 1 1 0 66 | 1 3 0 0 0.02286 67 | 0 68 | 69 | 0101000 70 | +8 0 -6 0 * 71 | Ed 72 | 1e-07 1 1 0 73 | 1 4 0 0 0.01016 74 | 0 75 | 76 | 0101000 77 | +6 0 -11 0 * 78 | Wi 79 | 80 | 0101100 81 | +9 0 +7 0 +5 0 +4 0 * 82 | Fa 83 | 0 1e-07 1 0 84 | 85 | 0101000 86 | +3 0 * 87 | Co 88 | 89 | 1100000 90 | +2 1 * 91 | 92 | +1 0 -------------------------------------------------------------------------------- /tutorials/rectangular_waveguide/rectangular_waveguide.geo: -------------------------------------------------------------------------------- 1 | SetFactory("OpenCASCADE"); 2 | Merge "rectangular_waveguide.brep"; 3 | //+ 4 | Physical Surface("air", 5) = {1}; 5 | -------------------------------------------------------------------------------- /tutorials/rectangular_waveguide/rectangular_waveguide.proj: -------------------------------------------------------------------------------- 1 | #OpenParEM2Dproject 1.0 2 | project.save.fields true 3 | mesh.file rectangular_waveguide.msh 4 | mesh.order 3 5 | mode.definition.file rectangular_waveguide_modes.txt 6 | materials.global.path ./ 7 | materials.global.name global_materials.txt 8 | materials.local.path ./ 9 | materials.local.name //local_materials.txt 10 | refinement.frequency none 11 | frequency.plan.point 10e9 12 | solution.modes 5 13 | solution.modes.buffer 10 14 | solution.impedance.definition PV 15 | solution.impedance.calculation modal 16 | 17 | -------------------------------------------------------------------------------- /tutorials/rectangular_waveguide/rectangular_waveguide_modes.txt: -------------------------------------------------------------------------------- 1 | #OpenParEMmodes 1.0 2 | 3 | File 4 | name=/home/briany/Desktop/OpenParEM2D/tutorials/rectangular_waveguide/rectangular_waveguide.FCStd 5 | EndFile 6 | 7 | Path 8 | name=v 9 | point=(0.01143,0.0) 10 | point=(0.01143,0.01016) 11 | closed=false 12 | EndPath 13 | 14 | Mode 15 | mode=1 16 | type=voltage 17 | path=+v 18 | EndMode 19 | 20 | -------------------------------------------------------------------------------- /tutorials/rectangular_waveguide/screenshots/rectangular_ReEt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/rectangular_waveguide/screenshots/rectangular_ReEt.png -------------------------------------------------------------------------------- /tutorials/rectangular_waveguide/screenshots/rectangular_mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/rectangular_waveguide/screenshots/rectangular_mesh.png -------------------------------------------------------------------------------- /tutorials/rectangular_waveguide/screenshots/rectangular_waveguide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenParEM/OpenParEM2D/9ccb79ca81ad3c86406d7fb29c40031fe3c5cc80/tutorials/rectangular_waveguide/screenshots/rectangular_waveguide.png --------------------------------------------------------------------------------