ryujin
2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
source
shallow_water
initial_state_uniform.h
Go to the documentation of this file.
1
//
2
// SPDX-License-Identifier: Apache-2.0
3
// [LANL Copyright Statement]
4
// Copyright (C) 2022 - 2025 by the ryujin authors
5
// Copyright (C) 2023 - 2024 by Triad National Security, LLC
6
//
7
8
#pragma once
9
10
#include <compile_time_options.h>
11
12
#include <
initial_state_library.h
>
13
14
namespace
ryujin
15
{
16
namespace
ShallowWaterInitialStates
17
{
27
template
<
typename
Description,
int
dim,
typename
Number>
28
class
Uniform
:
public
InitialState
<Description, dim, Number>
29
{
30
public
:
31
using
HyperbolicSystem
=
typename
Description::HyperbolicSystem
;
32
using
View
=
typename
HyperbolicSystem::template
View<dim, Number>
;
33
using
state_type
=
typename
View::state_type;
34
35
Uniform
(
const
HyperbolicSystem
&hyperbolic_system,
36
const
std::string subsection)
37
:
InitialState
<
Description
, dim, Number>(
"uniform"
, subsection)
38
, hyperbolic_system_(hyperbolic_system)
39
{
40
primitive_[0] = 1.;
41
primitive_[1] = 1.;
42
this->add_parameter(
43
"primitive state"
, primitive_,
"Initial 1d primitive state (h, u)"
);
44
}
45
46
state_type
compute
(
const
dealii::Point<dim> &
/*point*/
,
47
Number
/*t*/
)
final
48
{
49
const
auto
view = hyperbolic_system_.template view<dim, Number>();
50
return
view.from_initial_state(primitive_);
51
}
52
53
/* Default bathymetry of 0 */
54
55
private
:
56
const
HyperbolicSystem
&hyperbolic_system_;
57
58
dealii::Tensor<1, 2, Number> primitive_;
59
};
60
61
}
// namespace ShallowWaterInitialStates
62
}
// namespace ryujin
ryujin::InitialState
Definition
initial_state_library.h:34
ryujin::ScalarConservation::HyperbolicSystem
Definition
hyperbolic_system.h:39
ryujin::ShallowWaterInitialStates::Uniform
Definition
initial_state_uniform.h:29
ryujin::ShallowWaterInitialStates::Uniform::Uniform
Uniform(const HyperbolicSystem &hyperbolic_system, const std::string subsection)
Definition
initial_state_uniform.h:35
ryujin::ShallowWaterInitialStates::Uniform::View
typename HyperbolicSystem::template View< dim, Number > View
Definition
initial_state_uniform.h:32
ryujin::ShallowWaterInitialStates::Uniform::HyperbolicSystem
typename Description::HyperbolicSystem HyperbolicSystem
Definition
initial_state_uniform.h:31
ryujin::ShallowWaterInitialStates::Uniform::compute
state_type compute(const dealii::Point< dim > &, Number) final
Definition
initial_state_uniform.h:46
ryujin::ShallowWaterInitialStates::Uniform::state_type
typename View::state_type state_type
Definition
initial_state_uniform.h:33
initial_state_library.h
ryujin
Definition
computing_timer.h:22
ryujin::Euler::Description
Definition
description.h:33
ryujin::Euler::Description::HyperbolicSystem
Euler::HyperbolicSystem HyperbolicSystem
Definition
description.h:34
Generated by
1.9.8