VirtualFluids 0.2.0
Parallel CFD LBM Solver
Loading...
Searching...
No Matches
MetaData.h
Go to the documentation of this file.
1//=======================================================================================
2// ____ ____ __ ______ __________ __ __ __ __
3// \ \ | | | | | _ \ |___ ___| | | | | / \ | |
4// \ \ | | | | | |_) | | | | | | | / \ | |
5// \ \ | | | | | _ / | | | | | | / /\ \ | |
6// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____
7// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______|
8// \ \ | | ________________________________________________________________
9// \ \ | | | ______________________________________________________________|
10// \ \| | | | __ __ __ __ ______ _______
11// \ | | |_____ | | | | | | | | | _ \ / _____)
12// \ | | _____| | | | | | | | | | | \ \ \_______
13// \ | | | | |_____ | \_/ | | | | |_/ / _____ |
14// \ _____| |__| |________| \_______/ |__| |______/ (_______/
15//
16// This file is part of VirtualFluids. VirtualFluids is free software: you can
17// redistribute it and/or modify it under the terms of the GNU General Public
18// License as published by the Free Software Foundation, either version 3 of
19// the License, or (at your option) any later version.
20//
21// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
22// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
23// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24// for more details.
25//
26// SPDX-License-Identifier: GPL-3.0-or-later
27// SPDX-FileCopyrightText: Copyright © VirtualFluids Project contributors, see AUTHORS.md in root folder
28//
33//=======================================================================================
34#ifndef VF_BASICS_METADATA_H
35#define VF_BASICS_METADATA_H
36
37#include <array>
38#include <string>
39#include <vector>
40
41#include "DataTypes.h"
42
43#include <logger/Logger.h>
44
45namespace vf::basics
46{
47
48std::string getCurrentTime();
49
51{
52 MetaData();
53
55 {
56 std::string startDateTime;
58
62
63 double nups;
64 std::string collisionKernel;
65
67 std::array<real, 3> quadricLimiters;
68 };
69
70 struct World
71 {
72 double length;
73 double velocity;
74 };
75
77 {
78 double dt;
79 double dx;
82 std::vector<int> numberOfNodesPerLevel;
83 };
84
85 struct BuildInfo
86 {
87 std::string git_commit_hash;
88 std::string git_branch;
89 std::string build_type;
90 std::string remote;
91 std::string compiler_flags;
92 std::string precision;
94 std::string compiler;
95 std::string compiler_version;
96#ifdef VF_MPI
97 std::string mpi_library;
98 std::string mpi_version;
99#endif
100#ifdef VF_OPENMP
101 std::string openmp_library;
102 std::string openmp_version;
103#endif
104 };
105
106 struct GPU
107 {
108 std::string name;
110 };
111
112 std::string name {};
113
116
117 std::string vf_hardware {};
118
123 std::vector<GPU> gpus;
124};
125
127
129
130} // namespace vf::basics
131
132#endif
133
std::shared_ptr< T > SPtr
unsigned int uint
Definition DataTypes.h:47
Simple configuration file.
void logPostSimulation(const MetaData &meta_data)
Definition MetaData.cpp:140
std::string getCurrentTime()
Definition MetaData.cpp:72
void logPreSimulation(const MetaData &meta_data)
Definition MetaData.cpp:82
std::vector< int > numberOfNodesPerLevel
Definition MetaData.h:82
std::string compute_capability
Definition MetaData.h:109
std::array< real, 3 > quadricLimiters
Definition MetaData.h:67
BuildInfo buildInfo
Definition MetaData.h:122
Simulation simulation
Definition MetaData.h:119
std::string vf_hardware
Definition MetaData.h:117
std::vector< GPU > gpus
Definition MetaData.h:123
std::string name
Definition MetaData.h:112
Discretization discretization
Definition MetaData.h:121