KIM API V2
kim_model_compute_arguments_create_module.f90
Go to the documentation of this file.
1 !
2 ! CDDL HEADER START
3 !
4 ! The contents of this file are subject to the terms of the Common Development
5 ! and Distribution License Version 1.0 (the "License").
6 !
7 ! You can obtain a copy of the license at
8 ! http://www.opensource.org/licenses/CDDL-1.0. See the License for the
9 ! specific language governing permissions and limitations under the License.
10 !
11 ! When distributing Covered Code, include this CDDL HEADER in each file and
12 ! include the License file in a prominent location with the name LICENSE.CDDL.
13 ! If applicable, add the following below this CDDL HEADER, with the fields
14 ! enclosed by brackets "[]" replaced with your own identifying information:
15 !
16 ! Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved.
17 !
18 ! CDDL HEADER END
19 !
20 
21 !
22 ! Copyright (c) 2016--2018, Regents of the University of Minnesota.
23 ! All rights reserved.
24 !
25 ! Contributors:
26 ! Ryan S. Elliott
27 !
28 
29 !
30 ! Release: This file is part of the kim-api-v2.0.0-beta.1 package.
31 !
32 
33 
35  use, intrinsic :: iso_c_binding
36  implicit none
37  private
38 
39  public &
40  kim_model_compute_arguments_create_handle_type, &
42  operator (.eq.), &
43  operator (.ne.), &
44  kim_model_compute_arguments_create_set_argument_support_status, &
47  kim_model_compute_arguments_create_log_entry, &
49 
50  type, bind(c) :: kim_model_compute_arguments_create_handle_type
51  type(c_ptr) :: p = c_null_ptr
52  end type kim_model_compute_arguments_create_handle_type
53 
54  type(kim_model_compute_arguments_create_handle_type), protected &
56 
57  interface operator (.eq.)
58  logical function kim_model_compute_arguments_create_handle_equal(left, &
59  right)
60  use, intrinsic :: iso_c_binding
61  import kim_model_compute_arguments_create_handle_type
62  implicit none
63  type(kim_model_compute_arguments_create_handle_type), intent(in) :: left
64  type(kim_model_compute_arguments_create_handle_type), intent(in) :: right
65  end function kim_model_compute_arguments_create_handle_equal
66  end interface operator (.eq.)
67 
68  interface operator (.ne.)
69  logical function kim_model_compute_arguments_create_handle_not_equal(left, &
70  right)
71  use, intrinsic :: iso_c_binding
72  import kim_model_compute_arguments_create_handle_type
73  implicit none
74  type(kim_model_compute_arguments_create_handle_type), intent(in) :: left
75  type(kim_model_compute_arguments_create_handle_type), intent(in) :: right
76  end function kim_model_compute_arguments_create_handle_not_equal
77  end interface operator (.ne.)
78 
79  interface
80  subroutine kim_model_compute_arguments_create_set_argument_support_status( &
81  model_create_handle, compute_argument_name, support_status, ierr)
82  use, intrinsic :: iso_c_binding
84  kim_compute_argument_name_type
85  use kim_support_status_module, only : kim_support_status_type
86  import kim_model_compute_arguments_create_handle_type
87  implicit none
88  type(kim_model_compute_arguments_create_handle_type), intent(in) :: &
89  model_create_handle
90  type(kim_compute_argument_name_type), intent(in), value :: &
91  compute_argument_name
92  type(kim_support_status_type), intent(in), value :: support_status
93  integer(c_int), intent(out) :: ierr
94  end subroutine &
95  kim_model_compute_arguments_create_set_argument_support_status
96 
98  model_create_handle, compute_callback_name, support_status, ierr)
99  use, intrinsic :: iso_c_binding
101  kim_compute_callback_name_type
102  use kim_support_status_module, only : kim_support_status_type
103  import kim_model_compute_arguments_create_handle_type
104  implicit none
105  type(kim_model_compute_arguments_create_handle_type), intent(in) :: &
106  model_create_handle
107  type(kim_compute_callback_name_type), intent(in), value :: &
108  compute_callback_name
109  type(kim_support_status_type), intent(in), value :: support_status
110  integer(c_int), intent(out) :: ierr
111  end subroutine &
113 
115  model_create_handle, ptr)
116  use, intrinsic :: iso_c_binding
117  import kim_model_compute_arguments_create_handle_type
118  implicit none
119  type(kim_model_compute_arguments_create_handle_type), intent(in) :: &
120  model_create_handle
121  type(c_ptr), intent(in), value :: ptr
123 
124  subroutine kim_model_compute_arguments_create_log_entry( &
125  model_create_handle, log_verbosity, message, line_number, file_name)
126  use, intrinsic :: iso_c_binding
127  use kim_log_verbosity_module, only : kim_log_verbosity_type
128  import kim_model_compute_arguments_create_handle_type
129  implicit none
130  type(kim_model_compute_arguments_create_handle_type), intent(in) :: &
131  model_create_handle
132  type(kim_log_verbosity_type), intent(in), value :: log_verbosity
133  character(len=*, kind=c_char), intent(in) :: message
134  integer(c_int), intent(in), value :: line_number
135  character(len=*, kind=c_char), intent(in) :: file_name
136  end subroutine kim_model_compute_arguments_create_log_entry
137 
138  subroutine kim_model_compute_arguments_create_string(model_create_handle, &
139  string)
140  use, intrinsic :: iso_c_binding
141  import kim_model_compute_arguments_create_handle_type
142  implicit none
143  type(kim_model_compute_arguments_create_handle_type), intent(in) :: &
144  model_create_handle
145  character(len=*, kind=c_char), intent(out) :: string
147  end interface
type(kim_model_compute_arguments_create_handle_type), public, protected kim_model_compute_arguments_create_null_handle