12 #ifndef MFEM_TESLA_SOLVER
13 #define MFEM_TESLA_SOLVER
15 #include "../common/pfem_extras.hpp"
25 using miniapps::H1_ParFESpace;
26 using miniapps::ND_ParFESpace;
27 using miniapps::RT_ParFESpace;
28 using miniapps::ParDiscreteGradOperator;
29 using miniapps::ParDiscreteCurlOperator;
30 using miniapps::DivergenceFreeProjector;
32 namespace electromagnetics
37 static double mu0_ = 4.0e-7*M_PI;
121 std::map<std::string,socketstream*> socks_;
168 #endif // MFEM_USE_MPI
170 #endif // MFEM_TESLA_SOLVER
Abstract parallel finite element space.
void GetErrorEstimates(Vector &errors)
ParGridFunction * GetPsi()
The BoomerAMG solver in hypre.
SurfaceCurrent(ParFiniteElementSpace &H1FESpace, ParDiscreteGradOperator &Grad, Array< int > &kbcs, Array< int > &vbcs, Vector &vbcv)
Data collection with VisIt I/O routines.
HYPRE_Int GetProblemSize()
void RegisterVisItFields(VisItDataCollection &visit_dc)
Base class Coefficient that may optionally depend on time.
void WriteVisItFields(int it=0)
const ParGridFunction & GetVectorPotential()
void ComputeSurfaceCurrent(ParGridFunction &k)
Class for parallel grid function.
Wrapper for hypre's ParCSR matrix class.
Class for parallel meshes.
TeslaSolver(ParMesh &pmesh, int order, Array< int > &kbcs, Array< int > &vbcs, Vector &vbcv, Coefficient &muInvCoef, void(*a_bc)(const Vector &, Vector &), void(*j_src)(const Vector &, Vector &), void(*m_src)(const Vector &, Vector &))