21namespace PhreeqcIOData
24 std::string
const& file_extension)
29 MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank);
30 return project_file_name +
"_phreeqc_pid_" + std::to_string(mpi_rank) +
34 return project_file_name +
"_phreeqc" + file_extension;
38 bool const use_high_precision_)
40 use_high_precision(use_high_precision_)
47 os <<
"SELECTED_OUTPUT"
49 os <<
"-file " << basic_output_setups.
output_file <<
"\n";
50 os <<
"-high_precision " << std::boolalpha
52 os <<
"-simulation " << std::boolalpha
70 auto const component_items =
73 for (
auto const& component_item : component_items)
75 os <<
" " << component_item.name;
79 auto const equilibrium_phase_items =
81 if (!equilibrium_phase_items.empty())
83 os <<
"-equilibrium_phases";
84 for (
auto const& equilibrium_phase_item : equilibrium_phase_items)
86 os <<
" " << equilibrium_phase_item.name;
91 auto const kinetic_reactant_items =
93 if (!kinetic_reactant_items.empty())
95 os <<
"-kinetic_reactants";
96 for (
auto const& kinetic_reactant_item : kinetic_reactant_items)
98 os <<
" " << kinetic_reactant_item.name;
std::string const output_file
static const bool display_time_step
bool const use_high_precision
static const bool display_distance
static const bool display_state
static const bool display_simulation_id
static const bool display_current_time
BasicOutputSetups(std::string const &project_file_name, bool const use_high_precision_)
std::ostream & operator<<(std::ostream &os, PhreeqcIO const &phreeqc_io)
std::string specifyFileName(std::string const &project_file_name, std::string const &file_extension)
BasicOutputSetups const basic_output_setups
std::vector< OutputItem > getOutputItemsByItemType(ItemType item_type) const