76 int main(
int argc,
char** argv) {
79 libMesh::LibMeshInit init(argc, argv);
82 libMesh::PerfLog perf_log(
"Main program");
85 libMesh::Parallel::Communicator& WorldComm = init.comm();
88 int rank = WorldComm.rank();
89 int nodes = WorldComm.size();
94 GetPot command_line(argc, argv);
100 std::string input_filename;
101 if (command_line.search(2,
"--inputfile",
"-i")) {
102 input_filename = command_line.next(input_filename);
103 field_parser.parse_input_file(input_filename,
"#",
"\n",
" \t\n");
105 field_parser = command_line;
155 if(WorldComm.rank() == 0)
157 std::string init_script_command =
". " + input_params.
scratch_folder_path +
"/FETI_init_script.sh";
160 std::cout <<
" !!! LOCAL job 'scheduler: Run the following script manually: " << std::endl;
161 std::cout << init_script_command << std::endl << std::endl;
bool bUseRigidBodyModes
[RB] Use the rigid body modes for the micro system?
void set_null_space(const std::string &input_filename_base, int nb_of_vecs)
Set and print the null space vectors and matrices.
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 scratch_folder_path
Path to the folder which will be used to save the temporary files during the solve operation...
void generate_FETI_inputs()
void calculate_null_space_phi_0(const std::string &force_path)
Calculate the inital solution, .
std::string exec_command(const std::string &cmd)
void export_ext_solver_rhs_Ct_phi()
Calculate and export the external solver RHS's for the decoupled problem.
void set_coupling_matrix_R_micro()
Read the mediator - micro system coupling matrix.
std::string coupling_folder_path
Path to the folder containing the coupling matrices.
void generate_FETI_launch_scripts()
std::string RB_vectors_base
[RB] Common path base for the micro system's rigid body mode vectors.
Class containing the operations needed for the FETI solver.
void generate_libmesh_external_solver_scripts()
Structure containing the parameters for the setup initialization of the FETI solver.
void export_phi()
Export the current Lagrange multiplier / solution.
void set_scratch_folder()
int nb_of_rb_vectors
[RB] Number of RB mode vectors.
int main(int argc, char **argv)
void set_coupling_matrix_R_BIG()
Read the mediator - macro system coupling matrix.
void using_rb_modes(bool bUseRigidBodyModes)
Set up the.
std::string force_micro_path
[RB] Path to the vector containing the external forces for the system B.
void generate_FETI_scripts()
void generate_libmesh_external_solver_inputs()