Neko
1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
el_finder.f90
Go to the documentation of this file.
1
! Copyright (c) 2020-2023, 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
!
33
34
module
el_finder
35
use
num_types
,
only
:
rp
36
use
stack
,
only
:
stack_i4_t
37
use
point
,
only
:
point_t
38
implicit none
39
private
40
43
type
,
public
,
abstract
::
el_finder_t
44
contains
45
procedure
(
el_finder_free
), pass(this),
deferred
:: free
46
procedure
(
el_finder_find
), pass(this),
deferred
:: find
47
procedure
(
el_finder_find_batch
), pass(this),
deferred
:: find_batch
48
end type
el_finder_t
49
50
abstract
interface
51
subroutine
el_finder_free
(this)
52
import
el_finder_t
53
class
(
el_finder_t
),
intent(inout)
:: this
54
end subroutine
el_finder_free
55
end interface
56
57
abstract
interface
58
subroutine
el_finder_find
(this, my_point, el_candidates)
59
import
rp
60
import
stack_i4_t
61
import
point_t
62
import
el_finder_t
63
implicit none
64
class
(
el_finder_t
),
intent(inout)
:: this
65
type
(
point_t
),
intent(in)
:: my_point
66
type
(
stack_i4_t
),
intent(inout)
:: el_candidates
67
end subroutine
el_finder_find
68
end interface
69
70
abstract
interface
71
subroutine
el_finder_find_batch
(this, points, n_points, all_el_candidates, n_el_cands)
72
import
rp
73
import
stack_i4_t
74
import
point_t
75
import
el_finder_t
76
implicit none
77
class
(
el_finder_t
),
intent(inout)
:: this
78
integer
,
intent(in)
:: n_points
79
real
(kind=
rp
),
intent(in)
:: points(3,n_points)
80
type
(
stack_i4_t
),
intent(inout)
:: all_el_candidates
81
integer
,
intent(inout)
:: n_el_cands(n_points)
82
end subroutine
el_finder_find_batch
83
end interface
84
end module
el_finder
el_finder::el_finder_find_batch
Definition
el_finder.f90:71
el_finder::el_finder_find
Definition
el_finder.f90:58
el_finder::el_finder_free
Definition
el_finder.f90:51
el_finder
Definition
el_finder.f90:34
num_types
Definition
num_types.f90:1
num_types::rp
integer, parameter, public rp
Global precision used in computations.
Definition
num_types.f90:12
point
Implements a point.
Definition
point.f90:35
stack
Implements a dynamic stack ADT.
Definition
stack.f90:35
el_finder::el_finder_t
Base type for element finder providing element candidates for a given point in the domain.
Definition
el_finder.f90:43
point::point_t
A point in with coordinates .
Definition
point.f90:43
stack::stack_i4_t
Integer based stack.
Definition
stack.f90:63
src
global_interpolation
el_finder.f90
Generated on Sat Oct 11 2025 03:40:39 for Neko by
1.9.8