paramrf 0.37.2__tar.gz → 0.37.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {paramrf-0.37.2/paramrf.egg-info → paramrf-0.37.3}/PKG-INFO +1 -1
- {paramrf-0.37.2 → paramrf-0.37.3/paramrf.egg-info}/PKG-INFO +1 -1
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/empirical.py +20 -4
- {paramrf-0.37.2 → paramrf-0.37.3}/pyproject.toml +1 -1
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_lines.py +34 -2
- {paramrf-0.37.2 → paramrf-0.37.3}/.github/workflows/docs.yml +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/.github/workflows/draft-pdf.yml +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/.github/workflows/publish.yml +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/.github/workflows/tests.yml +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/.gitignore +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/AGENTS.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/CHANGELOG.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/CITATION.cff +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/CLAUDE.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/CONTEXT.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/CONTRIBUTING.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/LICENSE +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/NOTICE +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/README.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/assets/logo.png +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/Makefile +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/_static/custom.css +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/_templates/autosummary/class.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/_templates/autosummary/function.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/_templates/autosummary/module.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/adr/0001-line-modelling-architecture.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/adr/0002-parameter-api.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/adr/0003-derived-models.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/adr/0004-profiled-lines.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/adr/0005-priors-by-name.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/adr/0006-reference-impedance.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/adr/0007-edge-values.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/agents/domain.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/agents/issue-tracker.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/agents/triage-labels.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/api/index.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/conf.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/core_concepts/core_primitives.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/core_concepts/index.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/core_concepts/jax_overview.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/core_concepts/optimization_and_inference.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/core_concepts/parameter_names.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/cascading_and_terminating.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/circuit_clc.png +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/circuit_models.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/custom_models.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/derivatives_and_sweeps.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/discrepancy_prediction.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/index.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/model_optimization.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/multiple_models_one_parameter_set.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/parameter_naming_and_model_manipulation.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/examples/shared_modules.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/index.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/license.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/make.bat +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/research/conductor-loss-alternatives.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/research/holloway1994.pdf +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/research/microstrip-loss-conventions.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/research/precision-coax-microstrip-10-500mhz.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/skrf_comparison/index.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/skrf_comparison/overview.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/skrf_comparison/performance.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/tutorials/1_cable_fitting.ipynb +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/tutorials/2_chip_inductor_fitting.ipynb +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/tutorials/3_discrepancy_transfer.ipynb +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/tutorials/data/CBN-1.5FT-SMSM.s2p +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/tutorials/data/on-chip-inductor.s2p +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/tutorials/index.rst +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/tutorials/line_internal_discrepancy.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/docs/tutorials/port_discrepancy.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/paper/paper.bib +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/paper/paper.md +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/paper/rlc.png +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/paramrf.egg-info/SOURCES.txt +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/paramrf.egg-info/dependency_links.txt +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/paramrf.egg-info/requires.txt +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/paramrf.egg-info/top_level.txt +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/_solver_view.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/fitting/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/fitting/minimize.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/fitting/result.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/fitting/routers.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/fitting/sample.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/fitting/targets.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/frequency.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/infer/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/infer/base.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/infer/result.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/infer/sample.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/infer/solvers/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/infer/solvers/blackjax.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/infer/solvers/polychord.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/materials/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/materials/conductor.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/materials/dielectric.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/materials/properties.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/materials/roughness.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/materials/substrate.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/materials/surface_impedance.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/math/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/math/aggregations.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/math/bessel.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/math/conversions.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/math/losses.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/math/misc.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/adapters/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/adapters/base.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/adapters/bridge.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/adapters/callable.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/adapters/delegated.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/adapters/derived.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/adapters/static.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/adapters/wrapped.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/base.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/ideal.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/base.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/coaxial.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/ideal.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/microstrip.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/nodal.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/nonuniform.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/planar.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/profiles.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lines/stripline.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/lumped.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/components/sections.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/cascade.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/circuit/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/circuit/base.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/circuit/circuit.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/circuit/solvers/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/circuit/solvers/nodal.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/circuit/solvers/scattering.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/terminated.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/nodal.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/topological.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/transformed.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/line_discrepancy.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/port_discrepancy.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/surrogates/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/surrogates/expansion.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/surrogates/rational.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/modules/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/modules/base.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/modules/wrapped.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/network_collection.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/objectives/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/objectives/evaluators.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/objectives/losses.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/objectives/problems.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/objectives/terms.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/optimize/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/optimize/base.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/optimize/minimize.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/optimize/result.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/optimize/solvers/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/optimize/solvers/jaxopt.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/optimize/solvers/optimistix.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/optimize/solvers/scipy.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/parameters/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/parameters/constraints.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/rf/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/rf/cascade.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/rf/conversions.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/rf/mna.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/serialization.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/stats/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/stats/bijectors.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/stats/covariance_kernels.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/stats/discrepancy_models.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/stats/distributions.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/stats/likelihoods.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/stats/linearization.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/stats/noise_models.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/types.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/utils/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/utils/array.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/utils/debug.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/utils/network.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/utils/random.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/utils/rf.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/utils/transforms.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/utils/tree.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/utils/type.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/viz/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/pmrf/viz/plots.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/scripts/benchmark_gp_marginal_likelihood.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/scripts/install-test-deps.sh +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/setup.cfg +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/__init__.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/_jit.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/conftest.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/data/10m_cable.s2p +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_autodiff.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_box_space_solving.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_conversions.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_covariance_kernels.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_dc_limits.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_discrepancy_models.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_evaluators.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_fitting_minimize.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_fitting_routers.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_fitting_sample.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_fitting_targets.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_frequency.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_grouped_exports.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_infer_base.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_infer_sample.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_line_internal_discrepancy_example.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_linearization.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_map_priors.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_materials/test_conductor.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_materials/test_dielectric.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_materials/test_serialization.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_materials/test_substrate.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_materials/test_surface_impedance.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_math/test_bessel.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_model.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_adapters.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_cascade.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_circuit_native_z0.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_circuit_nodal.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_circuit_port_order.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_circuit_scattering.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_circuit_shorted_ports.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_circuit_skrf_port_names.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_circuit_z0.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_current_distribution.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_derived.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_edge_values.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_interconnected.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_line_discrepancy.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_lines_skrf_matrix.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_lumped.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_nodal.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_port_discrepancy.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_profiles.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_rational.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_repeated_cascade.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_sections.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_transformed.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_models/test_transformers.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_module.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_naming.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_optimize_base.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_optimize_minimize.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_parameters.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_parameters_by_name.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_parameters_joint_prior.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_parameters_prior.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_parameters_validity.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_port_discrepancy_example.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_raw_space_solving.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_serialization.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_structural_updates.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_terms.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_transforms.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_utils/test_compress.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_utils/test_debug.py +0 -0
- {paramrf-0.37.2 → paramrf-0.37.3}/tests/test_utils/test_tree.py +0 -0
|
@@ -20,10 +20,14 @@ class PhysicalLine(AbstractImmittanceLine):
|
|
|
20
20
|
|
|
21
21
|
The per-unit-length parameters are
|
|
22
22
|
$$R = 2 z_n \alpha_c$$
|
|
23
|
-
$$L = \frac{z_n \sqrt{\varepsilon_r}}{c}$$
|
|
23
|
+
$$L = \frac{z_n \sqrt{\varepsilon_r}}{c} + \frac{R}{\omega}$$
|
|
24
24
|
$$G = \frac{2 \alpha_d}{z_n}$$
|
|
25
25
|
$$C = \frac{\sqrt{\varepsilon_r}}{z_n c}$$
|
|
26
26
|
|
|
27
|
+
The skin-effect term adds conductor reactance to the series impedance:
|
|
28
|
+
$$Z = R + j\omega z_n\sqrt{\varepsilon_r}/c + jR.$$
|
|
29
|
+
This contribution vanishes at DC.
|
|
30
|
+
|
|
27
31
|
Example
|
|
28
32
|
--------
|
|
29
33
|
.. code-block:: python
|
|
@@ -93,7 +97,11 @@ class PhysicalLine(AbstractImmittanceLine):
|
|
|
93
97
|
G = G_val * ones
|
|
94
98
|
C = C_val * ones
|
|
95
99
|
|
|
96
|
-
return ImmittanceResult
|
|
100
|
+
return ImmittanceResult(
|
|
101
|
+
Z=R + 1j * (freq.w * L + R),
|
|
102
|
+
Y=G + 1j * freq.w * C,
|
|
103
|
+
omega=freq.w,
|
|
104
|
+
)
|
|
97
105
|
|
|
98
106
|
|
|
99
107
|
class DatasheetLine(AbstractImmittanceLine):
|
|
@@ -108,10 +116,14 @@ class DatasheetLine(AbstractImmittanceLine):
|
|
|
108
116
|
|
|
109
117
|
and the per-unit-length parameters are
|
|
110
118
|
$$R = 2 z_n \alpha_c$$
|
|
111
|
-
$$L = \frac{z_n}{v_f c}$$
|
|
119
|
+
$$L = \frac{z_n}{v_f c} + \frac{R}{\omega}$$
|
|
112
120
|
$$G = \frac{2 \alpha_d}{z_n}$$
|
|
113
121
|
$$C = \frac{1}{z_n v_f c}$$
|
|
114
122
|
|
|
123
|
+
The skin-effect term adds conductor reactance to the series impedance:
|
|
124
|
+
$$Z = R + j\omega z_n/(v_f c) + jR.$$
|
|
125
|
+
This contribution vanishes at DC.
|
|
126
|
+
|
|
115
127
|
Example
|
|
116
128
|
--------
|
|
117
129
|
.. code-block:: python
|
|
@@ -186,5 +198,9 @@ class DatasheetLine(AbstractImmittanceLine):
|
|
|
186
198
|
L = (zn / (vf * c)) * jnp.ones_like(w)
|
|
187
199
|
C = (1.0 / (zn * vf * c)) * jnp.ones_like(w)
|
|
188
200
|
|
|
189
|
-
return ImmittanceResult
|
|
201
|
+
return ImmittanceResult(
|
|
202
|
+
Z=R + 1j * (w * L + R),
|
|
203
|
+
Y=G + 1j * w * C,
|
|
204
|
+
omega=w,
|
|
205
|
+
)
|
|
190
206
|
|
|
@@ -25,8 +25,8 @@ from pmrf.materials import (
|
|
|
25
25
|
DjordjevicSarkarDielectric,
|
|
26
26
|
RoughConductor,
|
|
27
27
|
)
|
|
28
|
-
from pmrf.materials.surface_impedance import TescheTubeSurfaceImpedance
|
|
29
|
-
from pmrf.models.components.lines.coaxial import TescheCoaxialFormulation
|
|
28
|
+
from pmrf.materials.surface_impedance import HalfSpaceSurfaceImpedance, TescheTubeSurfaceImpedance
|
|
29
|
+
from pmrf.models.components.lines.coaxial import SchelkunoffCoaxialFormulation, TescheCoaxialFormulation
|
|
30
30
|
from pmrf.models.components.lines.microstrip import KirschningJansenMicrostripDispersion
|
|
31
31
|
|
|
32
32
|
@pytest.fixture
|
|
@@ -118,6 +118,38 @@ def test_datasheet_line_attenuation(basic_freq):
|
|
|
118
118
|
|
|
119
119
|
assert jnp.allclose(jnp.abs(s[:, 1, 0]), expected_mag, atol=1e-4)
|
|
120
120
|
|
|
121
|
+
|
|
122
|
+
@pytest.mark.parametrize("line_type", [DatasheetLine, PhysicalLine])
|
|
123
|
+
@pytest.mark.parametrize("length", [1.0, 10.0])
|
|
124
|
+
def test_empirical_line_matches_half_space_coax(line_type, length):
|
|
125
|
+
"""Skin-effect loss has the same resistance and reactance as a coax half-space."""
|
|
126
|
+
d_in, d_out = 0.92e-3, 3.0e-3
|
|
127
|
+
ep_r, tand, sigma = 2.1, 1e-4, 5.8e7
|
|
128
|
+
a, b = d_in / 2, d_out / 2
|
|
129
|
+
zn = np.sqrt(mu_0 / epsilon_0) * np.log(b / a) / (2 * np.pi * np.sqrt(ep_r))
|
|
130
|
+
k1 = (2000 / np.log(10)) * np.sqrt(np.pi * 1e6 * mu_0 / sigma) * (1 / a + 1 / b) / (4 * np.pi * zn)
|
|
131
|
+
k2 = (2000 / np.log(10)) * np.pi * 1e6 * np.sqrt(ep_r) * tand / c
|
|
132
|
+
|
|
133
|
+
with jax.enable_x64():
|
|
134
|
+
freq = Frequency(start=10, stop=500, npoints=491, unit='MHz')
|
|
135
|
+
if line_type is DatasheetLine:
|
|
136
|
+
line = DatasheetLine(length=length, zn=zn, vf=1 / np.sqrt(ep_r), k1=k1, k2=k2)
|
|
137
|
+
else:
|
|
138
|
+
line = PhysicalLine(length=length, zn=zn, ep_r=ep_r, A=k1 / 1e5, f_A=1.0, tand=tand)
|
|
139
|
+
reference = CoaxialLine(
|
|
140
|
+
d_in=d_in, d_out=d_out, length=length,
|
|
141
|
+
dielectric=ConstantDielectric(ep_r=ep_r, tand=tand),
|
|
142
|
+
conductor=BulkConductor(sigma=sigma),
|
|
143
|
+
formulation=SchelkunoffCoaxialFormulation(
|
|
144
|
+
inner_impedance=HalfSpaceSurfaceImpedance(),
|
|
145
|
+
shield_impedance=HalfSpaceSurfaceImpedance(),
|
|
146
|
+
),
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
difference = np.abs(np.asarray(line.s(freq) - reference.s(freq)))
|
|
150
|
+
|
|
151
|
+
assert np.max(difference) < 1e-8
|
|
152
|
+
|
|
121
153
|
def test_coaxial_line_impedance(basic_freq):
|
|
122
154
|
"""Verify CoaxialLine matches the analytical Zc formula for a lossless coax."""
|
|
123
155
|
# RG-58 dimensions roughly: ep_r=2.25, d_in=0.9mm, d_out=2.95mm
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/circuit/solvers/__init__.py
RENAMED
|
File without changes
|
{paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/circuit/solvers/nodal.py
RENAMED
|
File without changes
|
{paramrf-0.37.2 → paramrf-0.37.3}/pmrf/models/composite/interconnected/circuit/solvers/scattering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|