kqcircuits.simulations.export.ansys.ansys_solution

class kqcircuits.simulations.export.ansys.ansys_solution.AnsysSolution(*, name: str = '', percent_refinement: float = 30.0, maximum_passes: int = 12, minimum_passes: int = 1, minimum_converged_passes: int = 1, frequency_units: str = 'GHz', mesh_size: dict | None = None, simulation_flags: list[str] | None = None, ansys_project_template: str | None = None)[source]

Bases: Solution

A Base class for Ansys solution parameters

Parameters:
  • percent_refinement – Percentage of mesh refinement on each iteration.

  • maximum_passes – Maximum number of iterations in simulation.

  • minimum_passes – Minimum number of iterations in simulation.

  • minimum_converged_passes – Determines how many iterations have to meet the stopping criterion to stop simulation.

  • frequency_units – Units of frequency.

  • mesh_size – Dictionary to determine manual mesh refinement on layers. Set key as the layer name and value as the maximal mesh element length inside the layer.

  • simulation_flags – Optional export processing, given as list of strings. See Simulation Export in docs.

  • ansys_project_template – path to the simulation template

ansys_tool: ClassVar[str] = ''
percent_refinement: float = 30.0
maximum_passes: int = 12
minimum_passes: int = 1
minimum_converged_passes: int = 1
frequency_units: str = 'GHz'
mesh_size: dict | None = None
simulation_flags: list[str] | None = None
ansys_project_template: str | None = None
get_solution_data()[source]

Return the solution data in dictionary form.

class kqcircuits.simulations.export.ansys.ansys_solution.AnsysHfssSolution(*, name: str = '', percent_refinement: float = 30.0, maximum_passes: int = 12, minimum_passes: int = 1, minimum_converged_passes: int = 1, frequency_units: str = 'GHz', mesh_size: dict | None = None, simulation_flags: list[str] | None = None, ansys_project_template: str | None = None, frequency: float | list[float] = 5, max_delta_s: float = 0.1, sweep_enabled: bool = True, sweep_start: float = 0, sweep_end: float = 10, sweep_count: int = 101, sweep_type: str = 'interpolating', capacitance_export: bool = False, integrate_energies: bool = False, integrate_magnetic_flux: bool = False)[source]

Bases: AnsysSolution

Class for Ansys S-parameter (HFSS) solution parameters

Parameters:
  • frequency – Frequency for mesh refinement. To set up multifrequency analysis in HFSS use list of numbers.

  • max_delta_s – Stopping criterion in HFSS simulation.

  • sweep_enabled – Determines if HFSS frequency sweep is enabled.

  • sweep_start – The lowest frequency in the sweep.

  • sweep_end – The highest frequency in the sweep.

  • sweep_count – Number of frequencies in the sweep.

  • sweep_type – choices are “interpolating”, “discrete” or “fast”

  • capacitance_export – If True, the capacitance matrices are exported from S-parameter simulation

  • integrate_energies – Calculate energy integrals over each layer and save them into a file

  • integrate_magnetic_flux – Integrate magnetic fluxes through each non-pec sheet and save them into a file

ansys_tool: ClassVar[str] = 'hfss'
frequency: float | list[float] = 5
max_delta_s: float = 0.1
sweep_enabled: bool = True
sweep_start: float = 0
sweep_end: float = 10
sweep_count: int = 101
sweep_type: str = 'interpolating'
capacitance_export: bool = False
integrate_energies: bool = False
integrate_magnetic_flux: bool = False
get_solution_data()[source]

Return the solution data in dictionary form.

class kqcircuits.simulations.export.ansys.ansys_solution.AnsysQ3dSolution(*, name: str = '', percent_refinement: float = 30.0, maximum_passes: int = 12, minimum_passes: int = 1, minimum_converged_passes: int = 1, frequency_units: str = 'GHz', mesh_size: dict | None = None, simulation_flags: list[str] | None = None, ansys_project_template: str | None = None, frequency: float = 5, percent_error: float = 1)[source]

Bases: AnsysSolution

Class for Ansys capacitance matrix (Q3D) solution parameters

Parameters:
  • frequency – Nominal solution frequency (has no effect on capacitance matrix at the moment).

  • percent_error – Stopping criterion in Q3D simulation.

ansys_tool: ClassVar[str] = 'q3d'
frequency: float = 5
percent_error: float = 1
get_solution_data()[source]

Return the solution data in dictionary form.

class kqcircuits.simulations.export.ansys.ansys_solution.AnsysEigenmodeSolution(*, name: str = '', percent_refinement: float = 30.0, maximum_passes: int = 12, minimum_passes: int = 1, minimum_converged_passes: int = 1, frequency_units: str = 'GHz', mesh_size: dict | None = None, simulation_flags: list[str] | None = None, ansys_project_template: str | None = None, min_frequency: float = 0.1, max_delta_f: float = 0.1, n_modes: int = 2, integrate_energies: bool = False, integrate_magnetic_flux: bool = False)[source]

Bases: AnsysSolution

Class for Ansys eigenmode solution parameters

Parameters:
  • min_frequency – Minimum allowed eigenmode frequency

  • max_delta_f – Maximum allowed relative difference in eigenfrequency (%)

  • n_modes – Number of eigenmodes to solve.

  • integrate_energies – Calculate energy integrals over each layer and save them into a file

  • integrate_magnetic_flux – Integrate magnetic fluxes through each non-pec sheet and save them into a file

ansys_tool: ClassVar[str] = 'eigenmode'
min_frequency: float = 0.1
max_delta_f: float = 0.1
n_modes: int = 2
integrate_energies: bool = False
integrate_magnetic_flux: bool = False
get_solution_data()[source]

Return the solution data in dictionary form.

class kqcircuits.simulations.export.ansys.ansys_solution.AnsysCurrentSolution(*, name: str = '', percent_refinement: float = 30.0, maximum_passes: int = 12, minimum_passes: int = 1, minimum_converged_passes: int = 1, frequency_units: str = 'GHz', mesh_size: dict | None = None, simulation_flags: list[str] | None = None, ansys_project_template: str | None = None, frequency: float = 0.1, max_delta_e: float = 0.1, integrate_energies: bool = False, integrate_magnetic_flux: bool = False)[source]

Bases: AnsysSolution

Class for Ansys current excitation solution parameters

Parameters:
  • frequency – Frequency of alternating current excitation.

  • max_delta_e – Stopping criterion in current excitation simulation.

  • integrate_energies – Calculate energy integrals over each layer and save them into a file

  • integrate_magnetic_flux – Integrate magnetic fluxes through each non-pec sheet and save them into a file

ansys_tool: ClassVar[str] = 'current'
frequency: float = 0.1
max_delta_e: float = 0.1
integrate_energies: bool = False
integrate_magnetic_flux: bool = False
get_solution_data()[source]

Return the solution data in dictionary form.

class kqcircuits.simulations.export.ansys.ansys_solution.AnsysVoltageSolution(*, name: str = '', percent_refinement: float = 30.0, maximum_passes: int = 12, minimum_passes: int = 1, minimum_converged_passes: int = 1, frequency_units: str = 'GHz', mesh_size: dict | None = None, simulation_flags: list[str] | None = None, ansys_project_template: str | None = None, frequency: float = 5, max_delta_e: float = 0.1, integrate_energies: bool = False, integrate_magnetic_flux: bool = False)[source]

Bases: AnsysSolution

Class for Ansys voltage excitation solution parameters

Parameters:
  • frequency – Frequency of alternating voltage excitation.

  • max_delta_e – Stopping criterion in voltage excitation simulation.

  • integrate_energies – Calculate energy integrals over each layer and save them into a file

  • integrate_magnetic_flux – Integrate magnetic fluxes through each non-pec sheet and save them into a file

ansys_tool: ClassVar[str] = 'voltage'
frequency: float = 5
max_delta_e: float = 0.1
integrate_energies: bool = False
integrate_magnetic_flux: bool = False
get_solution_data()[source]

Return the solution data in dictionary form.

class kqcircuits.simulations.export.ansys.ansys_solution.AnsysCrossSectionSolution(*, name: str = '', percent_refinement: float = 30.0, maximum_passes: int = 12, minimum_passes: int = 1, minimum_converged_passes: int = 1, frequency_units: str = 'GHz', mesh_size: dict | None = None, simulation_flags: list[str] | None = None, ansys_project_template: str | None = None, frequency: float = 5, percent_error: float = 0.01, integrate_energies: bool = False)[source]

Bases: AnsysSolution

Class for Ansys cross-section solution parameters. Produces capacitance and inductance per unit length.

Parameters:
  • frequency – Nominal solution frequency (has no effect on results at the moment).

  • percent_error – Stopping criterion in cross-section simulation.

  • integrate_energies – Calculate energy integrals over each layer and save them into a file

ansys_tool: ClassVar[str] = 'cross-section'
frequency: float = 5
percent_error: float = 0.01
integrate_energies: bool = False
get_solution_data()[source]

Return the solution data in dictionary form.

kqcircuits.simulations.export.ansys.ansys_solution.get_ansys_solution(ansys_tool='hfss', **solution_params)[source]

Returns an instance of AnsysSolution subclass.

Parameters:
  • ansys_tool – Determines the subclass of AnsysSolution.

  • solution_params – Arguments passed for AnsysSolution subclass.

../_images/kqcircuits.simulations.export.ansys.ansys_solution.png