Field propagator
CurlCurlSolve
Advances e.
What it solves
Weak discretization of the curl-curl problem.
Find such that
where are real-valued and is a scalar. Boundary terms from integration by parts are assumed to vanish. The equation is discretized as
where and are WeightedMassOperators and
is the vector of coefficients of the projection of into the discrete space .
Variables it advances
The variables this step updates over a time step dt, and the discrete spaces each one accepts.
| Name | Kind | Accepted spaces |
|---|---|---|
e | FEECVariable | Hcurl |
Options
Set these on the propagator in a parameter file, for example CurlCurlSolve.Options(sigma=...).
| Option | Default | Choices | Description |
|---|---|---|---|
sigma | 1 | float | Coefficient multiplying the stabilization/mass contribution on the left-hand side. |
stab_mat | M1 | M1Id | Stabilization operator used in the term weighted by sigma. |
diffusion_mat | M2 | M2 | Diffusion metric in the bilinear form curl.T @ diffusion_mat @ curl. You can pass the name of a pre-built operator in mass_ops or a custom WeightedMassOperator compatible with the codomain of curl. |
x0 | None | StencilVector | Initial guess for the iterative linear solver. |
solver | pcg | pcgcg | Name of the symmetric iterative solver passed to inverse. |
precond | MassMatrixPreconditioner | MassMatrixPreconditionerMassMatrixDiagonalPreconditionerNone | Name of the preconditioner configuration. Currently this class sets pc=None internally, so this option is reserved for compatibility and future extensions. |
solver_params | None | SolverParameters | Iterative-solver controls (for example tol, maxiter, verbose, info, recycle). If None, defaults to SolverParameters(). |
Used by
No model in the catalogue currently composes this propagator — it is available for building new models.