PRISMS-PF Manual
Loading...
Searching...
No Matches
read_field_factory.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2025 PRISMS Center at the University of Michigan
2// SPDX-License-Identifier: GNU Lesser General Public Version 2.1
3
4#pragma once
5
6#include <deal.II/base/exceptions.h>
7
9
12
15
17
18#ifdef PRISMS_PF_WITH_VTK
20#endif
21
23
29enum class Type
30{
33};
34
35template <unsigned int dim, typename number>
36std::shared_ptr<ReadFieldBase<dim, number>>
38 const SpatialDiscretization<dim> &spatial_discretization)
39{
40 switch (ic_file.dataset_format)
41 {
43#ifdef PRISMS_PF_WITH_VTK
44 return std::make_shared<ReadUnstructuredVTK<dim, number>>(ic_file,
45 spatial_discretization);
46#else
47 AssertThrow(false,
48 dealii::ExcMessage(
49 "You are trying to read a VTK file as an input; however, PRISMS-PF "
50 "was not built with VTK. Please reconfig PRISMS-PF with VTK using "
51 "-D PRISMS_PF_WITH_VTK=ON"));
52#endif
54 return std::make_shared<ReadBinary<dim, number>>(ic_file, spatial_discretization);
55 default:
57 }
58}
59
Class to read in a flat binary file and provide values at given points.
Definition read_binary.h:32
@ Value
Use value of the variable as a criterion for refinement.
Definition grid_refiner_criterion.h:31
Definition conditional_ostreams.cc:20
Type
Factory function to create appropriate reader based on input file type not a member of ReadFieldBase ...
Definition read_field_factory.h:30
@ ReadUnstructuredVTK
std::shared_ptr< ReadFieldBase< dim, number > > create_reader(const InitialConditionFile &ic_file, const SpatialDiscretization< dim > &spatial_discretization)
Definition read_field_factory.h:37
Struct that store the read-in information for a single file.
Definition load_initial_condition_parameters.h:25
DataFormatType dataset_format
Definition load_initial_condition_parameters.h:30
Struct that holds spatial discretization parameters.
Definition spatial_discretization.h:230
@ VTKUnstructuredGrid
Definition type_enums.h:111
@ FlatBinary
Definition type_enums.h:112