164 recursive subroutine kim_model_refresh_set_influence_distance_pointer( &
165 model_refresh_handle, influence_distance)
166 use kim_interoperable_types_module,
only: kim_model_refresh_type
169 recursive subroutine set_influence_distance_pointer(model_refresh, &
170 influence_distance) &
171 bind(c, name="KIM_ModelRefresh_SetInfluenceDistancePointer")
172 use,
intrinsic :: iso_c_binding
173 use kim_interoperable_types_module,
only: kim_model_refresh_type
175 type(kim_model_refresh_type),
intent(in) :: &
177 type(c_ptr),
intent(in),
value :: influence_distance
178 end subroutine set_influence_distance_pointer
181 real(c_double),
intent(in),
target :: influence_distance
182 type(kim_model_refresh_type),
pointer :: model_refresh
184 call c_f_pointer(model_refresh_handle%p, model_refresh)
185 call set_influence_distance_pointer(model_refresh, &
186 c_loc(influence_distance))
195 recursive subroutine kim_model_refresh_set_neighbor_list_pointers( &
196 model_refresh_handle, number_of_neighbor_lists, cutoffs, &
197 modelWillNotRequestNeighborsOfNoncontributingParticles)
198 use kim_interoperable_types_module,
only: kim_model_refresh_type
201 recursive subroutine set_neighbor_list_pointers( &
202 model_refresh, number_of_neighbor_lists, cutoffs_ptr, &
203 modelWillNotRequestNeighborsOfNoncontributingParticles) &
204 bind(c, name="KIM_ModelRefresh_SetNeighborListPointers")
205 use,
intrinsic :: iso_c_binding
206 use kim_interoperable_types_module,
only: kim_model_refresh_type
208 type(kim_model_refresh_type),
intent(in) :: &
210 integer(c_int),
intent(in),
value :: number_of_neighbor_lists
211 type(c_ptr),
intent(in),
value :: cutoffs_ptr
212 type(c_ptr),
intent(in),
value :: &
213 modelwillnotrequestneighborsofnoncontributingparticles
214 end subroutine set_neighbor_list_pointers
217 integer(c_int),
intent(in) :: number_of_neighbor_lists
218 real(c_double),
intent(in),
target :: cutoffs(number_of_neighbor_lists)
219 integer(c_int),
intent(in),
target :: &
220 modelwillnotrequestneighborsofnoncontributingparticles( &
221 number_of_neighbor_lists)
222 type(kim_model_refresh_type),
pointer :: model_refresh
224 call c_f_pointer(model_refresh_handle%p, model_refresh)
225 call set_neighbor_list_pointers( &
226 model_refresh, number_of_neighbor_lists, c_loc(cutoffs), &
227 c_loc(modelwillnotrequestneighborsofnoncontributingparticles))
236 recursive subroutine kim_model_refresh_get_model_buffer_pointer( &
237 model_refresh_handle, ptr)
238 use kim_interoperable_types_module,
only: kim_model_refresh_type
241 recursive subroutine get_model_buffer_pointer(model_refresh, ptr) &
242 bind(c, name="KIM_ModelRefresh_GetModelBufferPointer")
243 use,
intrinsic :: iso_c_binding
244 use kim_interoperable_types_module,
only: kim_model_refresh_type
246 type(kim_model_refresh_type),
intent(in) :: &
248 type(c_ptr),
intent(out) :: ptr
249 end subroutine get_model_buffer_pointer
252 type(c_ptr),
intent(out) :: ptr
253 type(kim_model_refresh_type),
pointer :: model_refresh
255 call c_f_pointer(model_refresh_handle%p, model_refresh)
256 call get_model_buffer_pointer(model_refresh, ptr)
264 recursive subroutine kim_model_refresh_log_entry(model_refresh_handle, &
265 log_verbosity, message)
267 use kim_interoperable_types_module,
only: kim_model_refresh_type
270 recursive subroutine log_entry( &
271 model_refresh, log_verbosity, message, line_number, file_name) &
272 bind(c, name="KIM_ModelRefresh_LogEntry")
273 use,
intrinsic :: iso_c_binding
275 use kim_interoperable_types_module,
only: kim_model_refresh_type
277 type(kim_model_refresh_type),
intent(in) :: &
280 character(c_char),
intent(in) :: message(*)
281 integer(c_int),
intent(in),
value :: line_number
282 character(c_char),
intent(in) :: file_name(*)
283 end subroutine log_entry
286 type(kim_log_verbosity_type),
intent(in) :: log_verbosity
287 character(len=*, kind=c_char),
intent(in) :: message
288 type(kim_model_refresh_type),
pointer :: model_refresh
290 call c_f_pointer(model_refresh_handle%p, model_refresh)
291 call log_entry(model_refresh, log_verbosity, trim(message)//c_null_char, &
300 recursive subroutine kim_model_refresh_to_string(model_refresh_handle, string)
301 use kim_convert_string_module,
only: kim_convert_c_char_ptr_to_string
302 use kim_interoperable_types_module,
only: kim_model_refresh_type
305 type(c_ptr)
recursive function model_refresh_string(model_refresh) &
306 bind(c, name="KIM_ModelRefresh_ToString")
307 use,
intrinsic :: iso_c_binding
308 use kim_interoperable_types_module,
only: kim_model_refresh_type
310 type(kim_model_refresh_type),
intent(in) :: &
312 end function model_refresh_string
315 character(len=*, kind=c_char),
intent(out) :: string
316 type(kim_model_refresh_type),
pointer :: model_refresh
320 call c_f_pointer(model_refresh_handle%p, model_refresh)
321 p = model_refresh_string(model_refresh)
322 call kim_convert_c_char_ptr_to_string(p, string)
Write a log entry into the log file.