Branch data Line data Source code
1 : : // ***************************************************************************** 2 : : /*! 3 : : \file src/PDE/MultiSpecies/Physics/DGEuler.hpp 4 : : \copyright 2012-2015 J. Bakosi, 5 : : 2016-2018 Los Alamos National Security, LLC., 6 : : 2019-2021 Triad National Security, LLC. 7 : : All rights reserved. See the LICENSE file for details. 8 : : \brief Physics policy for the equations governing multi-species flow 9 : : using a DG method 10 : : \details This file defines a Physics policy class for the compressible 11 : : flow equations class dg::MultiSpecies, defined in 12 : : PDE/MultiSpecies/DGMultiSpecies.h. This specific algorithm solves the 13 : : equations of multi-species flow and uses a DG discretization scheme. See 14 : : PDE/MultiSpecies/Physics/DG.h for general requirements on Physics policy 15 : : classes for dg::MultiSpecies. 16 : : */ 17 : : // ***************************************************************************** 18 : : #ifndef MultiSpeciesPhysicsDGEuler_h 19 : : #define MultiSpeciesPhysicsDGEuler_h 20 : : 21 : : #include "Types.hpp" 22 : : #include "Exception.hpp" 23 : : #include "Inciter/Options/Physics.hpp" 24 : : 25 : : namespace inciter { 26 : : 27 : : namespace dg { 28 : : 29 : : //! MultiSpecies system of PDEs problem: Euler (inviscid) 30 : : //! \details This class is a no-op, consistent with no additional physics needed 31 : : //! to make the basic implementation in MultiSpecies the Euler equations 32 : : //! governing multi-material compressible flow. 33 : : class MultiSpeciesPhysicsEuler { 34 : : 35 : : public: 36 : : //! Compute the time step size restriction based on this physics 37 : : //! \return A large time step size, i.e., ignore 38 : : tk::real dtRestriction( 39 : : const tk::Fields&, 40 : : std::size_t, 41 : : const std::vector< int >& ) const 42 : : { return std::numeric_limits< tk::real >::max(); } 43 : : 44 : : //! Compute sources corresponding to this physics 45 : : void physSrc( 46 : : std::size_t, 47 : : tk::real, 48 : : const tk::Fields&, 49 : : const std::unordered_map< std::size_t, std::set< std::size_t > >&, 50 : : tk::Fields&, 51 : : std::vector< int >& ) const {} 52 : : 53 : : //! Return enum denoting physics policy 54 : : //! \return Enum denoting physics policy. 55 : 2271 : static ctr::PhysicsType type() noexcept { return ctr::PhysicsType::EULER; } 56 : : }; 57 : : 58 : : } // dg:: 59 : : 60 : : } // inciter:: 61 : : 62 : : #endif // CompFlowPhysicsDGMultiSpeciesEuler_h