|
numerics 0.1.0
|
#include <fields.hpp>
Static Public Member Functions | |
| static VectorField3D | current_density (const ScalarField3D &sigma, const ScalarField3D &phi) |
| Compute current density J = -sigma*grad(phi) [A/m^2]. | |
| 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 |
| mu_0 [H/m] | |
Definition at line 154 of file fields.hpp.
|
static |
Compute current density J = -sigma*grad(phi) [A/m^2].
Definition at line 189 of file fields.cpp.
References num::FieldSolver::gradient(), num::ScalarField3D::grid(), num::Grid3D::nx(), num::Grid3D::ny(), num::Grid3D::nz(), num::phi, num::VectorField3D::x, num::VectorField3D::y, and num::VectorField3D::z.
|
static |
Solve for static magnetic field B given current density J. Solves Laplacian(A) = -mu0*J (Coulomb gauge, Dirichlet A=0) via three CG solves, then returns B = curl(A).
Definition at line 205 of file fields.cpp.
References num::FieldSolver::curl(), num::ScalarField3D::dx(), num::ScalarField3D::grid(), 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.
|
staticconstexpr |