kim-api  2.3.0+v2.3.0.GNU.GNU.
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
Data Types | Functions/Subroutines | Variables
kim_model_compute_arguments_module Module Reference

Provides the interface to a KIM API ComputeArguments object for use by models within their MODEL_ROUTINE_NAME::Compute routine. More...

Functions/Subroutines

recursive subroutine kim_model_compute_arguments_process_dedr_term (model_compute_arguments_handle, de, r, dx, i, j, ierr)
 Call the Simulator's COMPUTE_CALLBACK_NAME::ProcessDEDrTerm routine. More...
 
recursive subroutine kim_model_compute_arguments_process_d2edr2_term (model_compute_arguments_handle, de, r, dx, i, j, ierr)
 Call the Simulator's COMPUTE_CALLBACK_NAME::ProcessD2EDr2Term routine. More...
 
recursive subroutine kim_model_compute_arguments_get_argument_pointer_int0 (model_compute_arguments_handle, compute_argument_name, int0, ierr)
 Get the data pointer for a ComputeArgumentName. More...
 
recursive subroutine kim_model_compute_arguments_get_argument_pointer_int1 (model_compute_arguments_handle, compute_argument_name, extent1, int1, ierr)
 Get the data pointer for a ComputeArgumentName. More...
 
recursive subroutine kim_model_compute_arguments_get_argument_pointer_int2 (model_compute_arguments_handle, compute_argument_name, extent1, extent2, int2, ierr)
 Get the data pointer for a ComputeArgumentName. More...
 
recursive subroutine kim_model_compute_arguments_get_argument_pointer_double0 (model_compute_arguments_handle, compute_argument_name, double0, ierr)
 Get the data pointer for a ComputeArgumentName. More...
 
recursive subroutine kim_model_compute_arguments_get_argument_pointer_double1 (model_compute_arguments_handle, compute_argument_name, extent1, double1, ierr)
 Get the data pointer for a ComputeArgumentName. More...
 
recursive subroutine kim_model_compute_arguments_get_argument_pointer_double2 (model_compute_arguments_handle, compute_argument_name, extent1, extent2, double2, ierr)
 Get the data pointer for a ComputeArgumentName. More...
 
recursive subroutine kim_model_compute_arguments_is_callback_present (model_compute_arguments_handle, compute_callback_name, present, ierr)
 Determine if the Simulator has provided a non-NULL function pointer for a ComputeCallbackName of interest. More...
 
recursive subroutine kim_model_compute_arguments_set_model_buffer_pointer (model_compute_arguments_handle, ptr)
 Set the Model's buffer pointer within the ComputeArguments object. More...
 
recursive subroutine kim_model_compute_arguments_get_model_buffer_pointer (model_compute_arguments_handle, ptr)
 Get the Model's buffer pointer within the ComputeArguments object. More...
 
recursive subroutine kim_model_compute_arguments_log_entry (model_compute_arguments_handle, log_verbosity, message)
 Write a log entry into the log file. More...
 
recursive subroutine kim_model_compute_arguments_to_string (model_compute_arguments_handle, string)
 Get a string representing the internal state of the ComputeArguments object. More...
 

Variables

type(kim_model_compute_arguments_handle_type), save, public, protected kim_model_compute_arguments_null_handle
 NULL handle for use in comparisons. More...
 

Detailed Description

Provides the interface to a KIM API ComputeArguments object for use by models within their MODEL_ROUTINE_NAME::Compute routine.

See also
KIM::ModelComputeArguments, KIM_ModelComputeArguments
Since
2.0

Function/Subroutine Documentation

◆ kim_model_compute_arguments_get_argument_pointer_double0()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_get_argument_pointer_double0 ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(kim_compute_argument_name_type), intent(in)  compute_argument_name,
real(c_double), intent(out), pointer  double0,
integer(c_int), intent(out)  ierr 
)

Get the data pointer for a ComputeArgumentName.

See also
KIM::ModelComputeArguments::GetArgumentPointer, KIM_ModelComputeArguments_GetArgumentPointerDouble
Since
2.0

Definition at line 575 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_get_argument_pointer_double1()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_get_argument_pointer_double1 ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(kim_compute_argument_name_type), intent(in)  compute_argument_name,
integer(c_int), intent(in)  extent1,
real(c_double), dimension(:), intent(out), pointer  double1,
integer(c_int), intent(out)  ierr 
)

Get the data pointer for a ComputeArgumentName.

See also
KIM::ModelComputeArguments::GetArgumentPointer, KIM_ModelComputeArguments_GetArgumentPointerDouble
Since
2.0

Definition at line 625 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_get_argument_pointer_double2()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_get_argument_pointer_double2 ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(kim_compute_argument_name_type), intent(in)  compute_argument_name,
integer(c_int), intent(in)  extent1,
integer(c_int), intent(in)  extent2,
real(c_double), dimension(:, :), intent(out), pointer  double2,
integer(c_int), intent(out)  ierr 
)

Get the data pointer for a ComputeArgumentName.

See also
KIM::ModelComputeArguments::GetArgumentPointer, KIM_ModelComputeArguments_GetArgumentPointerDouble
Since
2.0

Definition at line 676 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_get_argument_pointer_int0()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_get_argument_pointer_int0 ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(kim_compute_argument_name_type), intent(in)  compute_argument_name,
integer(c_int), intent(out), pointer  int0,
integer(c_int), intent(out)  ierr 
)

Get the data pointer for a ComputeArgumentName.

See also
KIM::ModelComputeArguments::GetArgumentPointer, KIM_ModelComputeArguments_GetArgumentPointerInteger
Since
2.0

Definition at line 425 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_get_argument_pointer_int1()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_get_argument_pointer_int1 ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(kim_compute_argument_name_type), intent(in)  compute_argument_name,
integer(c_int), intent(in)  extent1,
integer(c_int), dimension(:), intent(out), pointer  int1,
integer(c_int), intent(out)  ierr 
)

Get the data pointer for a ComputeArgumentName.

See also
KIM::ModelComputeArguments::GetArgumentPointer, KIM_ModelComputeArguments_GetArgumentPointerInteger
Since
2.0

Definition at line 473 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_get_argument_pointer_int2()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_get_argument_pointer_int2 ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(kim_compute_argument_name_type), intent(in)  compute_argument_name,
integer(c_int), intent(in)  extent1,
integer(c_int), intent(in)  extent2,
integer(c_int), dimension(:, :), intent(out), pointer  int2,
integer(c_int), intent(out)  ierr 
)

Get the data pointer for a ComputeArgumentName.

See also
KIM::ModelComputeArguments::GetArgumentPointer, KIM_ModelComputeArguments_GetArgumentPointerInteger
Since
2.0

Definition at line 524 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_get_model_buffer_pointer()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_get_model_buffer_pointer ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(c_ptr), intent(out)  ptr 
)

◆ kim_model_compute_arguments_is_callback_present()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_is_callback_present ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(kim_compute_callback_name_type), intent(in)  compute_callback_name,
integer(c_int), intent(out)  present,
integer(c_int), intent(out)  ierr 
)

Determine if the Simulator has provided a non-NULL function pointer for a ComputeCallbackName of interest.

See also
KIM::ModelComputeArguments::IsCallbackPresent, KIM_ModelComputeArguments_IsCallbackPresent
Since
2.0

Definition at line 726 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_log_entry()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_log_entry ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(kim_log_verbosity_type), intent(in)  log_verbosity,
character(len=*, kind=c_char), intent(in)  message 
)

Write a log entry into the log file.

See also
KIM::ModelComputeArguments::LogEntry, KIM_ModelComputeArguments_LogEntry
Since
2.0

Definition at line 831 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_process_d2edr2_term()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_process_d2edr2_term ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
real(c_double), intent(in)  de,
real(c_double), dimension(:), intent(in)  r,
real(c_double), dimension(:, :), intent(in)  dx,
integer(c_int), dimension(:), intent(in)  i,
integer(c_int), dimension(:), intent(in)  j,
integer(c_int), intent(out)  ierr 
)

Call the Simulator's COMPUTE_CALLBACK_NAME::ProcessD2EDr2Term routine.

A Fortran PM may provide a KIM::MODEL_ROUTINE_NAME::ProcessD2EDr2Term routine. The interface for this is given here (see also KIM::ProcessD2EDr2TermFunction, KIM_ProcessD2EDr2TermFunction).

interface
recursive subroutine process_d2edr2_term(data_object, de, r, dx, i, j, &
ierr) bind(c)
use, intrinsic :: iso_c_binding
implicit none
type(c_ptr), intent(in), value :: data_object
real(c_double), intent(in), value :: de
real(c_double), intent(in) :: r(2)
real(c_double), intent(in) :: dx(3,2)
integer(c_int), intent(in) :: i(2)
integer(c_int), intent(in) :: j(2)
integer(c_int), intent(out) :: ierr
end subroutine process_d2edr2_term
end interface
See also
KIM::ModelComputeArguments::ProcessD2EDr2Term, KIM_ModelComputeArguments_ProcessD2EDr2Term
Since
2.0

Definition at line 383 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_process_dedr_term()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_process_dedr_term ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
real(c_double), intent(in)  de,
real(c_double), intent(in)  r,
real(c_double), dimension(:), intent(in)  dx,
integer(c_int), intent(in)  i,
integer(c_int), intent(in)  j,
integer(c_int), intent(out)  ierr 
)

Call the Simulator's COMPUTE_CALLBACK_NAME::ProcessDEDrTerm routine.

A Fortran PM may provide a KIM::MODEL_ROUTINE_NAME::ProcessDEDrTerm routine. The interface for this is given here (see also KIM::ProcessDEDrTermFunction, KIM_ProcessDEDrTermFunction).

interface
recursive subroutine process_dedr_term(data_object, de, r, dx, i, j, &
ierr) bind(c)
use, intrinsic :: iso_c_binding
implicit none
type(c_ptr), intent(in), value :: data_object
real(c_double), intent(in), value :: de
real(c_double), intent(in), value :: r
real(c_double), intent(in) :: dx(3)
integer(c_int), intent(in), value :: i
integer(c_int), intent(in), value :: j
integer(c_int), intent(out) :: ierr
end subroutine process_dedr_term
end interface
See also
KIM::ModelComputeArguments::ProcessDEDrTerm, KIM_ModelComputeArguments_ProcessDEDrTerm
Since
2.0

Definition at line 321 of file kim_model_compute_arguments_module.f90.

◆ kim_model_compute_arguments_set_model_buffer_pointer()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_set_model_buffer_pointer ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
type(c_ptr), intent(in)  ptr 
)

◆ kim_model_compute_arguments_to_string()

recursive subroutine kim_model_compute_arguments_module::kim_model_compute_arguments_to_string ( type(kim_model_compute_arguments_handle_type), intent(in)  model_compute_arguments_handle,
character(len=*, kind=c_char), intent(out)  string 
)

Get a string representing the internal state of the ComputeArguments object.

See also
KIM::ModelComputeArguments::ToString, KIM_ModelComputeArguments_ToString
Since
2.0

Definition at line 870 of file kim_model_compute_arguments_module.f90.

Variable Documentation

◆ kim_model_compute_arguments_null_handle

type(kim_model_compute_arguments_handle_type), save, public, protected kim_model_compute_arguments_module::kim_model_compute_arguments_null_handle

NULL handle for use in comparisons.

Since
2.0

Definition at line 70 of file kim_model_compute_arguments_module.f90.