int GenerateCourantNumberRestabFile::CourantRestab(std::vector<Real>cour_numb){ DataCube datacube; ///==================================== /// Set Description ///==================================== { IndexDescription index; index.label = "timeStep"; index.name = "iTimeStep"; datacube.list_of_index_description.add(index); } { Restab::VariableDescription var; var.label = "Courant_number"; datacube.list_of_variable_description.add(var); } ///==================================== /// Add Step Values ///==================================== MapInteger step_index_values; MapReal step_var_values; Integer num_solution = cour_numb.size(); //!Steps for(Integer i = 1; i < num_solution; i++){ step_index_values.clear(); step_var_values.clear(); step_index_values.insert(KeyInteger("timeStep",i)); Real cour = cour_numb[i]; step_var_values.insert(KeyReal("Courant_number" ,cour)); datacube.table_of_index_values.add(step_index_values); datacube.table_of_variable_values.add(step_var_values); } ///====================================== /// Write Results ///====================================== String filename = "Courantresult"; //! Description String filenameDesc = filename + ".restab.desc"; String text_desc = datacube.toStringDescription(); //std::cout << text_desc << "\n"; datacube.writeDescription(filenameDesc); //! Data String filenameData = filename + ".restab"; String text_data = datacube.toStringData(); //std::cout << text_data << "\n"; datacube.writeData(filenameData); //====================================== return 0; }
int GenerateNumbComponentsRestabFile::ComponentsRestab( std::vector<std::unique_ptr<ISolverData>>&& vect_solution){ DataCube datacube; ///==================================== /// Set Description ///==================================== { IndexDescription index; index.label = "timeStep"; index.name = "iTimeStep"; datacube.list_of_index_description.add(index); } { Restab::VariableDescription var; var.label = "number_of_components"; datacube.list_of_variable_description.add(var); } ///==================================== /// Add Step Values ///==================================== MapInteger step_index_values; MapReal step_var_values; Integer num_solution = vect_solution.size(); //!Steps for(Integer i = 1; i < num_solution; i++){ step_index_values.clear(); step_var_values.clear(); step_index_values.insert(KeyInteger("timeStep",i)); IntegerVector ref = vect_solution[i]->getNumbComponentsSolve(); Integer numb_comp = ref.sum(); step_var_values.insert(KeyReal("number_of_components" ,numb_comp)); datacube.table_of_index_values.add(step_index_values); datacube.table_of_variable_values.add(step_var_values); } ///====================================== /// Write Results ///====================================== String filename = "Componentsresult"; //! Description String filenameDesc = filename + ".restab.desc"; String text_desc = datacube.toStringDescription(); //std::cout << text_desc << "\n"; datacube.writeDescription(filenameDesc); //! Data String filenameData = filename + ".restab"; String text_data = datacube.toStringData(); //std::cout << text_data << "\n"; datacube.writeData(filenameData); //====================================== return 0; }