34submodule(neko_top) neko_top_source_terms
35 use source_term,
only: source_term_t, source_term_allocate, &
51 module subroutine register_source_terms()
52 procedure(source_term_allocate),
pointer :: adjoint_lube
53 procedure(source_term_allocate),
pointer :: adjoint_minimum_dissipation
54 procedure(source_term_allocate),
pointer :: adjoint_mixing_scalar
55 procedure(source_term_allocate),
pointer :: adjoint_scalar_convection
56 procedure(source_term_allocate),
pointer :: simple_brinkman
60 adjoint_lube_source_term_allocate
61 adjoint_minimum_dissipation => &
62 adjoint_minimum_dissipation_source_term_allocate
63 adjoint_mixing_scalar => &
64 adjoint_mixing_scalar_source_term_allocate
65 adjoint_scalar_convection => &
66 adjoint_scalar_convection_source_term_allocate
68 simple_brinkman_source_term_allocate
71 call register_source_term(
'adjoint_lube', &
73 call register_source_term(
'adjoint_minimum_dissipation', &
74 adjoint_minimum_dissipation)
75 call register_source_term(
'adjoint_mixing_scalar', &
76 adjoint_mixing_scalar)
77 call register_source_term(
'adjoint_scalar_convection', &
78 adjoint_scalar_convection)
79 call register_source_term(
'simple_brinkman', &
81 end subroutine register_source_terms
87 subroutine adjoint_lube_source_term_allocate(obj)
88 class(source_term_t),
allocatable,
intent(inout) :: obj
90 end subroutine adjoint_lube_source_term_allocate
93 subroutine adjoint_minimum_dissipation_source_term_allocate(obj)
94 class(source_term_t),
allocatable,
intent(inout) :: obj
96 end subroutine adjoint_minimum_dissipation_source_term_allocate
99 subroutine adjoint_mixing_scalar_source_term_allocate(obj)
100 class(source_term_t),
allocatable,
intent(inout) :: obj
102 end subroutine adjoint_mixing_scalar_source_term_allocate
105 subroutine adjoint_scalar_convection_source_term_allocate(obj)
106 class(source_term_t),
allocatable,
intent(inout) :: obj
108 end subroutine adjoint_scalar_convection_source_term_allocate
111 subroutine simple_brinkman_source_term_allocate(obj)
112 class(source_term_t),
allocatable,
intent(inout) :: obj
114 end subroutine simple_brinkman_source_term_allocate
116end 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.