Neko
0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
map_file.f90
Go to the documentation of this file.
1
! Copyright (c) 2019-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
!
35
module
map_file
36
use
generic_file
37
use
utils
38
use
comm
39
use
map
40
implicit none
41
private
42
44
type
,
public
,
extends
(
generic_file_t
) ::
map_file_t
45
contains
46
procedure
:: read =>
map_file_read
47
procedure
:: write =>
map_file_write
48
end type
map_file_t
49
50
contains
51
53
subroutine
map_file_read
(this, data)
54
class
(
map_file_t
) :: this
55
class
(*),
target
,
intent(inout)
:: data
56
type
(
map_t
),
pointer
:: nm
57
integer
:: j, k, neli, nnzi, ierr
58
59
call
this%check_exists()
60
61
select type
(data)
62
type is
(
map_t
)
63
nm =>
data
64
class default
65
call
neko_error
(
"Invalid output data"
)
66
end select
67
68
open
(unit=10,
file
=trim(this%fname), status=
'old'
, iostat=ierr)
69
if
(
pe_rank
.eq. 0)
then
70
write
(*,
'(A,A)'
)
" Reading NEKTON map file "
, this%fname
71
end if
72
73
read
(10, *) neli, nnzi
74
76
77
do
j = 1, nm%nel
78
read
(10, *) nm%imap(j),(nm%vertex(k, j), k=1,nm%nlv)
79
end do
80
81
close
(unit=10)
82
83
end subroutine
map_file_read
84
85
subroutine
map_file_write
(this, data, t)
86
class
(
map_file_t
),
intent(inout)
:: this
87
class
(*),
target
,
intent(in)
:: data
88
real
(kind=rp),
intent(in)
,
optional
:: t
89
call
neko_error
(
"Not implemented yet!"
)
90
end subroutine
map_file_write
91
92
end module
map_file
utils::neko_error
Definition
utils.f90:42
comm
Definition
comm.F90:1
comm::pe_rank
integer pe_rank
MPI rank.
Definition
comm.F90:28
file
Module for file I/O operations.
Definition
file.f90:34
generic_file
Definition
generic_file.f90:33
map_file
NEKTON map file.
Definition
map_file.f90:35
map_file::map_file_write
subroutine map_file_write(this, data, t)
Definition
map_file.f90:86
map_file::map_file_read
subroutine map_file_read(this, data)
Load NEKTON map file.
Definition
map_file.f90:54
map
NEKTON map.
Definition
map.f90:3
utils
Utilities.
Definition
utils.f90:35
generic_file::generic_file_t
A generic file handler.
Definition
generic_file.f90:38
map::map_t
NEKTON vertex mapping.
Definition
map.f90:8
map_file::map_file_t
Interface for NEKTON map files.
Definition
map_file.f90:44
src
io
map_file.f90
Generated on Sun Dec 22 2024 03:38:31 for Neko by
1.9.8