tomflint22 / beamWeldFoam

Thermal-Fluid Dynamics Solver for Advanced Manufacturing Applications
GNU General Public License v3.0
43 stars 14 forks source link

Which OS is best to use for beamWeldFoam #7

Closed ngrilli closed 1 year ago

ngrilli commented 2 years ago

@tomflint22 I am trying to install beamWeldFoam, I noticed it does not compile using OpenFoam 10 and OpenFoam 6 does not compile on Ubuntu 22.

I have been able to compile OpenFoam 6 and beamWeldFoam on an older Ubuntu 20 machine but openmpi parallelization does not work, while it fails to compile using mpich parallelization. I am still investigating this because I have a conda environment that may conflict but for the moment I could run the tutorials only with 1 processor.

I wonder which OS has been used for testing and if installation instructions for OpenFoam 6 are available for that specific OS.

Is it better to select openmpi or mpich parallelization?

Is there any singularity container available for beamWeldFoam?

Thank you very much for your help, Nicolò

tomflint22 commented 2 years ago

Hi Nicolo,

I just became aware of the newer OS not being compatible with the OpenFoam6 libraries. I'm about to release a new solver and I'm making that work with openfoam 10 - it's essentially an upgrade to beamweldfoam, bu once I've released this i'll update beamweldfoam too.

For the mpi, I use openmpi, so I'm not sure what the issue would be on your system. I'll let you know when the new solver is ready. The parallelisation is better on the new one too and it has ray-tracing

ngrilli commented 2 years ago

@tomflint22 thank you for looking into this. I believe the current version of OpenMPI 4.1.2 is not compatible with OpenFoam 6. I have tried running the tutorials in OpenFoam 10 and they run in parallel correctly. I assume when beamWeldFoam is made compatible with OpenFoam 10, then it should run in parallel as well.

My understanding is that the code in this repository is for two chemical components, but I may be wrong, while in my project I need 3, Fe, Cr, Ni, therefore I am learning OpenFoam programming to see if I can modify this for three species.

Looking forward to collaborate with you on this, Thank you very much for your help, Nicolò

tomflint22 commented 2 years ago

That's correct, this repository is for one metallic component and one non metallic component, so the metallic phase is the alloy with a shielding gas phase. If you want to have multiple chemical species that isn't too difficult. Most of my papers are in multi component systems and I have a solver that isn't released yet that does exactly this. In this case you need to solve an advection diffusion equation for each species and add the dock Ian diffusive fluxes between each component. I'll try and find the time to release this code too if it is of interest.

tomflint22 commented 1 year ago

Hi Nicolò,

I just made an OpenFoam10 branch. I know you are using laserbeamfoam, but if you want to look at EB type applications you can use the OF10 branch of beamweldfoam now. laserbeamfoam cases should run with beamweldfoam; you'll just have to add more variables to the system.fvsolution Melting dictionary where the solver looks for the beam characteristics.