ryujin
2.5.0 revision c64172211cf21344cb9b9b0f3a1266aa6400d392
Loading...
Searching...
No Matches
include
ryujin
scalar_conservation
initial_state_uniform.h
Go to the documentation of this file.
1
//
2
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3
// Copyright (C) 2022 - 2026 by the ryujin authors
4
//
5
6
#pragma once
7
8
#include <ryujin/base/compile_time_options.h>
9
#include <
ryujin/scalar_conservation/hyperbolic_system.h
>
10
#include <
ryujin/typed/initial_state.h
>
11
12
namespace
ryujin
13
{
14
namespace
ScalarConservation
15
{
16
struct
HyperbolicDescription;
17
23
template
<
int
dim,
typename
Number>
24
class
Uniform
:
public
InitialState
<HyperbolicDescription, dim, Number>
25
{
26
public
:
27
using
View
=
HyperbolicSystemView<dim, Number>
;
28
using
state_type
=
typename
View::state_type
;
29
30
Uniform
(
const
HyperbolicSystem
&hyperbolic_system,
31
const
std::string subsection)
32
:
InitialState
<
HyperbolicDescription
, dim, Number>(
"uniform"
,
33
subsection)
34
, hyperbolic_system(hyperbolic_system)
35
{
36
primitive_[0] = 1.0;
37
this->add_parameter(
38
"primitive state"
, primitive_,
"Initial 1d primitive state"
);
39
}
40
41
state_type
compute
(
const
dealii::Point<dim> &
/*point*/
,
42
Number
/*t*/
)
final
43
{
44
const
auto
view = hyperbolic_system.view<dim, Number>();
45
return
view.from_primitive_state(view.expand_state(primitive_));
46
}
47
48
private
:
49
const
HyperbolicSystem
&hyperbolic_system;
50
51
state_type
primitive_;
52
};
53
}
// namespace ScalarConservation
54
}
// namespace ryujin
ryujin::InitialState
Definition
initial_state.h:33
ryujin::InitialState< HyperbolicDescription, dim, Number >::HyperbolicSystem
typename HyperbolicDescription::HyperbolicSystem HyperbolicSystem
Definition
initial_state.h:35
ryujin::ScalarConservation::HyperbolicSystemView
Definition
hyperbolic_system.h:145
ryujin::ScalarConservation::HyperbolicSystemView::state_type
dealii::Tensor< 1, problem_dimension, Number > state_type
Definition
hyperbolic_system.h:170
ryujin::ScalarConservation::HyperbolicSystem
Definition
hyperbolic_system.h:45
ryujin::ScalarConservation::Uniform
Definition
initial_state_uniform.h:25
ryujin::ScalarConservation::Uniform::compute
state_type compute(const dealii::Point< dim > &, Number) final
Definition
initial_state_uniform.h:41
ryujin::ScalarConservation::Uniform::state_type
typename View::state_type state_type
Definition
initial_state_uniform.h:28
ryujin::ScalarConservation::Uniform::Uniform
Uniform(const HyperbolicSystem &hyperbolic_system, const std::string subsection)
Definition
initial_state_uniform.h:30
initial_state.h
ryujin
Definition
computing_timer.h:22
hyperbolic_system.h
ryujin::ScalarConservation::HyperbolicDescription
Definition
hyperbolic_description.h:29
Generated by
1.9.8