Skip to content
main.cpp 1.14 KiB
Newer Older
#include <cassert>
#include <chrono>
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <string>
#include <thread>
#include <vector>

#include "MpiEnvironment.hpp"
#include "MpiWireworld.hpp"
#include "WireWorld.hpp"

using namespace std::string_literals;

int main(int argc, char* argv[]) {
Thomas Steinreiter's avatar
Thomas Steinreiter committed
	const auto& starttime = std::chrono::system_clock::now();

	MpiEnvironment env(argc, argv);
	MpiWireworld ww(env, argv[1]);
	if (env.worldRank() == 0) { std::cout << ww << '\n'; }
	// std::ifstream wwInFile(argv[1]);

	// WireWorld grid{wwInFile};

	//if (env.isMaster()) { auto err = std::system("clear"); }
	//if (env.isMaster()) std::cout << ww << '\n';
	for (std::size_t i{0}; i < 0; ++i) {
		using namespace std::chrono_literals;
		std::this_thread::sleep_for(.5s);

		ww.simulateStep();
		if (env.isMaster()) { auto err = std::system("clear"); }
		if (env.isMaster()) std::cout << ww << '\n';
	if (env.isMaster()) {
		std::cout
		    << "Execution time:"
		    << std::chrono::duration<double>{std::chrono::system_clock::now() -
		                                     starttime}
		           .count()
		    << "s\n";
	}
	return EXIT_SUCCESS;