Neko-TOP
A portable framework for high-order spectral element flow toplogy optimization.
Loading...
Searching...
No Matches
neko_top_source_terms.f90
1
34
36submodule(neko_top) neko_top_source_terms
37 use source_term, only: source_term_allocate, register_source_term
38
39 ! Our user-defined source terms
48
49contains
50
52 module subroutine register_source_terms()
53 procedure(source_term_allocate), pointer :: adjoint_lube
54 procedure(source_term_allocate), pointer :: adjoint_minimum_dissipation
55 procedure(source_term_allocate), pointer :: adjoint_mixing_scalar
56 procedure(source_term_allocate), pointer :: adjoint_scalar_convection
57 procedure(source_term_allocate), pointer :: simple_brinkman
58
59 ! Assign the pointers
61 adjoint_minimum_dissipation => &
63 adjoint_mixing_scalar => adjoint_mixing_scalar_source_term_allocate
64 adjoint_scalar_convection => adjoint_scalar_convection_source_term_allocate
66
67 ! Register the source terms
68 call register_source_term('adjoint_lube', adjoint_lube)
69 call register_source_term('adjoint_minimum_dissipation', &
70 adjoint_minimum_dissipation)
71 call register_source_term('adjoint_mixing_scalar', adjoint_mixing_scalar)
72 call register_source_term('adjoint_scalar_convection', &
73 adjoint_scalar_convection)
74 call register_source_term('simple_brinkman', simple_brinkman)
75 end subroutine register_source_terms
76
77end submodule neko_top_source_terms
Implements the adjoint_lube_source_term_t type.
subroutine, public adjoint_lube_source_term_allocate(obj)
Allocator for the adjoint lube source term.
Implements the adjoint_minimum_dissipation_source_term_t type.
subroutine, public adjoint_minimum_dissipation_source_term_allocate(obj)
Allocator for the adjoint minimum dissipation source term.
Implements the adjoint_mixing_scalar_source_term type.
subroutine, public adjoint_mixing_scalar_source_term_allocate(obj)
Allocator for the adjoint mixing scalar source term.
Implements the adjoint_scalar_convection_source_term type.
subroutine, public adjoint_scalar_convection_source_term_allocate(obj)
Allocator for the adjoint scalar convection source term.
Neko-TOP module.
Definition neko_top.f90:41
Implements the simple_brinkman_source_term_t type.
subroutine, public simple_brinkman_source_term_allocate(obj)
Allocator for the simple brinkman source term.