Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
user_file_template.f90
Go to the documentation of this file.
1! A template user file containing the user-defined functions
2!
3module user
4 use neko
5 implicit none
6
7contains
8
9 ! Register user-defined functions (see user_intf.f90)
10 subroutine user_setup(user)
11 type(user_t), intent(inout) :: user
12
13 user%startup => startup
14 user%initialize => initialize
15 user%initial_conditions => initial_conditions
16 user%mesh_setup => mesh_setup
17 user%compute => compute
18 user%finalize => finalize
19 user%source_term => source_term
20 user%dirichlet_conditions => dirichlet_conditions
21 user%material_properties => material_properties
22
23 end subroutine user_setup
24
25 subroutine startup(params)
26 type(json_file), intent(inout) :: params
27
28 end subroutine startup
29
30 subroutine initialize(time)
31 type(time_state_t), intent(in) :: time
32
33 end subroutine initialize
34
35 subroutine initial_conditions(scheme_name, fields)
36 character(len=*), intent(in) :: scheme_name
37 type(field_list_t), intent(inout) :: fields
38
39 end subroutine initial_conditions
40
41 subroutine mesh_setup(msh, time)
42 type(mesh_t), intent(inout) :: msh
43 type(time_state_t), intent(in) :: time
44
45 end subroutine mesh_setup
46
47 subroutine compute(time)
48 type(time_state_t), intent(in) :: time
49 end subroutine compute
50
51 subroutine finalize(time)
52 type(time_state_t), intent(in) :: time
53
54 end subroutine finalize
55
56 subroutine source_term(scheme_name, rhs, time)
57 character(len=*), intent(in) :: scheme_name
58 type(field_list_t), intent(inout) :: rhs
59 type(time_state_t), intent(in) :: time
60
61 end subroutine source_term
62
63 subroutine dirichlet_conditions(fields, bc, time)
64 type(field_list_t), intent(inout) :: fields
65 type(field_dirichlet_t), intent(in) :: bc
66 type(time_state_t), intent(in) :: time
67
68 end subroutine dirichlet_conditions
69
70 subroutine material_properties(scheme_name, properties, time)
71 character(len=*), intent(in) :: scheme_name
72 type(field_list_t), intent(inout) :: properties
73 type(time_state_t), intent(in) :: time
74
75 end subroutine material_properties
76
77end module user
Master module.
Definition neko.f90:34
Implements the source_term_t type and a wrapper source_term_wrapper_t.
subroutine mesh_setup(msh, time)
subroutine initialize(time)
subroutine user_setup(user)
subroutine initial_conditions(scheme_name, fields)
subroutine compute(time)
subroutine material_properties(scheme_name, properties, time)
subroutine dirichlet_conditions(fields, bc, time)
subroutine startup(params)
subroutine finalize(time)