Several updates to Variational models to run itpa test cases
Core changes:
in BasisProjectionOperator
: Allow to pass the Boundary projector and Polar extractor for the space of P by hand, to handle cases where one might not want to apply to boundary operator there.
in MassMatrixDiagonalPreconditioner
take the temporaries in the space of the matrix and not the WeightedMassOperator
as this might be the polar space.
in L2Projector
add a special case for Polar vector (as one need to use vector._tp_data
instead of directly vector._data
)
same in the evaluation methods for Fields
in the Derham class
add a parallel
method to PolarDerhamSpace
as this might be needed when building block operators, and remove direction
argument from update_ghost_regions
as this is not recognize by psydac. Also add an exchange_assembly_data
method, required by psydac when using BlockLinearOperators
.
Model-specific changes:
Removed VariationalBurgers
model as well as VariationalVelocityAdvection
propagator as they were not used, optimized and since the propagator was not part of the VariationalMHD
model I judged useless to keep it.
Update variational_utilities
to take into account possible polar splines and boundaries.
Update all the Variational models and propagator to take into account possible polar splines and boundaries.
Update the s0
method on MHDequilibrium
to not rely on p0
.
Add the p0
option to the AdhocTorus
equilibrium, this will add a constant to the pressure to avoid pressure dropping to 0 at the boundary, causing problem with the entropy going to minus infinity.
Add an optional parameter to TorusModesSin
with pfuns = sin
, allowing to have other modes then 1 for the prefactor.
Change the value of the form used in the approximation of the advection operator (now use an implicit approximation for more stability).
Documentation changes:
Update the docs with this new "implicit" transport operator.