I would like to ask how optimizer software written in C/C++ can be linked to simulator software written in FORTRAN or any other language. I have copied the section of journal article of Singh and Chakrabarty (2011).
In the present study, MODFLOW 2000 and MT3DMS 5.0 are linked as independent modules with the optimization code. Modifications are made to the codes of the simulators in such a way that they can be run through input files, and both of them are then compiled. One of the files required to run MODFLOW 2000 is prepared by the optimization algorithm. This file contains the latest values of the decision variables. The NSGA II separately calls both MODFLOW 2000 and MT3DMS 5.0 in their compiled forms as independent modules. MODFLOW 2000 uses the file prepared by NSGA II to calculate hydraulic head and prepare an output file containing these values. Similarly, MT3DMS 5.0 calculates contaminant concentrations at selected locations and produces an output file containing the concentration values. The output files produced by the simulators are used by NSGA II as input files to produce updated values of the decision variables. The optimization problem, thus, runs until convergence. Obviously, writing of interface programs for linking codes written in different languages is altogether eliminated in this technique of linking.
I believe from here I can move forward with my research. Thanks to you all.