subroutine init_nucleus(this, id, &
species_id, atom_id, &
charge, coordinate, &
force, overlapped)
class(nucleus_type), intent(inout) :: this
integer, intent(in) :: id, species_id, atom_id
real(dp), intent(in) :: charge
real(dp), dimension(:), intent(in), target :: coordinate, force
logical, intent(in) :: overlapped
this%id = id
this%species_id = species_id
this%atom_id = atom_id
this%charge = charge
this%coordinate => coordinate
this%force => force
this%overlapped = overlapped
end subroutine init_nucleus