ASPECT
entropy_table_lookup.h
Go to the documentation of this file.
1 // ------------------------------------------------------
2 //
3 // SPDX-License-Identifier: GPL-2.0-or-later
4 //
5 // SPDX-FileCopyrightText: Copyright (C) 2017-2026 by the ASPECT authors.
6 //
7 // This file is part of ASPECT.
8 //
9 // Detailed license information governing the source code and
10 // contributions can be found in the folder LICENSES and in
11 // LICENSE and CONTRIBUTING.md at the top level directory.
12 //
13 // ------------------------------------------------------
14 
15 
16 #ifndef _aspect_initial_composition_entropy_table_lookup_h
17 #define _aspect_initial_composition_entropy_table_lookup_h
18 
22 #include <aspect/utilities.h>
23 
24 namespace aspect
25 {
26  namespace InitialComposition
27  {
36  template <int dim>
37  class EntropyTableLookUp : public Interface<dim>,
38  public SimulatorAccess<dim>
39  {
40  public:
44  void initialize () override;
45 
50  double initial_composition (const Point<dim> &position,
51  const unsigned int compositional_index) const override;
52 
56  static
57  void
59 
63  void
64  parse_parameters (ParameterHandler &prm) override;
65 
66  private:
71  std::string data_directory;
75  std::string material_file_name;
76 
80  unsigned entropy_index;
81 
88  std::shared_ptr<const aspect::InitialTemperature::Manager<dim>> initial_temperature_manager;
89 
96  std::shared_ptr<const aspect::InitialComposition::Manager<dim>> initial_composition_manager;
97 
101  std::unique_ptr<Utilities::StructuredDataLookup<2>> material_lookup;
102  };
103  }
104 }
105 
106 
107 #endif
double initial_composition(const Point< dim > &position, const unsigned int compositional_index) const override
std::unique_ptr< Utilities::StructuredDataLookup< 2 > > material_lookup
std::shared_ptr< const aspect::InitialTemperature::Manager< dim > > initial_temperature_manager
static void declare_parameters(ParameterHandler &prm)
void parse_parameters(ParameterHandler &prm) override
std::shared_ptr< const aspect::InitialComposition::Manager< dim > > initial_composition_manager