16 if (field_parser.search(1,
"ClusterSchedulerType")) {
17 std::string cluster_scheduler_type;
18 cluster_scheduler_type = field_parser.next(cluster_scheduler_type);
19 if(cluster_scheduler_type ==
"LOCAL")
21 std::cout <<
" !!! WARNING: " << std::endl;
22 std::cout <<
" The LOCAL 'scheduler' type is only intended for small and fast test cases" << std::endl;
23 std::cout <<
" on computers without a job scheduler (PBS, SLURM). You will have to launch" << std::endl;
24 std::cout <<
" each script MANUALLY!!! Reason: MPI does not support recursive 'mpirun' calls" << std::endl;
28 else if(cluster_scheduler_type ==
"PBS") {
30 if (field_parser.search(1,
"ScriptFile")) {
36 else if(cluster_scheduler_type ==
"SLURM") {
38 if (field_parser.search(1,
"ScriptFile")) {
50 if (field_parser.search(1,
"ExtSolverA")) {
58 if (field_parser.search(1,
"ExtSolverB")) {
66 std::string ext_solver_type;
67 if (field_parser.search(1,
"ExtSolverAType")) {
68 ext_solver_type = field_parser.next(
70 std::cout << ext_solver_type << std::endl;
71 if(ext_solver_type ==
"LIBMESH_LINEAR")
81 if (field_parser.search(1,
"ExtSolverBType")) {
82 ext_solver_type = field_parser.next(
84 std::cout << ext_solver_type << std::endl;
85 if(ext_solver_type ==
"LIBMESH_LINEAR")
95 if (field_parser.search(1,
"ExtSolverAInput")) {
103 if (field_parser.search(1,
"ExtSolverBInput")) {
111 if (field_parser.search(1,
"ScratchFolderPath")) {
119 if (field_parser.search(1,
"CouplingMatricesFolder")) {
127 if (field_parser.search(1,
"UseRigidBodyModesB"))
130 if (field_parser.search(1,
"ExtForceSystemB")) {
138 if (field_parser.search(1,
"RBVectorBase")) {
146 if (field_parser.search(1,
"NbOfRBVectors")) {
165 if( field_parser.search(1,
"CoupledConvAbs") )
169 if( field_parser.search(1,
"CoupledConvRel") )
173 if( field_parser.search(1,
"CoupledCorrConvRel") )
177 if( field_parser.search(1,
"CoupledDiv") )
181 if( field_parser.search(1,
"CoupledIterMax") )
187 if ( field_parser.search(1,
"CGPreconditionerType") )
189 std::string CG_precond_type_string = field_parser.next(CG_precond_type_string);
190 if(CG_precond_type_string ==
"NONE")
192 else if(CG_precond_type_string ==
"Coupling_operator")
194 else if(CG_precond_type_string ==
"Coupling_operator_jacobi")
198 if (field_parser.search(1,
"OutputFolder")) {
bool bUseRigidBodyModes
[RB] Use the rigid body modes for the micro system?
double CG_coupled_div
[CG] Residual divergence.
void get_input_params(GetPot &field_parser, feti_iterate_params &input_params)
Parser function for the coupled solver test programs.
ClusterSchedulerType scheduler
Cluster scheduler software type. Values: PBS, SLURM (code not implemented for the later yet)...
std::string ext_solver_BIG_input
Path to a file containing the input parameters of the external solve for system A.
std::string scratch_folder_path
Path to the folder which will be used to save the temporary files during the solve operation...
std::string script_filename
Path to the file used to generate the scripts.
ExtSolverType ext_solver_BIG_type
Type of solver used for the external system A.
std::string ext_solver_micro_input
Path to a file containing the input parameters of the external solve for system B.
carl::BaseCGPrecondType CG_precond_type
[CG] Type of preconditionner.
std::string coupling_folder_path
Path to the folder containing the coupling matrices.
std::string RB_vectors_base
[RB] Common path base for the micro system's rigid body mode vectors.
double CG_coupled_conv_abs
[CG] Absolute residual convergence.
Structure containing the parameters for the setup initialization of the FETI solver.
int nb_of_rb_vectors
[RB] Number of RB mode vectors.
int CG_coupled_conv_max
[CG] Maximum number of iterations.
std::string ext_solver_micro
Command used for the external solver for system B.
double CG_coupled_conv_rel
[CG] Relative residual convergence.
std::string force_micro_path
[RB] Path to the vector containing the external forces for the system B.
std::string ext_solver_BIG
Command used for the external solver for system A.
double CG_coupled_conv_corr
[CG] Relative rigid body mode convergence.
std::string output_folder
Path to the coupled solution folder.