Function ImmersX::Vascularization::save_network(const std::filesystem::path&, const NetworkData&, const std::vector<Territory>&, const std::vector<TerminalPair>&, MPI_Comm)¶
Defined in File io.h
Function Documentation¶
-
void ImmersX::Vascularization::save_network(const std::filesystem::path &directory, const NetworkData &network, const std::vector<Territory> &territories, const std::vector<TerminalPair> &terminal_pairs, MPI_Comm communicator)¶
Save a physical network collectively to a new directory on a shared filesystem.
Each part holds at most 1024 owned records of each kind. Owned vessels and terminals are written once; node ghosts retain endpoint information. Territories and pairs belong to their arterial endpoint owner and are supplied once globally. All stable ids, coordinates, taper, viscosity, extra properties, port normals, provenance, demands and positive bed resistances are retained.
The target directory must not exist. A manifest is published only after every part is closed successfully. A failed write may leave parts without a manifest; these are not a readable archive. No graph is gathered. Invalid data and filesystem failures throw collectively. Input is unchanged.