CArl
Code Arlequin / C++ implementation
solver_files_setup.h
Go to the documentation of this file.
1 /*
2  * solver_files_setup.h
3  *
4  * Created on: Apr 23, 2017
5  * Author: Thiago Milanetto Schlittler
6  */
7 
8 #ifndef SOLVER_FILES_SETUP_H_
9 #define SOLVER_FILES_SETUP_H_
10 
11 #include "carl_headers.h"
14 
15 namespace carl
16 {
18 {
19 protected:
20 
21  libMesh::Parallel::Communicator& m_comm;
22 
26 
30 
33 
37 
40 
45 
50 
55 
56  void print_feti_setup_finish_params(const std::string& output_filename);
57  void print_feti_iterate_params(const std::string& output_filename);
58  void print_feti_solution_params(const std::string& output_filename);
59  void print_PBS_script(const std::string& output_filename, const std::string& job_name, const std::string& output_name, const std::string& error_name, const std::string& common_script, const std::string& command_to_run);
60 
67 
69 public:
70  Solver_Files_Setup(libMesh::Parallel::Communicator& comm) :
71  m_comm { comm },
72  m_bInputParamsSet { false },
73  m_bScratchFolderExists { false },
74  m_bSetExternalSolversInputFiles { false },
75  m_bSetExternalSolversFiles { false },
76  m_bSetCArlFETIInputs { false },
77  m_bSetCArlFETIScripts { false },
78  m_bSetFETILaunchScripts { false }
79  {
80  };
81 
82  Solver_Files_Setup(libMesh::Parallel::Communicator& comm, feti_setup_init_params& input_params) :
83  m_comm { comm },
84  m_bInputParamsSet { false },
85  m_bScratchFolderExists { false },
86  m_bSetExternalSolversInputFiles { false },
87  m_bSetExternalSolversFiles { false },
88  m_bSetCArlFETIInputs { false },
89  m_bSetCArlFETIScripts { false },
90  m_bSetFETILaunchScripts { false }
91  {
92  this->set_FETI_input_parameters(input_params);
93  }
94 
95  void set_FETI_input_parameters(feti_setup_init_params& input_params);
96 
97  void set_scratch_folder();
98 
100 
102 
103  void generate_FETI_scripts();
104 
105  void generate_FETI_inputs();
106 
108 };
109 }
110 
111 #endif /* SOLVER_FILES_SETUP_H_ */
std::string m_CArl_FETI_solution_script_filename
std::string m_CArl_FETI_setup_finish_script_filename
std::string m_FETI_iter_launch_script_filename
feti_setup_init_params m_input_params
std::string m_CArl_FETI_iterate_script_filename
std::string m_CArl_FETI_solution_input_filename
void set_FETI_input_parameters(feti_setup_init_params &input_params)
std::string m_ext_solver_u0_B_script_filename
std::string m_CArl_FETI_iterate_input_filename
void print_feti_iterate_params(const std::string &output_filename)
Solver_Files_Setup(libMesh::Parallel::Communicator &comm)
std::string m_ext_solver_u0_A_input_filename
void print_feti_solution_params(const std::string &output_filename)
std::string m_ext_solver_u0_B_input_filename
libMesh::Parallel::Communicator & m_comm
std::string m_FETI_init_launch_script_filename
Structure containing the parameters for the setup initialization of the FETI solver.
std::string m_ext_solver_B_input_filename
std::string m_ext_solver_A_script_filename
void print_feti_setup_finish_params(const std::string &output_filename)
std::string m_ext_solver_B_script_filename
std::string m_FETI_sol_launch_script_filename
std::string m_CArl_FETI_setup_finish_input_filename
std::string m_ext_solver_u0_A_script_filename
Solver_Files_Setup(libMesh::Parallel::Communicator &comm, feti_setup_init_params &input_params)
std::string m_ext_solver_A_input_filename
void print_PBS_script(const std::string &output_filename, const std::string &job_name, const std::string &output_name, const std::string &error_name, const std::string &common_script, const std::string &command_to_run)