├── .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
--------------------------------------------------------------------------------