Field solvers

Warning

This section is currently in development.

Electromagnetic

pydantic model picmistandard.PICMI_ElectromagneticSolver[source]

Electromagnetic field solver.

The advance method used to solve Maxwell’s equations. The default method is code dependent.

Method options:

Parameters

parameter cfl: float | None = None

Fraction of the Courant-Friedrich-Lewy criteria [1]

parameter divB_cleaning: bool | None = None

Solver uses div(B) cleaning if True

parameter divE_cleaning: bool | None = None

Solver uses div(E) cleaning if True

parameter field_smoother: PICMI_BinomialSmoother | None = None

Smoother object to apply to the fields

parameter galilean_velocity: list[float] | None = None

Velocity of Galilean reference frame [m/s]

parameter grid: PICMI_AnyGrid [Required]

Grid object for the diagnostic

parameter method: Literal['Yee', 'CKC', 'Lehe', 'PSTD', 'PSATD', 'GPSTD', 'DS', 'ECT'] | None = None

The advance method use to solve Maxwell’s equations. The default method is code dependent.

parameter pml_divB_cleaning: bool | None = None

Solver uses div(B) cleaning in the PML if True

parameter pml_divE_cleaning: bool | None = None

Solver uses div(E) cleaning in the PML if True

parameter source_smoother: PICMI_BinomialSmoother | None = None

Smoother object to apply to the sources

parameter stencil_order: list[int] | None = None

Order of stencil for each axis (-1=infinite)

parameter subcycling: int | None = None

Level of subcycling for the GPSTD solver

Attributes

methods_list: ClassVar[list[str]] = ['Yee', 'CKC', 'Lehe', 'PSTD', 'PSATD', 'GPSTD', 'DS', 'ECT']

Electrostatic

pydantic model picmistandard.PICMI_ElectrostaticSolver[source]

Electrostatic field solver

Parameters

parameter grid: PICMI_AnyGrid [Required]

Grid object for the diagnostic

parameter maximum_iterations: int | None = None

Maximum number of iterations for iterative solvers

parameter method: Literal['FFT', 'Multigrid'] | None = None

One of ‘FFT’, or ‘Multigrid’

parameter required_precision: float | None = None

Level of precision required for iterative solvers

Attributes

methods_list: ClassVar[list[str]] = ['FFT', 'Multigrid']

Magnetostatic

pydantic model picmistandard.PICMI_MagnetostaticSolver[source]

Magnetostatic field solver

Parameters

parameter grid: PICMI_AnyGrid [Required]

Grid object for the diagnostic

parameter method: Literal['FFT', 'Multigrid'] | None = None

One of ‘FFT’, or ‘Multigrid’

Attributes

methods_list: ClassVar[list[str]] = ['FFT', 'Multigrid']

Smoothing

pydantic model picmistandard.PICMI_BinomialSmoother[source]

Describes a binomial smoother operator (applied to grids).

Parameters

parameter alpha: list[float] | None = None

Smoothing coefficients along each axis

parameter compensation: list[bool] | None = None

Flags whether to apply compensation along each axis

parameter n_pass: list[int] | None = None

Vector of integers. Number of passes along each axis

parameter stride: list[int] | None = None

Stride along each axis