use mod_mmpol, only: pol_atoms
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | s_prt | |||
type(c_ptr), | value | :: | ext_field_prt | |||
integer(kind=ommp_integer), | intent(in), | value | :: | solver | ||
integer(kind=ommp_integer), | intent(in), | value | :: | matv |
subroutine C_ommp_set_external_field_nomm(s_prt, ext_field_prt, solver, matv) &
bind(c, name='ommp_set_external_field_nomm')
!!use mod_mmpol, only: pol_atoms
implicit none
type(c_ptr), value :: s_prt
type(c_ptr), value :: ext_field_prt
integer(ommp_integer), intent(in), value :: solver
integer(ommp_integer), intent(in), value :: matv
type(ommp_system), pointer :: s
real(ommp_real), pointer :: ext_field(:,:)
call c_f_pointer(s_prt, s)
call c_f_pointer(ext_field_prt, ext_field, [3, s%eel%pol_atoms])
call ommp_set_external_field(s, ext_field, solver, matv, .false.)
end subroutine C_ommp_set_external_field_nomm