Loading [MathJax]/extensions/tex2jax.js
Neko
0.9.99
A portable framework for high-order spectral element flow simulations
Toggle main menu visibility
Main Page
User Guide
Developer Guide
Modules
Modules List
Module Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions/Subroutines
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
a
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
x
z
Enumerator
c
h
Data Types
Data Types List
Data Type Index
Class Hierarchy
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions/Subroutines
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
z
Functions/Subroutines
_
a
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
z
Variables
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
z
Typedefs
Macros
_
c
d
g
h
m
n
p
s
Examples
▼
Neko
►
Neko Manual
User Guide
Developer Guide
►
Modules
►
Data Types
▼
Files
►
File List
►
File Members
►
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerator
Macros
Pages
Loading...
Searching...
No Matches
fluid_base_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(
fluid_scheme_base
) fluid_base_fctry
35
use
fluid_pnpn
,
only
:
fluid_pnpn_t
36
use
fluid_scheme_compressible_euler
,
only
:
fluid_scheme_compressible_euler_t
37
use
utils
,
only
:
concat_string_array
38
39
! List of all possible types created by the factory routine
40
character(len=20)
:: FLUID_KNOWN_TYPES(2) = [character(len=20) :: &
41
"pnpn"
,
"compressible"
]
42
43
contains
44
46
module
subroutine fluid_scheme_base_factory(object, type_name)
47
class
(fluid_scheme_base_t),
intent(inout)
,
allocatable
:: object
48
character(len=*)
:: type_name
49
character(len=:)
,
allocatable
:: type_string
50
51
if
(trim(type_name) .eq.
'pnpn'
)
then
52
allocate
(
fluid_pnpn_t
::object)
53
else
if
(trim(type_name) .eq.
'compressible'
)
then
54
allocate
(
fluid_scheme_compressible_euler_t
::object)
55
else
56
type_string =
concat_string_array
(fluid_known_types, &
57
new_line(
'A'
) //
"- "
, .true.)
58
call
neko_error
(
"Unknown fluid scheme type: "
&
59
// trim(type_name) //
". Known types are: "
&
60
// type_string)
61
end if
62
end subroutine
fluid_scheme_base_factory
63
64
end
submodule fluid_base_fctry
utils::neko_error
Definition
utils.f90:42
fluid_pnpn
Modular version of the Classic Nek5000 Pn/Pn formulation for fluids.
Definition
fluid_pnpn.f90:34
fluid_scheme_base
Definition
fluid_scheme_base.f90:33
fluid_scheme_compressible_euler
Definition
fluid_scheme_compressible_euler.f90:33
utils
Utilities.
Definition
utils.f90:35
utils::concat_string_array
character(:) function, allocatable, public concat_string_array(array, sep, prepend)
Concatenate an array of strings into one string with array items separated by spaces.
Definition
utils.f90:276
fluid_pnpn::fluid_pnpn_t
Definition
fluid_pnpn.f90:88
fluid_scheme_compressible_euler::fluid_scheme_compressible_euler_t
Definition
fluid_scheme_compressible_euler.f90:75
src
fluid
fluid_base_fctry.f90
Generated on Fri Mar 14 2025 03:42:46 for Neko by
1.9.8