DOLFINx
0.12.0.0
DOLFINx C++
Toggle main menu visibility
Loading...
Searching...
No Matches
dolfinx
io
VTKFile.h
1
// Copyright (C) 2020 Garth N. Wells
2
//
3
// This file is part of DOLFINx (https://www.fenicsproject.org)
4
//
5
// SPDX-License-Identifier: LGPL-3.0-or-later
6
7
#pragma once
8
9
#include <concepts>
10
#include <dolfinx/common/MPI.h>
11
#include <dolfinx/common/types.h>
12
#include <filesystem>
13
#include <functional>
14
#include <memory>
15
#include <string>
16
#include <string_view>
17
18
namespace
pugi
19
{
20
class
xml_document;
21
}
22
23
namespace
dolfinx::fem
24
{
25
template
<dolfinx::scalar T, std::
float
ing_po
int
U>
26
class
Function
;
27
}
28
29
namespace
dolfinx::mesh
30
{
31
template
<std::
float
ing_po
int
T>
32
class
Mesh
;
33
}
34
35
namespace
dolfinx::io
36
{
37
47
class
VTKFile
48
{
49
public
:
51
VTKFile
(MPI_Comm comm,
const
std::filesystem::path& filename,
52
std::string_view file_mode);
53
54
// Copy constructor (deleted)
55
VTKFile
(
const
VTKFile
& file) =
delete
;
56
61
VTKFile
(
VTKFile
&& file)
noexcept
;
62
64
~VTKFile
();
65
66
// Copy assignment (deleted)
67
VTKFile
& operator=(
const
VTKFile
& file) =
delete
;
68
71
VTKFile
&
operator=
(
VTKFile
&& file)
noexcept
;
72
74
void
close
();
75
77
void
flush
();
78
85
template
<std::
float
ing_po
int
U>
86
void
write
(
const
mesh::Mesh<U>
&
mesh
,
double
t = 0.0);
87
104
template
<dolfinx::scalar T, std::
float
ing_po
int
U = scalar_value_t<T>>
105
void
106
write
(
const
std::vector<std::reference_wrapper<
const
fem::Function<T, U>
>>& u,
107
double
t);
108
109
private
:
110
std::unique_ptr<pugi::xml_document> _pvd_xml;
111
112
std::filesystem::path _filename;
113
114
// MPI communicator
115
dolfinx::MPI::Comm
_comm;
116
};
117
}
// namespace dolfinx::io
dolfinx::MPI::Comm
A duplicate MPI communicator and manage lifetime of the communicator.
Definition
MPI.h:47
dolfinx::fem::Function
Definition
Function.h:44
dolfinx::io::VTKFile::operator=
VTKFile & operator=(VTKFile &&file) noexcept
dolfinx::io::VTKFile::write
void write(const mesh::Mesh< U > &mesh, double t=0.0)
Write a mesh to file.
Definition
VTKFile.cpp:775
dolfinx::io::VTKFile::close
void close()
Close file.
Definition
VTKFile.cpp:743
dolfinx::io::VTKFile::flush
void flush()
Flushes XML files to disk.
Definition
VTKFile.cpp:760
dolfinx::io::VTKFile::VTKFile
VTKFile(VTKFile &&file) noexcept
dolfinx::io::VTKFile::VTKFile
VTKFile(MPI_Comm comm, const std::filesystem::path &filename, std::string_view file_mode)
Create VTK file.
Definition
VTKFile.cpp:717
dolfinx::mesh::Mesh
A Mesh consists of a set of connected and numbered mesh topological entities, and geometry data.
Definition
Mesh.h:25
dolfinx::fem
Finite element method functionality.
Definition
assemble_expression_impl.h:28
dolfinx::io
Support for file IO.
Definition
ADIOS2Writers.h:44
dolfinx::mesh
Mesh data structures and algorithms on meshes.
Definition
DofMap.h:32
Generated by
1.18.0