Theseus
Compressible flow solver
Loading...
Searching...
No Matches
SimFactory.hpp
Go to the documentation of this file.
1// Copyright (c) 2025-2026 Board of Trustees of the University of Illinois
2//
3// This file is part of Theseus.
4//
5// SPDX-License-Identifier: BSD-3-Clause
6#pragma once
7#include "mfem.hpp"
8#include "json.hpp"
9#include "RHSOperator.hpp"
10
11namespace Theseus
12{
13
14 template <typename GasT, typename InvFluxT>
16 {
17 using GasModel = GasT;
18 using InviscidFlux = InvFluxT;
19 };
20
21 // TODO: Update for LTE Tables
22 std::unique_ptr<Theseus::RHSOperatorBase>
23 MakeRHSOperator(const nlohmann::json& runtime,
24 std::shared_ptr<mfem::ParFiniteElementSpace> vfes,
25 std::shared_ptr<mfem::ParFiniteElementSpace> fes0,
26 std::shared_ptr<mfem::ParMesh> pmesh,
27 std::shared_ptr<mfem::ParGridFunction> eta,
28 std::shared_ptr<mfem::ParGridFunction> alpha,
29 std::vector<std::shared_ptr<mfem::ParGridFunction> > &grad_u,
30 std::shared_ptr<Prandtl::PerssonPeraireIndicator> indicator,
31 mfem::real_t alpha_max);
32}
33
34#include "SimFactory_impl.hpp"
Definition AxisymmetricGeometry.hpp:15
std::unique_ptr< Theseus::RHSOperatorBase > MakeRHSOperator(const nlohmann::json &runtime, std::shared_ptr< mfem::ParFiniteElementSpace > vfes, std::shared_ptr< mfem::ParFiniteElementSpace > fes0, std::shared_ptr< mfem::ParMesh > pmesh, std::shared_ptr< mfem::ParGridFunction > eta, std::shared_ptr< mfem::ParGridFunction > alpha, std::vector< std::shared_ptr< mfem::ParGridFunction > > &grad_u, std::shared_ptr< Prandtl::PerssonPeraireIndicator > indicator, mfem::real_t alpha_max)
Definition SimFactory_impl.hpp:59
Definition SimFactory.hpp:16
GasT GasModel
Definition SimFactory.hpp:17
InvFluxT InviscidFlux
Definition SimFactory.hpp:18