12 #ifndef MFEM_VOLTA_SOLVER
13 #define MFEM_VOLTA_SOLVER
15 #include "../common/pfem_extras.hpp"
16 #include "../common/mesh_extras.hpp"
27 using common::H1_ParFESpace;
28 using common::ND_ParFESpace;
29 using common::RT_ParFESpace;
30 using common::L2_ParFESpace;
31 using common::ParDiscreteGradOperator;
32 using common::ParDiscreteDivOperator;
34 namespace electromagnetics
44 double (*phi_bc )(
const Vector&),
45 double (*rho_src)(
const Vector&),
124 double (*phi_bc_func_ )(
const Vector&);
125 double (*rho_src_func_)(
const Vector&);
128 const Vector & point_charge_params_;
130 std::vector<DeltaCoefficient*> point_charges_;
132 std::map<std::string,socketstream*> socks_;
141 #endif // MFEM_USE_MPI
143 #endif // MFEM_VOLTA_SOLVER
void WriteVisItFields(int it=0)
Base class for vector Coefficients that optionally depend on time and space.
A coefficient that is constant across space and time.
HYPRE_Int GetProblemSize()
VoltaSolver(ParMesh &pmesh, int order, Array< int > &dbcs, Vector &dbcv, Array< int > &nbcs, Vector &nbcv, Coefficient &epsCoef, double(*phi_bc)(const Vector &), double(*rho_src)(const Vector &), void(*p_src)(const Vector &, Vector &), Vector &point_charges)
void RegisterVisItFields(VisItDataCollection &visit_dc)
void GetErrorEstimates(Vector &errors)
Data collection with VisIt I/O routines.
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormI...
const ParGridFunction & GetVectorPotential()
Class for parallel grid function.
Class for parallel meshes.