Neko
0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
mean_sqr_flow.f90
Go to the documentation of this file.
1
! Copyright (c) 2021, 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
module
mean_sqr_flow
35
use
mean_sqr_field
,
only
:
mean_sqr_field_t
36
use
field
,
only
:
field_t
37
implicit none
38
private
39
40
type
,
public
::
mean_sqr_flow_t
41
type
(
mean_sqr_field_t
) :: uu
42
type
(
mean_sqr_field_t
) :: vv
43
type
(
mean_sqr_field_t
) :: ww
44
type
(
mean_sqr_field_t
) :: pp
45
contains
46
procedure
, pass(this) :: init =>
mean_sqr_flow_init
47
procedure
, pass(this) :: free =>
mean_sqr_flow_free
48
end type
mean_sqr_flow_t
49
50
contains
51
53
subroutine
mean_sqr_flow_init
(this, u, v, w, p)
54
class
(
mean_sqr_flow_t
),
intent(inout)
:: this
55
type
(
field_t
),
intent(in)
:: u
56
type
(
field_t
),
intent(in)
:: v
57
type
(
field_t
),
intent(in)
:: w
58
type
(
field_t
),
intent(in)
:: p
59
60
call
this%free()
61
62
call
this%uu%init(u)
63
call
this%vv%init(v)
64
call
this%ww%init(w)
65
call
this%pp%init(p)
66
67
end subroutine
mean_sqr_flow_init
68
69
71
subroutine
mean_sqr_flow_free
(this)
72
class
(
mean_sqr_flow_t
),
intent(inout)
:: this
73
74
call
this%uu%free()
75
call
this%vv%free()
76
call
this%ww%free()
77
call
this%pp%free()
78
79
end subroutine
mean_sqr_flow_free
80
81
end module
mean_sqr_flow
field
Defines a field.
Definition
field.f90:34
mean_sqr_field
Defines a mean square field.
Definition
mean_sqr_field.f90:35
mean_sqr_flow
Defines a mean squared flow field.
Definition
mean_sqr_flow.f90:34
mean_sqr_flow::mean_sqr_flow_init
subroutine mean_sqr_flow_init(this, u, v, w, p)
Initialize a mean squared flow field.
Definition
mean_sqr_flow.f90:54
mean_sqr_flow::mean_sqr_flow_free
subroutine mean_sqr_flow_free(this)
Deallocates a mean squared flow field.
Definition
mean_sqr_flow.f90:72
field::field_t
Definition
field.f90:46
mean_sqr_field::mean_sqr_field_t
Definition
mean_sqr_field.f90:44
mean_sqr_flow::mean_sqr_flow_t
Definition
mean_sqr_flow.f90:40
src
fluid
mean_sqr_flow.f90
Generated on Sun Dec 22 2024 03:38:31 for Neko by
1.9.8