bds_run Subroutine

public subroutine bds_run(nts_beg, simbox, atc, ierr)

Driver for BD integrator.

Repeatedly calls integrate_em or integrate_se to update atom positions.

Arguments

Type IntentOptional Attributes Name
integer(kind=ip_long), intent(in) :: nts_beg
type(smbx_t), intent(in), target :: simbox
type(atmcfg_t), intent(inout), target :: atc
integer, intent(out) :: ierr

Error flag


Calls

proc~~bds_run~~CallsGraph proc~bds_run bds_run interface~str_from_num str_from_num proc~bds_run->interface~str_from_num proc~integrate_em integrate_em proc~bds_run->proc~integrate_em proc~integrate_se integrate_se proc~bds_run->proc~integrate_se proc~logger_log_msg logger_t%logger_log_msg proc~bds_run->proc~logger_log_msg proc~smbx_to_origin smbx_t%smbx_to_origin proc~bds_run->proc~smbx_to_origin proc~smbx_wrap_all smbx_t%smbx_wrap_all proc~bds_run->proc~smbx_wrap_all proc~stats_accumulate stats_accumulate proc~bds_run->proc~stats_accumulate proc~stats_write stats_write proc~bds_run->proc~stats_write proc~traj_append_frame trajectory_t%traj_append_frame proc~bds_run->proc~traj_append_frame proc~write_dump write_dump proc~bds_run->proc~write_dump proc~str_from_dnum str_from_dnum interface~str_from_num->proc~str_from_dnum proc~str_from_ilnum str_from_ilnum interface~str_from_num->proc~str_from_ilnum proc~str_from_inum str_from_inum interface~str_from_num->proc~str_from_inum proc~calc_diffusion calc_diffusion proc~integrate_em->proc~calc_diffusion proc~calc_drift calc_drift proc~integrate_em->proc~calc_drift proc~integrate_se->proc~logger_log_msg nitsol nitsol proc~integrate_se->nitsol proc~integrate_se->proc~calc_diffusion proc~timestring timestring proc~logger_log_msg->proc~timestring proc~compute_ic0 compute_ic0 proc~stats_accumulate->proc~compute_ic0 proc~compute_ic1 compute_ic1 proc~stats_accumulate->proc~compute_ic1 proc~traj_write_frame trajectory_t%traj_write_frame proc~traj_append_frame->proc~traj_write_frame proc~calc_diffusion->proc~logger_log_msg proc~brn_calc_bdw brn_calc_bdw proc~calc_diffusion->proc~brn_calc_bdw proc~brn_calc_dw brn_calc_dw proc~calc_diffusion->proc~brn_calc_dw proc~calc_rpy_tensor calc_rpy_tensor proc~calc_diffusion->proc~calc_rpy_tensor dsymv dsymv proc~calc_drift->dsymv proc~ia_calc_forces ia_calc_forces proc~calc_drift->proc~ia_calc_forces proc~smbx_get_image smbx_t%smbx_get_image proc~compute_ic1->proc~smbx_get_image proc~str_trimzero str_trimzero proc~str_from_dnum->proc~str_trimzero proc~calc_bdw_blanc calc_bdw_blanc proc~brn_calc_bdw->proc~calc_bdw_blanc proc~calc_bdw_cholesky calc_bdw_cholesky proc~brn_calc_bdw->proc~calc_bdw_cholesky proc~calc_bdw_lanc calc_bdw_lanc proc~brn_calc_bdw->proc~calc_bdw_lanc proc~get_rv_gaussian get_rv_gaussian proc~brn_calc_dw->proc~get_rv_gaussian proc~ia_add_angle_forces ia_add_angle_forces proc~ia_calc_forces->proc~ia_add_angle_forces proc~ia_add_bond_forces ia_add_bond_forces proc~ia_calc_forces->proc~ia_add_bond_forces proc~ia_add_dihedral_forces ia_add_dihedral_forces proc~ia_calc_forces->proc~ia_add_dihedral_forces proc~ia_add_external_forces ia_add_external_forces proc~ia_calc_forces->proc~ia_add_external_forces proc~ia_add_tether_forces ia_add_tether_forces proc~ia_calc_forces->proc~ia_add_tether_forces proc~ia_add_vdw_forces ia_add_vdw_forces proc~ia_calc_forces->proc~ia_add_vdw_forces proc~calc_bdw_blanc->proc~logger_log_msg dgemm dgemm proc~calc_bdw_blanc->dgemm dgeqp3 dgeqp3 proc~calc_bdw_blanc->dgeqp3 dorgqr dorgqr proc~calc_bdw_blanc->dorgqr dsbevd dsbevd proc~calc_bdw_blanc->dsbevd dsymm dsymm proc~calc_bdw_blanc->dsymm proc~calc_bdw_cholesky->proc~logger_log_msg dpotrf dpotrf proc~calc_bdw_cholesky->dpotrf dtrmm dtrmm proc~calc_bdw_cholesky->dtrmm dtrmv dtrmv proc~calc_bdw_cholesky->dtrmv proc~calc_bdw_lanc->proc~logger_log_msg proc~calc_bdw_lanc->dsymv dgemv dgemv proc~calc_bdw_lanc->dgemv dstevd dstevd proc~calc_bdw_lanc->dstevd vdrnggaussian vdrnggaussian proc~get_rv_gaussian->vdrnggaussian proc~ia_add_angle_forces->proc~smbx_get_image proc~ia_get_angle_force ia_get_angle_force proc~ia_add_angle_forces->proc~ia_get_angle_force proc~ia_add_bond_forces->proc~smbx_get_image proc~ia_get_bond_force ia_get_bond_force proc~ia_add_bond_forces->proc~ia_get_bond_force proc~ia_add_dihedral_forces->proc~smbx_get_image proc~ia_get_dihedral_force ia_get_dihedral_force proc~ia_add_dihedral_forces->proc~ia_get_dihedral_force proc~ia_get_tether_force ia_get_tether_force proc~ia_add_tether_forces->proc~ia_get_tether_force proc~ia_add_vdw_forces->proc~smbx_get_image proc~ia_get_vdw_force ia_get_vdw_force proc~ia_add_vdw_forces->proc~ia_get_vdw_force proc~itbl_get_row itable_t%itbl_get_row proc~ia_add_vdw_forces->proc~itbl_get_row proc~pt_build pt_build proc~ia_add_vdw_forces->proc~pt_build proc~bond_fene bond_fene proc~ia_get_bond_force->proc~bond_fene proc~bond_harm bond_harm proc~ia_get_bond_force->proc~bond_harm proc~bond_kg bond_kg proc~ia_get_bond_force->proc~bond_kg proc~bond_ms bond_ms proc~ia_get_bond_force->proc~bond_ms proc~teth_harm teth_harm proc~ia_get_tether_force->proc~teth_harm proc~teth_rigid teth_rigid proc~ia_get_tether_force->proc~teth_rigid proc~vdw_cosine vdw_cosine proc~ia_get_vdw_force->proc~vdw_cosine proc~vdw_dpd vdw_dpd proc~ia_get_vdw_force->proc~vdw_dpd proc~vdw_gaussian vdw_gaussian proc~ia_get_vdw_force->proc~vdw_gaussian proc~vdw_lj vdw_lj proc~ia_get_vdw_force->proc~vdw_lj proc~vdw_lj_coul vdw_lj_coul proc~ia_get_vdw_force->proc~vdw_lj_coul proc~vdw_lj_coul_debye vdw_lj_coul_debye proc~ia_get_vdw_force->proc~vdw_lj_coul_debye proc~ivector_get_data ivector_t%ivector_get_data proc~itbl_get_row->proc~ivector_get_data proc~build_pt_aabbtree build_pt_aabbtree proc~pt_build->proc~build_pt_aabbtree proc~build_pt_cell_list build_pt_cell_list proc~pt_build->proc~build_pt_cell_list proc~build_pt_n2 build_pt_n2 proc~pt_build->proc~build_pt_n2 proc~build_pt_verlet build_pt_verlet proc~pt_build->proc~build_pt_verlet proc~bond_fene->interface~str_from_num proc~bond_fene->proc~logger_log_msg proc~bond_kg->interface~str_from_num proc~bond_kg->proc~logger_log_msg proc~bond_ms->interface~str_from_num proc~bond_ms->proc~logger_log_msg proc~build_pt_aabbtree->proc~itbl_get_row proc~build_pt_aabbtree->proc~ivector_get_data interface~insert aabbtree_t%insert proc~build_pt_aabbtree->interface~insert interface~ivector_init ivector_init proc~build_pt_aabbtree->interface~ivector_init none~query aabbtree_t%query proc~build_pt_aabbtree->none~query proc~itbl_append itable_t%itbl_append proc~build_pt_aabbtree->proc~itbl_append proc~itbl_clear itable_t%itbl_clear proc~build_pt_aabbtree->proc~itbl_clear proc~itbl_is_in itable_t%itbl_is_in proc~build_pt_aabbtree->proc~itbl_is_in proc~itbl_shrink_to_fit itable_t%itbl_shrink_to_fit proc~build_pt_aabbtree->proc~itbl_shrink_to_fit proc~ivector_delete ivector_t%ivector_delete proc~build_pt_aabbtree->proc~ivector_delete proc~ivector_sort ivector_t%ivector_sort proc~build_pt_aabbtree->proc~ivector_sort proc~build_pt_cell_list->proc~itbl_get_row proc~build_pt_cell_list->proc~ivector_get_data proc~build_pt_cell_list->interface~ivector_init proc~cl_build cl_build proc~build_pt_cell_list->proc~cl_build proc~cl_get_contents cl_get_contents proc~build_pt_cell_list->proc~cl_get_contents proc~cl_get_nbr_cells cl_get_nbr_cells proc~build_pt_cell_list->proc~cl_get_nbr_cells proc~cl_get_num_cells cl_get_num_cells proc~build_pt_cell_list->proc~cl_get_num_cells proc~build_pt_cell_list->proc~itbl_clear proc~build_pt_cell_list->proc~itbl_is_in proc~build_pt_cell_list->proc~itbl_shrink_to_fit proc~ivector_append ivector_t%ivector_append proc~build_pt_cell_list->proc~ivector_append proc~build_pt_cell_list->proc~ivector_delete proc~build_pt_n2->proc~smbx_get_image proc~build_pt_n2->proc~itbl_get_row proc~build_pt_n2->proc~itbl_append proc~build_pt_n2->proc~itbl_clear proc~build_pt_n2->proc~itbl_is_in proc~build_pt_n2->proc~itbl_shrink_to_fit proc~build_pt_verlet->proc~smbx_get_image proc~build_pt_verlet->proc~itbl_get_row proc~build_pt_verlet->proc~itbl_append proc~build_pt_verlet->proc~itbl_clear proc~build_pt_verlet->proc~itbl_is_in proc~build_pt_verlet->proc~itbl_shrink_to_fit proc~insert insert interface~insert->proc~insert interface~ivector_init->interface~ivector_init proc~ivector_from_array ivector_from_array interface~ivector_init->proc~ivector_from_array interface~query_waabb aabbtree_t%query_waabb none~query->interface~query_waabb interface~query_watm aabbtree_t%query_watm none~query->interface~query_watm interface~query_watmaabb aabbtree_t%query_watmaabb none~query->interface~query_watmaabb proc~cl_get_nbr_cells->proc~ivector_get_data proc~itbl_append->proc~ivector_append proc~ivector_clear ivector_t%ivector_clear proc~itbl_clear->proc~ivector_clear proc~ivector_get_val ivector_t%ivector_get_val proc~itbl_is_in->proc~ivector_get_val proc~ivector_shrink_to_fit ivector_t%ivector_shrink_to_fit proc~itbl_shrink_to_fit->proc~ivector_shrink_to_fit proc~iqsort iqsort proc~ivector_sort->proc~iqsort proc~query_waabb query_waabb interface~query_waabb->proc~query_waabb proc~query_watm query_watm interface~query_watm->proc~query_watm proc~query_watmaabb query_watmaabb interface~query_watmaabb->proc~query_watmaabb interface~fs_acquire aabbtree_t%fs_acquire proc~insert->interface~fs_acquire interface~insert_leaf aabbtree_t%insert_leaf proc~insert->interface~insert_leaf proc~aabb_init aabb_t%aabb_init proc~insert->proc~aabb_init proc~ivector_from_array->interface~ivector_init proc~fs_acquire fs_acquire interface~fs_acquire->proc~fs_acquire proc~insert_leaf insert_leaf interface~insert_leaf->proc~insert_leaf proc~aabb_calc_center aabb_t%aabb_calc_center proc~aabb_init->proc~aabb_calc_center proc~aabb_calc_srfarea aabb_t%aabb_calc_srfarea proc~aabb_init->proc~aabb_calc_srfarea proc~query_waabb->none~query proc~query_waabb->proc~ivector_clear proc~query_watm->none~query proc~query_watmaabb->proc~ivector_append proc~query_watmaabb->proc~ivector_clear interface~node_isleaf node_t%node_isleaf proc~query_watmaabb->interface~node_isleaf proc~aabb_overlaps aabb_t%aabb_overlaps proc~query_watmaabb->proc~aabb_overlaps proc~ivector_pop ivector_t%ivector_pop proc~query_watmaabb->proc~ivector_pop proc~node_isleaf node_isleaf interface~node_isleaf->proc~node_isleaf interface~node_init node_t%node_init proc~fs_acquire->interface~node_init proc~insert_leaf->interface~fs_acquire proc~insert_leaf->interface~node_isleaf interface~balance aabbtree_t%balance proc~insert_leaf->interface~balance proc~balance balance interface~balance->proc~balance proc~node_init node_init interface~node_init->proc~node_init proc~balance->interface~node_isleaf proc~node_init->proc~aabb_init

Called by

proc~~bds_run~~CalledByGraph proc~bds_run bds_run proc~run run proc~run->proc~bds_run program~main main program~main->proc~run