|
numerics
|
#include <fields.hpp>
Static Public Member Functions | |
| static VectorField3D | current_density (const ScalarField3D &sigma, const ScalarField3D &phi) |
| Compute current density J = −σ∇φ [A/m²]. | |
| static VectorField3D | solve_magnetic_field (const VectorField3D &J, double tol=1e-6, int max_iter=500) |
Static Public Attributes | |
| static constexpr double | MU0 = 1.2566370614e-6 |
| μ₀ [H/m] | |
Definition at line 97 of file fields.hpp.
|
static |
Compute current density J = −σ∇φ [A/m²].
Definition at line 120 of file fields.cpp.
References num::FieldSolver::gradient(), num::ScalarField3D::grid(), num::ipow(), num::Grid3D::nx(), num::phi, num::VectorField3D::x, num::VectorField3D::y, and num::VectorField3D::z.
Referenced by main().
|
static |
Solve for static magnetic field B given current density J. Solves ∆A = −μ₀J (Coulomb gauge, Dirichlet A=0) via three CG solves, then returns B = ∇×A.
Definition at line 136 of file fields.cpp.
References num::FieldSolver::curl(), num::ScalarField3D::dx(), num::ipow(), MU0, num::ScalarField3D::nx(), num::ScalarField3D::ny(), num::ScalarField3D::nz(), num::ScalarField3D::ox(), num::ScalarField3D::oy(), num::ScalarField3D::oz(), num::FieldSolver::solve_poisson(), num::VectorField3D::x, num::VectorField3D::y, and num::VectorField3D::z.
Referenced by main().