@classmethod
def from_uniform_bound(
cls,
thickness: int = 10,
boundary_type: str = "pml",
kappa_start: float = 1,
kappa_end: float = 1.5,
) -> "BoundaryConfig":
"""Creates a BoundaryConfig with uniform parameters for all boundaries.
Args:
thickness (int, optional): Grid thickness to use for all PML boundaries. Defaults to 10.
boundary_type (str, optional): Type of boundary to use ("pml" or "periodic"). Defaults to "pml".
kappa_start (float, optional): Initial kappa value for all boundaries. Defaults to 1.0.
kappa_end (float, optional): Final kappa value for all boundaries. Defaults to 1.5.
Returns:
BoundaryConfig: New config object with uniform parameters
"""
return cls(
boundary_type_minx=boundary_type,
boundary_type_maxx=boundary_type,
boundary_type_miny=boundary_type,
boundary_type_maxy=boundary_type,
boundary_type_minz=boundary_type,
boundary_type_maxz=boundary_type,
thickness_grid_minx=thickness,
thickness_grid_maxx=thickness,
thickness_grid_miny=thickness,
thickness_grid_maxy=thickness,
thickness_grid_minz=thickness,
thickness_grid_maxz=thickness,
kappa_start_minx=kappa_start,
kappa_end_minx=kappa_end,
kappa_start_maxx=kappa_start,
kappa_end_maxx=kappa_end,
kappa_start_miny=kappa_start,
kappa_end_miny=kappa_end,
kappa_start_maxy=kappa_start,
kappa_end_maxy=kappa_end,
kappa_start_minz=kappa_start,
kappa_end_minz=kappa_end,
kappa_start_maxz=kappa_start,
kappa_end_maxz=kappa_end,
)