emerge 1.0.4__py3-none-any.whl → 1.0.5__py3-none-any.whl

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.

Potentially problematic release.


This version of emerge might be problematic. Click here for more details.

emerge/__init__.py CHANGED
@@ -18,7 +18,7 @@ along with this program; if not, see
18
18
  """
19
19
  import os
20
20
 
21
- __version__ = "1.0.4"
21
+ __version__ = "1.0.5"
22
22
 
23
23
  ############################################################
24
24
  # HANDLE ENVIRONMENT VARIABLES #
@@ -51,11 +51,13 @@ def add(main: T, tool: T,
51
51
  GeoSurface | GeoVolume
52
52
  A new object that is the union of the main and tool objects.
53
53
  '''
54
+
54
55
  out_dim_tags, out_dim_tags_map = gmsh.model.occ.fuse(main.dimtags, tool.dimtags, removeObject=remove_object, removeTool=remove_tool)
55
56
  if out_dim_tags[0][0] == 3:
56
57
  output = GeoVolume([dt[1] for dt in out_dim_tags])._take_tools(tool,main)
57
58
  elif out_dim_tags[0][0] == 2:
58
59
  output = GeoSurface([dt[1] for dt in out_dim_tags])._take_tools(tool,main)
60
+
59
61
  if remove_object:
60
62
  main._exists = False
61
63
  if remove_tool:
@@ -306,10 +308,10 @@ def unite(*objects: GeoObject) -> GeoObject:
306
308
 
307
309
  main._exists = False
308
310
  dts = []
309
- for other in rest:
311
+ for other in objects:
310
312
  dts.extend(other.dimtags)
311
313
  other._exists = False
312
- new_dimtags, mapping = gmsh.model.occ.fuse(main.dimtags, dts)
314
+ new_dimtags, mapping = gmsh.model.occ.fuse(dts, main.dimtags)
313
315
 
314
316
  new_obj = GeoObject.from_dimtags(new_dimtags)._take_tools(*objects)
315
317
  new_obj.set_material(main.material)
@@ -24,6 +24,7 @@ from typing import Generator, Callable
24
24
  from ..selection import FaceSelection
25
25
  from typing import Literal
26
26
  from functools import reduce
27
+ from loguru import logger
27
28
 
28
29
 
29
30
  def _discretize_curve(xfunc: Callable, yfunc: Callable,
@@ -362,10 +363,20 @@ class XYPolygon:
362
363
  self._check()
363
364
 
364
365
  ptags = []
366
+
365
367
  xg, yg, zg = cs.in_global_cs(self.x, self.y, 0*self.x)
366
368
 
367
369
  points = dict()
368
370
  for x,y,z in zip(xg, yg, zg):
371
+ reuse = False
372
+ for key, (px, py, pz) in points.items():
373
+ if ((x-px)**2 + (y-py)**2 + (z-pz)**2)**0.5 < 1e-12:
374
+ ptags.append(key)
375
+ reuse = True
376
+ break
377
+ if reuse:
378
+ logger.warning(f'Reusing {ptags[-1]}')
379
+ continue
369
380
  ptag = gmsh.model.occ.add_point(x,y,z)
370
381
  points[ptag] = (x,y,z)
371
382
  ptags.append(ptag)
@@ -241,6 +241,7 @@ class Simulation:
241
241
  logger.trace('Storing geometries in data.sim')
242
242
  self.data.sim['geos'] = {geo.name: geo for geo in _GEOMANAGER.all_geometries()}
243
243
  self.data.sim['mesh'] = self.mesh
244
+ self.data.sim.entries.append(self.data.sim.stock)
244
245
  ############################################################
245
246
  # PUBLIC FUNCTIONS #
246
247
  ############################################################
@@ -518,6 +519,7 @@ class Simulation:
518
519
  else:
519
520
  geometries_parsed = unpack_lists(geometries + tuple([item for item in self.data.sim.default.values() if isinstance(item, GeoObject)]))
520
521
  logger.trace(f'Parsed geometries = {geometries_parsed}')
522
+
521
523
  self._save_geometries()
522
524
 
523
525
  self.mesher.submit_objects(geometries_parsed)
emerge/_emerge/solver.py CHANGED
@@ -95,6 +95,10 @@ class SolveReport:
95
95
  for key, value in kwargs.items():
96
96
  self.aux[key] = str(value)
97
97
 
98
+ @property
99
+ def mdof(self) -> float:
100
+ return (self.ndof**2)/((self.simtime+1e-6)*1e6)
101
+
98
102
  def logprint(self, print_cal: Callable | None = None):
99
103
  if print_cal is None:
100
104
  print_cal = print
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: emerge
3
- Version: 1.0.4
3
+ Version: 1.0.5
4
4
  Summary: An open source EM FEM simulator in Python
5
5
  Project-URL: Homepage, https://github.com/FennisRobert/EMerge
6
6
  Project-URL: Issues, https://github.com/FennisRobert/EMerge/issues
@@ -32,7 +32,7 @@ Hello everybody. Thanks for showing interest in this repository.
32
32
  Feel free to download your version of EMerge and start playing around with it!
33
33
  If you have suggestions/changes/questions either use the Github issue system or join the Discord using the following link:
34
34
 
35
- **https://discord.gg/uArxywnz**
35
+ **[Discord Invitation](https://discord.gg/VMftDCZcNz)**
36
36
 
37
37
  ## How to install
38
38
 
@@ -1,4 +1,4 @@
1
- emerge/__init__.py,sha256=hgaavnd2z2brL5QWk8XSNpqE3GDT54YHyQ9eeLgcCdA,3122
1
+ emerge/__init__.py,sha256=F-k_d_Y9IKWo7DzANY_2dTgpkz0EKV6L8Kpl8eLoFr8,3122
2
2
  emerge/__main__.py,sha256=WVf16sfrOI910QWohrQDaChZdRifMNoS6VKzCT6f3ZA,92
3
3
  emerge/cli.py,sha256=NU1uhwuZ6i50680v3_I4kDZPTHqz74gOYK71UBhb8oE,666
4
4
  emerge/ext.py,sha256=IBoHH5PQFj5pYMfp6r-uMpNNgbSe8c0g9x8qjBzzVmU,223
@@ -24,9 +24,9 @@ emerge/_emerge/periodic.py,sha256=dUuWqjlDR8mHtQR3ecINP2FFjJJ0cKg0blOVZ0PCcAo,12
24
24
  emerge/_emerge/plot.py,sha256=cf1I9mj7EIUJcq8vmANlUkqoV6QqVaJaP-zlC-T9E18,8041
25
25
  emerge/_emerge/selection.py,sha256=ltT8ubMFG3-sFrAh7K7iAgSoBt3r25B02ShzMlOGSXQ,21527
26
26
  emerge/_emerge/settings.py,sha256=wZFMzQSnMEEJptatu--67El1L0I_YEv9S8QjqI69bfs,265
27
- emerge/_emerge/simmodel.py,sha256=8p82_R_hFAd1gOaLn6kaeFyQGJAQKjE04iZethx3V_o,26458
27
+ emerge/_emerge/simmodel.py,sha256=460el1k0gCj8Bt9MMoZMBUXx4YftaTrOvXP0Epmj-Dg,26525
28
28
  emerge/_emerge/simulation_data.py,sha256=23o-xbm6Q6s9sYisyK9u1GTmuaXRl0WDGQwzPO7lkr0,15115
29
- emerge/_emerge/solver.py,sha256=Li8CYXuK-B-iXZ2z9SD-g8xJs0t86CtJsT3_7BxqKgE,51469
29
+ emerge/_emerge/solver.py,sha256=z3d0UTFjMkOPlyRi8gOASigKlJ9-1MWsGZfAhGk1xr0,51573
30
30
  emerge/_emerge/system.py,sha256=p4HNz7d_LMRNE9Gk75vVdFecDH2iN_groAM9u-yQTpk,1618
31
31
  emerge/_emerge/elements/__init__.py,sha256=I3n9aic6lJW-oGeqTEZ-Fpxvyl2i-WqsHdnrM3v1oB8,799
32
32
  emerge/_emerge/elements/femdata.py,sha256=ZSB7dICyU3GOWbxpuowBc-Khh2mpXa02ZfMkHwdDol4,8377
@@ -37,10 +37,10 @@ emerge/_emerge/elements/nedleg2.py,sha256=1SA6AvnbChhU2iodS1PVMUdbSn9wF2XKam12WT
37
37
  emerge/_emerge/geo/__init__.py,sha256=yTeuT4Oexrsdkr7MxRLeTHEY5iP4IHsWeCvit57fK5g,1161
38
38
  emerge/_emerge/geo/horn.py,sha256=otrtPphO2zoRaSOb7NV-iRaydL1uWDAl2xJ6-8Sef24,4148
39
39
  emerge/_emerge/geo/modeler.py,sha256=_PMz3lFSa7FmJHWdY-4U1Sqbed-Egy85S_AdjlCldC4,15572
40
- emerge/_emerge/geo/operations.py,sha256=cKQfVjN0Qt9tj91w7zevm7EKsYPxcD8TRFCeQMQZFwY,12446
40
+ emerge/_emerge/geo/operations.py,sha256=WYWfOXWrT0voeKW9U26g-PhQfqJl3ovRQ8uDQXUr7Nc,12459
41
41
  emerge/_emerge/geo/pcb.py,sha256=Mzn7Lho18Xc7A-XShfWZK9Kop4xlLYONMeRhtKkETJU,57577
42
42
  emerge/_emerge/geo/pmlbox.py,sha256=gaIG_AoZNQnIyJ8C7x64U-Hw5dsmllWMiZDAH4iRoM0,8784
43
- emerge/_emerge/geo/polybased.py,sha256=G4oJG7I7oZ69PKiQVoAOPSNAWnjhuYUDdqibZhUdiv4,32059
43
+ emerge/_emerge/geo/polybased.py,sha256=plDHB-67i9tjFc9Ktiq92MOX9mfaxjvFrBYIumR-Pmg,32441
44
44
  emerge/_emerge/geo/shapes.py,sha256=LPprT9vR7p6TqSBVKS6eG8P3iYWO7_yC7LNUYw5B8Sk,24196
45
45
  emerge/_emerge/geo/step.py,sha256=XcAiEN8W4umNmZdYmrGHX_aJUuiMgc6vgT-UIk8Gbqc,2689
46
46
  emerge/_emerge/geo/pcb_tools/calculator.py,sha256=VbMP2xC9i7OFwtqnnwfYgyJSEcJIjr2VIy_Ez1hYqlU,859
@@ -88,8 +88,8 @@ emerge/beta/dxf.py,sha256=Bw4lVk0TquOgCxTZV23BZN7PrgqxBrMZxbHV1waC5U0,50
88
88
  emerge/materials/__init__.py,sha256=Z9tu3m_nqj6F9I-FwoVoN0vCTYUlFesH3KxJ38wkZck,19
89
89
  emerge/materials/isola.py,sha256=kSDxHJZVn2CcanoUjlwRVKIPvadRbBybURTdIHWx728,18660
90
90
  emerge/materials/rogers.py,sha256=4u6ma_XQdXGKWE3WsFkaMTamCQNo9kTYSTU8S1gCAYU,3388
91
- emerge-1.0.4.dist-info/METADATA,sha256=AaEHuRZDRdnr-OyyDKli2libsKPtis2OmCRB33Uak-g,3282
92
- emerge-1.0.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
93
- emerge-1.0.4.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
94
- emerge-1.0.4.dist-info/licenses/LICENSE,sha256=VOCXWddrjMN5j7TvnSAOh1Dx7jkugdwq9Lqhycf5inc,17852
95
- emerge-1.0.4.dist-info/RECORD,,
91
+ emerge-1.0.5.dist-info/METADATA,sha256=m6vQVIQM-DWznyMQVEOpllXUdsAjbqp-diEb_qgOOrg,3306
92
+ emerge-1.0.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
93
+ emerge-1.0.5.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
94
+ emerge-1.0.5.dist-info/licenses/LICENSE,sha256=VOCXWddrjMN5j7TvnSAOh1Dx7jkugdwq9Lqhycf5inc,17852
95
+ emerge-1.0.5.dist-info/RECORD,,
File without changes