Alsvinn  0.5.3
The fast FVM simulator with UQ support
DiffusionFactory.hpp
Go to the documentation of this file.
1 /* Copyright (c) 2018 ETH Zurich, Kjetil Olsen Lye
2  * This program is free software: you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation, either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program. If not, see <http://www.gnu.org/licenses/>.
14  */
15 
16 #pragma once
20 #include "alsfvm/grid/Grid.hpp"
21 
22 
23 namespace alsfvm {
24 namespace diffusion {
25 
27 public:
28  alsfvm::shared_ptr<DiffusionOperator> createDiffusionOperator(
29  const std::string& equation,
30  const std::string& diffusionType,
31  const std::string& reconstructionType,
32  const grid::Grid& grid,
34  alsfvm::shared_ptr<DeviceConfiguration> deviceConfiguration,
35  alsfvm::shared_ptr<memory::MemoryFactory>& memoryFactory,
36  volume::VolumeFactory& volumeFactory
37  );
38 };
39 } // namespace diffusion
40 } // namespace alsfvm
alsfvm::shared_ptr< memory::MemoryFactory > memoryFactory
Definition: VolumeFactory.cpp:86
alsfvm::shared_ptr< DeviceConfiguration > & deviceConfiguration
Definition: NumericalFluxFactory.cpp:103
Definition: Grid.hpp:27
const alsfvm::shared_ptr< simulator::SimulatorParameters > & simulatorParameters
Definition: NumericalFluxFactory.cpp:102
Definition: VolumeFactory.hpp:29
alsfvm::shared_ptr< DiffusionOperator > createDiffusionOperator(const std::string &equation, const std::string &diffusionType, const std::string &reconstructionType, const grid::Grid &grid, const simulator::SimulatorParameters &simulatorParameters, alsfvm::shared_ptr< DeviceConfiguration > deviceConfiguration, alsfvm::shared_ptr< memory::MemoryFactory > &memoryFactory, volume::VolumeFactory &volumeFactory)
Definition: DiffusionFactory.cpp:32
Definition: DiffusionFactory.hpp:26
const grid::Grid & grid
Definition: NumericalFluxFactory.cpp:104
Various utility functions to implement the tecno flux.
Definition: types.hpp:30
Definition: SimulatorParameters.hpp:22