WarpX
Loading...
Searching...
No Matches
GetTemperature.H
Go to the documentation of this file.
1/* Copyright 2021 Hannah Klion
2 *
3 *
4 * This file is part of WarpX.
5 *
6 * License: BSD-3-Clause-LBNL
7 */
8
9#ifndef WARPX_GET_TEMPERATURE_H_
10#define WARPX_GET_TEMPERATURE_H_
11
13
23{
24 /* Type of temperature initialization */
26
27 /* Constant temperature value, if m_type == TempConstantValue */
29 /* Temperature parser function, if m_type == TempParserFunction */
31
38 explicit GetTemperature (TemperatureProperties const& temp) noexcept;
39
52 amrex::Real operator() (amrex::Real const x, amrex::Real const y, amrex::Real const z) const noexcept
53 {
54 switch (m_type)
55 {
56 case (TempConstantValue):
57 {
58 return m_temperature;
59 }
60 case (TempParserFunction):
61 {
62 return m_temperature_parser(x,y,z);
63 }
64 default:
65 {
66 amrex::Abort("Get initial temperature: unknown type");
67 return 0.0;
68 }
69 }
70 }
71};
73{
74 /* Type of temperature initialization */
76
85 explicit GetTemperatureVector (TemperatureProperties const& temp) noexcept;
86
99 amrex::XDim3 operator() (amrex::Real const x, amrex::Real const y, amrex::Real const z) const noexcept
100 {
101 switch (m_type)
102 {
103 case (TempConstantVector):
104 {
106 }
108 {
109 return amrex::XDim3{m_ux_std_parser(x,y,z), m_uy_std_parser(x,y,z), m_uz_std_parser(x,y,z)};
110 }
111 default:
112 {
113 amrex::Abort("Get initial temperature: unknown type");
114 return amrex::XDim3{0.0, 0.0, 0.0};
115 }
116 }
117 }
118};
119#endif //WARPX_GET_TEMPERATURE_H_
#define AMREX_GPU_HOST_DEVICE
TemperatureInitType
Definition TemperatureProperties.H:17
@ TempConstantValue
Definition TemperatureProperties.H:18
@ TempParserFunctionVector
Definition TemperatureProperties.H:20
@ TempConstantVector
Definition TemperatureProperties.H:21
@ TempParserFunction
Definition TemperatureProperties.H:19
amrex_real Real
void Abort(const std::string &msg)
GetTemperature(TemperatureProperties const &temp) noexcept
Construct the functor with information provided by temp.
Definition GetTemperature.cpp:12
amrex::Real m_temperature
Definition GetTemperature.H:28
TemperatureInitType m_type
Definition GetTemperature.H:25
AMREX_GPU_HOST_DEVICE amrex::Real operator()(amrex::Real const x, amrex::Real const y, amrex::Real const z) const noexcept
Functor call. Returns the value of temperature at the location (x,y,z)
Definition GetTemperature.H:52
amrex::ParserExecutor< 3 > m_temperature_parser
Definition GetTemperature.H:30
amrex::Real m_uy_std
Definition GetTemperature.H:77
amrex::ParserExecutor< 3 > m_uz_std_parser
Definition GetTemperature.H:78
amrex::Real m_ux_std
Definition GetTemperature.H:77
TemperatureInitType m_type
Definition GetTemperature.H:75
amrex::Real m_uz_std
Definition GetTemperature.H:77
amrex::ParserExecutor< 3 > m_ux_std_parser
Definition GetTemperature.H:78
GetTemperatureVector(TemperatureProperties const &temp) noexcept
Construct the functor with information provided by temp.
Definition GetTemperature.cpp:24
amrex::ParserExecutor< 3 > m_uy_std_parser
Definition GetTemperature.H:78
AMREX_GPU_HOST_DEVICE amrex::XDim3 operator()(amrex::Real const x, amrex::Real const y, amrex::Real const z) const noexcept
Functor call. Returns the value of temperature at the location (x,y,z)
Definition GetTemperature.H:99
Struct to store temperature properties, for use in momentum initialization.
Definition TemperatureProperties.H:32