/home/runner/work/kynema/kynema/kynema/src/utilities/netcdf/node_state_writer.hpp Source File

Kynema API: /home/runner/work/kynema/kynema/kynema/src/utilities/netcdf/node_state_writer.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
node_state_writer.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <algorithm>
4#include <array>
5#include <string>
6#include <vector>
7
8#include "netcdf_file.hpp"
9
10namespace kynema::util {
11
29public:
37 NodeStateWriter(const std::string& file_path, bool create, size_t num_nodes);
38
53 size_t timestep, const std::string& component_prefix, const std::vector<double>& x,
54 const std::vector<double>& y, const std::vector<double>& z, const std::vector<double>& i,
55 const std::vector<double>& j, const std::vector<double>& k,
56 const std::vector<double>& w = std::vector<double>()
57 ) const;
58
68 size_t timestep, const std::vector<double>& x, const std::vector<double>& y,
69 const std::vector<double>& z
70 ) const;
71
73 [[nodiscard]] const NetCDFFile& GetFile() const;
74
76 [[nodiscard]] size_t GetNumNodes() const;
77
78private:
79 NetCDFFile file_;
80 size_t num_nodes_;
81
89 void DefineStateVariables(
90 const std::string& prefix, const std::vector<int>& dimensions, bool has_w
91 );
92};
93
94} // namespace kynema::util
Class for managing NetCDF files for writing outputs.
Definition netcdf_file.hpp:12
Class for writing Kynema nodal state data to NetCDF-based output files.
Definition node_state_writer.hpp:28
size_t GetNumNodes() const
Get the number of nodes with state data in output file.
Definition node_state_writer.cpp:95
void WriteStateDataAtTimestep(size_t timestep, const std::string &component_prefix, const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z, const std::vector< double > &i, const std::vector< double > &j, const std::vector< double > &k, const std::vector< double > &w=std::vector< double >()) const
Writes state data for a specific timestep.
Definition node_state_writer.cpp:28
void WriteDeformationDataAtTimestep(size_t timestep, const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z) const
Write deformation data for all nodes at a timestep.
Definition node_state_writer.cpp:71
const NetCDFFile & GetFile() const
Get the NetCDF file object.
Definition node_state_writer.cpp:91
Definition aerodyn_inflow.hpp:15