In order to use MPICPL the coupling to be set up must be described in an xml file (see mpicpl documentation). Here is an example for coupling SIESTA and FAST(siesta-fast.xml).
<coupling arguments="nossi_top"> <!-- declare all codes --> <code np="1" cwd="${nossi_top}/Examples/tddft-qm/h2o/siesta" program="${nossi_top}/siesta/epsn/siesta.sh" name="siestaNOSSI" args="h2o_tddft.fdf" /> <code np="1" name="tddft_nossi" cwd="${nossi_top}/Examples/tddft-qm/h2o/tddft" program="${nossi_top}/fast/tddft_qm" args=""/> <!-- interconnect codes --> <binding name="tddft-dft" client="tddft_qm" server="siestaNOSSI" /> </coupling>
The coupled programs are launched by
$MPICPL_TOP/tools/mpicplrun -d ./nossi-tddft-dft.xml $NOSSI_TOP