emerge 0.6.8__py3-none-any.whl → 0.6.9__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__ = "0.6.8"
21
+ __version__ = "0.6.9"
22
22
 
23
23
  ############################################################
24
24
  # HANDLE ENVIRONMENT VARIABLES #
@@ -61,8 +61,11 @@ class _GeometryManager:
61
61
  self.geometry_list[model].append(geo)
62
62
 
63
63
  def sign_in(self, modelname: str) -> None:
64
- if modelname not in self.geometry_list:
65
- self.geometry_list[modelname] = []
64
+ # if modelname not in self.geometry_list:
65
+ # self.geometry_list[modelname] = []
66
+ if modelname is self.geometry_list:
67
+ logger.warning(f'{modelname} already exist, Geometries will be reset.')
68
+ self.geometry_list[modelname] = []
66
69
  self.active = modelname
67
70
 
68
71
  def reset(self, modelname: str) -> None:
@@ -242,6 +245,10 @@ class GeoObject:
242
245
  def opacity(self) -> float:
243
246
  return self.material.opacity
244
247
 
248
+ @property
249
+ def _metal(self) -> bool:
250
+ return self.material._metal
251
+
245
252
  @property
246
253
  def select(self) -> Selection:
247
254
  '''Returns a corresponding Face/Domain or Edge Selection object'''
@@ -289,7 +289,9 @@ class Material:
289
289
  cond: float | MatProperty = 0.0,
290
290
  _neff: float | None = None,
291
291
  color: str ="#BEBEBE",
292
- opacity: float = 1.0):
292
+ opacity: float = 1.0,
293
+ _metal: bool = False,
294
+ name: str = 'unnamed'):
293
295
 
294
296
  if not isinstance(er, MatProperty):
295
297
  er = MatProperty(er)
@@ -300,6 +302,7 @@ class Material:
300
302
  if not isinstance(cond, MatProperty):
301
303
  cond = MatProperty(cond)
302
304
 
305
+ self.name: str = name
303
306
  self.er: MatProperty = er
304
307
  self.ur: MatProperty = ur
305
308
  self.tand: MatProperty = tand
@@ -313,6 +316,10 @@ class Material:
313
316
  self._neff: Callable = lambda f: _neff
314
317
  hex_str = self.color.lstrip('#')
315
318
  self._color_rgb = tuple(int(hex_str[i:i+2], 16)/255.0 for i in (0, 2, 4))
319
+ self._metal: bool = _metal
320
+
321
+ def __str__(self) -> str:
322
+ return f'Material({self.name})'
316
323
 
317
324
  def initialize(self, xs: np.ndarray, ys: np.ndarray, zs: np.ndarray, ids: np.ndarray):
318
325
  """Initializes the Material properties to be evaluated at xyz-coordinates for
@@ -364,5 +371,5 @@ class Material:
364
371
  def color_rgb(self) -> tuple[float,float,float]:
365
372
  return self._color_rgb
366
373
 
367
- AIR = Material(color="#4496f3", opacity=0.05)
368
- COPPER = Material(cond=5.8e7, color="#62290c")
374
+ AIR = Material(color="#4496f3", opacity=0.05, name='Air')
375
+ COPPER = Material(cond=5.8e7, color="#62290c", _metal=True, name='Copper')
@@ -354,7 +354,7 @@ class FloquetPort(PortBC):
354
354
  if cs is None:
355
355
  cs = GCS
356
356
  self.port_number: int= port_number
357
- self.active: bool = True
357
+ self.active: bool = False
358
358
  self.power: float = power
359
359
  self.type: str = 'TEM'
360
360
  self.mode: tuple[int,int] = (1,0)
@@ -439,7 +439,6 @@ class ModalPort(PortBC):
439
439
  def __init__(self,
440
440
  face: FaceSelection | GeoSurface,
441
441
  port_number: int,
442
- active: bool = False,
443
442
  cs: CoordinateSystem | None = None,
444
443
  power: float = 1,
445
444
  TEM: bool = False,
@@ -457,7 +456,6 @@ class ModalPort(PortBC):
457
456
  Args:
458
457
  face (FaceSelection, GeoSurface): The port mode face
459
458
  port_number (int): The port number as an integer
460
- active (bool, optional): Whether the port is set active. Defaults to False.
461
459
  cs (CoordinateSystem, optional): The local coordinate system of the port face. Defaults to None.
462
460
  power (float, optional): The radiated power. Defaults to 1.
463
461
  TEM (bool, optional): Wether the mode should be considered as a TEM mode. Defaults to False
@@ -467,7 +465,7 @@ class ModalPort(PortBC):
467
465
  super().__init__(face)
468
466
 
469
467
  self.port_number: int= port_number
470
- self.active: bool = active
468
+ self.active: bool = False
471
469
  self.power: float = power
472
470
  self.alignment_vectors: list[Axis] = []
473
471
 
@@ -666,7 +664,7 @@ class RectangularWaveguide(PortBC):
666
664
  def __init__(self,
667
665
  face: FaceSelection | GeoSurface,
668
666
  port_number: int,
669
- active: bool = False,
667
+ mode: tuple[int, int] = (1,0),
670
668
  cs: CoordinateSystem | None = None,
671
669
  dims: tuple[float, float] | None = None,
672
670
  power: float = 1):
@@ -681,7 +679,7 @@ class RectangularWaveguide(PortBC):
681
679
  Args:
682
680
  face (FaceSelection, GeoSurface): The port boundary face selection
683
681
  port_number (int): The port number
684
- active (bool, optional): Ther the port is active. Defaults to False.
682
+ mode: (tuple[int, int], optional): The TE mode number. Defaults to (1,0).
685
683
  cs (CoordinateSystem, optional): The local coordinate system. Defaults to None.
686
684
  dims (tuple[float, float], optional): The port face. Defaults to None.
687
685
  power (float): The port power. Default to 1.
@@ -689,10 +687,10 @@ class RectangularWaveguide(PortBC):
689
687
  super().__init__(face)
690
688
 
691
689
  self.port_number: int= port_number
692
- self.active: bool = active
690
+ self.active: bool = False
693
691
  self.power: float = power
694
692
  self.type: str = 'TE'
695
- self.mode: tuple[int,int] = (1,0)
693
+ self.mode: tuple[int,int] = mode
696
694
 
697
695
  if dims is None:
698
696
  logger.info("Determining port face based on selection")
@@ -701,13 +699,12 @@ class RectangularWaveguide(PortBC):
701
699
  self.dims = (width, height)
702
700
  logger.debug(f'Port CS: {self.cs}')
703
701
  logger.debug(f'Detected port {self.port_number} size = {width*1000:.1f} mm x {height*1000:.1f} mm')
704
-
702
+ else:
703
+ self.dims = dims
704
+ self.cs = cs
705
705
  if self.cs is None:
706
706
  logger.info('Constructing coordinate system from normal port')
707
707
  self.cs = Axis(self.selection.normal).construct_cs()
708
- else:
709
- self.cs: CoordinateSystem = cs # type: ignore
710
-
711
708
  def get_basis(self) -> np.ndarray:
712
709
  return self.cs._basis
713
710
 
@@ -755,11 +752,12 @@ class RectangularWaveguide(PortBC):
755
752
 
756
753
  width = self.dims[0]
757
754
  height = self.dims[1]
758
-
759
- E = self.get_amplitude(k0)*np.cos(np.pi*self.mode[0]*(x_local)/width)*np.cos(np.pi*self.mode[1]*(y_local)/height)
760
- Ex = 0*E
761
- Ey = E
762
- Ez = 0*E
755
+ m, n= self.mode
756
+ Ev = self.get_amplitude(k0)*np.cos(np.pi*m*(x_local)/width)*np.cos(np.pi*n*(y_local)/height)
757
+ Eh = self.get_amplitude(k0)*np.sin(np.pi*m*(x_local)/width)*np.sin(np.pi*n*(y_local)/height)
758
+ Ex = Eh
759
+ Ey = Ev
760
+ Ez = 0*Eh
763
761
  Exyz = self._qmode(k0) * np.array([Ex, Ey, Ez])
764
762
  return Exyz
765
763
 
@@ -787,7 +785,6 @@ class LumpedPort(PortBC):
787
785
  width: float | None = None,
788
786
  height: float | None = None,
789
787
  direction: Axis | None = None,
790
- active: bool = False,
791
788
  power: float = 1,
792
789
  Z0: float = 50):
793
790
  """Generates a lumped power boundary condition.
@@ -804,7 +801,6 @@ class LumpedPort(PortBC):
804
801
  width (float): The port width (meters).
805
802
  height (float): The port height (meters).
806
803
  direction (Axis): The port direction as an Axis object (em.Axis(..) or em.ZAX)
807
- active (bool, optional): Whether the port is active. Defaults to False.
808
804
  power (float, optional): The port output power. Defaults to 1.
809
805
  Z0 (float, optional): The port impedance. Defaults to 50.
810
806
  """
@@ -819,7 +815,7 @@ class LumpedPort(PortBC):
819
815
 
820
816
  logger.debug(f'Lumped port: width={1000*width:.1f}mm, height={1000*height:.1f}mm, direction={direction}') # type: ignore
821
817
  self.port_number: int= port_number
822
- self.active: bool = active
818
+ self.active: bool = False
823
819
 
824
820
  self.power: float = power
825
821
  self.Z0: float = Z0
@@ -20,7 +20,7 @@ from ...simulation_data import BaseDataset, DataContainer
20
20
  from ...elements.femdata import FEMBasis
21
21
  from dataclasses import dataclass
22
22
  import numpy as np
23
- from typing import Literal
23
+ from typing import Literal, Callable
24
24
  from loguru import logger
25
25
  from .adaptive_freq import SparamModel
26
26
  from ...cs import Axis, _parse_axis
@@ -1018,7 +1018,8 @@ class MWField:
1018
1018
  k0 = self.k0
1019
1019
  return vertices, triangles, E, H, origin, k0
1020
1020
 
1021
- def optycal_antenna(self, faces: FaceSelection | GeoSurface | None = None,
1021
+ def optycal_antenna(self,
1022
+ faces: FaceSelection | GeoSurface | None = None,
1022
1023
  origin: tuple[float, float, float] | None = None,
1023
1024
  syms: list[Literal['Ex','Ey','Ez', 'Hx','Hy','Hz']] | None = None) -> dict:
1024
1025
  """Export this models exterior to an Optical acceptable dataset
@@ -1036,6 +1037,32 @@ class MWField:
1036
1037
 
1037
1038
  return dict(freq=freq, ff_function=function)
1038
1039
 
1040
+ # def surface_integral(self, faces: FaceSelection | GeoSurface, fieldfunction: Callable) -> float | complex:
1041
+ # """Computes a surface integral on the selected faces.
1042
+
1043
+ # The fieldfunction argument must be a callable of a single argument x, which will
1044
+ # be of type EHField which is restuned by the field.interpolate(x,y,z) function. It has
1045
+ # fields like Ez, Ey, Sx etc that can be called.
1046
+
1047
+ # Args:
1048
+ # faces (FaceSelection | GeoSurface): _description_
1049
+ # fieldfunction (Callable): _description_
1050
+
1051
+ # Returns:
1052
+ # float | complex: _description_
1053
+ # """
1054
+ # from ...mth.integrals import surface_integral
1055
+
1056
+ # def ff(x, y, z):
1057
+ # fieldobj = self.interpolate(x,y,z)
1058
+ # return fieldfunction(fieldobj)
1059
+
1060
+ # nodes = self.mesh.get_nodes(faces.tags)
1061
+ # triangles = self.mesh.get_triangles(faces.tags)
1062
+
1063
+ # return surface_integral(nodes, triangles, ff)
1064
+
1065
+
1039
1066
  class MWScalar:
1040
1067
  """The MWDataSet class stores solution data of FEM Time Harmonic simulations.
1041
1068
  """
@@ -284,15 +284,16 @@ class PVDisplay(BaseDisplay):
284
284
  self._ruler.min_length = max(1e-3, min(self._mesh.edge_lengths))
285
285
  self._update_camera()
286
286
  self._add_aux_items()
287
+ # self._plot.renderer.enable_depth_peeling(20, 0.8)
288
+ # self._plot.enable_anti_aliasing(self.set.anti_aliassing)
287
289
  if self._do_animate:
288
290
  self._wire_close_events()
289
291
  self.add_text('Press Q to close!',color='red', position='upper_left')
290
292
  self._plot.show(auto_close=False, interactive_update=True, before_close_callback=self._close_callback)
291
293
  self._animate()
292
-
293
-
294
294
  else:
295
295
  self._plot.show()
296
+
296
297
  self._reset()
297
298
 
298
299
  def set_mesh(self, mesh: Mesh3D):
@@ -440,8 +441,20 @@ class PVDisplay(BaseDisplay):
440
441
  opacity = obj.opacity
441
442
  line_width = 0.5
442
443
  color = obj.color_rgb
444
+ metal = obj._metal
443
445
  style='surface'
444
446
 
447
+ # Default render settings
448
+ metallic = 0.05
449
+ roughness = 0.5
450
+ pbr = False
451
+
452
+ if metal:
453
+ pbr = True
454
+ metallic = 0.8
455
+ roughness = 0.3
456
+
457
+ # Default keyword arguments when plotting Mesh mode.
445
458
  if mesh is True:
446
459
  show_edges = True
447
460
  opacity = 0.7
@@ -449,13 +462,28 @@ class PVDisplay(BaseDisplay):
449
462
  style='wireframe'
450
463
  color=next(C_CYCLE)
451
464
 
452
- kwargs = setdefault(kwargs, color=color, opacity=opacity, line_width=line_width, show_edges=show_edges, pickable=True, style=style)
465
+ # Defining the default keyword arguments for PyVista
466
+ kwargs = setdefault(kwargs, color=color,
467
+ opacity=opacity,
468
+ metallic=metallic,
469
+ pbr=pbr,
470
+ roughness=roughness,
471
+ line_width=line_width,
472
+ show_edges=show_edges,
473
+ pickable=True,
474
+ style=style)
453
475
  mesh_obj = self.mesh(obj)
454
476
 
455
477
  if mesh is True and volume_mesh is True:
456
478
  mesh_obj = mesh_obj.extract_all_edges()
457
-
458
479
  actor = self._plot.add_mesh(mesh_obj, *args, **kwargs)
480
+
481
+ # Push 3D Geometries back to avoid Z-fighting with 2D geometries.
482
+ if obj.dim==3:
483
+ mapper = actor.GetMapper()
484
+ mapper.SetResolveCoincidentTopology(1)
485
+ mapper.SetRelativeCoincidentTopologyPolygonOffsetParameters(1,1)
486
+
459
487
  self._plot.add_mesh(self._volume_edges(_select(obj)), color='#000000', line_width=2, show_edges=True)
460
488
 
461
489
  def add_scatter(self, xs: np.ndarray, ys: np.ndarray, zs: np.ndarray):
@@ -1,3 +1,4 @@
1
+ from typing import Literal
1
2
 
2
3
  class PVDisplaySettings:
3
4
 
@@ -22,4 +23,6 @@ class PVDisplaySettings:
22
23
  self.background_bottom: str = "#c0d2e8"
23
24
  self.background_top: str = "#ffffff"
24
25
  self.grid_line_color: str = "#8e8e8e"
25
- self.z_boost: float = 1e-6
26
+ self.z_boost: float = 0#1e-9
27
+ self.depth_peeling: bool = True
28
+ self.anti_aliassing: Literal["msaa","ssaa",'fxaa'] = "msaa"
@@ -406,21 +406,21 @@ and sparse frequency annotations (e.g., labeled by frequency).
406
406
  plt.tight_layout()
407
407
  plt.show()
408
408
 
409
- def plot_sp(f: np.ndarray, S: list[np.ndarray] | np.ndarray,
410
- dblim=[-40, 5],
411
- xunit="GHz",
412
- levelindicator: int | float | None = None,
413
- noise_floor=-150,
414
- fill_areas: list[tuple] | None = None,
415
- spec_area: list[tuple[float,...]] | None = None,
416
- unwrap_phase=False,
417
- logx: bool = False,
418
- labels: list[str] | None = None,
419
- linestyles: list[str] | None = None,
420
- colorcycle: list[int] | None = None,
421
- filename: str | None = None,
422
- show_plot: bool = True,
423
- figdata: tuple | None = None) -> tuple[plt.Figure, plt.Axes, plt.Axes]:
409
+ def plot_sp(f: np.ndarray | list[np.ndarray], S: list[np.ndarray] | np.ndarray,
410
+ dblim=[-40, 5],
411
+ xunit="GHz",
412
+ levelindicator: int | float | None = None,
413
+ noise_floor=-150,
414
+ fill_areas: list[tuple] | None = None,
415
+ spec_area: list[tuple[float,...]] | None = None,
416
+ unwrap_phase=False,
417
+ logx: bool = False,
418
+ labels: list[str] | None = None,
419
+ linestyles: list[str] | None = None,
420
+ colorcycle: list[int] | None = None,
421
+ filename: str | None = None,
422
+ show_plot: bool = True,
423
+ figdata: tuple | None = None) -> tuple[plt.Figure, plt.Axes, plt.Axes]:
424
424
  """Plot S-parameters in dB and phase
425
425
 
426
426
  Args:
@@ -444,7 +444,12 @@ def plot_sp(f: np.ndarray, S: list[np.ndarray] | np.ndarray,
444
444
  Ss = [S]
445
445
  else:
446
446
  Ss = S
447
-
447
+
448
+ if not isinstance(f, list):
449
+ fs = [f for _ in Ss]
450
+ else:
451
+ fs = f
452
+
448
453
  if linestyles is None:
449
454
  linestyles = ['-' for _ in S]
450
455
 
@@ -452,7 +457,8 @@ def plot_sp(f: np.ndarray, S: list[np.ndarray] | np.ndarray,
452
457
  colorcycle = [i for i, S in enumerate(S)]
453
458
 
454
459
  unitdivider: dict[str, float] = {"MHz": 1e6, "GHz": 1e9, "kHz": 1e3}
455
- fnew = f / unitdivider[xunit]
460
+
461
+ fs = [f / unitdivider[xunit] for f in fs]
456
462
 
457
463
  if figdata is None:
458
464
  # Create two subplots: one for magnitude and one for phase
@@ -463,10 +469,10 @@ def plot_sp(f: np.ndarray, S: list[np.ndarray] | np.ndarray,
463
469
  minphase, maxphase = -180, 180
464
470
 
465
471
  maxy = 0
466
- for s, ls, cid in zip(Ss, linestyles, colorcycle):
472
+ for f, s, ls, cid in zip(fs, Ss, linestyles, colorcycle):
467
473
  # Calculate and plot magnitude in dB
468
474
  SdB = 20 * np.log10(np.abs(s) + 10**(noise_floor/20) * np.random.rand(*s.shape) + 10**((noise_floor-30)/20))
469
- ax_mag.plot(fnew, SdB, label="Magnitude (dB)", linestyle=ls, color=EMERGE_COLORS[cid % len(EMERGE_COLORS)])
475
+ ax_mag.plot(f, SdB, label="Magnitude (dB)", linestyle=ls, color=EMERGE_COLORS[cid % len(EMERGE_COLORS)])
470
476
  if np.max(SdB) > maxy:
471
477
  maxy = np.max(SdB)
472
478
  # Calculate and plot phase in degrees
@@ -475,12 +481,12 @@ def plot_sp(f: np.ndarray, S: list[np.ndarray] | np.ndarray,
475
481
  phase = np.unwrap(phase, period=360)
476
482
  minphase = min(np.min(phase), minphase)
477
483
  maxphase = max(np.max(phase), maxphase)
478
- ax_phase.plot(fnew, phase, label="Phase (degrees)", linestyle=ls, color=EMERGE_COLORS[cid % len(EMERGE_COLORS)])
484
+ ax_phase.plot(f, phase, label="Phase (degrees)", linestyle=ls, color=EMERGE_COLORS[cid % len(EMERGE_COLORS)])
479
485
 
480
486
  # Annotate level indicators if specified
481
487
  if isinstance(levelindicator, (int, float)) and levelindicator is not None:
482
488
  lvl = levelindicator
483
- fcross = hintersections(fnew, SdB, lvl)
489
+ fcross = hintersections(f, SdB, lvl)
484
490
  for fs in fcross:
485
491
  ax_mag.annotate(
486
492
  f"{str(fs)[:4]}{xunit}",
@@ -500,16 +506,18 @@ def plot_sp(f: np.ndarray, S: list[np.ndarray] | np.ndarray,
500
506
  f2 = fmax / unitdivider[xunit]
501
507
  ax_mag.fill_between([f1, f2], vmin,vmax, color='red', alpha=0.2)
502
508
  # Configure magnitude plot (ax_mag)
509
+ fmin = min([min(f) for f in fs])
510
+ fmax = max([max(f) for f in fs])
503
511
  ax_mag.set_ylabel("Magnitude (dB)")
504
512
  ax_mag.set_xlabel(f"Frequency ({xunit})")
505
- ax_mag.axis([min(fnew), max(fnew), dblim[0], max(maxy*1.1,dblim[1])]) # type: ignore
513
+ ax_mag.axis([fmin, fmax, dblim[0], max(maxy*1.1,dblim[1])]) # type: ignore
506
514
  ax_mag.axhline(y=0, color="k", linewidth=1)
507
515
  ax_mag.xaxis.set_minor_locator(tck.AutoMinorLocator(2))
508
516
  ax_mag.yaxis.set_minor_locator(tck.AutoMinorLocator(2))
509
517
  # Configure phase plot (ax_phase)
510
518
  ax_phase.set_ylabel("Phase (degrees)")
511
519
  ax_phase.set_xlabel(f"Frequency ({xunit})")
512
- ax_phase.axis([min(fnew), max(fnew), minphase, maxphase]) # type: ignore
520
+ ax_phase.axis([fmin, fmax, minphase, maxphase]) # type: ignore
513
521
  ax_phase.xaxis.set_minor_locator(tck.AutoMinorLocator(2))
514
522
  ax_phase.yaxis.set_minor_locator(tck.AutoMinorLocator(2))
515
523
  if logx:
@@ -612,6 +620,8 @@ def plot_ff(
612
620
  def plot_ff_polar(
613
621
  theta: np.ndarray,
614
622
  E: Union[np.ndarray, Sequence[np.ndarray]],
623
+ dB: bool = False,
624
+ dBfloor: float = -30,
615
625
  labels: Optional[List[str]] = None,
616
626
  linestyles: Union[str, List[str]] = "-",
617
627
  linewidth: float = 2.0,
@@ -649,6 +659,8 @@ def plot_ff_polar(
649
659
  E_list = list(E)
650
660
  n_series = len(E_list)
651
661
 
662
+ if dB:
663
+ E_list = [20*np.log10(np.clip(np.abs(e), a_min=10**(dBfloor/20), a_max = 1e9)) for e in E_list]
652
664
  # Style broadcasting
653
665
  def _broadcast(param, default):
654
666
  if isinstance(param, list):
@@ -665,11 +677,15 @@ def plot_ff_polar(
665
677
  ax.set_theta_zero_location(zero_location) # type: ignore
666
678
  ax.set_theta_direction(-1 if clockwise else 1) # type: ignore
667
679
  ax.set_rlabel_position(rlabel_angle) # type: ignore
680
+ ymin = min([min(E) for E in E_list])
681
+ ymax = max([max(E) for E in E_list])
682
+ yrange = ymax-ymin
668
683
 
684
+ ax.set_ylim(ymin-0.05*yrange, ymax+0.05*yrange)
669
685
  for i, Ei in enumerate(E_list):
670
- mag = np.abs(Ei)
686
+
671
687
  ax.plot(
672
- theta, mag,
688
+ theta, Ei,
673
689
  linestyle=linestyles[i],
674
690
  linewidth=linewidth,
675
691
  marker=markers[i],
@@ -17,8 +17,7 @@ with em.Simulation("myfile", load_file=True) as m:
17
17
  S11 = data.S(1,1)
18
18
  S21 = data.S(2,1)
19
19
  plt.plot_sp(f/1e9, [S11, S21])
20
-
21
- m.set_mesh(m.data.mw.field[0].mesh)
20
+
22
21
  m.display.add_object(m['box'])
23
22
  m.display.add_surf(*m.data.mw.field[0].cutplane(1*mm, z=5*mm).scalar('Ez','real'))
24
23
  m.display.show()
@@ -205,6 +205,10 @@ class Selection:
205
205
  def centers(self) -> list[tuple[float, float, float],]:
206
206
  return [gmsh.model.occ.get_center_of_mass(self.dim, tag) for tag in self.tags]
207
207
 
208
+ @property
209
+ def _metal(self) -> bool:
210
+ return False
211
+
208
212
  @property
209
213
  def opacity(self) -> float:
210
214
  return 0.6
@@ -31,7 +31,7 @@ from typing import Literal, Generator, Any
31
31
  from loguru import logger
32
32
  import numpy as np
33
33
  import gmsh # type: ignore
34
- import joblib # type: ignore
34
+ import cloudpickle
35
35
  import os
36
36
  import inspect
37
37
  from pathlib import Path
@@ -181,7 +181,10 @@ class Simulation:
181
181
 
182
182
  # Restier the Exit GMSH function on proper program abortion
183
183
  register(self._exit_gmsh)
184
-
184
+ else:
185
+ gmsh.finalize()
186
+ gmsh.initialize()
187
+
185
188
  # Create a new GMSH model or load it
186
189
  if not self.load_file:
187
190
  gmsh.model.add(self.modelname)
@@ -283,7 +286,8 @@ class Simulation:
283
286
  # Pack and save data
284
287
  dataset = dict(simdata=self.data, mesh=self.mesh)
285
288
  data_path = self.modelpath / 'simdata.emerge'
286
- joblib.dump(dataset, str(data_path))
289
+ with open(str(data_path), "wb") as f_out:
290
+ cloudpickle.dump(dataset, f_out)
287
291
  logger.info(f"Saved simulation data to: {data_path}")
288
292
 
289
293
  def load(self) -> None:
@@ -304,7 +308,8 @@ class Simulation:
304
308
  #self.mesh.update([])
305
309
 
306
310
  # Load data
307
- datapack = joblib.load(str(data_path))
311
+ with open(str(data_path), "rb") as f_in:
312
+ datapack= cloudpickle.load(f_in)
308
313
  self.data = datapack['simdata']
309
314
  self._set_mesh(datapack['mesh'])
310
315
  logger.info(f"Loaded simulation data from: {data_path}")
emerge/lib.py CHANGED
@@ -26,55 +26,57 @@ VACUUM = Material(color="#2d8cd5", opacity=0.05)
26
26
  ############################################################
27
27
 
28
28
  GREY = "#bfbfbf"
29
- MET_ALUMINUM = Material(cond=3.77e7, color=GREY, opacity=0.5)
30
- MET_CARBON = Material(cond=3.33e4, color=GREY, opacity=0.5)
31
- MET_CHROMIUM = Material(cond=5.56e6, color=GREY, opacity=0.5)
32
- MET_COPPER = Material(cond=5.8e7, color="#62290c", opacity=1.0)
33
- MET_GOLD = Material(cond=4.10e7, color="#d4af37", opacity=0.5)
34
- MET_INDIUM = Material(cond=6.44e6, color=GREY, opacity=0.5)
35
- MET_IRIDIUM = Material(cond=2.13e7, color=GREY, opacity=0.5)
36
- MET_IRON = Material(cond=1.04e7, color="#aaaaaa", opacity=0.5)
37
- MET_LEAD = Material(cond=4.84e6, color=GREY, opacity=0.5)
38
- MET_MAGNESIUM = Material(cond=2.38e7, color=GREY, opacity=0.5)
39
- MET_NICKEL = Material(cond=1.14e7, color=GREY, opacity=0.5)
40
- MET_NICHROME = Material(cond=9.09e5, color=GREY, opacity=0.5)
41
- MET_PALLADIUM = Material(cond=9.42e6, color=GREY, opacity=0.5)
42
- MET_PLATINUM = Material(cond=9.42e6, color=GREY, opacity=0.5)
43
- MET_RHODIUM = Material(cond=2.22e7, color=GREY, opacity=0.5)
44
- MET_SILVER = Material(cond=6.29e7, color=GREY, opacity=0.5)
45
- MET_TANTALUM = Material(cond=6.44e6, color=GREY, opacity=0.5)
46
- MET_TANTALUM_NITRIDE = Material(cond=3.97e5, color=GREY, opacity=0.5)
47
- MET_TIN = Material(cond=8.66e6, color=GREY, opacity=0.5)
48
- MET_TITANIUM = Material(cond=1.82e6, color=GREY, opacity=0.5)
49
- MET_TUNGSTEN = Material(cond=1.79e7, color=GREY, opacity=0.5)
50
- MET_ZINC = Material(cond=1.76e7, color=GREY, opacity=0.5)
51
- MET_ZIRCONIUM = Material(cond=2.44e7, color=GREY, opacity=0.5)
29
+ MET_ALUMINUM = Material(cond=3.77e7, color=GREY, opacity=0.5, _metal=True, name="Aluminum")
30
+ MET_CARBON = Material(cond=3.33e4, color=GREY, opacity=0.5, _metal=True, name="Carbon")
31
+ MET_CHROMIUM = Material(cond=5.56e6, color=GREY, opacity=0.5, _metal=True, name="Chromium")
32
+ MET_COPPER = Material(cond=5.8e7, color="#62290c", opacity=1.0, _metal=True, name="Copper")
33
+ MET_GOLD = Material(cond=4.10e7, color="#d4af37", opacity=0.5, _metal=True, name="Gold")
34
+ MET_INDIUM = Material(cond=6.44e6, color=GREY, opacity=0.5, _metal=True, name="Indium")
35
+ MET_IRIDIUM = Material(cond=2.13e7, color=GREY, opacity=0.5, _metal=True, name="Iridium")
36
+ MET_IRON = Material(cond=1.04e7, color="#aaaaaa", opacity=0.5, _metal=True, name="Iron")
37
+ MET_LEAD = Material(cond=4.84e6, color=GREY, opacity=0.5, _metal=True, name="Lead")
38
+ MET_MAGNESIUM = Material(cond=2.38e7, color=GREY, opacity=0.5, _metal=True, name="Magnesium")
39
+ MET_NICKEL = Material(cond=1.14e7, color=GREY, opacity=0.5, _metal=True, name="Nickel")
40
+ MET_NICHROME = Material(cond=9.09e5, color=GREY, opacity=0.5, _metal=True, name="Nichrome")
41
+ MET_PALLADIUM = Material(cond=9.42e6, color=GREY, opacity=0.5, _metal=True, name="Palladium")
42
+ MET_PLATINUM = Material(cond=9.42e6, color=GREY, opacity=0.5, _metal=True, name="Platinum")
43
+ MET_RHODIUM = Material(cond=2.22e7, color=GREY, opacity=0.5, _metal=True, name="Rhodium")
44
+ MET_SILVER = Material(cond=6.29e7, color=GREY, opacity=0.5, _metal=True, name="Silver")
45
+ MET_TANTALUM = Material(cond=6.44e6, color=GREY, opacity=0.5, _metal=True, name="Tantalum")
46
+ MET_TANTALUM_NITRIDE = Material(cond=3.97e5, color=GREY, opacity=0.5, _metal=True, name="Tantalum Nitride")
47
+ MET_TIN = Material(cond=8.66e6, color=GREY, opacity=0.5, _metal=True, name="Tin")
48
+ MET_TITANIUM = Material(cond=1.82e6, color=GREY, opacity=0.5, _metal=True, name="Titanium")
49
+ MET_TUNGSTEN = Material(cond=1.79e7, color=GREY, opacity=0.5, _metal=True, name="Tungsten")
50
+ MET_ZINC = Material(cond=1.76e7, color=GREY, opacity=0.5, _metal=True, name="Zinc")
51
+ MET_ZIRCONIUM = Material(cond=2.44e7, color=GREY, opacity=0.5, _metal=True, name="Zirconium")
52
+
52
53
 
53
54
 
54
55
  ############################################################
55
56
  # SEMICONDUCTORS #
56
57
  ############################################################
57
58
 
58
- SEMI_SILICON = Material(er=11.7, tand=0.005, color="#b4b4b4", opacity=0.5) # Crystalline Si
59
- SEMI_SILICON_N = Material(er=7.5, tand=0.0003, color="#a0a0a0", opacity=0.5) # Silicon Nitride (Si₃N₄)
60
- SEMI_SILICON_OXIDE = Material(er=3.9, tand=0.0001, color="#e0e0e0", opacity=0.5) # Silicon Dioxide (SiO₂)
61
- SEMI_GERMANIUM = Material(er=16.0, tand=0.001, color="#787878", opacity=0.5)
62
- SEMI_GAAS = Material(er=13.1, tand=0.0016, color="#aa8888", opacity=0.5) # Gallium Arsenide
63
- SEMI_GA_N = Material(er=8.9, tand=0.002, color="#8888cc", opacity=0.5) # Gallium Nitride
64
- SEMI_INP = Material(er=12.5, tand=0.0015, color="#cc99aa", opacity=0.5) # Indium Phosphide
65
- SEMI_ALN = Material(er=8.6, tand=0.0003, color="#ccccee", opacity=0.5) # Aluminum Nitride
66
- SEMI_AL2O3 = Material(er=9.8, tand=0.0002, color="#eaeaea", opacity=0.5) # Alumina
67
- SEMI_SAPPHIRE = Material(er=9.4, tand=0.0001, color="#ddddff", opacity=0.5)
68
- SEMI_DIAMOND = Material(er=5.5, tand=0.00005, color="#cceeff", opacity=0.5) # Synthetic CVD diamond
69
- SEMI_HBN = Material(er=4.0, tand=0.0001, color="#eeeeff", opacity=0.5) # Hexagonal Boron Nitride
70
- SEMI_SIOXNY = Material(er=5.0, tand=0.002, color="#ddddee", opacity=0.5) # Silicon Oxynitride (SiOxNy)
59
+ SEMI_SILICON = Material(er=11.7, tand=0.005, color="#b4b4b4", opacity=0.5, _metal=True, name="Silicon") # Crystalline Si
60
+ SEMI_SILICON_N = Material(er=7.5, tand=0.0003, color="#a0a0a0", opacity=0.5, _metal=True, name="Silicon Nitride") # Si₃N₄
61
+ SEMI_SILICON_OXIDE = Material(er=3.9, tand=0.0001, color="#e0e0e0", opacity=0.5, _metal=True, name="Silicon Dioxide") # SiO₂
62
+ SEMI_GERMANIUM = Material(er=16.0, tand=0.001, color="#787878", opacity=0.5, _metal=True, name="Germanium")
63
+ SEMI_GAAS = Material(er=13.1, tand=0.0016, color="#aa8888", opacity=0.5, _metal=True, name="Gallium Arsenide")
64
+ SEMI_GA_N = Material(er=8.9, tand=0.002, color="#8888cc", opacity=0.5, _metal=True, name="Gallium Nitride")
65
+ SEMI_INP = Material(er=12.5, tand=0.0015, color="#cc99aa", opacity=0.5, _metal=True, name="Indium Phosphide")
66
+ SEMI_ALN = Material(er=8.6, tand=0.0003, color="#ccccee", opacity=0.5, _metal=True, name="Aluminum Nitride")
67
+ SEMI_AL2O3 = Material(er=9.8, tand=0.0002, color="#eaeaea", opacity=0.5, _metal=True, name="Alumina") # Al₂O₃
68
+ SEMI_SAPPHIRE = Material(er=9.4, tand=0.0001, color="#ddddff", opacity=0.5, _metal=True, name="Sapphire")
69
+ SEMI_DIAMOND = Material(er=5.5, tand=0.00005, color="#cceeff", opacity=0.5, _metal=True, name="Diamond") # Synthetic CVD diamond
70
+ SEMI_HBN = Material(er=4.0, tand=0.0001, color="#eeeeff", opacity=0.5, _metal=True, name="Hexagonal Boron Nitride")
71
+ SEMI_SIOXNY = Material(er=5.0, tand=0.002, color="#ddddee", opacity=0.5, _metal=True, name="Silicon Oxynitride") # SiOxNy
72
+
71
73
 
72
74
  ############################################################
73
75
  # LIQUIDS #
74
76
  ############################################################
75
77
 
76
- LIQ_WATER = Material(er=80.1, cond=0.0, color="#0080ff", opacity=0.3)
77
- LIQ_FERRITE = Material(er=12.0, ur=2000, tand=0.02, color="#994d4d", opacity=0.3)
78
+ LIQ_WATER = Material(er=80.1, cond=0.0, color="#0080ff", opacity=0.3, _metal=True, name='Water')
79
+ LIQ_FERRITE = Material(er=12.0, ur=2000, tand=0.02, color="#994d4d", opacity=0.3, name='Ferrite')
78
80
 
79
81
  ############################################################
80
82
  # DIELECTRICS #
@@ -84,224 +86,228 @@ LIQ_FERRITE = Material(er=12.0, ur=2000, tand=0.02, color="#994d4d", opacit
84
86
  # respective owners. Use of them here does not imply any affiliation with or
85
87
  # endorsement by those owners.
86
88
 
87
- DIEL_PTFE = Material(er=2.1, tand=0.0002, color="#21912b", opacity=0.3)
88
- DIEL_POLYIMIDE = Material(er=3.4, tand=0.02, color="#b8b8b8")
89
- DIEL_CERAMIC = Material(er=6.0, tand=0.001, color="#efead1")
90
- DIEL_AD10 = Material(er=10.2, tand=0.0078, color="#21912b", opacity=0.3)
91
- DIEL_AD1000 = Material(er=10.2, tand=0.0023, color="#21912b", opacity=0.3)
92
- DIEL_AD250 = Material(er=2.5, tand=0.0018, color="#21912b", opacity=0.3)
93
- DIEL_AD250_PIM = Material(er=2.5, tand=0.0018, color="#21912b", opacity=0.3)
94
- DIEL_AD250A = Material(er=2.50, tand=0.0015, color="#21912b", opacity=0.3)
95
- DIEL_AD250C = Material(er=2.50, tand=0.0014, color="#21912b", opacity=0.3)
96
- DIEL_AD255 = Material(er=2.55, tand=0.0018, color="#21912b", opacity=0.3)
97
- DIEL_AD255A = Material(er=2.55, tand=0.0015, color="#21912b", opacity=0.3)
98
- DIEL_AD255C = Material(er=2.55, tand=0.0014, color="#21912b", opacity=0.3)
99
- DIEL_AD260A = Material(er=2.60, tand=0.0017, color="#21912b", opacity=0.3)
100
- DIEL_AD270 = Material(er=2.7, tand=0.0023, color="#21912b", opacity=0.3)
101
- DIEL_AD300 = Material(er=3, tand=0.003, color="#21912b", opacity=0.3)
102
- DIEL_AD300_PIM = Material(er=3, tand=0.003, color="#21912b", opacity=0.3)
103
- DIEL_AD300A = Material(er=3.00, tand=0.002, color="#21912b", opacity=0.3)
104
- DIEL_AD300C = Material(er=2.97, tand=0.002, color="#21912b", opacity=0.3)
105
- DIEL_AD320 = Material(er=3.2, tand=0.0038, color="#21912b", opacity=0.3)
106
- DIEL_AD320_PIM = Material(er=3.2, tand=0.003, color="#21912b", opacity=0.3)
107
- DIEL_AD320A = Material(er=3.20, tand=0.0032, color="#21912b", opacity=0.3)
108
- DIEL_AD350 = Material(er=3.5, tand=0.003, color="#21912b", opacity=0.3)
109
- DIEL_AD350_PIM = Material(er=3.5, tand=0.003, color="#21912b", opacity=0.3)
110
- DIEL_AD350A = Material(er=3.50, tand=0.003, color="#21912b", opacity=0.3)
111
- DIEL_AD410 = Material(er=4.1, tand=0.003, color="#21912b", opacity=0.3)
112
- DIEL_AD430 = Material(er=4.3, tand=0.003, color="#21912b", opacity=0.3)
113
- DIEL_AD450 = Material(er=4.5, tand=0.0035, color="#21912b", opacity=0.3)
114
- DIEL_AD450A = Material(er=4.5, tand=0.0035, color="#21912b", opacity=0.3)
115
- DIEL_AD5 = Material(er=5.1, tand=0.003, color="#21912b", opacity=0.3)
116
- DIEL_AD600 = Material(er=5.90, tand=0.003, color="#21912b", opacity=0.3)
117
- DIEL_AR1000 = Material(er=9.8, tand=0.003, color="#21912b", opacity=0.3)
118
- DIEL_CER_10 = Material(er=10.00, tand=0.0035, color="#21912b", opacity=0.3)
119
- DIEL_CLTE = Material(er=2.96, tand=0.0023, color="#21912b", opacity=0.3)
120
- DIEL_CLTE_AT = Material(er=3.00, tand=0.0013, color="#21912b", opacity=0.3)
121
- DIEL_CLTE_LC = Material(er=2.94, tand=0.0025, color="#21912b", opacity=0.3)
122
- DIEL_CLTE_XT = Material(er=2.94, tand=0.0012, color="#21912b", opacity=0.3)
123
- DIEL_COMCLAD_HF_ER2 = Material(er=2, tand=0.0025, color="#21912b", opacity=0.3)
124
- DIEL_COMCLAD_HF_ER3 = Material(er=3, tand=0.0025, color="#21912b", opacity=0.3)
125
- DIEL_COMCLAD_HF_ER4 = Material(er=4, tand=0.0025, color="#21912b", opacity=0.3)
126
- DIEL_COMCLAD_HF_ER5 = Material(er=5, tand=0.0025, color="#21912b", opacity=0.3)
127
- DIEL_COMCLAD_HF_ER6 = Material(er=6, tand=0.0025, color="#21912b", opacity=0.3)
128
- DIEL_COPPER_CLAD_ULTEM = Material(er=3.05, tand=0.003, color="#21912b", opacity=0.3)
129
- DIEL_CUCLAD_217LX = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3)
130
- DIEL_CUCLAD_233LX = Material(er=2.33, tand=0.0013, color="#21912b", opacity=0.3)
131
- DIEL_CUCLAD_250GT = Material(er=2.5, tand=0.0018, color="#21912b", opacity=0.3)
132
- DIEL_CUCLAD_250GX = Material(er=2.4, tand=0.0018, color="#21912b", opacity=0.3)
133
- DIEL_CUFLON = Material(er=2.05, tand=0.00045, color="#21912b", opacity=0.3)
134
- DIEL_DICLAD_522 = Material(er=2.4, tand=0.0018, color="#21912b", opacity=0.3)
135
- DIEL_DICLAD_527 = Material(er=2.4, tand=0.0018, color="#21912b", opacity=0.3)
136
- DIEL_DICLAD_870 = Material(er=2.33, tand=0.0013, color="#21912b", opacity=0.3)
137
- DIEL_DICLAD_880 = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3)
138
- DIEL_DICLAD_880_PIM = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3)
139
- DIEL_GETEK = Material(er=3.5, tand=0.01, color="#21912b", opacity=0.3)
140
- DIEL_GETEK = Material(er=3.8, tand=0.01, color="#21912b", opacity=0.3)
141
- DIEL_IS6802_80 = Material(er=2.80, tand=0.003, color="#21912b", opacity=0.3)
142
- DIEL_IS6803_00 = Material(er=3.00, tand=0.003, color="#21912b", opacity=0.3)
143
- DIEL_IS6803_20 = Material(er=3.20, tand=0.003, color="#21912b", opacity=0.3)
144
- DIEL_IS6803_33 = Material(er=3.33, tand=0.003, color="#21912b", opacity=0.3)
145
- DIEL_IS6803_38 = Material(er=3.38, tand=0.0032, color="#21912b", opacity=0.3)
146
- DIEL_IS6803_45 = Material(er=3.45, tand=0.0035, color="#21912b", opacity=0.3)
147
- DIEL_ISOCLAD_917 = Material(er=2.17, tand=0.0013, color="#21912b", opacity=0.3)
148
- DIEL_ISOCLAD_933 = Material(er=2.33, tand=0.0016, color="#21912b", opacity=0.3)
149
- DIEL_ISOLA_I_TERA_MT = Material(er=3.45, tand=0.0030, color="#3c9747")
150
- DIEL_ISOLA_NELCO_4000_13 = Material(er=3.77, tand=0.008, color="#3c9747")
151
- DIEL_MAT_25N = Material(er=3.38, tand=0.0025, color="#21912b", opacity=0.3)
152
- DIEL_MAT25FR = Material(er=3.58, tand=0.0035, color="#21912b", opacity=0.3)
153
- DIEL_MEGTRON6R5775 = Material(er=3.61, tand=0.004, color="#21912b", opacity=0.3)
154
- DIEL_MERCURYWAVE_9350 = Material(er=3.5, tand=0.004, color="#21912b", opacity=0.3)
155
- DIEL_MULTICLAD_HF = Material(er=3.7, tand=0.0045, color="#21912b", opacity=0.3)
156
- DIEL_N_8000 = Material(er=3.5, tand=0.011, color="#21912b", opacity=0.3)
157
- DIEL_N4350_13RF = Material(er=3.5, tand=0.0065, color="#21912b", opacity=0.3)
158
- DIEL_N4380_13RF = Material(er=3.8, tand=0.007, color="#21912b", opacity=0.3)
159
- DIEL_N8000Q = Material(er=3.2, tand=0.006, color="#21912b", opacity=0.3)
160
- DIEL_N9300_13RF = Material(er=3, tand=0.004, color="#21912b", opacity=0.3)
161
- DIEL_N9320_13RF = Material(er=3.2, tand=0.0045, color="#21912b", opacity=0.3)
162
- DIEL_N9338_13RF = Material(er=3.38, tand=0.0046, color="#21912b", opacity=0.3)
163
- DIEL_N9350_13RF = Material(er=3.48, tand=0.0055, color="#21912b", opacity=0.3)
164
- DIEL_NH9294 = Material(er=2.94, tand=0.0022, color="#21912b", opacity=0.3)
165
- DIEL_NH9300 = Material(er=3.00, tand=0.0023, color="#21912b", opacity=0.3)
166
- DIEL_NH9320 = Material(er=3.20, tand=0.0024, color="#21912b", opacity=0.3)
167
- DIEL_NH9338 = Material(er=3.38, tand=0.0025, color="#21912b", opacity=0.3)
168
- DIEL_NH9348 = Material(er=3.48, tand=0.003, color="#21912b", opacity=0.3)
169
- DIEL_NH9350 = Material(er=3.50, tand=0.003, color="#21912b", opacity=0.3)
170
- DIEL_NH9410 = Material(er=4.10, tand=0.003, color="#21912b", opacity=0.3)
171
- DIEL_NH9450 = Material(er=4.50, tand=0.003, color="#21912b", opacity=0.3)
172
- DIEL_NORCLAD = Material(er=2.55, tand=0.0011, color="#21912b", opacity=0.3)
173
- DIEL_NX9240 = Material(er=2.40, tand=0.0016, color="#21912b", opacity=0.3)
174
- DIEL_NX9245 = Material(er=2.45, tand=0.0016, color="#21912b", opacity=0.3)
175
- DIEL_NX9250 = Material(er=2.50, tand=0.0017, color="#21912b", opacity=0.3)
176
- DIEL_NX9255 = Material(er=2.55, tand=0.0018, color="#21912b", opacity=0.3)
177
- DIEL_NX9260 = Material(er=2.60, tand=0.0019, color="#21912b", opacity=0.3)
178
- DIEL_NX9270 = Material(er=2.70, tand=0.002, color="#21912b", opacity=0.3)
179
- DIEL_NX9294 = Material(er=2.94, tand=0.0022, color="#21912b", opacity=0.3)
180
- DIEL_NX9300 = Material(er=3.00, tand=0.0023, color="#21912b", opacity=0.3)
181
- DIEL_NX9320 = Material(er=3.20, tand=0.0024, color="#21912b", opacity=0.3)
182
- DIEL_NY9208 = Material(er=2.08, tand=0.0006, color="#21912b", opacity=0.3)
183
- DIEL_NY9217 = Material(er=2.17, tand=0.0008, color="#21912b", opacity=0.3)
184
- DIEL_NY9220 = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3)
185
- DIEL_NY9233 = Material(er=2.33, tand=0.0011, color="#21912b", opacity=0.3)
186
- DIEL_POLYGUIDE = Material(er=2.320, tand=0.0005, color="#21912b", opacity=0.3)
187
- DIEL_RF_30 = Material(er=3.00, tand=0.0019, color="#21912b", opacity=0.3)
188
- DIEL_RF_301 = Material(er=2.97, tand=0.0018, color="#21912b", opacity=0.3)
189
- DIEL_RF_35 = Material(er=3.50, tand=0.0025, color="#21912b", opacity=0.3)
190
- DIEL_RF_35A2 = Material(er=3.50, tand=0.0015, color="#21912b", opacity=0.3)
191
- DIEL_RF_35P = Material(er=3.50, tand=0.0034, color="#21912b", opacity=0.3)
192
- DIEL_RF_35TC = Material(er=3.50, tand=0.0011, color="#21912b", opacity=0.3)
193
- DIEL_RF_41 = Material(er=4.10, tand=0.0038, color="#21912b", opacity=0.3)
194
- DIEL_RF_43 = Material(er=4.30, tand=0.0033, color="#21912b", opacity=0.3)
195
- DIEL_RF_45 = Material(er=4.50, tand=0.0037, color="#21912b", opacity=0.3)
196
- DIEL_RF_60A = Material(er=6.15, tand=0.0038, color="#21912b", opacity=0.3)
197
- DIEL_RO3003 = Material(er=3.00, tand=0.0011, color="#21912b", opacity=0.3)
198
- DIEL_RO3006 = Material(er=6.15, tand=0.002, color="#21912b", opacity=0.3)
199
- DIEL_RO3010 = Material(er=10.2, tand=0.0022, color="#21912b", opacity=0.3)
200
- DIEL_RO3035 = Material(er=3.50, tand=0.0017, color="#21912b", opacity=0.3)
201
- DIEL_RO3203 = Material(er=3.02, tand=0.0016, color="#21912b", opacity=0.3)
202
- DIEL_RO3206 = Material(er=6.15, tand=0.0027, color="#21912b", opacity=0.3)
203
- DIEL_RO3210 = Material(er=10.2, tand=0.0027, color="#21912b", opacity=0.3)
204
- DIEL_RO3730 = Material(er=3.00, tand=0.0016, color="#21912b", opacity=0.3)
205
- DIEL_RO4003C = Material(er=3.38, tand=0.0029, color="#21912b", opacity=0.3)
206
- DIEL_RO4350B = Material(er=3.48, tand=0.0037, color="#21912b", opacity=0.3)
207
- DIEL_RO4350B_TX = Material(er=3.48, tand=0.0034, color="#21912b", opacity=0.3)
208
- DIEL_RO4360 = Material(er=6.15, tand=0.0038, color="#21912b", opacity=0.3)
209
- DIEL_RO4533 = Material(er=3.30, tand=0.0025, color="#21912b", opacity=0.3)
210
- DIEL_RO4534 = Material(er=3.40, tand=0.0027, color="#21912b", opacity=0.3)
211
- DIEL_RO4535 = Material(er=3.50, tand=0.0037, color="#21912b", opacity=0.3)
212
- DIEL_RO4730 = Material(er=3.00, tand=0.0033, color="#21912b", opacity=0.3)
213
- DIEL_RT_Duroid_5870 = Material(er=2.33, tand=0.0012, color="#21912b", opacity=0.3)
214
- DIEL_RT_Duroid_5880 = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3)
215
- DIEL_RT_Duroid_5880LZ = Material(er=1.96, tand=0.0019, color="#21912b", opacity=0.3)
216
- DIEL_RT_Duroid_6002 = Material(er=2.94, tand=0.0012, color="#21912b", opacity=0.3)
217
- DIEL_RT_Duroid_6006 = Material(er=6.15, tand=0.0027, color="#21912b", opacity=0.3)
218
- DIEL_RT_Duroid_6010_2LM = Material(er=10.2, tand=0.0023, color="#21912b", opacity=0.3)
219
- DIEL_RT_Duroid_6035HTC = Material(er=3.50, tand=0.0013, color="#21912b", opacity=0.3)
220
- DIEL_RT_Duroid_6202 = Material(er=2.94, tand=0.0015, color="#21912b", opacity=0.3)
221
- DIEL_RT_Duroid_6202PR = Material(er=2.90, tand=0.002, color="#21912b", opacity=0.3)
222
- DIEL_SYRON_70000_002IN_Thick = Material(er=3.4, tand=0.0045, color="#21912b", opacity=0.3)
223
- DIEL_SYRON_71000_004IN_THICK = Material(er=3.39, tand=0.005, color="#21912b", opacity=0.3)
224
- DIEL_SYRON_71000INCH = Material(er=3.61, tand=0.006, color="#21912b", opacity=0.3)
225
- DIEL_TACLAMPLUS= Material(er=2.10, tand=0.0004, color="#21912b", opacity=0.3)
226
- DIEL_TC350 = Material(er=3.50, tand=0.002, color="#21912b", opacity=0.3)
227
- DIEL_TC600 = Material(er=6.15, tand=0.002, color="#21912b", opacity=0.3)
228
- DIEL_THETA = Material(er=3.85, tand=0.0123, color="#21912b", opacity=0.3)
229
- DIEL_TLA_6 = Material(er=2.62, tand=0.0017, color="#21912b", opacity=0.3)
230
- DIEL_TLC_27 = Material(er=2.75, tand=0.003, color="#21912b", opacity=0.3)
231
- DIEL_TLC_30 = Material(er=3.00, tand=0.003, color="#21912b", opacity=0.3)
232
- DIEL_TLC_32 = Material(er=3.20, tand=0.003, color="#21912b", opacity=0.3)
233
- DIEL_TLC_338 = Material(er=3.38, tand=0.0034, color="#21912b", opacity=0.3)
234
- DIEL_TLC_35 = Material(er=3.50, tand=0.0037, color="#21912b", opacity=0.3)
235
- DIEL_TLE_95 = Material(er=2.95, tand=0.0028, color="#21912b", opacity=0.3)
236
- DIEL_TLF_34 = Material(er=3.40, tand=0.002, color="#21912b", opacity=0.3)
237
- DIEL_TLF_35 = Material(er=3.50, tand=0.002, color="#21912b", opacity=0.3)
238
- DIEL_TLG_29 = Material(er=2.87, tand=0.0027, color="#21912b", opacity=0.3)
239
- DIEL_TLG_30 = Material(er=3, tand=0.0038, color="#21912b", opacity=0.3)
240
- DIEL_TLP_3 = Material(er=2.33, tand=0.0009, color="#21912b", opacity=0.3)
241
- DIEL_TLP_5 = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3)
242
- DIEL_TLP_5A = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3)
243
- DIEL_TLT_0 = Material(er=2.45, tand=0.0019, color="#21912b", opacity=0.3)
244
- DIEL_TLT_6 = Material(er=2.65, tand=0.0019, color="#21912b", opacity=0.3)
245
- DIEL_TLT_7 = Material(er=2.60, tand=0.0019, color="#21912b", opacity=0.3)
246
- DIEL_TLT_8 = Material(er=2.55, tand=0.0019, color="#21912b", opacity=0.3)
247
- DIEL_TLT_9 = Material(er=2.50, tand=0.0019, color="#21912b", opacity=0.3)
248
- DIEL_TLX_0 = Material(er=2.45, tand=0.0019, color="#21912b", opacity=0.3)
249
- DIEL_TLX_6 = Material(er=2.65, tand=0.0019, color="#21912b", opacity=0.3)
250
- DIEL_TLX_7 = Material(er=2.60, tand=0.0019, color="#21912b", opacity=0.3)
251
- DIEL_TLX_8 = Material(er=2.55, tand=0.0019, color="#21912b", opacity=0.3)
252
- DIEL_TLX_9 = Material(er=2.50, tand=0.0019, color="#21912b", opacity=0.3)
253
- DIEL_TLY_3 = Material(er=2.33, tand=0.0012, color="#21912b", opacity=0.3)
254
- DIEL_TLY_3F = Material(er=2.33, tand=0.0012, color="#21912b", opacity=0.3)
255
- DIEL_TLY_5 = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3)
256
- DIEL_TLY_5_L = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3)
257
- DIEL_TLY_5A = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3)
258
- DIEL_TLY_5AL = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3)
259
- DIEL_TMM_10 = Material(er=9.20, tand=0.0022, color="#21912b", opacity=0.3)
260
- DIEL_TMM_10i = Material(er=9.80, tand=0.002, color="#21912b", opacity=0.3)
261
- DIEL_TMM_3 = Material(er=3.27, tand=0.002, color="#21912b", opacity=0.3)
262
- DIEL_TMM_4 = Material(er=4.50, tand=0.002, color="#21912b", opacity=0.3)
263
- DIEL_TMM_6 = Material(er=6.00, tand=0.0023, color="#21912b", opacity=0.3)
264
- DIEL_TRF_41 = Material(er=4.10, tand=0.0035, color="#21912b", opacity=0.3)
265
- DIEL_TRF_43 = Material(er=4.30, tand=0.0035, color="#21912b", opacity=0.3)
266
- DIEL_TRF_45 = Material(er=4.50, tand=0.0035, color="#21912b", opacity=0.3)
267
- DIEL_TSM_26 = Material(er=2.60, tand=0.0014, color="#21912b", opacity=0.3)
268
- DIEL_TSM_29 = Material(er=2.94, tand=0.0013, color="#21912b", opacity=0.3)
269
- DIEL_TSM_30 = Material(er=3.00, tand=0.0013, color="#21912b", opacity=0.3)
270
- DIEL_TSM_DS = Material(er=2.85, tand=0.001, color="#21912b", opacity=0.3)
271
- DIEL_TSM_DS3 = Material(er=3.00, tand=0.0011, color="#21912b", opacity=0.3)
272
- DIEL_ULTRALAM_2000 = Material(er=2.4, tand=0.0019, color="#21912b", opacity=0.3)
273
- DIEL_ULTRALAM_3850 = Material(er=2.9, tand=0.0025, color="#21912b", opacity=0.3)
274
- DIEL_XT_Duroid_80000_002IN_Thick = Material(er=3.23, tand=0.0035, color="#21912b", opacity=0.3)
275
- DIEL_XT_Duroid_8100 = Material(er=3.54, tand=0.0049, color="#21912b", opacity=0.3)
276
- DIEL_XT_Duroid_81000_004IN_Thick = Material(er=3.32, tand=0.0038, color="#21912b", opacity=0.3)
277
- DIEL_TEFLON = Material(er=2.1, tand=0.0003, color='#eeeeee', opacity=0.3)
89
+ DIEL_PTFE = Material(er=2.1, tand=0.0002, color="#21912b", opacity=0.3, name='Teflon')
90
+ DIEL_POLYIMIDE = Material(er=3.4, tand=0.02, color="#b8b8b8", name='Polyimide')
91
+ DIEL_CERAMIC = Material(er=6.0, tand=0.001, color="#efead1", name='Ceramic')
92
+ DIEL_AD10 = Material(er=10.2, tand=0.0078, color="#21912b", opacity=0.3, name='AD10')
93
+ DIEL_AD1000 = Material(er=10.2, tand=0.0023, color="#21912b", opacity=0.3, name='AD1000')
94
+ DIEL_AD250 = Material(er=2.5, tand=0.0018, color="#21912b", opacity=0.3, name='AD250')
95
+ DIEL_AD250_PIM = Material(er=2.5, tand=0.0018, color="#21912b", opacity=0.3, name='AD250 PIM')
96
+ DIEL_AD250A = Material(er=2.50, tand=0.0015, color="#21912b", opacity=0.3, name='AD250A')
97
+ DIEL_AD250C = Material(er=2.50, tand=0.0014, color="#21912b", opacity=0.3, name='AD250C')
98
+ DIEL_AD255 = Material(er=2.55, tand=0.0018, color="#21912b", opacity=0.3, name='AD255')
99
+ DIEL_AD255A = Material(er=2.55, tand=0.0015, color="#21912b", opacity=0.3, name='AD255A')
100
+ DIEL_AD255C = Material(er=2.55, tand=0.0014, color="#21912b", opacity=0.3, name='AD255C')
101
+ DIEL_AD260A = Material(er=2.60, tand=0.0017, color="#21912b", opacity=0.3, name='AD260A')
102
+ DIEL_AD270 = Material(er=2.7, tand=0.0023, color="#21912b", opacity=0.3, name='AD270')
103
+ DIEL_AD300 = Material(er=3, tand=0.003, color="#21912b", opacity=0.3, name='AD300')
104
+ DIEL_AD300_PIM = Material(er=3, tand=0.003, color="#21912b", opacity=0.3, name='AD300 PIM')
105
+ DIEL_AD300A = Material(er=3.00, tand=0.002, color="#21912b", opacity=0.3, name='AD300A')
106
+ DIEL_AD300C = Material(er=2.97, tand=0.002, color="#21912b", opacity=0.3, name='AD300C')
107
+ DIEL_AD320 = Material(er=3.2, tand=0.0038, color="#21912b", opacity=0.3, name='AD320')
108
+ DIEL_AD320_PIM = Material(er=3.2, tand=0.003, color="#21912b", opacity=0.3, name='AD320 PIM')
109
+ DIEL_AD320A = Material(er=3.20, tand=0.0032, color="#21912b", opacity=0.3, name='AD320A')
110
+ DIEL_AD350 = Material(er=3.5, tand=0.003, color="#21912b", opacity=0.3, name='AD350')
111
+ DIEL_AD350_PIM = Material(er=3.5, tand=0.003, color="#21912b", opacity=0.3, name='AD350 PIM')
112
+ DIEL_AD350A = Material(er=3.50, tand=0.003, color="#21912b", opacity=0.3, name='AD350A')
113
+ DIEL_AD410 = Material(er=4.1, tand=0.003, color="#21912b", opacity=0.3, name='AD410')
114
+ DIEL_AD430 = Material(er=4.3, tand=0.003, color="#21912b", opacity=0.3, name='AD430')
115
+ DIEL_AD450 = Material(er=4.5, tand=0.0035, color="#21912b", opacity=0.3, name='AD450')
116
+ DIEL_AD450A = Material(er=4.5, tand=0.0035, color="#21912b", opacity=0.3, name='AD450 A')
117
+ DIEL_AD5 = Material(er=5.1, tand=0.003, color="#21912b", opacity=0.3, name='AD5')
118
+ DIEL_AD600 = Material(er=5.90, tand=0.003, color="#21912b", opacity=0.3, name='AD600')
119
+ DIEL_AR1000 = Material(er=9.8, tand=0.003, color="#21912b", opacity=0.3, name='AR1000')
120
+ DIEL_CER_10 = Material(er=10.00, tand=0.0035, color="#21912b", opacity=0.3, name='CER 10')
121
+ DIEL_CLTE = Material(er=2.96, tand=0.0023, color="#21912b", opacity=0.3, name='CLTE')
122
+ DIEL_CLTE_AT = Material(er=3.00, tand=0.0013, color="#21912b", opacity=0.3, name='CLTE-AT')
123
+ DIEL_CLTE_LC = Material(er=2.94, tand=0.0025, color="#21912b", opacity=0.3, name='CLTE LC')
124
+ DIEL_CLTE_XT = Material(er=2.94, tand=0.0012, color="#21912b", opacity=0.3, name='CLTE XT')
125
+ DIEL_COMCLAD_HF_ER2 = Material(er=2, tand=0.0025, color="#21912b", opacity=0.3, name='Comclad HF ER2')
126
+ DIEL_COMCLAD_HF_ER3 = Material(er=3, tand=0.0025, color="#21912b", opacity=0.3, name='Comclad HF ER3')
127
+ DIEL_COMCLAD_HF_ER4 = Material(er=4, tand=0.0025, color="#21912b", opacity=0.3, name='Comclad HF ER4')
128
+ DIEL_COMCLAD_HF_ER5 = Material(er=5, tand=0.0025, color="#21912b", opacity=0.3, name='Comclad HF ER5')
129
+ DIEL_COMCLAD_HF_ER6 = Material(er=6, tand=0.0025, color="#21912b", opacity=0.3, name='Comclad HF ER6')
130
+ DIEL_COPPER_CLAD_ULTEM = Material(er=3.05, tand=0.003, color="#21912b", opacity=0.3, name='Copper clad ULTEM')
131
+ DIEL_CUCLAD_217LX = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3, name='Copper Clad 217LX')
132
+ DIEL_CUCLAD_233LX = Material(er=2.33, tand=0.0013, color="#21912b", opacity=0.3, name='Cpper Clad 233LX')
133
+ DIEL_CUCLAD_250GT = Material(er=2.5, tand=0.0018, color="#21912b", opacity=0.3, name='Copper Clad 250GT')
134
+ DIEL_CUCLAD_250GX = Material(er=2.4, tand=0.0018, color="#21912b", opacity=0.3, name='Copper Clad 250GX')
135
+ DIEL_CUFLON = Material(er=2.05, tand=0.00045, color="#21912b", opacity=0.3, name='CUFLON')
136
+ DIEL_DICLAD_522 = Material(er=2.4, tand=0.0018, color="#21912b", opacity=0.3, name='DICLAD 522')
137
+ DIEL_DICLAD_527 = Material(er=2.4, tand=0.0018, color="#21912b", opacity=0.3, name='DICLAD 527')
138
+ DIEL_DICLAD_870 = Material(er=2.33, tand=0.0013, color="#21912b", opacity=0.3, name='DICLAD 870')
139
+ DIEL_DICLAD_880 = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3, name='DICLAD 880')
140
+ DIEL_DICLAD_880_PIM = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3, name='DICLAD 880 PIM')
141
+ DIEL_GETEK_3p5 = Material(er=3.5, tand=0.01, color="#21912b", opacity=0.3, name='GETEK(3.5)')
142
+ DIEL_GETEK_3p8 = Material(er=3.8, tand=0.01, color="#21912b", opacity=0.3, name='GETEK(3.8)')
143
+ DIEL_IS6802_80 = Material(er=2.80, tand=0.003, color="#21912b", opacity=0.3, name="IS6802 80")
144
+ DIEL_IS6803_00 = Material(er=3.00, tand=0.003, color="#21912b", opacity=0.3, name="IS6803 00")
145
+ DIEL_IS6803_20 = Material(er=3.20, tand=0.003, color="#21912b", opacity=0.3, name="IS6803 20")
146
+ DIEL_IS6803_33 = Material(er=3.33, tand=0.003, color="#21912b", opacity=0.3, name="IS6803 33")
147
+ DIEL_IS6803_38 = Material(er=3.38, tand=0.0032, color="#21912b", opacity=0.3, name="IS6803 38")
148
+ DIEL_IS6803_45 = Material(er=3.45, tand=0.0035, color="#21912b", opacity=0.3, name="IS6803 45")
149
+ DIEL_ISOCLAD_917 = Material(er=2.17, tand=0.0013, color="#21912b", opacity=0.3, name="Isoclad 917")
150
+ DIEL_ISOCLAD_933 = Material(er=2.33, tand=0.0016, color="#21912b", opacity=0.3, name="Isoclad 933")
151
+ DIEL_ISOLA_I_TERA_MT = Material(er=3.45, tand=0.0030, color="#3c9747", name="Isola I Tera Mt")
152
+ DIEL_ISOLA_NELCO_4000_13 = Material(er=3.77, tand=0.008, color="#3c9747", name="Isola Nelco 4000 13")
153
+ DIEL_MAT_25N = Material(er=3.38, tand=0.0025, color="#21912b", opacity=0.3, name="Mat 25n")
154
+ DIEL_MAT25FR = Material(er=3.58, tand=0.0035, color="#21912b", opacity=0.3, name="Mat25fr")
155
+ DIEL_MEGTRON6R5775 = Material(er=3.61, tand=0.004, color="#21912b", opacity=0.3, name="Megtron6r5775")
156
+ DIEL_MERCURYWAVE_9350 = Material(er=3.5, tand=0.004, color="#21912b", opacity=0.3, name="Mercurywave 9350")
157
+ DIEL_MULTICLAD_HF = Material(er=3.7, tand=0.0045, color="#21912b", opacity=0.3, name="Multiclad HF")
158
+ DIEL_N_8000 = Material(er=3.5, tand=0.011, color="#21912b", opacity=0.3, name="Nelco N8000")
159
+ DIEL_N4350_13RF = Material(er=3.5, tand=0.0065, color="#21912b", opacity=0.3, name="Nelco N4350 13RF")
160
+ DIEL_N4380_13RF = Material(er=3.8, tand=0.007, color="#21912b", opacity=0.3, name="Nelco N4380 13RF")
161
+ DIEL_N8000Q = Material(er=3.2, tand=0.006, color="#21912b", opacity=0.3, name="Nelco N8000Q")
162
+ DIEL_N9300_13RF = Material(er=3.0, tand=0.004, color="#21912b", opacity=0.3, name="Nelco N9300 13RF")
163
+ DIEL_N9320_13RF = Material(er=3.2, tand=0.0045, color="#21912b", opacity=0.3, name="Nelco N9320 13RF")
164
+ DIEL_N9338_13RF = Material(er=3.38, tand=0.0046, color="#21912b", opacity=0.3, name="Nelco N9338 13RF")
165
+ DIEL_N9350_13RF = Material(er=3.48, tand=0.0055, color="#21912b", opacity=0.3, name="Nelco N9350 13RF")
166
+ DIEL_NH9294 = Material(er=2.94, tand=0.0022, color="#21912b", opacity=0.3, name="Nelco NH9294")
167
+ DIEL_NH9300 = Material(er=3.00, tand=0.0023, color="#21912b", opacity=0.3, name="Nelco NH9300")
168
+ DIEL_NH9320 = Material(er=3.20, tand=0.0024, color="#21912b", opacity=0.3, name="Nelco NH9320")
169
+ DIEL_NH9338 = Material(er=3.38, tand=0.0025, color="#21912b", opacity=0.3, name="Nelco NH9338")
170
+ DIEL_NH9348 = Material(er=3.48, tand=0.003, color="#21912b", opacity=0.3, name="Nelco NH9348")
171
+ DIEL_NH9350 = Material(er=3.50, tand=0.003, color="#21912b", opacity=0.3, name="Nelco NH9350")
172
+ DIEL_NH9410 = Material(er=4.10, tand=0.003, color="#21912b", opacity=0.3, name="Nelco NH9410")
173
+ DIEL_NH9450 = Material(er=4.50, tand=0.003, color="#21912b", opacity=0.3, name="Nelco NH9450")
174
+ DIEL_NORCLAD = Material(er=2.55, tand=0.0011, color="#21912b", opacity=0.3, name="Norclad")
175
+ DIEL_NX9240 = Material(er=2.40, tand=0.0016, color="#21912b", opacity=0.3, name="Nelco NX9240")
176
+ DIEL_NX9245 = Material(er=2.45, tand=0.0016, color="#21912b", opacity=0.3, name="Nelco NX9245")
177
+ DIEL_NX9250 = Material(er=2.50, tand=0.0017, color="#21912b", opacity=0.3, name="Nelco NX9250")
178
+ DIEL_NX9255 = Material(er=2.55, tand=0.0018, color="#21912b", opacity=0.3, name="Nelco NX9255")
179
+ DIEL_NX9260 = Material(er=2.60, tand=0.0019, color="#21912b", opacity=0.3, name="Nelco NX9260")
180
+ DIEL_NX9270 = Material(er=2.70, tand=0.002, color="#21912b", opacity=0.3, name="Nelco NX9270")
181
+ DIEL_NX9294 = Material(er=2.94, tand=0.0022, color="#21912b", opacity=0.3, name="Nelco NX9294")
182
+ DIEL_NX9300 = Material(er=3.00, tand=0.0023, color="#21912b", opacity=0.3, name="Nelco NX9300")
183
+ DIEL_NX9320 = Material(er=3.20, tand=0.0024, color="#21912b", opacity=0.3, name="Nelco NX9320")
184
+ DIEL_NY9208 = Material(er=2.08, tand=0.0006, color="#21912b", opacity=0.3, name="Nelco NY9208")
185
+ DIEL_NY9217 = Material(er=2.17, tand=0.0008, color="#21912b", opacity=0.3, name="Nelco NY9217")
186
+ DIEL_NY9220 = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3, name="Nelco NY9220")
187
+ DIEL_NY9233 = Material(er=2.33, tand=0.0011, color="#21912b", opacity=0.3, name="Nelco NY9233")
188
+ DIEL_POLYGUIDE = Material(er=2.320,tand=0.0005, color="#21912b", opacity=0.3, name="Polyguide")
189
+ DIEL_RF_30 = Material(er=3.00, tand=0.0019, color="#21912b", opacity=0.3, name="Rogers RF-30")
190
+ DIEL_RF_301 = Material(er=2.97, tand=0.0018, color="#21912b", opacity=0.3, name="Rogers RF-301")
191
+ DIEL_RF_35 = Material(er=3.50, tand=0.0025, color="#21912b", opacity=0.3, name="Rogers RF-35")
192
+ DIEL_RF_35A2 = Material(er=3.50, tand=0.0015, color="#21912b", opacity=0.3, name="Rogers RF-35A2")
193
+ DIEL_RF_35P = Material(er=3.50, tand=0.0034, color="#21912b", opacity=0.3, name="Rogers RF-35P")
194
+ DIEL_RF_35TC = Material(er=3.50, tand=0.0011, color="#21912b", opacity=0.3, name="Rogers RF-35TC")
195
+ DIEL_RF_41 = Material(er=4.10, tand=0.0038, color="#21912b", opacity=0.3, name="Rogers RF-41")
196
+ DIEL_RF_43 = Material(er=4.30, tand=0.0033, color="#21912b", opacity=0.3, name="Rogers RF-43")
197
+ DIEL_RF_45 = Material(er=4.50, tand=0.0037, color="#21912b", opacity=0.3, name="Rogers RF-45")
198
+ DIEL_RF_60A = Material(er=6.15, tand=0.0038, color="#21912b", opacity=0.3, name="Rogers RF-60A")
199
+ DIEL_RO3003 = Material(er=3.00, tand=0.0011, color="#21912b", opacity=0.3, name="Rogers RO3003")
200
+ DIEL_RO3006 = Material(er=6.15, tand=0.002, color="#21912b", opacity=0.3, name="Rogers RO3006")
201
+ DIEL_RO3010 = Material(er=10.2, tand=0.0022, color="#21912b", opacity=0.3, name="Rogers RO3010")
202
+ DIEL_RO3035 = Material(er=3.50, tand=0.0017, color="#21912b", opacity=0.3, name="Rogers RO3035")
203
+ DIEL_RO3203 = Material(er=3.02, tand=0.0016, color="#21912b", opacity=0.3, name="Rogers RO3203")
204
+ DIEL_RO3206 = Material(er=6.15, tand=0.0027, color="#21912b", opacity=0.3, name="Rogers RO3206")
205
+ DIEL_RO3210 = Material(er=10.2, tand=0.0027, color="#21912b", opacity=0.3, name="Rogers RO3210")
206
+ DIEL_RO3730 = Material(er=3.00, tand=0.0016, color="#21912b", opacity=0.3, name="Rogers RO3730")
207
+ DIEL_RO4003C = Material(er=3.38, tand=0.0029, color="#21912b", opacity=0.3, name="Rogers RO4003C")
208
+ DIEL_RO4350B = Material(er=3.48, tand=0.0037, color="#21912b", opacity=0.3, name="Rogers RO4350B")
209
+ DIEL_RO4350B_TX = Material(er=3.48, tand=0.0034, color="#21912b", opacity=0.3, name="Rogers RO4350B TX")
210
+ DIEL_RO4360 = Material(er=6.15, tand=0.0038, color="#21912b", opacity=0.3, name="Rogers RO4360")
211
+ DIEL_RO4533 = Material(er=3.30, tand=0.0025, color="#21912b", opacity=0.3, name="Rogers RO4533")
212
+ DIEL_RO4534 = Material(er=3.40, tand=0.0027, color="#21912b", opacity=0.3, name="Rogers RO4534")
213
+ DIEL_RO4535 = Material(er=3.50, tand=0.0037, color="#21912b", opacity=0.3, name="Rogers RO4535")
214
+ DIEL_RO4730 = Material(er=3.00, tand=0.0033, color="#21912b", opacity=0.3, name="Rogers RO4730")
215
+ DIEL_RT_Duroid_5870 = Material(er=2.33, tand=0.0012, color="#21912b", opacity=0.3, name="Rogers RT/duroid 5870")
216
+ DIEL_RT_Duroid_5880 = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3, name="Rogers RT/duroid 5880")
217
+ DIEL_RT_Duroid_5880LZ = Material(er=1.96, tand=0.0019, color="#21912b", opacity=0.3, name="Rogers RT/duroid 5880LZ")
218
+ DIEL_RT_Duroid_6002 = Material(er=2.94, tand=0.0012, color="#21912b", opacity=0.3, name="Rogers RT/duroid 6002")
219
+ DIEL_RT_Duroid_6006 = Material(er=6.15, tand=0.0027, color="#21912b", opacity=0.3, name="Rogers RT/duroid 6006")
220
+ DIEL_RT_Duroid_6010_2LM= Material(er=10.2, tand=0.0023, color="#21912b", opacity=0.3, name="Rogers RT/duroid 6010 2LM")
221
+ DIEL_RT_Duroid_6035HTC = Material(er=3.50, tand=0.0013, color="#21912b", opacity=0.3, name="Rogers RT/duroid 6035HTC")
222
+ DIEL_RT_Duroid_6202 = Material(er=2.94, tand=0.0015, color="#21912b", opacity=0.3, name="Rogers RT/duroid 6202")
223
+ DIEL_RT_Duroid_6202PR = Material(er=2.90, tand=0.002, color="#21912b", opacity=0.3, name="Rogers RT/duroid 6202PR")
224
+ DIEL_SYRON_70000_002IN_Thick = Material(er=3.4, tand=0.0045, color="#21912b", opacity=0.3, name="Syron 70000 0.002in")
225
+ DIEL_SYRON_71000_004IN_THICK = Material(er=3.39, tand=0.005, color="#21912b", opacity=0.3, name="Syron 71000 0.004in")
226
+ DIEL_SYRON_71000INCH = Material(er=3.61, tand=0.006, color="#21912b", opacity=0.3, name="Syron 71000 Inch")
227
+ DIEL_TACLAMPLUS = Material(er=2.10, tand=0.0004, color="#21912b", opacity=0.3, name="TacLam Plus")
228
+ DIEL_TC350 = Material(er=3.50, tand=0.002, color="#21912b", opacity=0.3, name="Rogers TC350")
229
+ DIEL_TC600 = Material(er=6.15, tand=0.002, color="#21912b", opacity=0.3, name="Rogers TC600")
230
+ DIEL_THETA = Material(er=3.85, tand=0.0123, color="#21912b", opacity=0.3, name="Theta")
231
+ DIEL_TLA_6 = Material(er=2.62, tand=0.0017, color="#21912b", opacity=0.3, name="TLA-6")
232
+ DIEL_TLC_27 = Material(er=2.75, tand=0.003, color="#21912b", opacity=0.3, name="TLC-27")
233
+ DIEL_TLC_30 = Material(er=3.00, tand=0.003, color="#21912b", opacity=0.3, name="TLC-30")
234
+ DIEL_TLC_32 = Material(er=3.20, tand=0.003, color="#21912b", opacity=0.3, name="TLC-32")
235
+ DIEL_TLC_338 = Material(er=3.38, tand=0.0034, color="#21912b", opacity=0.3, name="TLC-338")
236
+ DIEL_TLC_35 = Material(er=3.50, tand=0.0037, color="#21912b", opacity=0.3, name="TLC-35")
237
+ DIEL_TLE_95 = Material(er=2.95, tand=0.0028, color="#21912b", opacity=0.3, name="TLE-95")
238
+ DIEL_TLF_34 = Material(er=3.40, tand=0.002, color="#21912b", opacity=0.3, name="TLF-34")
239
+ DIEL_TLF_35 = Material(er=3.50, tand=0.002, color="#21912b", opacity=0.3, name="TLF-35")
240
+ DIEL_TLG_29 = Material(er=2.87, tand=0.0027, color="#21912b", opacity=0.3, name="TLG-29")
241
+ DIEL_TLG_30 = Material(er=3.00, tand=0.0038, color="#21912b", opacity=0.3, name="TLG-30")
242
+ DIEL_TLP_3 = Material(er=2.33, tand=0.0009, color="#21912b", opacity=0.3, name="TLP-3")
243
+ DIEL_TLP_5 = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3, name="TLP-5")
244
+ DIEL_TLP_5A = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3, name="TLP-5A")
245
+ DIEL_TLT_0 = Material(er=2.45, tand=0.0019, color="#21912b", opacity=0.3, name="TLT-0")
246
+ DIEL_TLT_6 = Material(er=2.65, tand=0.0019, color="#21912b", opacity=0.3, name="TLT-6")
247
+ DIEL_TLT_7 = Material(er=2.60, tand=0.0019, color="#21912b", opacity=0.3, name="TLT-7")
248
+ DIEL_TLT_8 = Material(er=2.55, tand=0.0019, color="#21912b", opacity=0.3, name="TLT-8")
249
+ DIEL_TLT_9 = Material(er=2.50, tand=0.0019, color="#21912b", opacity=0.3, name="TLT-9")
250
+ DIEL_TLX_0 = Material(er=2.45, tand=0.0019, color="#21912b", opacity=0.3, name="TLX-0")
251
+ DIEL_TLX_6 = Material(er=2.65, tand=0.0019, color="#21912b", opacity=0.3, name="TLX-6")
252
+ DIEL_TLX_7 = Material(er=2.60, tand=0.0019, color="#21912b", opacity=0.3, name="TLX-7")
253
+ DIEL_TLX_8 = Material(er=2.55, tand=0.0019, color="#21912b", opacity=0.3, name="TLX-8")
254
+ DIEL_TLX_9 = Material(er=2.50, tand=0.0019, color="#21912b", opacity=0.3, name="TLX-9")
255
+ DIEL_TLY_3 = Material(er=2.33, tand=0.0012, color="#21912b", opacity=0.3, name="TLY-3")
256
+ DIEL_TLY_3F = Material(er=2.33, tand=0.0012, color="#21912b", opacity=0.3, name="TLY-3F")
257
+ DIEL_TLY_5 = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3, name="TLY-5")
258
+ DIEL_TLY_5_L = Material(er=2.20, tand=0.0009, color="#21912b", opacity=0.3, name="TLY-5L")
259
+ DIEL_TLY_5A = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3, name="TLY-5A")
260
+ DIEL_TLY_5AL = Material(er=2.17, tand=0.0009, color="#21912b", opacity=0.3, name="TLY-5AL")
261
+ DIEL_TMM_10 = Material(er=9.20, tand=0.0022, color="#21912b", opacity=0.3, name="Rogers TMM10")
262
+ DIEL_TMM_10i = Material(er=9.80, tand=0.002, color="#21912b", opacity=0.3, name="Rogers TMM10i")
263
+ DIEL_TMM_3 = Material(er=3.27, tand=0.002, color="#21912b", opacity=0.3, name="Rogers TMM3")
264
+ DIEL_TMM_4 = Material(er=4.50, tand=0.002, color="#21912b", opacity=0.3, name="Rogers TMM4")
265
+ DIEL_TMM_6 = Material(er=6.00, tand=0.0023, color="#21912b", opacity=0.3, name="Rogers TMM6")
266
+
267
+ DIEL_TRF_41 = Material(er=4.10, tand=0.0035, color="#21912b", opacity=0.3, name="TRF-41")
268
+ DIEL_TRF_43 = Material(er=4.30, tand=0.0035, color="#21912b", opacity=0.3, name="TRF-43")
269
+ DIEL_TRF_45 = Material(er=4.50, tand=0.0035, color="#21912b", opacity=0.3, name="TRF-45")
270
+
271
+ DIEL_TSM_26 = Material(er=2.60, tand=0.0014, color="#21912b", opacity=0.3, name="TSM-26")
272
+ DIEL_TSM_29 = Material(er=2.94, tand=0.0013, color="#21912b", opacity=0.3, name="TSM-29")
273
+ DIEL_TSM_30 = Material(er=3.00, tand=0.0013, color="#21912b", opacity=0.3, name="TSM-30")
274
+ DIEL_TSM_DS = Material(er=2.85, tand=0.001, color="#21912b", opacity=0.3, name="TSM-DS")
275
+ DIEL_TSM_DS3 = Material(er=3.00, tand=0.0011, color="#21912b", opacity=0.3, name="TSM-DS3")
276
+ DIEL_ULTRALAM_2000 = Material(er=2.4, tand=0.0019, color="#21912b", opacity=0.3, name="Arlon Ultralam 2000")
277
+ DIEL_ULTRALAM_3850 = Material(er=2.9, tand=0.0025, color="#21912b", opacity=0.3, name="Arlon Ultralam 3850")
278
+ DIEL_XT_Duroid_80000_002IN_Thick = Material(er=3.23, tand=0.0035, color="#21912b", opacity=0.3, name="Rogers XT/duroid 80000 0.002in")
279
+ DIEL_XT_Duroid_8100 = Material(er=3.54, tand=0.0049, color="#21912b", opacity=0.3, name="Rogers XT/duroid 8100")
280
+ DIEL_XT_Duroid_81000_004IN_Thick = Material(er=3.32, tand=0.0038, color="#21912b", opacity=0.3, name="Rogers XT/duroid 81000 0.004in")
281
+ DIEL_TEFLON = Material(er=2.1, tand=0.0003, color='#eeeeee', opacity=0.3, name="Teflon")
282
+
278
283
 
279
284
  # Legacy FR Materials
280
- DIEL_FR1 = Material(er=4.8, tand=0.025, color="#3c9747", opacity=0.3) # Paper + phenolic resin
281
- DIEL_FR2 = Material(er=4.8, tand=0.02, color="#3c9747", opacity=0.3) # Paper + phenolic resin
282
- DIEL_FR3 = Material(er=4.5, tand=0.02, color="#2b7a4b", opacity=0.3) # Paper + epoxy resin
283
- DIEL_FR4 = Material(er=4.4, tand=0.015, color="#1e8449", opacity=0.3) # Woven glass + epoxy resin (industry standard)
284
- DIEL_FR5 = Material(er=4.2, tand=0.012, color="#156e38", opacity=0.3) # Woven glass + high-temp epoxy resin
285
- DIEL_FR6 = Material(er=5.2, tand=0.030, color="#145a32", opacity=0.3) # Paper + unknown resin, poor thermal performance
285
+ DIEL_FR1 = Material(er=4.8, tand=0.025, color="#3c9747", opacity=0.3, name="FR-1 (Paper Phenolic)")
286
+ DIEL_FR2 = Material(er=4.8, tand=0.02, color="#3c9747", opacity=0.3, name="FR-2 (Paper Phenolic)")
287
+ DIEL_FR3 = Material(er=4.5, tand=0.02, color="#2b7a4b", opacity=0.3, name="FR-3 (Paper Epoxy)")
288
+ DIEL_FR4 = Material(er=4.4, tand=0.015, color="#1e8449", opacity=0.3, name="FR-4 (Glass Epoxy)")
289
+ DIEL_FR5 = Material(er=4.2, tand=0.012, color="#156e38", opacity=0.3, name="FR-5 (High-temp Glass Epoxy)")
290
+ DIEL_FR6 = Material(er=5.2, tand=0.030, color="#145a32", opacity=0.3, name="FR-6 (Paper Resin, Low Thermal)")
286
291
 
287
292
  # Magnetic Materials
288
- MU_METAL = Material(cond=1.0e6, ur=200000, color="#666680", opacity=0.3)
289
-
293
+ MU_METAL = Material(cond=1.0e6, ur=200000, color="#666680", opacity=0.3, name="Mu-metal")
290
294
 
291
295
  ############################################################
292
296
  # FOAMS #
293
297
  ############################################################
294
298
 
295
- FOAM_ROHACELL_31 = Material(er=1.05, tand=0.0005, color="#f0e1a1", opacity=0.15) # PMI-based structural foam
296
- FOAM_ROHACELL_51 = Material(er=1.07, tand=0.0006, color="#f0dea0", opacity=0.15) # denser version
297
- FOAM_ROHACELL_71 = Material(er=1.10, tand=0.0007, color="#e5d199", opacity=0.15)
298
- FOAM_PEI = Material(er=1.15, tand=0.0035, color="#e0b56f", opacity=0.15) # polyetherimide-based foam
299
- FOAM_PMI = Material(er=1.10, tand=0.0008, color="#d9c690", opacity=0.15) # polymethacrylimide
300
- FOAM_PVC = Material(er=1.20, tand=0.0040, color="#cccccc", opacity=0.15)
301
- FOAM_EPS = Material(er=1.03, tand=0.0050, color="#f7f7f7", opacity=0.15) # expanded polystyrene
302
- FOAM_XPS = Material(er=1.05, tand=0.0030, color="#e0e0e0", opacity=0.15) # extruded polystyrene
303
- FOAM_PU = Material(er=1.10, tand=0.0080, color="#d0d0d0", opacity=0.15) # polyurethane foam
304
- FOAM_GLAS = Material(er=3.10, tand=0.0050, color="#888888", opacity=0.15) # cellular glass, denser
305
- FOAM_AIREX_C70 = Material(er=1.10, tand=0.0010, color="#f7e7a3", opacity=0.15) # PET closed cell
306
- FOAM_AIREX_T92 = Material(er=1.10, tand=0.0020, color="#f6d08a", opacity=0.15) # higher strength PET
307
- FOAM_PVC_CORECELL = Material(er=1.56, tand=0.0025, color="#aaaaaa", opacity=0.15) # structural core PVC
299
+ FOAM_ROHACELL_31 = Material(er=1.05, tand=0.0005, color="#f0e1a1", opacity=0.15, name="Rohacell 31 (PMI Foam)")
300
+ FOAM_ROHACELL_51 = Material(er=1.07, tand=0.0006, color="#f0dea0", opacity=0.15, name="Rohacell 51 (PMI Foam)")
301
+ FOAM_ROHACELL_71 = Material(er=1.10, tand=0.0007, color="#e5d199", opacity=0.15, name="Rohacell 71 (PMI Foam)")
302
+
303
+ FOAM_PEI = Material(er=1.15, tand=0.0035, color="#e0b56f", opacity=0.15, name="PEI Foam")
304
+ FOAM_PMI = Material(er=1.10, tand=0.0008, color="#d9c690", opacity=0.15, name="PMI Foam")
305
+ FOAM_PVC = Material(er=1.20, tand=0.0040, color="#cccccc", opacity=0.15, name="PVC Foam")
306
+ FOAM_EPS = Material(er=1.03, tand=0.0050, color="#f7f7f7", opacity=0.15, name="EPS Foam (Expanded Polystyrene)")
307
+ FOAM_XPS = Material(er=1.05, tand=0.0030, color="#e0e0e0", opacity=0.15, name="XPS Foam (Extruded Polystyrene)")
308
+ FOAM_PU = Material(er=1.10, tand=0.0080, color="#d0d0d0", opacity=0.15, name="PU Foam (Polyurethane)")
309
+ FOAM_GLAS = Material(er=3.10, tand=0.0050, color="#888888", opacity=0.15, name="Cellular Glass")
310
+
311
+ FOAM_AIREX_C70 = Material(er=1.10, tand=0.0010, color="#f7e7a3", opacity=0.15, name="Airex C70 (PET Foam)")
312
+ FOAM_AIREX_T92 = Material(er=1.10, tand=0.0020, color="#f6d08a", opacity=0.15, name="Airex T92 (PET Foam)")
313
+ FOAM_PVC_CORECELL = Material(er=1.56, tand=0.0025, color="#aaaaaa", opacity=0.15, name="Corecell PVC Foam")
@@ -1,11 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: emerge
3
- Version: 0.6.8
3
+ Version: 0.6.9
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
7
7
  License-File: LICENSE
8
8
  Requires-Python: <4.0,>=3.10
9
+ Requires-Dist: cloudpickle>=3.1.1
9
10
  Requires-Dist: gmsh<4.14.0,>=4.13.0
10
11
  Requires-Dist: joblib>=1.5.1
11
12
  Requires-Dist: loguru>=0.7.3
@@ -1,8 +1,8 @@
1
- emerge/__init__.py,sha256=d0irj6Zl58a3DO_ilpI77vqIe9_S1-UspMjSHbXCbr8,2693
1
+ emerge/__init__.py,sha256=CADecqlZ97GZvSCPedEzhmI3N_1o0qeCaaxgjlUccio,2693
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
5
- emerge/lib.py,sha256=kUb4n7VGK4ncR5IHdjvVVd8klSiqZ427ckmEFet16M0,23465
5
+ emerge/lib.py,sha256=DTg6Js9CTQZv0zGVI9F1SaJzSIrJW3RBniHia4pWnEE,28527
6
6
  emerge/plot.py,sha256=AH2D9rKeWUXlSOlh-pUUfLt0oxVLcqF_piki-BmPEg0,83
7
7
  emerge/pyvista.py,sha256=-Ht2YcZYsh8-dici5ZPNAWwsis6uz5wNj8n8mxv5fog,42
8
8
  emerge/_emerge/__init__.py,sha256=aidfiILy33dt3VyiZ2mgtA87mq-WQ5pXItZUE5wR5ws,703
@@ -13,16 +13,16 @@ emerge/_emerge/coord.py,sha256=BKvyrcnHY-_bgHqysnByy5k9_DK4VVfr9KKkRaawG2E,4371
13
13
  emerge/_emerge/cs.py,sha256=YNT2Nn6Dh8fYPUMlT6w0msHnQpZREbbl_ZXTGNppCVs,18392
14
14
  emerge/_emerge/dataset.py,sha256=UcSAJ_siLrOjNBBWRWsS3GUZUpayp63EM6pP6ClwKDI,1534
15
15
  emerge/_emerge/geo2d.py,sha256=e_HkX1GQ2iYrdO0zeEgzVOzfGyU1WGJyjeGBAobOttE,3323
16
- emerge/_emerge/geometry.py,sha256=_hBZMRcYImO3rXRex0wcNWPDmdlrQoMJ6NZh4H_CUPo,19277
16
+ emerge/_emerge/geometry.py,sha256=z6MxW7Q2i1pu12pPaAvIf5PsP84ea3GY2MOG_daLx_8,19537
17
17
  emerge/_emerge/howto.py,sha256=c4UxUNpA1tygr3OoR-LH-h0UZv-Tf9K8tpCiAU18BKE,8173
18
18
  emerge/_emerge/logsettings.py,sha256=DcUWIUUhdLe9ev5XC1bd5ZUrJz00MjABkY8rnekFrPY,3373
19
- emerge/_emerge/material.py,sha256=jMAe7W7qT1fcgbah_5DncaPDa7kVGF2GEdnNZ0aoh6k,14973
19
+ emerge/_emerge/material.py,sha256=FITj4pGlJw6AwsxC275lMbbCJ38mIjwGpA9omblq6ck,15228
20
20
  emerge/_emerge/mesh3d.py,sha256=2expfu7YR6KbtaEeR7JELxXkTul0cFECRwwO5bpdgqE,34697
21
21
  emerge/_emerge/mesher.py,sha256=fKgPb6oZe_bqp0XYfZ6UNgBfRaAS3-tjUtZX8NalJe8,13199
22
22
  emerge/_emerge/periodic.py,sha256=xfdKKq3qX7iBBestnRizOzJNfXlpr9lCPkiYhfrRIR8,12013
23
23
  emerge/_emerge/plot.py,sha256=cf1I9mj7EIUJcq8vmANlUkqoV6QqVaJaP-zlC-T9E18,8041
24
- emerge/_emerge/selection.py,sha256=x8cGN93BAmO80C0gn6feWcW126vorscsZVzhreTOLxs,21298
25
- emerge/_emerge/simmodel.py,sha256=OVAO1HdtLb7NdgPVWK3G1bRyINPjyC8jpawLDEK6rR8,20280
24
+ emerge/_emerge/selection.py,sha256=Clx3YopcYwaN61rX4wdDsEJo_0F-DWGe3AP8rPjvTzY,21368
25
+ emerge/_emerge/simmodel.py,sha256=lzrWtPQlhKHs4QHTj-icg2tycCn_zhq4PITHhAhC9I0,20451
26
26
  emerge/_emerge/simulation_data.py,sha256=r9-9lpLeA1Z5HU3jDVOXV1H80GVawnXL5K81_dvmlE4,14506
27
27
  emerge/_emerge/solver.py,sha256=kZr_lNnLbHe2LBO9ujyHdfh47jc_qqnFgrlPwhZZMHE,49348
28
28
  emerge/_emerge/system.py,sha256=p4HNz7d_LMRNE9Gk75vVdFecDH2iN_groAM9u-yQTpk,1618
@@ -51,8 +51,8 @@ emerge/_emerge/physics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
51
51
  emerge/_emerge/physics/microwave/__init__.py,sha256=QHeILGYWmvbfLl1o9wrTiWLm0evfXDgS0JiikUoMTts,28
52
52
  emerge/_emerge/physics/microwave/adaptive_freq.py,sha256=aWhijhCVAbnuwkru-I1AaRdY20uyozf6OWRIh9r2ijg,9786
53
53
  emerge/_emerge/physics/microwave/microwave_3d.py,sha256=lKHaMcL8kztwUF4V9zUycT7Ec7aTZS9SAiZh6auzCYc,42379
54
- emerge/_emerge/physics/microwave/microwave_bc.py,sha256=5BJfxgQWmgUt_Kd0ofVW4YUgzZxXv2wb8gvcJmBfhCA,42443
55
- emerge/_emerge/physics/microwave/microwave_data.py,sha256=0SQInYEVdp7rlDIUt51Hb6lQNg2GYnt3zqmTbMArVIk,49302
54
+ emerge/_emerge/physics/microwave/microwave_bc.py,sha256=dU2vi8amEewM1ZLgtOk4oYXknH_gzt2c6J9BH4aIJiw,42294
55
+ emerge/_emerge/physics/microwave/microwave_data.py,sha256=njeNfw_Is4bc97H-hefi-Bk8NSGMElXk0yzDb4v6mVk,50365
56
56
  emerge/_emerge/physics/microwave/periodic.py,sha256=wYSUgLFVtCLqSG3EDKoCDRU93iPUzBdXzVRdHTRmbpI,3000
57
57
  emerge/_emerge/physics/microwave/port_functions.py,sha256=aVU__AkVk8b1kH2J_oDLF5iNReCxC9nzCtesFSSSSQo,2112
58
58
  emerge/_emerge/physics/microwave/sc.py,sha256=WZvoPhmHkfEv619RhmN09sXDBV0ryTqybwErA8Rc7lU,4735
@@ -67,19 +67,19 @@ emerge/_emerge/physics/microwave/assembly/periodicbc.py,sha256=Zg1kgQMccDQA2oVEr
67
67
  emerge/_emerge/physics/microwave/assembly/robinbc.py,sha256=syJ-NuHHA0WDQECuaPdeW-OfzIGHmxxqalKiokSyJFI,17742
68
68
  emerge/_emerge/plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
69
  emerge/_emerge/plot/display.py,sha256=TQLlKb-LkaG5ZOSLfxp9KXPlZPRFTxNj1LhVQ-Lp1-s,18476
70
- emerge/_emerge/plot/simple_plots.py,sha256=oFJXSNI--HwydgOUt88NdRsxqldxfy5mb38eZTx9qHs,24430
70
+ emerge/_emerge/plot/simple_plots.py,sha256=qMQoMdSdTMQX5LvjI1n_dpZ6e51LzRCUOZuu5uHPd3w,24806
71
71
  emerge/_emerge/plot/matplotlib/mpldisplay.py,sha256=szKafDrgdAW5Nyc5UOHuJC87n0WGkXYackOVv182TDQ,8671
72
72
  emerge/_emerge/plot/pyvista/__init__.py,sha256=CPclatEu6mFnJZzCQk09g6T6Fh20WTbiLAJGSwAnPXU,30
73
- emerge/_emerge/plot/pyvista/display.py,sha256=5pi1LSHHVCutspQT2lcwWaF-eWoR_VE1OmkKtpizQhI,37321
74
- emerge/_emerge/plot/pyvista/display_settings.py,sha256=K2OhzKqeFzMXlEfZ5F4CQ9sN3l7nOgVjLplZBuMPjvE,899
73
+ emerge/_emerge/plot/pyvista/display.py,sha256=GJ_fmU1AWLzPWwl3CQd50LOOmjEQ0JWaNFOk17Ux60M,38348
74
+ emerge/_emerge/plot/pyvista/display_settings.py,sha256=k4JfiNuaVDpPZrZa0sIuuFFwLvYAWDS17tusUCVHNu0,1036
75
75
  emerge/_emerge/projects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
76
  emerge/_emerge/projects/_gen_base.txt,sha256=DqQz36PZg6v1ovQjHvPjd0t4AIbmikZdb9dmrNYsK3w,598
77
- emerge/_emerge/projects/_load_base.txt,sha256=94o0eSWoDKlNR336EmhpG_S5syQHIUPHQxna-bVRhXo,509
77
+ emerge/_emerge/projects/_load_base.txt,sha256=bHsZ4okxa9uu8qP4UOxSAeIQzuwpRtN0i71rg8wuqMA,473
78
78
  emerge/_emerge/projects/generate_project.py,sha256=TNw-0SpLc82MBq0bd9hB_yqvBZCgmuPonCBsHTp91uk,1450
79
79
  emerge/_emerge/solve_interfaces/cudss_interface.py,sha256=-SjiTNIyE7iJ8Bm14Cva5e2lpJDgfiS2Mvz1Bgy-UL4,9688
80
80
  emerge/_emerge/solve_interfaces/pardiso_interface.py,sha256=iVFxToMmIzhj3hcAP-O_MDHKz82ePFIHY1us11kzUBU,15305
81
- emerge-0.6.8.dist-info/METADATA,sha256=Yi_WDwKLxyKakod3QDuaRgz7RvnxAAk0CJVuVnPii1M,3304
82
- emerge-0.6.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
83
- emerge-0.6.8.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
84
- emerge-0.6.8.dist-info/licenses/LICENSE,sha256=VOCXWddrjMN5j7TvnSAOh1Dx7jkugdwq9Lqhycf5inc,17852
85
- emerge-0.6.8.dist-info/RECORD,,
81
+ emerge-0.6.9.dist-info/METADATA,sha256=yAvC6lujrzubYu_H2qBafFx1k3c_kuoO3gD83cldhtA,3338
82
+ emerge-0.6.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
83
+ emerge-0.6.9.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
84
+ emerge-0.6.9.dist-info/licenses/LICENSE,sha256=VOCXWddrjMN5j7TvnSAOh1Dx7jkugdwq9Lqhycf5inc,17852
85
+ emerge-0.6.9.dist-info/RECORD,,
File without changes