basicemergesolverhelperpackage 0.0.6__tar.gz → 0.0.9__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.
Files changed (13) hide show
  1. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/PKG-INFO +1 -1
  2. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/setup.py +1 -1
  3. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage/EMergeHelperFunctions.py +41 -4
  4. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage/__init__.py +1 -1
  5. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage.egg-info/PKG-INFO +1 -1
  6. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/LICENSE +0 -0
  7. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/README.md +0 -0
  8. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/setup.cfg +0 -0
  9. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage/EMergeConstants.py +0 -0
  10. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage.egg-info/SOURCES.txt +0 -0
  11. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage.egg-info/dependency_links.txt +0 -0
  12. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage.egg-info/requires.txt +0 -0
  13. {basicemergesolverhelperpackage-0.0.6 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: basicemergesolverhelperpackage
3
- Version: 0.0.6
3
+ Version: 0.0.9
4
4
  Summary: Mesh creation and plot utilities for EMerge solver or other FEM solver.
5
5
  Home-page: https://github.com/LubomirJagos42/basic-emerge-solver-helper-package
6
6
  Author: Lubomir Jagos
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="basicemergesolverhelperpackage",
8
- version="0.0.6",
8
+ version="0.0.9",
9
9
  author="Lubomir Jagos",
10
10
  author_email="lubomir.jagos.42@gmail.com",
11
11
  description="Mesh creation and plot utilities for EMerge solver or other FEM solver.",
@@ -1,7 +1,15 @@
1
1
  import emerge as em
2
2
  import emerge._emerge.geometry as emergeGeo
3
- import emerge._emerge.physics.microwave.microwave_bc as emergeMicrowaveBC
4
- from emerge._emerge.physics.microwave.microwave_data import MWData #this is for simulationResult object literal specification for python
3
+
4
+ #
5
+ # Import boundary condition objects, they are used as datatype to describe some methods return types, it's more about to
6
+ # have better type hints in intelligent python editors.
7
+ #
8
+ try:
9
+ import emerge._emerge.physics.microwave.bcs.port_bcs as emergeMicrowaveBC #it's enough to just try import and in error case try older import
10
+ except:
11
+ # this works for emerge version up to 2.6.x
12
+ import emerge._emerge.physics.microwave.microwave_bc as emergeMicrowaveBC
5
13
 
6
14
  from typing import Callable, Literal
7
15
  import gmsh
@@ -96,7 +104,32 @@ class EMergeHelperFunctions:
96
104
  for obj in objectList:
97
105
  self.simulationObj.mw.bc.LumpedElement(face=obj, impedance_function=impedance_function, width=width, height=height)
98
106
 
99
- def setBoundaryConditionToObject(self, name: str, type: str):
107
+ def setSurfaceImpedanceBoundaryConditionToObject(self, name: str,
108
+ material: em.Material | str | None = None,
109
+ surface_conductance: float | None = None,
110
+ surface_roughness: float = 0,
111
+ thickness: float | None = None,
112
+ sr_model: Literal['Hammerstad-Jensen'] = 'Hammerstad-Jensen',
113
+ impedance_function: Callable | None = None,
114
+ ):
115
+ """Wrapper method specific for surface impedance, it call setBoundaryConditionToObject, this is to have method with proper named parameters."""
116
+
117
+ self.setBoundaryConditionToObject(name=name, type="surfaceImpedance", additionalParameters={
118
+ "material": self.getMaterial(material) if type(material) == str else material,
119
+ "surface_conductance": surface_conductance,
120
+ "surface_roughness": surface_roughness,
121
+ "thickness": thickness,
122
+ "sr_model": sr_model,
123
+ "impedance_function": impedance_function,
124
+ })
125
+
126
+ def setBoundaryConditionToObject(self, name: str, type: str, additionalParameters: dict = {}):
127
+ """Assign boundary condition to object, if some extra params are required for boundary condition to be created they should be passed in additionalParameters
128
+ dictionary and are unpacked, now used for SurfaceImpedance
129
+
130
+ For PEC, PMC there are no params needed for SurfaceImpedance there are needed conductance, roughness, thickness and surface roughness model can be specified.
131
+ """
132
+
100
133
  objectList = self.getObjectSurface(name)
101
134
  for obj in objectList:
102
135
  if type.lower() == "absorbing":
@@ -105,6 +138,8 @@ class EMergeHelperFunctions:
105
138
  self.simulationObj.mw.bc.PEC(obj)
106
139
  elif type == "PMC":
107
140
  self.simulationObj.mw.bc.PMC(obj)
141
+ elif type.lower() == "surfaceimpedance":
142
+ self.simulationObj.mw.bc.SurfaceImpedance(obj, **additionalParameters)
108
143
  else:
109
144
  raise Exception(f"ERROR: Unknown type of boundary condition: {type}")
110
145
 
@@ -496,7 +531,9 @@ class EMergeHelperFunctions:
496
531
 
497
532
  return origin, u, v
498
533
 
499
- def exportCSV_SParam(self, filename: str, simulationResult: MWData, sourcePortNumber: int, targetPortNumber: int, useMagnitude=True, delimiter=','):
534
+ def exportCSV_SParam(self, filename: str, sourcePortNumber: int, targetPortNumber: int, useMagnitude=True, delimiter=','):
535
+ simulationResult = self.simulationObj.data.mw
536
+
500
537
  # get frequency axis from result
501
538
  freq = simulationResult.scalar.grid.freq
502
539
 
@@ -5,5 +5,5 @@ BasicMfemMesher - Mesh creation utilities for Palace solver.
5
5
  from .EMergeHelperFunctions import EMergeHelperFunctions
6
6
  from .EMergeConstants import *
7
7
 
8
- __version__ = "0.0.2"
8
+ __version__ = "0.0.9"
9
9
  __all__ = ["EMergeHelperFunctions", "EMergeConstants"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: basicemergesolverhelperpackage
3
- Version: 0.0.6
3
+ Version: 0.0.9
4
4
  Summary: Mesh creation and plot utilities for EMerge solver or other FEM solver.
5
5
  Home-page: https://github.com/LubomirJagos42/basic-emerge-solver-helper-package
6
6
  Author: Lubomir Jagos