Grids
Warning
This section is currently in development.
3D Cartesian geometry
- pydantic model picmistandard.PICMI_Cartesian3DGrid[source]
Three dimensional Cartesian grid Parameters can be specified either as vectors or separately. (If both are specified, the vector is used.)
References
absorbing_silver_mueller: A local absorbing boundary condition that works best under normal incidence angle. Based on the Silver-Mueller Radiation Condition, e.g., in
A. K. Belhora and L. Pichon, “Maybe Efficient Absorbing Boundary Conditions for the Finite Element Solution of 3D Scattering Problems,” 1995, https://doi.org/10.1109/20.376322
B Engquist and A. Majdat, “Absorbing boundary conditions for numerical simulation of waves,” 1977, https://doi.org/10.1073/pnas.74.5.1765
R. Lehe, “Electromagnetic wave propagation in Particle-In-Cell codes,” 2016, US Particle Accelerator School (USPAS) Summer Session, Self-Consistent Simulations of Beam and Plasma Systems https://people.nscl.msu.edu/~lund/uspas/scs_2016/lec_adv/A1b_EM_Waves.pdf
Parameters
- parameter bc_xmax: str | None = None
Boundary condition at max X: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_xmax_particles: str | None = None
Boundary condition at max X for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_xmin: str | None = None
Boundary condition at min X: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_xmin_particles: str | None = None
Boundary condition at min X for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_ymax: str | None = None
Boundary condition at max Y: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_ymax_particles: str | None = None
Boundary condition at max Y for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_ymin: str | None = None
Boundary condition at min Y: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_ymin_particles: str | None = None
Boundary condition at min Y for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_zmax: str | None = None
Boundary condition at max Z: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_zmax_particles: str | None = None
Boundary condition at max Z for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_zmin: str | None = None
Boundary condition at min Z: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_zmin_particles: str | None = None
Boundary condition at min Z for particles: One of periodic, absorbing, reflect, thermal
- parameter lower_boundary_conditions: list[str | None] | None = None
Conditions at lower boundaries, periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter lower_boundary_conditions_particles: list[str | None] | None = None
Conditions at lower boundaries for particles, periodic, absorbing, reflect or thermal
- parameter number_of_cells: list[int] | None = None
Number of cells along each axis (number of nodes is number_of_cells+1)
- parameter pml_cells: list[int] | None = None
Number of Perfectly Matched Layer (PML) cells along each direction
- parameter refined_regions: list [Optional]
List of refined regions, each element being a list of the format [level, lo, hi, refinement_factor], with level being the refinement level, with 1 being the first level of refinement, 2 being the second etc, lo and hi being vectors of length 3 specifying the extent of the region, and refinement_factor defaulting to [2,2,2] (relative to next lower level)
- parameter upper_boundary_conditions: list[str | None] | None = None
Conditions at upper boundaries, periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter upper_boundary_conditions_particles: list[str | None] | None = None
Conditions at upper boundaries for particles, periodic, absorbing, reflect or thermal
Methods
- add_refined_region(level, lo, hi, refinement_factor=None)[source]
Add a refined region.
- Parameters:
level (
int) – The refinement level, with 1 being the first level of refinement, 2 being the second etc.lo (
listoffloat) – The lower (lo) and upper (hi) corner of the region, each a vector of length 3hi (
listoffloat) – The lower (lo) and upper (hi) corner of the region, each a vector of length 3refinement_factor (
listofint, optional) – The refinement factor relative to the next lower level (default: [2, 2, 2])
Attributes
2D Cartesian geometry
- pydantic model picmistandard.PICMI_Cartesian2DGrid[source]
Two dimensional Cartesian grid Parameters can be specified either as vectors or separately. (If both are specified, the vector is used.)
References
absorbing_silver_mueller: A local absorbing boundary condition that works best under normal incidence angle. Based on the Silver-Mueller Radiation Condition, e.g., in
A. K. Belhora and L. Pichon, “Maybe Efficient Absorbing Boundary Conditions for the Finite Element Solution of 3D Scattering Problems,” 1995, https://doi.org/10.1109/20.376322
B Engquist and A. Majdat, “Absorbing boundary conditions for numerical simulation of waves,” 1977, https://doi.org/10.1073/pnas.74.5.1765
R. Lehe, “Electromagnetic wave propagation in Particle-In-Cell codes,” 2016, US Particle Accelerator School (USPAS) Summer Session, Self-Consistent Simulations of Beam and Plasma Systems https://people.nscl.msu.edu/~lund/uspas/scs_2016/lec_adv/A1b_EM_Waves.pdf
Parameters
- parameter bc_xmax: str | None = None
Boundary condition at max X: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_xmax_particles: str | None = None
Boundary condition at max X for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_xmin: str | None = None
Boundary condition at min X: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_xmin_particles: str | None = None
Boundary condition at min X for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_ymax: str | None = None
Boundary condition at max Y: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_ymax_particles: str | None = None
Boundary condition at max Y for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_ymin: str | None = None
Boundary condition at min Y: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_ymin_particles: str | None = None
Boundary condition at min Y for particles: One of periodic, absorbing, reflect, thermal
- parameter lower_boundary_conditions: list[str | None] | None = None
Conditions at lower boundaries, periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter lower_boundary_conditions_particles: list[str | None] | None = None
Conditions at lower boundaries for particles, periodic, absorbing, reflect or thermal
- parameter number_of_cells: list[int] | None = None
Number of cells along each axis (number of nodes is number_of_cells+1)
- parameter pml_cells: list[int] | None = None
Number of Perfectly Matched Layer (PML) cells along each direction
- parameter refined_regions: list [Optional]
List of refined regions, each element being a list of the format [level, lo, hi, refinement_factor], with level being the refinement level, with 1 being the first level of refinement, 2 being the second etc, lo and hi being vectors of length 2 specifying the extent of the region, and refinement_factor defaulting to [2,2] (relative to next lower level)
- parameter upper_boundary_conditions: list[str | None] | None = None
Conditions at upper boundaries, periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter upper_boundary_conditions_particles: list[str | None] | None = None
Conditions at upper boundaries for particles, periodic, absorbing, reflect or thermal
Methods
- add_refined_region(level, lo, hi, refinement_factor=None)[source]
Add a refined region.
- Parameters:
level (
int) – The refinement level, with 1 being the first level of refinement, 2 being the second etc.lo (
listoffloat) – The lower (lo) and upper (hi) corner of the region, each a vector of length 2hi (
listoffloat) – The lower (lo) and upper (hi) corner of the region, each a vector of length 2refinement_factor (
listofint, optional) – The refinement factor relative to the next lower level (default: [2, 2])
Attributes
1D Cartesian geometry
- pydantic model picmistandard.PICMI_Cartesian1DGrid[source]
One-dimensional Cartesian grid Parameters can be specified either as vectors or separately. (If both are specified, the vector is used.)
References
absorbing_silver_mueller: A local absorbing boundary condition that works best under normal incidence angle. Based on the Silver-Mueller Radiation Condition, e.g., in
A. K. Belhora and L. Pichon, “Maybe Efficient Absorbing Boundary Conditions for the Finite Element Solution of 3D Scattering Problems,” 1995, https://doi.org/10.1109/20.376322
B Engquist and A. Majdat, “Absorbing boundary conditions for numerical simulation of waves,” 1977, https://doi.org/10.1073/pnas.74.5.1765
R. Lehe, “Electromagnetic wave propagation in Particle-In-Cell codes,” 2016, US Particle Accelerator School (USPAS) Summer Session, Self-Consistent Simulations of Beam and Plasma Systems https://people.nscl.msu.edu/~lund/uspas/scs_2016/lec_adv/A1b_EM_Waves.pdf
Parameters
- parameter bc_xmax: str | None = None
Boundary condition at max X: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_xmax_particles: str | None = None
Boundary condition at max X for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_xmin: str | None = None
Boundary condition at min X: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_xmin_particles: str | None = None
Boundary condition at min X for particles: One of periodic, absorbing, reflect, thermal
- parameter lower_boundary_conditions: list[str | None] | None = None
Conditions at lower boundaries, periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter lower_boundary_conditions_particles: list[str | None] | None = None
Conditions at lower boundaries for particles, periodic, absorbing, reflect or thermal
- parameter number_of_cells: list[int] | None = None
Number of cells along each axis (number of nodes is number_of_cells+1)
- parameter pml_cells: list[int] | None = None
Number of Perfectly Matched Layer (PML) cells along each direction
- parameter refined_regions: list [Optional]
List of refined regions, each element being a list of the format [level, lo, hi, refinement_factor], with level being the refinement level, with 1 being the first level of refinement, 2 being the second etc, lo and hi being vectors of length 1 specifying the extent of the region, and refinement_factor defaulting to [2] (relative to next lower level)
- parameter upper_boundary_conditions: list[str | None] | None = None
Conditions at upper boundaries, periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter upper_boundary_conditions_particles: list[str | None] | None = None
Conditions at upper boundaries for particles, periodic, absorbing, reflect or thermal
Methods
- add_refined_region(level, lo, hi, refinement_factor=None)[source]
Add a refined region.
- Parameters:
level (
int) – The refinement level, with 1 being the first level of refinement, 2 being the second etc.lo (
listoffloat) – The lower (lo) and upper (hi) corner of the region, each a vector of length 1hi (
listoffloat) – The lower (lo) and upper (hi) corner of the region, each a vector of length 1refinement_factor (
listofint, optional) – The refinement factor relative to the next lower level (default: [2])
Attributes
Cylindrical geometry
- pydantic model picmistandard.PICMI_CylindricalGrid[source]
Axisymmetric, cylindrical grid Parameters can be specified either as vectors or separately. (If both are specified, the vector is used.)
References
absorbing_silver_mueller: A local absorbing boundary condition that works best under normal incidence angle. Based on the Silver-Mueller Radiation Condition, e.g., in
A. K. Belhora and L. Pichon, “Maybe Efficient Absorbing Boundary Conditions for the Finite Element Solution of 3D Scattering Problems,” 1995, https://doi.org/10.1109/20.376322
B Engquist and A. Majdat, “Absorbing boundary conditions for numerical simulation of waves,” 1977, https://doi.org/10.1073/pnas.74.5.1765
R. Lehe, “Electromagnetic wave propagation in Particle-In-Cell codes,” 2016, US Particle Accelerator School (USPAS) Summer Session, Self-Consistent Simulations of Beam and Plasma Systems https://people.nscl.msu.edu/~lund/uspas/scs_2016/lec_adv/A1b_EM_Waves.pdf
Parameters
- parameter bc_rmax: str | None = None
Boundary condition at max R: One of open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_rmax_particles: str | None = None
Boundary condition at max R for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_rmin: str | None = None
Boundary condition at min R: One of open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_rmin_particles: str | None = None
Boundary condition at min R for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_zmax: str | None = None
Boundary condition at max Z: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_zmax_particles: str | None = None
Boundary condition at max Z for particles: One of periodic, absorbing, reflect, thermal
- parameter bc_zmin: str | None = None
Boundary condition at min Z: One of periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter bc_zmin_particles: str | None = None
Boundary condition at min Z for particles: One of periodic, absorbing, reflect, thermal
- parameter lower_boundary_conditions: list[str | None] | None = None
Conditions at lower boundaries, periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter lower_boundary_conditions_particles: list[str | None] | None = None
Conditions at lower boundaries for particles, periodic, absorbing, reflect or thermal
- parameter number_of_cells: list[int] | None = None
Number of cells along each axis (number of nodes is number_of_cells+1)
- parameter pml_cells: list[int] | None = None
Number of Perfectly Matched Layer (PML) cells along each direction
- parameter refined_regions: list [Optional]
List of refined regions, each element being a list of the format [level, lo, hi, refinement_factor], with level being the refinement level, with 1 being the first level of refinement, 2 being the second etc, lo and hi being vectors of length 2 specifying the extent of the region, and refinement_factor defaulting to [2,2] (relative to next lower level)
- parameter upper_boundary_conditions: list[str | None] | None = None
Conditions at upper boundaries, periodic, open, dirichlet, absorbing_silver_mueller, or neumann
- parameter upper_boundary_conditions_particles: list[str | None] | None = None
Conditions at upper boundaries for particles, periodic, absorbing, reflect or thermal
Methods
- add_refined_region(level, lo, hi, refinement_factor=None)[source]
Add a refined region.
- Parameters:
level (
int) – The refinement level, with 1 being the first level of refinement, 2 being the second etc.lo (
listoffloat) – The lower (lo) and upper (hi) corner of the region, each a vector of length 2hi (
listoffloat) – The lower (lo) and upper (hi) corner of the region, each a vector of length 2refinement_factor (
listofint, optional) – The refinement factor relative to the next lower level (default: [2, 2])
Attributes