35 use,
intrinsic :: iso_c_binding
40 kim_model_refresh_handle_type, &
44 kim_model_refresh_set_influence_distance_pointer, &
45 kim_model_refresh_set_neighbor_list_cutoffs_pointer, &
46 kim_model_refresh_get_model_buffer_pointer, &
47 kim_model_refresh_log_entry, &
50 type, bind(c) :: kim_model_refresh_handle_type
51 type(c_ptr) :: p = c_null_ptr
52 end type kim_model_refresh_handle_type
54 type(kim_model_refresh_handle_type),
protected &
57 Interface operator (.eq.)
58 logical function kim_model_refresh_handle_equal(left, right)
59 use,
intrinsic :: iso_c_binding
60 import kim_model_refresh_handle_type
62 type(kim_model_refresh_handle_type),
intent(in) :: left
63 type(kim_model_refresh_handle_type),
intent(in) :: right
64 end function kim_model_refresh_handle_equal
65 end interface operator (.eq.)
67 interface operator (.ne.)
68 logical function kim_model_refresh_handle_not_equal(left, right)
69 use,
intrinsic :: iso_c_binding
70 import kim_model_refresh_handle_type
72 type(kim_model_refresh_handle_type),
intent(in) :: left
73 type(kim_model_refresh_handle_type),
intent(in) :: right
74 end function kim_model_refresh_handle_not_equal
75 end interface operator (.ne.)
78 subroutine kim_model_refresh_set_influence_distance_pointer(&
79 model_refresh_handle, influence_distance)
80 use,
intrinsic :: iso_c_binding
81 import kim_model_refresh_handle_type
83 type(kim_model_refresh_handle_type),
intent(in) :: &
85 real(c_double),
intent(in),
target :: influence_distance
86 end subroutine kim_model_refresh_set_influence_distance_pointer
88 subroutine kim_model_refresh_set_neighbor_list_cutoffs_pointer( &
89 model_refresh_handle, number_of_cutoffs, cutoffs)
90 use,
intrinsic :: iso_c_binding
91 import kim_model_refresh_handle_type
93 type(kim_model_refresh_handle_type),
intent(in) :: &
95 integer(c_int),
intent(in),
value :: number_of_cutoffs
96 real(c_double),
intent(in),
target :: cutoffs(number_of_cutoffs)
97 end subroutine kim_model_refresh_set_neighbor_list_cutoffs_pointer
99 subroutine kim_model_refresh_get_model_buffer_pointer( &
100 model_refresh_handle, ptr)
101 use,
intrinsic :: iso_c_binding
102 import kim_model_refresh_handle_type
104 type(kim_model_refresh_handle_type),
intent(in) :: &
106 type(c_ptr),
intent(out) :: ptr
107 end subroutine kim_model_refresh_get_model_buffer_pointer
109 subroutine kim_model_refresh_log_entry(model_refresh_handle, &
110 log_verbosity, message, line_number, file_name)
111 use,
intrinsic :: iso_c_binding
113 import kim_model_refresh_handle_type
115 type(kim_model_refresh_handle_type),
intent(in) :: &
117 type(kim_log_verbosity_type),
intent(in),
value :: log_verbosity
118 character(len=*, kind=c_char),
intent(in) :: message
119 integer(c_int),
intent(in),
value :: line_number
120 character(len=*, kind=c_char),
intent(in) :: file_name
121 end subroutine kim_model_refresh_log_entry
124 use,
intrinsic :: iso_c_binding
125 import kim_model_refresh_handle_type
127 type(kim_model_refresh_handle_type),
intent(in) :: &
129 character(len=*, kind=c_char),
intent(out) :: string
type(kim_model_refresh_handle_type), public, protected kim_model_refresh_null_handle