1#ifndef EPSILON_SCALING_HANDLER_H
2#define EPSILON_SCALING_HANDLER_H
4#include <deal.II/base/conditional_ostream.h>
5#include <deal.II/base/mpi.h>
11using namespace dealii;
47 unsigned int num_levels);
88 const std::vector<double>& epsilon_sequence,
89 unsigned int num_levels);
Handler for epsilon scaling in multilevel optimization.
MPI_Comm mpi_communicator
The MPI communicator.
double initial_epsilon
The initial epsilon value.
void print_epsilon_distribution() const
Print the epsilon distribution.
double scaling_factor
The scaling factor for epsilon.
std::vector< double > generate_epsilon_sequence() const
Generate the sequence of epsilon values.
std::vector< std::vector< double > > distribute_epsilon_values(const std::vector< double > &epsilon_sequence, unsigned int num_levels)
Distribute epsilon values across levels.
std::vector< std::vector< double > > epsilon_distribution
The computed epsilon distribution.
const std::vector< double > & get_epsilon_values_for_level(unsigned int level_index) const
Get epsilon values for a specific level.
unsigned int num_steps
The total number of epsilon scaling steps.
std::vector< std::vector< double > > compute_epsilon_distribution(unsigned int num_levels)
Compute epsilon distribution for multilevel optimization.
ConditionalOStream pcout
A conditional output stream for parallel printing.
const unsigned int this_mpi_process
The rank of the current MPI process.