63 const char *input_file_path,
64 const char *output_file_path);
77 const char *input_file_path,
78 const char *output_file_path,
int mpi_comm);
118 double *result,
int n_el);
201 const char *output_file_path,
int mpi_comm);
356 long int buf_coords_len,
double *buf_values,
357 long int buf_values_len);
void cp2k_create_force_env(force_env_t *new_force_env, const char *input_file_path, const char *output_file_path)
Create a new force environment.
int cp2k_active_space_get_mo_count(force_env_t force_env)
Get the number of molecular orbitals in the active space.
void cp2k_get_qmmm_cell(force_env_t force_env, const double *cell)
Get the size of the qmmm cell.
void(* ext_method_callback_f_ptr)(cp2k_transport_parameters, cp2k_csr_interop_type, cp2k_csr_interop_type, cp2k_csr_interop_type *, cp2k_csr_interop_type *)
Function pointer type for the externally evaluated density matrix Function pointer type pointing to a...
void cp2k_run_input_comm(const char *input_file_path, const char *output_file_path, int mpi_comm)
Make a CP2K run with the given input file (custom managed MPI)
void cp2k_run_input(const char *input_file_path, const char *output_file_path)
Make a CP2K run with the given input file.
void cp2k_transport_set_callback(force_env_t force_env, ext_method_callback_f_ptr func)
Set the function callback for the externally evaluated density matrix.
void cp2k_get_forces(force_env_t force_env, double *force, int n_el)
Get the forces for the particles.
void cp2k_get_version(char *version_str, int str_length)
Get the CP2K version string.
void cp2k_set_positions(force_env_t force_env, const double *new_pos, int n_el)
Set positions of the particles.
int force_env_t
Definitions for the functions exported in libcp2k.F.
long int cp2k_active_space_get_fock_sub(force_env_t force_env, double *buf, long int buf_len)
Get the Fock submatrix for the active space.
void cp2k_set_velocities(force_env_t force_env, const double *new_vel, int n_el)
Set velocity of the particles.
void cp2k_get_natom(force_env_t force_env, int *natom)
Get the number of atoms.
int cp2k_active_space_get_eri(force_env_t force_env, int *buf_coords, long int buf_coords_len, double *buf_values, long int buf_values_len)
Get the non-zero elements of the ERI matrix The buf_coords will contain the coordinates in the format...
long int cp2k_active_space_get_eri_nze_count(force_env_t force_env)
Get the number of non-zero elements in the ERI matrix.
void cp2k_init()
Initialize CP2K and MPI.
void cp2k_get_positions(force_env_t force_env, double *pos, int n_el)
Get the positions of the particles.
void cp2k_finalize_without_mpi()
Finalize CP2K and without finalizing MPI.
void cp2k_get_nparticle(force_env_t force_env, int *nparticle)
Get the number of particles.
void cp2k_destroy_force_env(force_env_t force_env)
Destroy/cleanup a force environment.
void cp2k_get_cell(force_env_t force_env, const double *cell)
Get the size of the cell.
void cp2k_set_cell(force_env_t force_env, const double *new_cell)
Set the size of the cell.
void cp2k_init_without_mpi()
Initialize CP2K without initializing MPI.
void cp2k_get_result(force_env_t force_env, const char *description, double *result, int n_el)
Get an arbitrary result as 1D array from CP2K.
void cp2k_calc_energy_force(force_env_t force_env)
Calculate energy and forces of the system.
void cp2k_get_potential_energy(force_env_t force_env, double *e_pot)
Get the potential energy of the system.
void cp2k_calc_energy(force_env_t force_env)
Calculate only the energy of the system.
void cp2k_create_force_env_comm(force_env_t *new_force_env, const char *input_file_path, const char *output_file_path, int mpi_comm)
Create a new force environment (custom managed MPI)
void cp2k_finalize()
Finalize CP2K and MPI.
CP2K's C-interoperable CSR matrix This definition matches the respective type definition in the trans...
Transport parameters read from a CP2K input file. This definition matches the respective type definit...
int tasks_per_integration_point
int tasks_per_energy_point
double eps_singularity_curvatures
int rlaxis_integration_method