User Tools

Site Tools


code:ls_scf

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
code:ls_scf [2015/01/24 19:58] oschuettcode:ls_scf [2015/01/24 20:54] oschuett
Line 2: Line 2:
 digraph ls_scf { digraph ls_scf {
     splines="ortho";     splines="ortho";
-start [shape=ellipse, label="ls_scf()"];+start [shape=ellipse, label="ls_scf()", width=1];
  
-node [shape=box, width=3];+node [shape=box, width=4];
  
-do_init [label="CALL ls_scf_init_scf()"];+do_init [label="CALL ls_scf_init_scf()", URL="http://cp2k.org/code:ls_scf_initial_guess"];
 start -> do_init; start -> do_init;
  
Line 14: Line 14:
 { {
   rank=same;   rank=same;
-  if_precon_ks [shape=diamond, label="S-Preconditioner?", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/LS_SCF.html#list_S_PRECONDITIONER"]; +  if_precon_ks [shape=diamond, label="S_PRECONDITIONER?", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/LS_SCF.html#list_S_PRECONDITIONER"]; 
-  do_precon_ks [label="Precondition KS-matrix", width=4]; +  do_precon_ks [label="Precondition KS-matrix", width=3]; 
-  if_precon_ks -> do_precon_ks [label="yes", minlen=1.5];+  if_precon_ks -> do_precon_ks [taillabel="yes", minlen=1.5];
 } }
 do_qs_to_ls -> if_precon_ks; do_qs_to_ls -> if_precon_ks;
  
-do_filter_ks[label="Filer KS-matrix with EPS_FILTER", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/LS_SCF.html#desc_EPS_FILTER"]+do_filter_ks[label="Filter KS-matrix with EPS_FILTER", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/LS_SCF.html#desc_EPS_FILTER"]
 if_precon_ks -> do_filter_ks[label="no"]; if_precon_ks -> do_filter_ks[label="no"];
 do_precon_ks   -> do_filter_ks[weight=0]; do_precon_ks   -> do_filter_ks[weight=0];
Line 26: Line 26:
 { {
   rank=same;   rank=same;
-  if_curvy [shape=diamond, label="CURVY_STEPS and\npurified matrix-P exits?", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/LS_SCF/CURVY_STEPS.html"]; +  if_curvy [shape=diamond, label="CURVY_STEPS and\npurified P-matrix exits?", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/LS_SCF/CURVY_STEPS.html"]; 
-  do_curvy [label="CALL dm_ls_curvy_optimization()", width=4]; +  do_curvy [label="CALL dm_ls_curvy_optimization()", width=3]; 
-  if_curvy -> do_curvy [label="yes", minlen=1.5];+  if_curvy -> do_curvy [taillabel="yes", minlen=1.5];
 } }
 do_filter_ks -> if_curvy; do_filter_ks -> if_curvy;
Line 37: Line 37:
 { {
   rank=same;   rank=same;
-  if_trans [shape=diamond, label="transport?"]; +  if_trans [shape=diamond, label="TRANSPORT?", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/QS.html#desc_TRANSPORT"]; 
-  do_trans [label="CALL external_scf_method()", width=4]; +  do_trans [label="CALL external_scf_method()", width=3]; 
-  if_trans -> do_trans [label="yes", minlen=1.5];+  if_trans -> do_trans [taillabel="yes", minlen=1.5];
 } }
 do_mixing -> if_trans; do_mixing -> if_trans;
Line 48: Line 48:
 { {
   rank=same;   rank=same;
-  dm_sign[label="CALL density_matrix_sign()"]; +  dm_sign[label="CALL density_matrix_sign()", width=2.5]; 
-  dm_tc2[label="CALL density_matrix_tc2()"]; +  dm_tc2[label="CALL density_matrix_tc2()", width=2.5]; 
-  dm_trs4[label="CALL density_matrix_trs4()"];+  dm_trs4[label="CALL density_matrix_trs4()", width=2.5];
 } }
 select_method -> dm_sign [label="SIGN_MATRIX"]; select_method -> dm_sign [label="SIGN_MATRIX"];
Line 58: Line 58:
 { {
   rank=same;   rank=same;
-  if_precon_p [shape=diamond, label="S-Preconditioner?", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/LS_SCF.html#list_S_PRECONDITIONER"]; +  if_precon_p [shape=diamond, label="S_PRECONDITIONER?", URL="http://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/LS_SCF.html#list_S_PRECONDITIONER"]; 
-  do_precon_p [label="Precondition P-matrix", width=4]; +  do_precon_p [label="Precondition P-matrix", width=3]; 
-  if_precon_p -> do_precon_p [label="yes", minlen=1.5];+  if_precon_p -> do_precon_p [taillabel="yes", minlen=1.5];
 } }
  
Line 72: Line 72:
  
 do_dm_to_ks[label="CALL ls_scf_dm_to_ks()"] do_dm_to_ks[label="CALL ls_scf_dm_to_ks()"]
 +
  
 do_filter_p   -> do_dm_to_ks; do_filter_p   -> do_dm_to_ks;
Line 79: Line 80:
 if_converged[shape=diamond, label="Converged?"] if_converged[shape=diamond, label="Converged?"]
 do_dm_to_ks -> if_converged; do_dm_to_ks -> if_converged;
-do_qs_to_ls -> if_converged[dir=back, weight=0];+do_qs_to_ls -> if_converged[headlabel="no", dir=back, weight=0];
  
 do_post [label="CALL ls_scf_post()"]; do_post [label="CALL ls_scf_post()"];
-if_converged -> do_post [label="yes"];+if_converged -> do_post[taillabel="yes", minlen=1.5];
  
-return [shape=ellipse, label="RETURN"];+return [shape=ellipse, label="RETURN", width=1];
 do_post -> return; do_post -> return;
  
 } }
 </graphviz> </graphviz>
code/ls_scf.txt · Last modified: 2020/08/21 10:15 by 127.0.0.1