Field propagator
VariationalEntropyEvolve
Advances s and u.
What it solves
FEEC discretization of the following equations:
find and such that
On the logical domain:
where depends on the chosen model. It is discretized as
where denotes the vector representing the linear form , that is the vector with components
and the weights in the the struphy.feec.basis_projection_ops.BasisProjectionOperator and the struphy.feec.mass.WeightedMassOperator are given by
\hat{\mathbf{u}}_h^{k} = (\mathbf{u}^{k})^\top \vec{\boldsymbol \Lambda}^v \in (V_h^0)^3 \, \text{for k in} \{n, n+1/2, n+1\}, \qquad \hat{s}_h^{k} = (s^{k})^\top \vec{\boldsymbol \Lambda}^3 \in V_h^3 \, \text{for k in} \{n, n+1/2, n+1\} \qquad \hat{\rho}_h^{n} = (\rho^{n})^\top \vec{\boldsymbol \Lambda}^3 \in V_h^3 \.
Variables it advances
The variables this step updates over a time step dt, and the discrete spaces each one accepts.
| Name | Kind | Accepted spaces |
|---|---|---|
s | FEECVariable | L2 |
u | FEECVariable | H1vec |
Options
Set these on the propagator in a parameter file, for example VariationalEntropyEvolve.Options(model=...).
| Option | Default | Choices | Description |
|---|---|---|---|
model | full | full | Entropy-evolution model selection. |
gamma | 1.66667 | float | Adiabatic index. |
solver | pcg | pcgcg | Linear solver for implicit substeps. |
precond | MassMatrixPreconditioner | MassMatrixPreconditionerMassMatrixDiagonalPreconditionerNone | Preconditioner used in linear solves. |
solver_params | None | SolverParameters | Linear-solver controls. |
nonlin_solver | None | NonlinearSolverParameters | Nonlinear iteration controls. |
Used by
Each model splits its time step into a sequence of propagators. This one appears in 3 models, at the position shown.