36submodule(neko_top) neko_top_source_terms
37 use source_term,
only: source_term_t, source_term_allocate, &
53 module subroutine register_source_terms()
54 procedure(source_term_allocate),
pointer :: adjoint_lube
55 procedure(source_term_allocate),
pointer :: adjoint_minimum_dissipation
56 procedure(source_term_allocate),
pointer :: adjoint_mixing_scalar
57 procedure(source_term_allocate),
pointer :: adjoint_scalar_convection
58 procedure(source_term_allocate),
pointer :: simple_brinkman
62 adjoint_lube_source_term_allocate
63 adjoint_minimum_dissipation => &
64 adjoint_minimum_dissipation_source_term_allocate
65 adjoint_mixing_scalar => &
66 adjoint_mixing_scalar_source_term_allocate
67 adjoint_scalar_convection => &
68 adjoint_scalar_convection_source_term_allocate
70 simple_brinkman_source_term_allocate
73 call register_source_term(
'adjoint_lube', &
75 call register_source_term(
'adjoint_minimum_dissipation', &
76 adjoint_minimum_dissipation)
77 call register_source_term(
'adjoint_mixing_scalar', &
78 adjoint_mixing_scalar)
79 call register_source_term(
'adjoint_scalar_convection', &
80 adjoint_scalar_convection)
81 call register_source_term(
'simple_brinkman', &
83 end subroutine register_source_terms
89 subroutine adjoint_lube_source_term_allocate(obj)
90 class(source_term_t),
allocatable,
intent(inout) :: obj
92 end subroutine adjoint_lube_source_term_allocate
95 subroutine adjoint_minimum_dissipation_source_term_allocate(obj)
96 class(source_term_t),
allocatable,
intent(inout) :: obj
98 end subroutine adjoint_minimum_dissipation_source_term_allocate
101 subroutine adjoint_mixing_scalar_source_term_allocate(obj)
102 class(source_term_t),
allocatable,
intent(inout) :: obj
104 end subroutine adjoint_mixing_scalar_source_term_allocate
107 subroutine adjoint_scalar_convection_source_term_allocate(obj)
108 class(source_term_t),
allocatable,
intent(inout) :: obj
110 end subroutine adjoint_scalar_convection_source_term_allocate
113 subroutine simple_brinkman_source_term_allocate(obj)
114 class(source_term_t),
allocatable,
intent(inout) :: obj
116 end subroutine simple_brinkman_source_term_allocate
118end submodule neko_top_source_terms
Implements the adjoint_lube_source_term_t type.
Implements the adjoint_minimum_dissipation_source_term_t type.
Implements the adjoint_mixing_scalar_source_term type.
Implements the adjoint_scalar_convection_source_term type.
Implements the simple_brinkman_source_term_t type.
A adjoint source term corresponding to an objective of.
An adjoint source term for objectives of minimum dissipation.
A simple Brinkman source term.