diff --git a/Project.toml b/Project.toml index e6d49bb..0d14334 100644 --- a/Project.toml +++ b/Project.toml @@ -12,7 +12,7 @@ MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" [compat] CEnum = "0.4" -LAMMPS_jll = "1.0, 2.2" +LAMMPS_jll = "2.4" Preferences = "1" MPI = "0.20" julia = "1.6" diff --git a/res/Manifest.toml b/res/Manifest.toml index 84b06da..5b3d977 100644 --- a/res/Manifest.toml +++ b/res/Manifest.toml @@ -2,6 +2,7 @@ [[ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" [[Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" @@ -10,35 +11,40 @@ uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[CEnum]] -git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" +git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.1" +version = "0.4.2" [[Clang]] deps = ["CEnum", "Clang_jll", "Downloads", "Pkg", "TOML"] -git-tree-sha1 = "45a5a25b76dbdaf8e794a585936ec56020e606d7" +git-tree-sha1 = "7f30e6c4197f8576bc3873f095055d24c2baec25" repo-rev = "master" repo-url = "https://github.com/JuliaInterop/Clang.jl.git" uuid = "40e3b903-d033-50b4-a0cc-940c62c95e31" -version = "0.15.0" +version = "0.17.3" [[Clang_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll", "libLLVM_jll"] -git-tree-sha1 = "8cf7e67e264dedc5d321ec87e78525e958aea057" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "TOML", "Zlib_jll", "libLLVM_jll"] +git-tree-sha1 = "b88c99c9093f9db49a40d0715ea0e3ae5bbd91f7" uuid = "0ee61d77-7f21-5576-8119-9fcc46b10100" -version = "12.0.1+3" +version = "14.0.6+2" [[CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.0.2+0" [[Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[Downloads]] -deps = ["ArgTools", "LibCURL", "NetworkOptions"] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[InteractiveUtils]] deps = ["Markdown"] @@ -46,23 +52,29 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[JLLWrappers]] deps = ["Preferences"] -git-tree-sha1 = "642a199af8b68253517b80bd3bfd17eb4e84df6e" +git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.3.0" +version = "1.4.1" [[LAMMPS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "MPItrampoline_jll", "MicrosoftMPI_jll", "Pkg"] -git-tree-sha1 = "ecc23872bf20665a1bd94a490ba4178bb849a17c" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "TOML"] +git-tree-sha1 = "73612e0bc12813b3e333fe668e5ce4cccca8f6a0" uuid = "5b3ab26d-9607-527c-88ea-8fe5ba57cafe" -version = "1.0.1+1" +version = "2.4.0+0" + +[[LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" [[LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.3" [[LibCURL_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "7.84.0+0" [[LibGit2]] deps = ["Base64", "NetworkOptions", "Printf", "SHA"] @@ -71,6 +83,7 @@ uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" [[LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.10.2+0" [[Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" @@ -78,11 +91,23 @@ uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" [[Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +[[MPICH_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "d790fbd913f85e8865c55bf4725aff197c5155c8" +uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" +version = "4.1.1+1" + +[[MPIPreferences]] +deps = ["Libdl", "Preferences"] +git-tree-sha1 = "71f937129731a29eabe6969db2c90368a4408933" +uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" +version = "0.1.7" + [[MPItrampoline_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "5ec7c957e7765dfc8d0c28593eef803ea141a403" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "ad88f863a5a16b3e26d14446afd3cd746266281b" uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" -version = "2.8.0+0" +version = "5.2.1+3" [[Markdown]] deps = ["Base64"] @@ -91,6 +116,7 @@ uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.0+0" [[MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -100,19 +126,28 @@ version = "10.1.3+2" [[MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2022.10.11" [[NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[OpenMPI_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "f3080f4212a8ba2ceb10a34b938601b862094314" +uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" +version = "4.1.5+0" [[Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.9.0" [[Preferences]] deps = ["TOML"] -git-tree-sha1 = "00cfd92944ca9c760982747e9a1d0d5d86ab1e5a" +git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.2.2" +version = "1.3.0" [[Printf]] deps = ["Unicode"] @@ -128,6 +163,7 @@ uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" [[Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -138,10 +174,12 @@ uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" [[Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" [[UUIDs]] deps = ["Random", "SHA"] @@ -153,15 +191,19 @@ uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" [[Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+0" [[libLLVM_jll]] deps = ["Artifacts", "Libdl"] uuid = "8f36deef-c2a5-5394-99ed-8e07531fb29a" +version = "14.0.6+0" [[nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.48.0+0" [[p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+0" diff --git a/res/wrap.jl b/res/wrap.jl index 061fd47..7926f12 100644 --- a/res/wrap.jl +++ b/res/wrap.jl @@ -10,7 +10,7 @@ isdir(header_dir) || error("$header_dir does not exist") # isdir(mpi_header_dir) || error("$mpi_header_dir does not exist") const LAMMPS_INCLUDE = normpath(header_dir) -const MPI_INCLUDE = normpath(mpi_header_dir) +# const MPI_INCLUDE = normpath(mpi_header_dir) args = get_default_args() push!(args, "-I$LAMMPS_INCLUDE") diff --git a/src/api.jl b/src/api.jl index c39d09f..578439b 100644 --- a/src/api.jl +++ b/src/api.jl @@ -1,10 +1,9 @@ module API using CEnum -import MPI: MPI_Comm -import LAMMPS_jll import LAMMPS_jll: liblammps +import MPI: MPI_Comm @cenum _LMP_DATATYPE_CONST::UInt32 begin LAMMPS_INT = 0 @@ -31,6 +30,21 @@ end LMP_SIZE_COLS = 5 end +@cenum _LMP_ERROR_CONST::UInt32 begin + LMP_ERROR_WARNING = 0 + LMP_ERROR_ONE = 1 + LMP_ERROR_ALL = 2 + LMP_ERROR_WORLD = 4 + LMP_ERROR_UNIVERSE = 8 +end + +@cenum _LMP_VAR_CONST::UInt32 begin + LMP_VAR_EQUAL = 0 + LMP_VAR_ATOM = 1 + LMP_VAR_VECTOR = 2 + LMP_VAR_STRING = 3 +end + function lammps_open(argc, argv, comm, ptr) ccall((:lammps_open, liblammps), Ptr{Cvoid}, (Cint, Ptr{Ptr{Cchar}}, MPI_Comm, Ptr{Ptr{Cvoid}}), argc, argv, comm, ptr) end @@ -47,16 +61,30 @@ function lammps_close(handle) ccall((:lammps_close, liblammps), Cvoid, (Ptr{Cvoid},), handle) end -# no prototype is found for this function at library.h:97:7, please use with caution +# no prototype is found for this function at library.h:128:6, please use with caution function lammps_mpi_init() ccall((:lammps_mpi_init, liblammps), Cvoid, ()) end -# no prototype is found for this function at library.h:98:7, please use with caution +# no prototype is found for this function at library.h:129:6, please use with caution function lammps_mpi_finalize() ccall((:lammps_mpi_finalize, liblammps), Cvoid, ()) end +# no prototype is found for this function at library.h:130:6, please use with caution +function lammps_kokkos_finalize() + ccall((:lammps_kokkos_finalize, liblammps), Cvoid, ()) +end + +# no prototype is found for this function at library.h:131:6, please use with caution +function lammps_python_finalize() + ccall((:lammps_python_finalize, liblammps), Cvoid, ()) +end + +function lammps_error(handle, error_type, error_text) + ccall((:lammps_error, liblammps), Cvoid, (Ptr{Cvoid}, Cint, Ptr{Cchar}), handle, error_type, error_text) +end + function lammps_file(handle, file) ccall((:lammps_file, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}), handle, file) end @@ -117,8 +145,8 @@ function lammps_extract_atom(handle, name) ccall((:lammps_extract_atom, liblammps), Ptr{Cvoid}, (Ptr{Cvoid}, Ptr{Cchar}), handle, name) end -function lammps_extract_compute(handle, id, arg3, arg4) - ccall((:lammps_extract_compute, liblammps), Ptr{Cvoid}, (Ptr{Cvoid}, Ptr{Cchar}, Cint, Cint), handle, id, arg3, arg4) +function lammps_extract_compute(handle, arg2, arg3, arg4) + ccall((:lammps_extract_compute, liblammps), Ptr{Cvoid}, (Ptr{Cvoid}, Ptr{Cchar}, Cint, Cint), handle, arg2, arg3, arg4) end function lammps_extract_fix(handle, arg2, arg3, arg4, arg5, arg6) @@ -129,6 +157,10 @@ function lammps_extract_variable(handle, arg2, arg3) ccall((:lammps_extract_variable, liblammps), Ptr{Cvoid}, (Ptr{Cvoid}, Ptr{Cchar}, Ptr{Cchar}), handle, arg2, arg3) end +function lammps_extract_variable_datatype(handle, name) + ccall((:lammps_extract_variable_datatype, liblammps), Cint, (Ptr{Cvoid}, Ptr{Cchar}), handle, name) +end + function lammps_set_variable(arg1, arg2, arg3) ccall((:lammps_set_variable, liblammps), Cint, (Ptr{Cvoid}, Ptr{Cchar}, Ptr{Cchar}), arg1, arg2, arg3) end @@ -153,6 +185,22 @@ function lammps_scatter_atoms_subset(handle, name, type, count, ndata, ids, data ccall((:lammps_scatter_atoms_subset, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Cint, Cint, Cint, Ptr{Cint}, Ptr{Cvoid}), handle, name, type, count, ndata, ids, data) end +function lammps_gather_bonds(handle, data) + ccall((:lammps_gather_bonds, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}), handle, data) +end + +function lammps_gather_angles(handle, data) + ccall((:lammps_gather_angles, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}), handle, data) +end + +function lammps_gather_dihedrals(handle, data) + ccall((:lammps_gather_dihedrals, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}), handle, data) +end + +function lammps_gather_impropers(handle, data) + ccall((:lammps_gather_impropers, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}), handle, data) +end + function lammps_gather(handle, name, type, count, data) ccall((:lammps_gather, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Cint, Cint, Ptr{Cvoid}), handle, name, type, count, data) end @@ -205,32 +253,32 @@ function lammps_get_os_info(buffer, buf_size) ccall((:lammps_get_os_info, liblammps), Cvoid, (Ptr{Cchar}, Cint), buffer, buf_size) end -# no prototype is found for this function at library.h:187:5, please use with caution +# no prototype is found for this function at library.h:231:5, please use with caution function lammps_config_has_mpi_support() ccall((:lammps_config_has_mpi_support, liblammps), Cint, ()) end -# no prototype is found for this function at library.h:188:5, please use with caution +# no prototype is found for this function at library.h:232:5, please use with caution function lammps_config_has_gzip_support() ccall((:lammps_config_has_gzip_support, liblammps), Cint, ()) end -# no prototype is found for this function at library.h:189:5, please use with caution +# no prototype is found for this function at library.h:233:5, please use with caution function lammps_config_has_png_support() ccall((:lammps_config_has_png_support, liblammps), Cint, ()) end -# no prototype is found for this function at library.h:190:5, please use with caution +# no prototype is found for this function at library.h:234:5, please use with caution function lammps_config_has_jpeg_support() ccall((:lammps_config_has_jpeg_support, liblammps), Cint, ()) end -# no prototype is found for this function at library.h:191:5, please use with caution +# no prototype is found for this function at library.h:235:5, please use with caution function lammps_config_has_ffmpeg_support() ccall((:lammps_config_has_ffmpeg_support, liblammps), Cint, ()) end -# no prototype is found for this function at library.h:192:5, please use with caution +# no prototype is found for this function at library.h:236:5, please use with caution function lammps_config_has_exceptions() ccall((:lammps_config_has_exceptions, liblammps), Cint, ()) end @@ -239,7 +287,7 @@ function lammps_config_has_package(arg1) ccall((:lammps_config_has_package, liblammps), Cint, (Ptr{Cchar},), arg1) end -# no prototype is found for this function at library.h:195:5, please use with caution +# no prototype is found for this function at library.h:239:5, please use with caution function lammps_config_package_count() ccall((:lammps_config_package_count, liblammps), Cint, ()) end @@ -248,6 +296,19 @@ function lammps_config_package_name(arg1, arg2, arg3) ccall((:lammps_config_package_name, liblammps), Cint, (Cint, Ptr{Cchar}, Cint), arg1, arg2, arg3) end +function lammps_config_accelerator(arg1, arg2, arg3) + ccall((:lammps_config_accelerator, liblammps), Cint, (Ptr{Cchar}, Ptr{Cchar}, Ptr{Cchar}), arg1, arg2, arg3) +end + +# no prototype is found for this function at library.h:243:5, please use with caution +function lammps_has_gpu_device() + ccall((:lammps_has_gpu_device, liblammps), Cint, ()) +end + +function lammps_get_gpu_device_info(buffer, buf_size) + ccall((:lammps_get_gpu_device_info, liblammps), Cvoid, (Ptr{Cchar}, Cint), buffer, buf_size) +end + function lammps_has_style(arg1, arg2, arg3) ccall((:lammps_has_style, liblammps), Cint, (Ptr{Cvoid}, Ptr{Cchar}, Ptr{Cchar}), arg1, arg2, arg3) end @@ -272,6 +333,15 @@ function lammps_id_name(arg1, arg2, arg3, arg4, arg5) ccall((:lammps_id_name, liblammps), Cint, (Ptr{Cvoid}, Ptr{Cchar}, Cint, Ptr{Cchar}, Cint), arg1, arg2, arg3, arg4, arg5) end +# no prototype is found for this function at library.h:254:5, please use with caution +function lammps_plugin_count() + ccall((:lammps_plugin_count, liblammps), Cint, ()) +end + +function lammps_plugin_name(arg1, arg2, arg3, arg4) + ccall((:lammps_plugin_name, liblammps), Cint, (Cint, Ptr{Cchar}, Ptr{Cchar}, Cint), arg1, arg2, arg3, arg4) +end + function lammps_encode_image_flags(ix, iy, iz) ccall((:lammps_encode_image_flags, liblammps), Cint, (Cint, Cint, Cint), ix, iy, iz) end @@ -283,16 +353,40 @@ end # typedef void ( * FixExternalFnPtr ) ( void * , int64_t , int , int * , double * * , double * * ) const FixExternalFnPtr = Ptr{Cvoid} -function lammps_set_fix_external_callback(arg1, arg2, arg3, arg4) - ccall((:lammps_set_fix_external_callback, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, FixExternalFnPtr, Ptr{Cvoid}), arg1, arg2, arg3, arg4) +function lammps_set_fix_external_callback(handle, id, funcptr, ptr) + ccall((:lammps_set_fix_external_callback, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, FixExternalFnPtr, Ptr{Cvoid}), handle, id, funcptr, ptr) end -function lammps_fix_external_set_energy_global(arg1, arg2, arg3) - ccall((:lammps_fix_external_set_energy_global, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Cdouble), arg1, arg2, arg3) +function lammps_fix_external_get_force(handle, id) + ccall((:lammps_fix_external_get_force, liblammps), Ptr{Ptr{Cdouble}}, (Ptr{Cvoid}, Ptr{Cchar}), handle, id) end -function lammps_fix_external_set_virial_global(arg1, arg2, arg3) - ccall((:lammps_fix_external_set_virial_global, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Ptr{Cdouble}), arg1, arg2, arg3) +function lammps_fix_external_set_energy_global(handle, id, eng) + ccall((:lammps_fix_external_set_energy_global, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Cdouble), handle, id, eng) +end + +function lammps_fix_external_set_energy_peratom(handle, id, eng) + ccall((:lammps_fix_external_set_energy_peratom, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Ptr{Cdouble}), handle, id, eng) +end + +function lammps_fix_external_set_virial_global(handle, id, virial) + ccall((:lammps_fix_external_set_virial_global, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Ptr{Cdouble}), handle, id, virial) +end + +function lammps_fix_external_set_virial_peratom(handle, id, virial) + ccall((:lammps_fix_external_set_virial_peratom, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Ptr{Ptr{Cdouble}}), handle, id, virial) +end + +function lammps_fix_external_set_vector_length(handle, id, len) + ccall((:lammps_fix_external_set_vector_length, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Cint), handle, id, len) +end + +function lammps_fix_external_set_vector(handle, id, idx, val) + ccall((:lammps_fix_external_set_vector, liblammps), Cvoid, (Ptr{Cvoid}, Ptr{Cchar}, Cint, Cdouble), handle, id, idx, val) +end + +function lammps_flush_buffers(ptr) + ccall((:lammps_flush_buffers, liblammps), Cvoid, (Ptr{Cvoid},), ptr) end function lammps_free(ptr) @@ -315,4 +409,9 @@ function lammps_get_last_error_message(handle, buffer, buf_size) ccall((:lammps_get_last_error_message, liblammps), Cint, (Ptr{Cvoid}, Ptr{Cchar}, Cint), handle, buffer, buf_size) end +# no prototype is found for this function at library.h:297:5, please use with caution +function lammps_python_api_version() + ccall((:lammps_python_api_version, liblammps), Cint, ()) +end + end # module