I am working on multiphysics simulations, using a partitioned approach with 
black-box solvers and a standalone coupling algorithm. That's a lot of 
jargon so let me briefly elaborate:

In case of fluid-structure interactions, I would need a flow solver (say 
OpenFOAM) and a structure solver (say Code Aster) and a code of my own 
design (aka the coupling algorithm) which manages the multiphysics 
simulation. The coupling algorithm basically boils down to a quasi-newton 
algorithm in each time step. During each iteration of the quasi-newton 
algorithm, numerical data is transferred between the coupling algorithm and 
the third-party solvers.

I have performed such simulations using a coupling algorithm and a 
structure solver written in MATLAB and a third party commercial CFD 
package. Numerical data such as pressure, velocity and displacement 
distributions were stored in arrays and transferred between the solvers and 
the coupling algorithm using MPI's send and receive functions.

My understanding is that Julia has a package which includes some MPI 
functionality. But the exact state of that package is unclear to me. 
Furthermore I do not know if Julia has a neat way of transferring numerical 
data to and from third party applications written in languages other than 
Julia (mostly interested in C, C++ and Fortran).

So in the context of the work explained above, what would be the best way 
for me to transfer numerical data between an application written in Julia 
and several third-party applications written in languages other than Julia?



---------

In the process of using Julia to perform fluid-structure interactions I 
have been developing several standalone Julia packages, which I hope to 
eventually combine into a large modular framework. Currently I have 
packages implementing Krylov solvers (for determined and undetermined 
linear systems), quasi-newton algorithms (for finding roots of nonlinear 
vector functions) and radial basis functions (for interpolating nodal 
values). Depending on the answers/suggestions I get from this topic I also 
might create my own MPI package for Julia (which I probably will probably 
experience to be extremely tedious).

Reply via email to