basicemergesolverhelperpackage 0.0.7__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.7 → basicemergesolverhelperpackage-0.0.9}/PKG-INFO +1 -1
  2. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/setup.py +1 -1
  3. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage/EMergeHelperFunctions.py +38 -2
  4. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage/__init__.py +1 -1
  5. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage.egg-info/PKG-INFO +1 -1
  6. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/LICENSE +0 -0
  7. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/README.md +0 -0
  8. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/setup.cfg +0 -0
  9. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage/EMergeConstants.py +0 -0
  10. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage.egg-info/SOURCES.txt +0 -0
  11. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage.egg-info/dependency_links.txt +0 -0
  12. {basicemergesolverhelperpackage-0.0.7 → basicemergesolverhelperpackage-0.0.9}/src/basicemergesolverhelperpackage.egg-info/requires.txt +0 -0
  13. {basicemergesolverhelperpackage-0.0.7 → 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.7
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.7",
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,6 +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
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
4
13
 
5
14
  from typing import Callable, Literal
6
15
  import gmsh
@@ -95,7 +104,32 @@ class EMergeHelperFunctions:
95
104
  for obj in objectList:
96
105
  self.simulationObj.mw.bc.LumpedElement(face=obj, impedance_function=impedance_function, width=width, height=height)
97
106
 
98
- 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
+
99
133
  objectList = self.getObjectSurface(name)
100
134
  for obj in objectList:
101
135
  if type.lower() == "absorbing":
@@ -104,6 +138,8 @@ class EMergeHelperFunctions:
104
138
  self.simulationObj.mw.bc.PEC(obj)
105
139
  elif type == "PMC":
106
140
  self.simulationObj.mw.bc.PMC(obj)
141
+ elif type.lower() == "surfaceimpedance":
142
+ self.simulationObj.mw.bc.SurfaceImpedance(obj, **additionalParameters)
107
143
  else:
108
144
  raise Exception(f"ERROR: Unknown type of boundary condition: {type}")
109
145
 
@@ -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.7
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