61 int main(
int argc,
char** argv) {
64 libMesh::LibMeshInit init(argc, argv);
67 libMesh::PerfLog perf_log(
"Main program");
70 libMesh::Parallel::Communicator& WorldComm = init.comm();
73 int rank = WorldComm.rank();
74 int nodes = WorldComm.size();
79 GetPot command_line(argc, argv);
85 std::string input_filename;
86 if (command_line.search(2,
"--inputfile",
"-i")) {
87 input_filename = command_line.next(input_filename);
88 field_parser.parse_input_file(input_filename,
"#",
"\n",
" \t\n");
90 field_parser = command_line;
151 if(WorldComm.rank() == 0)
153 std::string iter_script_command =
". " + input_params.
scratch_folder_path +
"/FETI_iter_script.sh";
156 std::cout <<
" !!! LOCAL test: MPI commands cannot be launched recursivelly !!! " << std::endl;
157 std::cout <<
" Run the following program by hand: " << std::endl;
158 std::cout << iter_script_command << std::endl;
void export_inital_vecs()
Export the initial iteration vectors, r(0) and p(0)
void get_input_params(GetPot &field_parser, feti_iterate_params &input_params)
Parser function for the coupled solver test programs.
carl::BaseCGPrecondType CG_precond_type
[CG] Type of preconditionner.
std::string exec_command(const std::string &cmd)
void set_coupling_matrix_R_micro()
Read the mediator - micro system coupling matrix.
bool bUseRigidBodyModes
[RB] Use the rigid body modes for the micro system?
std::string scratch_folder_path
Path to the folder which will be used to save the temporary files during the solve operation...
ClusterSchedulerType scheduler
Cluster scheduler software type. Values: PBS, SLURM (code not implemented for the later yet)...
void calculate_initial_p()
Calculate the initial p(0) vector.
Class containing the operations needed for the FETI solver.
void read_null_space_vecs(const std::string &RB_vectors_base, int nb_of_rb_vectors)
Read the null space vectors.
std::string RB_vectors_base
[RB] Common path base for the micro system's rigid body mode vectors.
void calculate_rb_correction()
Calculate the rigid body modes corrections.
void export_initial_scalar_data()
Export the initial iteration scalar data, rho(0) and | RB_corr(0) |
int nb_of_rb_vectors
[RB] Number of RB mode vectors.
Structure containing the parameters for the setup initialization of the FETI solver.
void set_coupling_matrix_R_BIG()
Read the mediator - macro system coupling matrix.
void read_null_space_inv_RITRI_mat()
Read the matrix.
void using_rb_modes(bool bUseRigidBodyModes)
Set up the.
void read_decoupled_solutions()
Read the decoupled solutions, .
void read_ext_solver_output()
Read the latest external solver output.
int main(int argc, char **argv)
void calculate_initial_r()
Calculate the inital residual vector, r(0)
void export_ext_solver_rhs_initial()
Calculate and export the external solver RHS's for the first iteration.
void set_preconditioner(BaseCGPrecondType CG_precond_type, bool bInitialSet=true)
std::string coupling_folder_path
Folder containing the coupling matrices.