OGS
ChemistryLib::PhreeqcIOData::Dump Struct Reference

Detailed Description

Definition at line 20 of file Dump.h.

#include <Dump.h>

Public Member Functions

 Dump (std::string const &project_file_name)
void print (std::ostream &os, std::size_t const num_chemical_systems) const
void readDumpFile (std::istream &in, std::size_t const num_chemical_systems)

Public Attributes

std::string const dump_file
std::vector< std::string > aqueous_solutions_prev

Constructor & Destructor Documentation

◆ Dump()

ChemistryLib::PhreeqcIOData::Dump::Dump ( std::string const & project_file_name)
inlineexplicit

Definition at line 22 of file Dump.h.

23 : dump_file(specifyFileName(project_file_name, ".dmp"))
24 {
25 try
26 {
27 if (std::filesystem::remove(dump_file))
28 {
29 INFO("Deleted the redundant phreeqc dump file {:s}\n",
30 dump_file);
31 }
32 }
33 catch (std::filesystem::filesystem_error const& e)
34 {
35 ERR("filesystem error: {:s}\n", e.what());
36 }
37 }
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:28
void ERR(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:40
std::string specifyFileName(std::string const &project_file_name, std::string const &file_extension)
std::string const dump_file
Definition Dump.h:43

References dump_file, ERR(), INFO(), and ChemistryLib::PhreeqcIOData::specifyFileName().

Member Function Documentation

◆ print()

void ChemistryLib::PhreeqcIOData::Dump::print ( std::ostream & os,
std::size_t const num_chemical_systems ) const

Definition at line 12 of file Dump.cpp.

13{
14 os << "DUMP"
15 << "\n";
16 os << "-file " << dump_file << "\n";
17 os << "-append false"
18 << "\n";
19 os << "-solution 1-" << num_chemical_systems << "\n";
20 os << "END"
21 << "\n";
22}

References dump_file.

◆ readDumpFile()

void ChemistryLib::PhreeqcIOData::Dump::readDumpFile ( std::istream & in,
std::size_t const num_chemical_systems )

Definition at line 24 of file Dump.cpp.

26{
28 aqueous_solutions_prev.reserve(num_chemical_systems);
29
30 std::string line;
31 std::string aqueous_solution_prev_;
32 std::size_t chemical_system_id = 0;
33 while (std::getline(in, line))
34 {
35 if (line.find("USE reaction_pressure none") != std::string::npos)
36 {
37 break;
38 }
39
40 if (line.find("SOLUTION_RAW") != std::string::npos)
41 {
42 aqueous_solution_prev_ =
43 "SOLUTION_RAW " +
44 std::to_string(num_chemical_systems + chemical_system_id + 1) +
45 "\n";
46 continue;
47 }
48
49 aqueous_solution_prev_ += line + "\n";
50
51 if (line.find("-gammas") != std::string::npos)
52 {
53 aqueous_solutions_prev.push_back(aqueous_solution_prev_);
54 aqueous_solution_prev_.clear();
55 ++chemical_system_id;
56 }
57 }
58}
std::vector< std::string > aqueous_solutions_prev
Definition Dump.h:44

References aqueous_solutions_prev.

Member Data Documentation

◆ aqueous_solutions_prev

std::vector<std::string> ChemistryLib::PhreeqcIOData::Dump::aqueous_solutions_prev

Definition at line 44 of file Dump.h.

Referenced by readDumpFile().

◆ dump_file

std::string const ChemistryLib::PhreeqcIOData::Dump::dump_file

Definition at line 43 of file Dump.h.

Referenced by Dump(), and print().


The documentation for this struct was generated from the following files: