namespace rgpot_kinds

Overview

Numeric kinds shared by every Fortran potential. More…

namespace rgpot_kinds {
 
// global variables
 
integer, parameter, public wp = real64;
integer, parameter, public ip = int32;
integer, parameter, public lp = int64;
 
} // namespace rgpot_kinds

Detailed Documentation

Numeric kinds shared by every Fortran potential.

Kinds come from iso_fortran_env, and the C-interoperable kinds of iso_c_binding are asserted against them at compile time: the bind(c) entry points hand raw double / int buffers straight to the kernels, so a mismatch would silently reinterpret memory. A failing assertion divides by zero in a constant expression, which every conforming compiler rejects.

Global Variables

integer, parameter, public wp = real64

Working precision for every energy, force, and coordinate.

integer, parameter, public ip = int32

Index kind for atom indices crossing the C boundary.

integer, parameter, public lp = int64

Wide index kind for pair counts, which exceed 2^31 on large cells.