Skip to content

Commit cb4d2c7

Browse files
authored
[WIP] - Remove solver warnings (chaos-polymtl#1254)
Description This is a follow up to chaos-polymtl#1243 but for the solvers library. Testing All tests should pass. Former-commit-id: 65020c6
1 parent 4cf745f commit cb4d2c7

19 files changed

+279
-293
lines changed

include/solvers/flow_control.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,10 @@ class FlowControl
124124
}
125125

126126
void
127-
save(std::string prefix);
127+
save(const std::string &prefix);
128128

129129
void
130-
read(std::string prefix);
130+
read(const std::string &prefix);
131131

132132
private:
133133
// The coefficients are stored in the following fashion :

include/solvers/fluid_dynamics_matrix_free.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,14 @@ class MFNavierStokesPreconditionGMG
7474
* @param[in] fe Describes the FE system for the vector-valued problem.
7575
*/
7676
MFNavierStokesPreconditionGMG(
77-
const SimulationParameters<dim> &simulation_parameters,
78-
const DoFHandler<dim> &dof_handler,
79-
const DoFHandler<dim> &dof_handler_fe_q_iso_q1,
80-
const std::shared_ptr<Mapping<dim>> &mapping,
81-
const std::shared_ptr<Quadrature<dim>> &cell_quadrature,
82-
const std::shared_ptr<Function<dim>> forcing_function,
83-
const std::shared_ptr<SimulationControl> simulation_control,
84-
const std::shared_ptr<FESystem<dim>> fe);
77+
const SimulationParameters<dim> &simulation_parameters,
78+
const DoFHandler<dim> &dof_handler,
79+
const DoFHandler<dim> &dof_handler_fe_q_iso_q1,
80+
const std::shared_ptr<Mapping<dim>> &mapping,
81+
const std::shared_ptr<Quadrature<dim>> &cell_quadrature,
82+
const std::shared_ptr<Function<dim>> forcing_function,
83+
const std::shared_ptr<SimulationControl> &simulation_control,
84+
const std::shared_ptr<FESystem<dim>> fe);
8585

8686
/**
8787
* @brief Initialize smoother, coarse grid solver and multigrid object
@@ -95,9 +95,9 @@ class MFNavierStokesPreconditionGMG
9595
* derivatives of previous solutions.
9696
*/
9797
void
98-
initialize(const std::shared_ptr<SimulationControl> simulation_control,
99-
FlowControl<dim> &flow_control,
100-
const VectorType &present_solution,
98+
initialize(const std::shared_ptr<SimulationControl> &simulation_control,
99+
FlowControl<dim> &flow_control,
100+
const VectorType &present_solution,
101101
const VectorType &time_derivative_previous_solutions);
102102

103103
/**

include/solvers/fluid_dynamics_matrix_free_operators.h

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,17 @@ class NavierStokesOperatorBase : public Subscriptor
7979
* residual on or off.
8080
*/
8181
NavierStokesOperatorBase(
82-
const Mapping<dim> &mapping,
83-
const DoFHandler<dim> &dof_handler,
84-
const AffineConstraints<number> &constraints,
85-
const Quadrature<dim> &quadrature,
86-
const std::shared_ptr<Function<dim>> forcing_function,
87-
const double kinematic_viscosity,
88-
const StabilizationType stabilization,
89-
const unsigned int mg_level,
90-
std::shared_ptr<SimulationControl> simulation_control,
91-
const bool &enable_hessians_jacobian,
92-
const bool &enable_hessians_residual);
82+
const Mapping<dim> &mapping,
83+
const DoFHandler<dim> &dof_handler,
84+
const AffineConstraints<number> &constraints,
85+
const Quadrature<dim> &quadrature,
86+
const std::shared_ptr<Function<dim>> forcing_function,
87+
const double kinematic_viscosity,
88+
const StabilizationType stabilization,
89+
const unsigned int mg_level,
90+
const std::shared_ptr<SimulationControl> &simulation_control,
91+
const bool &enable_hessians_jacobian,
92+
const bool &enable_hessians_residual);
9393

9494
/**
9595
* @brief Initialize the main matrix free object that contains all data and is
@@ -113,17 +113,17 @@ class NavierStokesOperatorBase : public Subscriptor
113113
* residual on or off.
114114
*/
115115
void
116-
reinit(const Mapping<dim> &mapping,
117-
const DoFHandler<dim> &dof_handler,
118-
const AffineConstraints<number> &constraints,
119-
const Quadrature<dim> &quadrature,
120-
const std::shared_ptr<Function<dim>> forcing_function,
121-
const double kinematic_viscosity,
122-
const StabilizationType stabilization,
123-
const unsigned int mg_level,
124-
std::shared_ptr<SimulationControl> simulation_control,
125-
const bool &enable_hessians_jacobian,
126-
const bool &enable_hessians_residual);
116+
reinit(const Mapping<dim> &mapping,
117+
const DoFHandler<dim> &dof_handler,
118+
const AffineConstraints<number> &constraints,
119+
const Quadrature<dim> &quadrature,
120+
const std::shared_ptr<Function<dim>> forcing_function,
121+
const double kinematic_viscosity,
122+
const StabilizationType stabilization,
123+
const unsigned int mg_level,
124+
const std::shared_ptr<SimulationControl> &simulation_control,
125+
const bool &enable_hessians_jacobian,
126+
const bool &enable_hessians_residual);
127127

128128
/**
129129
* @brief Compute the element size h of the cells required to calculate

include/solvers/postprocessing_velocities.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ class AverageVelocities
194194
* @return Vector with average values.
195195
*/
196196
std::vector<const VectorType *>
197-
save(std::string prefix);
197+
save(const std::string &prefix);
198198

199199
/**
200200
* @brief Read checkpoints to continuing averaging after restart.
@@ -204,7 +204,7 @@ class AverageVelocities
204204
* @return Vector with average values.
205205
*/
206206
std::vector<VectorType *>
207-
read(std::string prefix);
207+
read(const std::string &prefix);
208208

209209
private:
210210
/**

include/solvers/tracer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ class Tracer : public AuxiliaryPhysics<dim, GlobalVectorType>
388388
* @brief Writes the tracer flow rates to an output file
389389
*/
390390
void
391-
write_tracer_flow_rates(const std::vector<double> tracer_flow_rate_vector);
391+
write_tracer_flow_rates(const std::vector<double> &tracer_flow_rate_vector);
392392

393393
/**
394394
* @brief Writes the tracer statistics to an output file

source/solvers/cahn_hilliard.cc

Lines changed: 29 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ CahnHilliard<dim>::setup_assemblers()
5151
// Time-stepping schemes
5252
if (is_bdf(this->simulation_control->get_assembly_method()))
5353
{
54-
this->assemblers.push_back(
54+
this->assemblers.emplace_back(
5555
std::make_shared<CahnHilliardAssemblerBDF<dim>>(
5656
this->simulation_control));
5757
}
@@ -63,7 +63,7 @@ CahnHilliard<dim>::setup_assemblers()
6363
// to the constructor separately.
6464

6565
// Angle of contact boundary condition
66-
this->assemblers.push_back(
66+
this->assemblers.emplace_back(
6767
std::make_shared<CahnHilliardAssemblerAngleOfContact<dim>>(
6868
this->simulation_control,
6969
this->simulation_parameters.multiphysics.cahn_hilliard_parameters,
@@ -75,7 +75,7 @@ CahnHilliard<dim>::setup_assemblers()
7575
this->simulation_parameters.boundary_conditions_cahn_hilliard));
7676

7777
// Free angle of contact boundary condition
78-
this->assemblers.push_back(
78+
this->assemblers.emplace_back(
7979
std::make_shared<CahnHilliardAssemblerFreeAngle<dim>>(
8080
this->simulation_control,
8181
this->simulation_parameters.multiphysics.cahn_hilliard_parameters,
@@ -87,14 +87,15 @@ CahnHilliard<dim>::setup_assemblers()
8787
this->simulation_parameters.boundary_conditions_cahn_hilliard));
8888

8989
// Core assembler
90-
this->assemblers.push_back(std::make_shared<CahnHilliardAssemblerCore<dim>>(
91-
this->simulation_control,
92-
this->simulation_parameters.multiphysics.cahn_hilliard_parameters,
93-
(this->simulation_parameters.multiphysics.cahn_hilliard_parameters
94-
.epsilon_set_method == Parameters::EpsilonSetMethod::manual) ?
95-
this->simulation_parameters.multiphysics.cahn_hilliard_parameters
96-
.epsilon :
97-
GridTools::minimal_cell_diameter(*triangulation)));
90+
this->assemblers.emplace_back(
91+
std::make_shared<CahnHilliardAssemblerCore<dim>>(
92+
this->simulation_control,
93+
this->simulation_parameters.multiphysics.cahn_hilliard_parameters,
94+
(this->simulation_parameters.multiphysics.cahn_hilliard_parameters
95+
.epsilon_set_method == Parameters::EpsilonSetMethod::manual) ?
96+
this->simulation_parameters.multiphysics.cahn_hilliard_parameters
97+
.epsilon :
98+
GridTools::minimal_cell_diameter(*triangulation)));
9899
}
99100

100101
template <int dim>
@@ -299,12 +300,12 @@ CahnHilliard<dim>::attach_solution_to_output(DataOut<dim> &data_out)
299300
// phase order (Phi) and the following one is the chemical potential (eta)
300301

301302
std::vector<std::string> solution_names;
302-
solution_names.push_back("phase_order");
303-
solution_names.push_back("chemical_potential");
303+
solution_names.emplace_back("phase_order");
304+
solution_names.emplace_back("chemical_potential");
304305

305306
std::vector<std::string> solution_names_filtered;
306-
solution_names_filtered.push_back("phase_order_filtered");
307-
solution_names_filtered.push_back("chemical_potential_filtered");
307+
solution_names_filtered.emplace_back("phase_order_filtered");
308+
solution_names_filtered.emplace_back("chemical_potential_filtered");
308309

309310
std::vector<DataComponentInterpretation::DataComponentInterpretation>
310311
data_component_interpretation(
@@ -783,14 +784,14 @@ CahnHilliard<dim>::postprocess(bool first_iteration)
783784
std::string independent_column_names = "time";
784785

785786
std::vector<std::string> dependent_column_names;
786-
dependent_column_names.push_back("x_cahn_hilliard");
787-
dependent_column_names.push_back("y_cahn_hilliard");
787+
dependent_column_names.emplace_back("x_cahn_hilliard");
788+
dependent_column_names.emplace_back("y_cahn_hilliard");
788789
if constexpr (dim == 3)
789-
dependent_column_names.push_back("z_cahn_hilliard");
790-
dependent_column_names.push_back("vx_cahn_hilliard");
791-
dependent_column_names.push_back("vy_cahn_hilliard");
790+
dependent_column_names.emplace_back("z_cahn_hilliard");
791+
dependent_column_names.emplace_back("vx_cahn_hilliard");
792+
dependent_column_names.emplace_back("vy_cahn_hilliard");
792793
if constexpr (dim == 3)
793-
dependent_column_names.push_back("vz_cahn_hilliard");
794+
dependent_column_names.emplace_back("vz_cahn_hilliard");
794795

795796
std::vector<Tensor<1, dim>> position_vector{
796797
position_and_velocity.first};
@@ -941,10 +942,10 @@ CahnHilliard<dim>::write_checkpoint()
941942
parallel::distributed::SolutionTransfer<dim, GlobalVectorType>>(
942943
dof_handler);
943944

944-
sol_set_transfer.push_back(&present_solution);
945-
for (unsigned int i = 0; i < previous_solutions.size(); ++i)
945+
sol_set_transfer.emplace_back(&present_solution);
946+
for (const auto &previous_solution : previous_solutions)
946947
{
947-
sol_set_transfer.push_back(&previous_solutions[i]);
948+
sol_set_transfer.emplace_back(&previous_solution);
948949
}
949950
solution_transfer->prepare_for_serialization(sol_set_transfer);
950951

@@ -1491,14 +1492,10 @@ CahnHilliard<dim>::output_newton_update_norms(
14911492
double local_max = std::numeric_limits<double>::lowest();
14921493

14931494

1494-
for (auto j = index_set_phase_order[0].begin();
1495-
j != index_set_phase_order[0].end();
1496-
j++)
1495+
for (const auto &j : index_set_phase_order[0])
14971496
{
1498-
double dof_newton_update = newton_update[*j];
1499-
1497+
double dof_newton_update = newton_update[j];
15001498
local_sum += dof_newton_update * dof_newton_update;
1501-
15021499
local_max = std::max(local_max, std::abs(dof_newton_update));
15031500
}
15041501

@@ -1511,14 +1508,10 @@ CahnHilliard<dim>::output_newton_update_norms(
15111508
local_sum = 0.0;
15121509
local_max = std::numeric_limits<double>::lowest();
15131510

1514-
for (auto j = index_set_chemical_potential[1].begin();
1515-
j != index_set_chemical_potential[1].end();
1516-
j++)
1511+
for (const auto &j : index_set_chemical_potential[0])
15171512
{
1518-
double dof_newton_update = newton_update[*j];
1519-
1513+
double dof_newton_update = newton_update[j];
15201514
local_sum += dof_newton_update * dof_newton_update;
1521-
15221515
local_max = std::max(local_max, std::abs(dof_newton_update));
15231516
}
15241517

source/solvers/flow_control.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ FlowControl<dim>::calculate_beta(const double &average_velocity_n,
100100

101101
template <int dim>
102102
void
103-
FlowControl<dim>::save(std::string prefix)
103+
FlowControl<dim>::save(const std::string &prefix)
104104
{
105105
std::string filename = prefix + ".flowcontrol";
106106
std::ofstream output(filename.c_str());
@@ -113,7 +113,7 @@ FlowControl<dim>::save(std::string prefix)
113113

114114
template <int dim>
115115
void
116-
FlowControl<dim>::read(std::string prefix)
116+
FlowControl<dim>::read(const std::string &prefix)
117117
{
118118
std::string filename = prefix + ".flowcontrol";
119119
std::ifstream input(filename.c_str());

0 commit comments

Comments
 (0)