SDA (SDA flex)  7.2
Simulation of Diffusional Association
Functions/Subroutines
test_force_energy2.f90 File Reference

Functions/Subroutines

program test_force_energy
 unit_test for force and energy.
More...
 
subroutine compute_all_forces (tab_prot, param_force_energy, param_metal, dummy_array, dist, geom, store_forces, size_forces, force_fast)
 Compute forces with all possible functions.
add option force_fast : if true, compute with normal and fast, even if param_force_energy % fast_computation is false default should be false to pass all the tests. More...
 
subroutine compare_all_forces (store_forces, size_forces, pass_assert, max_diff_force, opt_print)
 
subroutine compute_all_energies (tab_prot, param_force_energy, param_metal, array_energy, dummy_array, dist, geom, store_energies, size_energies, force_fast)
 compute energies with all the methods.
Like for compute_all_forces More...
 
subroutine compare_all_energies (store_energies, size_energies, pass_assert, max_diff_energy, opt_print)
 

Detailed Description

Version
{version 7.2.3 (2019)}

Copyright (c) 2009, 2010, 2015, 2016, 2019 Heidelberg Institute of Theoretical Studies (HITS, www.h-its.org) Schloss-Wolfsbrunnenweg 35 69118 Heidelberg, Germany

Please send your contact address to get information on updates and new features to "mcmsoft@h-its.org". Questions will be answered as soon as possible.

References: see also http://mcm.h-its.org/sda7/do:c/doc_sda7/references.html:

Brownian dynamics simulation of protein-protein diffusional encounter. (1998) Methods, 14, 329-341.

SDA 7: A modular and parallel implementation of the simulation of diffusional association software. Journal of computational chemistry 36.21 (2015): 1631-1645.

Authors: M.Martinez, N.J.Bruce, J.Romanowska, D.B.Kokh, P.Mereghetti, X. Yu, M. Ozboyaci, M. Reinhardt, P. Friedrich, R.R.Gabdoulline, S.Richter and R.C.Wade


for unit-test

Function/Subroutine Documentation

◆ compare_all_energies()

subroutine compare_all_energies ( real ( kind=8 ), dimension(:)  store_energies,
integer, intent(in)  size_energies,
logical  pass_assert,
real ( kind=8 )  max_diff_energy,
logical, optional  opt_print 
)
Here is the caller graph for this function:

◆ compare_all_forces()

subroutine compare_all_forces ( real ( kind=8 ), dimension(:,:,:)  store_forces,
integer, intent(in)  size_forces,
logical  pass_assert,
real ( kind=8 )  max_diff_force,
logical, optional  opt_print 
)
Here is the caller graph for this function:

◆ compute_all_energies()

subroutine compute_all_energies ( type ( array_protein_type ), intent(in)  tab_prot,
type ( type_force_energy ), intent(in)  param_force_energy,
type ( parameter_metaldesolv param_metal,
real ( kind=8 ), dimension( :,: )  array_energy,
real ( kind=8 ), dimension( : ), intent(in)  dummy_array,
real ( kind=4 ), intent(in)  dist,
type ( geometry geom,
real ( kind=8 ), dimension(:), allocatable  store_energies,
integer, intent(out)  size_energies,
logical  force_fast 
)

compute energies with all the methods.
Like for compute_all_forces

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_all_forces()

subroutine compute_all_forces ( type ( array_protein_type ), intent(in)  tab_prot,
type ( type_force_energy ), intent(in)  param_force_energy,
type ( parameter_metaldesolv param_metal,
real ( kind=8 ), dimension( : ), intent(in)  dummy_array,
real ( kind=4 ), intent(in)  dist,
type ( geometry geom,
real ( kind=8), dimension(:,:,:), allocatable  store_forces,
integer, intent(out)  size_forces,
logical  force_fast 
)

Compute forces with all possible functions.
add option force_fast : if true, compute with normal and fast, even if param_force_energy % fast_computation is false default should be false to pass all the tests.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_force_energy()

program test_force_energy

unit_test for force and energy.

test_force_energy2, follow the 'normal' rules for fast version or not.
will avoid valgrind reporting error and all tests should pass.
need argument to force this option.
sdamm version of force and energies are always valid.
sda_2proteins version valid only with 2 proteins, without rep_lenjones.
energy_flex/sdamm always valid if we compute the sum of all proteins and divide by 2.
Due to the error in setting a correct orientation ( det. == 1 and all axes perpendicular ), The criteria to pass the test on forces is large 0.02, because of the torques. Could set up a different criteria for forces and torques

Use local module setup_sda to simplify the setup of the test

Here is the call graph for this function:
Imprint/Privacy