1#ifndef PARAMETER_MANAGER_H
2#define PARAMETER_MANAGER_H
4#include <deal.II/base/parameter_acceptor.h>
5#include <deal.II/base/conditional_ostream.h>
6#include <deal.II/base/mpi.h>
11#define RESET "\033[0m"
12#define CYAN "\033[36m"
13#define BLUE "\033[34m"
14#define GREEN "\033[32m"
15#define MAGENTA "\033[35m"
16#define YELLOW "\033[33m"
21using namespace dealii;
void print_lloyd_parameters() const
LloydParameters lloyd_params_storage
virtual void print_parameters() const override
void print_task_information() const
const LloydParameters & get_lloyd_params() const
LloydParameters & lloyd_params
const TransportMapParameters & get_transport_map_params() const
ConditionalDensityParameters & conditional_density_params
MeshParameters & source_params
const unsigned int this_mpi_process
void print_section_header(const std::string §ion_name) const
MeshParameters target_params_storage
const MultilevelParameters & get_multilevel_params() const
const unsigned int n_mpi_processes
SolverParameters & solver_params
MultilevelParameters & multilevel_params
void print_power_diagram_parameters() const
ConditionalDensityParameters conditional_density_params_storage
const MPI_Comm & get_mpi_communicator() const
void print_conditional_density_parameters() const
const PowerDiagramParameters & get_power_diagram_params() const
const MeshParameters & get_target_params() const
void print_mesh_parameters() const
SolverParameters solver_params_storage
MeshParameters source_params_storage
MeshParameters & target_params
MPI_Comm mpi_communicator
virtual void print_parameters() const
void print_transport_map_parameters() const
std::string & selected_task
PowerDiagramParameters & power_diagram_params
std::string selected_task_storage
const ConditionalDensityParameters & get_conditional_density_params() const
const ConditionalOStream & get_pcout() const
const MeshParameters & get_source_params() const
TransportMapParameters transport_map_params_storage
MultilevelParameters multilevel_params_storage
void print_solver_parameters() const
std::string io_coding_storage
PowerDiagramParameters power_diagram_params_storage
void print_multilevel_parameters() const
void print_task_information() const
TransportMapParameters & transport_map_params
const SolverParameters & get_solver_params() const
unsigned int max_iterations
Number of max iterations.
double relative_tolerance
Convergence tolerance.
std::vector< unsigned int > indices
Indices for conditional density computation.
double truncation_radius
Truncation radius for conditional density computation (-1 = disabled)
std::string potential_folder
Folder to load potential from (empty = default)
bool use_custom_density
Whether to use custom density.
unsigned int n_refinements
Number of global refinement steps.
std::string density_field_name
Name of the field in the VTK file.
bool use_tetrahedral_mesh
Whether to use tetrahedral elements (3D only)
std::string grid_generator_arguments
Arguments for the grid generator.
std::string density_file_path
Path to the density file.
std::string grid_generator_function
Name of the grid generator function.
std::string density_file_format
Format of the density file (vtk/h5)
std::string source_hierarchy_dir
Source hierarchy directory.
bool target_enabled
Whether to use target multilevel approach.
bool source_enabled
Whether to use source multilevel approach.
bool use_softmax_potential_transfer
Use softmax for potential transfer between target levels.
int source_max_vertices
Maximum vertices for finest source level.
int target_min_points
Minimum points for coarsest target level.
std::string target_hierarchy_dir
Target hierarchy directory.
int target_max_points
Maximum points for finest target level.
bool use_python_clustering
Whether to use Python scripts for clustering.
std::string python_script_name
Name of the Python script to use.
int source_min_vertices
Minimum vertices for coarsest source level.
std::string output_prefix
Output directory prefix.
std::string implementation
Implementation choice (dealii/geogram)
unsigned int nb_points
Number of points for discretization.
std::string distance_threshold_type
Type of distance threshold bound (pointwise|integral|geometric)
double tolerance
Convergence tolerance.
unsigned int epsilon_scaling_steps
Number of scaling steps.
std::string solver_type
Type of optimization solver.
bool use_log_sum_exp_trick
Enable log-sum-exp trick for numerical stability with small entropy.
unsigned int quadrature_order
Order of quadrature formula.
unsigned int n_threads
Number of threads (0 = auto)
std::string solver_control_type
Type of solver control to use (l1norm/componentwise)
bool verbose_output
Enable detailed solver output.
unsigned int max_iterations
Maximum number of solver iterations.
bool use_epsilon_scaling
Enable epsilon scaling strategy.
double epsilon_scaling_factor
Factor for epsilon reduction.
double tau
Integral radius bound tolerance.
double epsilon
Entropy regularization parameter.
double truncation_radius
Truncation radius for map approximation (-1 = disabled)