Fix magnetization coupling
Model-specific changes:
The propagator MagnetosonicCurruntCoupling5D
has been fixed.
In the old version, the Magnetization coupling term
\nabla \times \iint f_h \mu \mathbf{b}_0 d v_\parallel d \mu \times \tilde{\mathbf{B}}
was implemented as
\sum_k^{N_p} \omega_k \mu_k \left\{ (\hat \nabla \times \hat{\mathbf{b}}^1_0) \times \hat{\mathbf{B}}^2\right\}(\eta_k)
.
It was replaced with
\mathcal{T}_b^\top \mathbb{C}^\top \mathcal{P}_b^\top\sum_k^{N_p} \omega_k \mu_k \Lambda^0(\eta_k)
.
\mathcal{T}_b
is a time-dependent basis projection operator \tilde{\Pi} \left[ \hat{\mathbf{B}} \times \Lambda^\alpha \right]
which depends on \tilde{\mathbf{B}}
.
So the weights of the operator should be updated at every time steps.
*********** another approach to avoid projection into V⁰ space **************
- Projection operator
\mathcal{P}_b
is not used in here anymore, but instead accumulate\mathbf{b}_0 \cdot \Lambda²
directly with the accumulation filling weightB^\mu_p = \omega_p * \mu_p * \frac{1}{\sqrt{g(\boldsymbol \eta_p)}} \hat{\mathbf{b}}¹_0(\boldsymbol \eta_p) \,.
So then now Magnetization coupling term in MagnetosonicCurrentCoupling5D
step is
\mathcal{T}_b^\top \mathbb{C}^\top \underbrace{\text{ACC}}_{\in \mathbb{R}^{N²}}
.
This approach is also applied to another Magnetization coupling term in ShearAlfvénCurrentCoupling5D
- Codes are clean up based on the project documentation https://gitlab.mpcdf.mpg.de/struphy/struphy-projects/-/blob/main/running-projects/2022_DriftKineticCurrentCoupling.md?ref_type=heads
Documentation changes:
has also been changed accordingly.