Neko 1.99.3
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%neumann_conditions => neumann_conditions
22 user%material_properties => material_properties
23 user%ale_mesh_velocity => user_ale_mesh_motion
24 user%ale_rigid_kinematics => user_rigid_kinematics
25 user%ale_base_shapes => user_ale_base_shapes
26
27
28 end subroutine user_setup
29
30 subroutine startup(params)
31 type(json_file), intent(inout) :: params
32
33 end subroutine startup
34
35 subroutine initialize(time)
36 type(time_state_t), intent(in) :: time
37
38 end subroutine initialize
39
40 subroutine initial_conditions(scheme_name, fields)
41 character(len=*), intent(in) :: scheme_name
42 type(field_list_t), intent(inout) :: fields
43
44 end subroutine initial_conditions
45
46 subroutine mesh_setup(msh, time)
47 type(mesh_t), intent(inout) :: msh
48 type(time_state_t), intent(in) :: time
49
50 end subroutine mesh_setup
51
52 subroutine compute(time)
53 type(time_state_t), intent(in) :: time
54 end subroutine compute
55
56 subroutine finalize(time)
57 type(time_state_t), intent(in) :: time
58
59 end subroutine finalize
60
61 subroutine source_term(scheme_name, rhs, time)
62 character(len=*), intent(in) :: scheme_name
63 type(field_list_t), intent(inout) :: rhs
64 type(time_state_t), intent(in) :: time
65
66 end subroutine source_term
67
68 subroutine dirichlet_conditions(fields, bc, time)
69 type(field_list_t), intent(inout) :: fields
70 type(field_dirichlet_t), intent(in) :: bc
71 type(time_state_t), intent(in) :: time
72
73 end subroutine dirichlet_conditions
74
75 subroutine neumann_conditions(fields, bc, time)
76 type(field_list_t), intent(inout) :: fields
77 type(field_neumann_t), intent(in) :: bc
78 type(time_state_t), intent(in) :: time
79
80 end subroutine neumann_conditions
81
82 subroutine material_properties(scheme_name, properties, time)
83 character(len=*), intent(in) :: scheme_name
84 type(field_list_t), intent(inout) :: properties
85 type(time_state_t), intent(in) :: time
86
87 end subroutine material_properties
88
89 subroutine user_ale_mesh_motion(wm_x, wm_y, wm_z, coef, &
90 x_ref, y_ref, z_ref, base_shapes, time)
91 type(coef_t), intent(in) :: coef
92 type(field_t), intent(inout) :: wm_x, wm_y, wm_z
93 type(field_t), intent(in) :: x_ref, y_ref, z_ref
94 type(field_t), intent(in) :: base_shapes(:)
95 type(time_state_t), intent(in) :: time
96
97 end subroutine user_ale_mesh_motion
98
99 subroutine user_rigid_kinematics(body_id, time, vel_trans, vel_ang)
100 integer, intent(in) :: body_id
101 type(time_state_t), intent(in) :: time
102 real(kind=rp), intent(inout) :: vel_trans(3)
103 real(kind=rp), intent(inout) :: vel_ang(3)
104 real(kind=rp) :: t
105
106 end subroutine user_rigid_kinematics
107
108 subroutine user_ale_base_shapes(base_shapes)
109 type(field_t), intent(inout) :: base_shapes(:)
110
111 end subroutine user_ale_base_shapes
112
113end 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 user_rigid_kinematics(body_id, time, vel_trans, vel_ang)
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 user_ale_base_shapes(base_shapes)
subroutine startup(params)
subroutine neumann_conditions(fields, bc, time)
subroutine user_ale_mesh_motion(wm_x, wm_y, wm_z, coef, x_ref, y_ref, z_ref, base_shapes, time)
subroutine finalize(time)