MCPcopy Create free account
hub / github.com/NanoComp/meep / plot_eps

Function plot_eps

python/visualization.py:516–662  ·  view source on GitHub ↗
(
    sim: Simulation,
    ax: Optional[Axes] = None,
    output_plane: Optional[Volume] = None,
    eps_parameters: Optional[dict] = None,
    colorbar_parameters: Optional[dict] = None,
    frequency: Optional[float] = None,
    label_geometry: bool = False,
)

Source from the content-addressed store, hash-verified

514
515
516def plot_eps(
517 sim: Simulation,
518 ax: Optional[Axes] = None,
519 output_plane: Optional[Volume] = None,
520 eps_parameters: Optional[dict] = None,
521 colorbar_parameters: Optional[dict] = None,
522 frequency: Optional[float] = None,
523 label_geometry: bool = False,
524) -> Union[Axes, Any]:
525 # consolidate plotting parameters
526 if eps_parameters is None:
527 eps_parameters = default_eps_parameters
528 else:
529 eps_parameters = dict(default_eps_parameters, **eps_parameters)
530
531 # Determine a frequency to plot all epsilon
532 if frequency is not None:
533 warnings.warn(
534 "The frequency parameter of plot2D has been deprecated. "
535 "Use the frequency key of the eps_parameters dictionary instead."
536 )
537 eps_parameters["frequency"] = frequency
538 if eps_parameters["frequency"] is None:
539 try:
540 # Continuous sources
541 eps_parameters["frequency"] = sim.sources[0].frequency
542 except:
543 try:
544 # Gaussian sources
545 eps_parameters["frequency"] = sim.sources[0].src.frequency
546 except:
547 try:
548 # Custom sources
549 eps_parameters["frequency"] = sim.sources[0].src.center_frequency
550 except:
551 # No sources
552 eps_parameters["frequency"] = 0
553
554 # Get domain measurements
555 sim_center, sim_size = get_2D_dimensions(sim, output_plane)
556
557 xmin, xmax, ymin, ymax, zmin, zmax = box_vertices(
558 sim_center, sim_size, sim.is_cylindrical
559 )
560
561 if eps_parameters["resolution"]:
562 grid_resolution = eps_parameters["resolution"]
563 else:
564 grid_resolution = sim.resolution
565
566 Nx = int((xmax - xmin) * grid_resolution + 1)
567 Ny = int((ymax - ymin) * grid_resolution + 1)
568 Nz = int((zmax - zmin) * grid_resolution + 1)
569
570 if sim_size.x == 0:
571 # Plot y on x axis, z on y axis (YZ plane)
572 extent = [ymin, ymax, zmin, zmax]
573 xlabel = "Y"

Callers 2

plot2DFunction · 0.85
__call__Method · 0.85

Calls 6

get_2D_dimensionsFunction · 0.85
box_verticesFunction · 0.85
filter_dictFunction · 0.85
_add_colorbarFunction · 0.85
place_labelFunction · 0.85
get_epsilon_gridMethod · 0.80

Tested by

no test coverage detected