Skip to content

Draft: First Steps of vel. term in A_Psi, A_V Formulation

Lukas Schafferhofer requested to merge LukasSchaff/cfs:A_Psi_AND_A_V into master

The velocity terms should be implemented in the MagEdgeMixecAVPDE (A-V,A) formulation:

\int_{\Omega} (\nabla \times \mathbf{A}) \cdot \nu (\nabla \times \mathbf{A}^{'}) + \int_{\Omega_{\mathbf{v},c,i}} \gamma \nabla V \cdot \mathbf{A}^{'} {\color{purple}- \int_{\Omega_{\mathbf{v}}} \gamma(\mathbf{v} \times (\nabla \times \mathbf{A}))} \cdot \mathbf{A}^{'} = \int_{\Omega_i} {\color{blue} \mathbf{J_i}}\cdot \mathbf{A}^{'}
\int_{\Omega_{\mathbf{v},c,i}} \nabla V^{'} \cdot \gamma \nabla V {\color{purple} - \int_{\Omega_{\mathbf{v}}} \nabla V^{'} \cdot \gamma (\mathbf{v} \times (\nabla \times \mathbf{A})} = \mathbf{0},

where the index \mathbf{v} stands for the moving conducter region, the index c stands for the non-moving conducter region and the index i stands for the inductor region (like a coil).

Velocity Terms can be easily implemented with the already implemented integrators (CurlOperatorMag)

Coils must also be implemented, in order to use this formulation for the defined problem. The idea is to use MagEdgeSpecialAVPDE as a template.

velocity is being defined as a PtrCoefFct in the formulation.

For the A-Psi,A Formulation there has to be implemented two integrators. For both it is necessary to create new integrators.

\int_{\Omega} (\nabla \times {\mathbf{A}}) \nu (\nabla \times {\mathbf{A}^{'}}) + \int_{\Omega_{\mathbf{v}}} {\color{purple}\gamma_{\mathbf{v}} \nabla(\mathbf{A} \cdot \mathbf{v})} + \int_{\Omega_{\mathbf{v}}} (\nabla \cdot {\mathbf{A}}) \nu_{\mathbf{v}} (\nabla \cdot{\mathbf{A}^{'}})  {\color{purple}- \int_{\Omega_{\mathbf{v}}} \gamma(\mathbf{v} \times (\nabla \times \mathbf{A}))} \cdot \mathbf{A}^{'}
    = \int_{\Omega_i} {\color{blue} \mathbf{J_i}}\cdot \mathbf{A}^{'}

div(A): here the divergence operator has to be extend for the FeHCurl space. Because there is no global derivative available for this class, the operator has to be implemented directly in HCurlElemsHi.

grad(A*v): here the velocity is being defined as a PtrCoefFct in the formulation. The idea is to make a new integrator in the gradientOperator class. More specific, we compute the innerproduct of two shape functions and compute the gradient of this inner product, the velocity and the magnetic vector potential should be multiplied to the gradient.

Check before assigning to a maintainer for review

  • The history is clean
  • New Code is well-documented and understandable
  • There is a test case (in case of new functionality)
  • Every commit passes the pipeline

Maintainer checks before merge

  • Review is approved, and all comments are resolved
  • Check for Testsuite changes, if yes check
    • Testsuite merge request merges fast-forward
    • Testsuite-submodule SHA of every CFS commit references a commit in Testsuite Merge Request
    • Testsuite-submodule SHA of last CFS commit points to HEAD of corresponding Testsuite branch
  • Pipeline passes for every commit
    • all tests of the stage test pass
    • tests in the stage test_extra run
    • new tests are actually running (e.g. check if they appear on CDash)
Edited by Lukas Schafferhofer

Merge request reports

Loading