Skip to content

Commit 8f6c834

Browse files
Address PR feedback: EnergyNormSolver -> WeightedHCurlNormSolver
1 parent 69b743c commit 8f6c834

File tree

4 files changed

+15
-16
lines changed

4 files changed

+15
-16
lines changed

palace/linalg/hcurl.cpp

+6-7
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@
1515
namespace palace
1616
{
1717

18-
EnergyNormSolver::EnergyNormSolver(const MaterialOperator &mat_op,
19-
mfem::ParFiniteElementSpaceHierarchy &nd_fespaces,
20-
mfem::ParFiniteElementSpaceHierarchy &h1_fespaces,
21-
const std::vector<mfem::Array<int>> &nd_dbc_tdof_lists,
22-
const std::vector<mfem::Array<int>> &h1_dbc_tdof_lists,
23-
double tol, int max_it, int print,
24-
int pa_order_threshold)
18+
WeightedHCurlNormSolver::WeightedHCurlNormSolver(
19+
const MaterialOperator &mat_op, mfem::ParFiniteElementSpaceHierarchy &nd_fespaces,
20+
mfem::ParFiniteElementSpaceHierarchy &h1_fespaces,
21+
const std::vector<mfem::Array<int>> &nd_dbc_tdof_lists,
22+
const std::vector<mfem::Array<int>> &h1_dbc_tdof_lists, double tol, int max_it,
23+
int print, int pa_order_threshold)
2524
{
2625
constexpr int skip_zeros = 0;
2726
constexpr auto MatTypeMuInv = MaterialPropertyType::INV_PERMEABILITY;

palace/linalg/hcurl.hpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class MaterialOperator;
2727
//
2828
// This solver implements a solver for the operator K + M in a Nedelec space.
2929
//
30-
class EnergyNormSolver
30+
class WeightedHCurlNormSolver
3131
{
3232
private:
3333
// H(curl) norm operator A = K + M and its projection Gᵀ A G.
@@ -37,12 +37,12 @@ class EnergyNormSolver
3737
std::unique_ptr<KspSolver> ksp;
3838

3939
public:
40-
EnergyNormSolver(const MaterialOperator &mat_op,
41-
mfem::ParFiniteElementSpaceHierarchy &nd_fespaces,
42-
mfem::ParFiniteElementSpaceHierarchy &h1_fespaces,
43-
const std::vector<mfem::Array<int>> &nd_dbc_tdof_lists,
44-
const std::vector<mfem::Array<int>> &h1_dbc_tdof_lists, double tol,
45-
int max_it, int print, int pa_order_threshold);
40+
WeightedHCurlNormSolver(const MaterialOperator &mat_op,
41+
mfem::ParFiniteElementSpaceHierarchy &nd_fespaces,
42+
mfem::ParFiniteElementSpaceHierarchy &h1_fespaces,
43+
const std::vector<mfem::Array<int>> &nd_dbc_tdof_lists,
44+
const std::vector<mfem::Array<int>> &h1_dbc_tdof_lists,
45+
double tol, int max_it, int print, int pa_order_threshold);
4646

4747
const Operator &GetOperator() { return *A; }
4848

palace/models/romoperator.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ RomOperator::RomOperator(const IoData &iodata, SpaceOperator &spaceop) : spaceop
114114
if (iodata.solver.driven.adaptive_metric_aposteriori)
115115
{
116116
constexpr int curlcurl_verbose = 0;
117-
kspKM = std::make_unique<EnergyNormSolver>(
117+
kspKM = std::make_unique<WeightedHCurlNormSolver>(
118118
spaceop.GetMaterialOp(), spaceop.GetNDSpaces(), spaceop.GetH1Spaces(),
119119
spaceop.GetNDDbcTDofLists(), spaceop.GetH1DbcTDofLists(), iodata.solver.linear.tol,
120120
iodata.solver.linear.max_it, curlcurl_verbose, iodata.solver.pa_order_threshold);

palace/models/romoperator.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class RomOperator
4242
std::unique_ptr<ComplexKspSolver> ksp;
4343

4444
// Linear solver for inner product solves for error metric.
45-
std::unique_ptr<EnergyNormSolver> kspKM;
45+
std::unique_ptr<WeightedHCurlNormSolver> kspKM;
4646

4747
// PROM matrices and vectors.
4848
Eigen::MatrixXcd Kr, Mr, Cr, Ar;

0 commit comments

Comments
 (0)