Neko
1.99.2
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
euler_res_fctry.f90
Go to the documentation of this file.
1
! Copyright (c) 2025, The Neko Authors
2
! All rights reserved.
3
!
4
! Redistribution and use in source and binary forms, with or without
5
! modification, are permitted provided that the following conditions
6
! are met:
7
!
8
! * Redistributions of source code must retain the above copyright
9
! notice, this list of conditions and the following disclaimer.
10
!
11
! * Redistributions in binary form must reproduce the above
12
! copyright notice, this list of conditions and the following
13
! disclaimer in the documentation and/or other materials provided
14
! with the distribution.
15
!
16
! * Neither the name of the authors nor the names of its
17
! contributors may be used to endorse or promote products derived
18
! from this software without specific prior written permission.
19
!
20
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
! "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
! LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23
! FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24
! COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25
! INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26
! BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27
! LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
! CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
! LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30
! ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
! POSSIBILITY OF SUCH DAMAGE.
32
!
34
submodule(
euler_residual
) euler_res_fctry
35
use
neko_config
,
only
:
neko_bcknd_device
36
use
euler_res_cpu
,
only
:
euler_res_cpu_t
37
use
euler_res_device
,
only
:
euler_res_device_t
38
implicit none
39
40
contains
41
46
module
subroutine euler_rhs_factory(object)
47
class
(euler_rhs_t),
allocatable
,
intent(inout)
:: object
48
49
if
(
allocated
(object))
then
50
deallocate
(object)
51
end if
52
54
if
(
neko_bcknd_device
.eq. 1)
then
55
allocate
(
euler_res_device_t
::object)
56
else
57
allocate
(
euler_res_cpu_t
::object)
58
end if
59
60
end subroutine
euler_rhs_factory
61
62
end
submodule euler_res_fctry
euler_res_cpu
This module implements CPU-based residual calculations for the Euler equations.
Definition
euler_res_cpu.f90:36
euler_res_device
Definition
euler_res_device.F90:33
euler_residual
Definition
euler_res.f90:33
neko_config
Build configurations.
Definition
neko_config.f90:34
neko_config::neko_bcknd_device
integer, parameter neko_bcknd_device
Definition
neko_config.f90:44
euler_res_cpu::euler_res_cpu_t
Definition
euler_res_cpu.f90:51
euler_res_device::euler_res_device_t
Definition
euler_res_device.F90:50
src
fluid
euler_res_fctry.f90
Generated on Wed Jan 7 2026 03:54:34 for Neko by
1.9.8