icoReactingMultiphaseInterFoam Laser DTRM
Hi,
Does anyone have experience using the icoReactingMultiphaseInterFoam solver released in OpenFOAM-v1806? I am trying to introduce a laser source to simulate laser melting: - is this something I add in the fvOptions file? - according to other posts on the forums, another way to introduce a laser source is by using the LaserConvectionBC. Any ideas of which way is preferable? - I'm assuming this DTRM model will introduce thermal energy as well as model the radiation flux within the illuminated media? Any other resources on the icoReactingMultiphaseInterFoam solver would be very helpful. The only thing I have been able to find online on this solver is a thesis by J. Lundkvist - CFD Simulation of Fluid Flow During Laser Metal Wire Deposition using OpenFOAM. It might be helpful to others interested in this solver. I apologize in advance if these are dumb questions - I'm quite new to programming and OpenFOAM. Here's the info on the v1806 release page. *** DTRM radiation model A new radiation model is introduced to enable simulation of collimated radiation flux. It uses the Discrete Transfer Radiation Model (DTRM) to enable ful two-way interaction between radiation and participating media. It is currently specialised to represent a collimated laser beam passing through a VOF system. Laser specification The DTRM computes radiation effects through a set of rays, passing through the mesh, i.e. equivalent to Lagrangian particle tracking where the laser represents the particle injector. The specification for the laser includes: Laser power, shape, distribution Laser position, orientation Laser DTRM resolution The laserPower (W) is a Function1 Type of entry to allow time based variation. The laser power distribution can be uniform, Gaussian or manual. The focalLaserPosition describes the current centre of the circular injection disk, laserDirection describes the direction of the rays. Both are of type Function1 to enable time dependency. *** Thanks! |
LaserDTRM
Has anyone used LaserDTRM in the icoReactingMultiphaseInterFoam solver? I can't seem to find anything regarding its usage.
|
ddd
1 Attachment(s)
Yes, you can use laserDTRM by adding a radiationProperties to your /constant folder and define laser properties in that file. I have attached a sample.
I myself was able to model the laser, however there some implications: i) it is a volumetric heat source and depending on your application may not be proper to use. ii) the heat source is not applied on the exact position center that you define, but a little further. and it is applied from that position all the way downward to the end of the domain. By the way you can modify this penetration depth by manipulatng the code. that's why in the dictionary I have also define an extra opd parameter. I am not sure if I am using the laser property in a wrong way or not. if you find solutions please post them here. |
LaserDTRM
1 Attachment(s)
Hi Navid!
I apologize for the delayed response - I was on vacation! Thanks so much for posting your radiationProperties file! That was really helpful. I did not know to include the "constant" word when indicating the laser direction and position. I'm pretty new to OpenFoam and C++... With your help, I was able to output a laser profile. (See attached .jpeg file) i) it is a volumetric heat source and depending on your application may not be proper to use. - I would like to use this to model selective laser melting of powder particles in a packed bed. I'm now planning on creating an overset mesh to have the laser position above my powder/substrate surface. Do you think this is a proper application of this laser source? ii) the heat source is not applied on the exact position center that you define, but a little further. and it is applied from that position all the way downward to the end of the domain. By the way you can modify this penetration depth by manipulatng the code. that's why in the dictionary I have also define an extra opd parameter. I'm not sure what you're encountering but the position and direction of the laser match what I have inputted for my case. For my radiation properties file, I have (0.1 0.05 0.035) for the laser position and as you can see from my screenshot the laser position is indeed (0.1 0.05 0.035). Here, I have the laser direction as (0 0 -1). Your comment about the opd parameter is interesting. Could you share any details about how you manipulated the code? Also, do you know of a way to move the laser source? I don't see any built-in options in the LaserDTRM code. Would you recommend trying to incorporate a moving mesh/reference frame? Or is there an easier/better way to simulate a moving laser source using this LaserDTRM option. Please let me know. Thanks again for your input! |
Moving laser
Hi, OPFO,
I would appreciate you if you can share the experience on the coding a moving laser energy input based on Openfoam. Regards, John wg |
LaserDTRM
Hi John,
Unfortunately, I haven't been able to spend any time working on the moving laser source aspect. I'm currently working on trying to incorporate a dynamic mesh into the icoReactingMultiphaseInterFoam solver. I found this code developed by Tobi Holzmann (https://bitbucket.org/shor-ty/laserc...bc/src/master/) that enables you to input energy as a boundary condition by simply altering your T file. With this code, it is very simple to create laser motion. The link I pasted tells you how to use the code. Take a look and see if this will work for you. If you have any questions, please feel free to reply and I'll try to get back to you as soon as I can. Cheers! |
Thanks very much for your help.
Regards, John |
Hello!
I am a beginner to OpenFoam! I am trying to using this laseConvectionBC. I have compiled according to the direction from your link and it compiled successfully. But I have a got a error --> FOAM Warning : From function void* Foam::dlOpen(const Foam::fileName&, bool) in file POSIX.C at line 1601 dlopen error : liblaserConvectionBC.so: cannot open shared object file: No such file or directory --> FOAM Warning : From function bool Foam::dlLibraryTable::open(const Foam::fileName&, bool) in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 109 could not load "liblaserConvectionBC.so" Please help! Regards, Zahid |
LaserConvectionBC
Hi Zahid,
I'm not 100% sure about that error your getting, but I would offer this: Did you include "libs ( "liblaserConvectionBC.so" );" at the end of your controlDict file? I hope that helps! Cheers |
Hello Bill,
Thank you! I have tried that already. It does not work. After compiling the BC, it actually created another directory and where the lib directory resides. I just copied that platform directory to original openFOAM directory and now it is working. By the way,have you been able to use the laser dtrm on the substrate surface and melt it? To use the radiation properties, how should I use the temperature boundary conditions? I have tried to use zero gradient. I got warning about "Cannot find owner cell for focal point.....", in the end simulation completes, but there nothing happens, no temperature change or anything. Actually I tried to use the liblaserConvectionBC, same things happens, no change in the geometry. Regards, Zahid |
laser simulation
Sorry. I am a beginner in terms of simulating Laser on OpenFOAM -v1806.
Do anyone know that icoReactingMultiPhaseInterFoam? (code of boundary condition, compile solvers) Thank you so much! |
LaserDTRM
Hello!
I am trying laser simulation with OpenFOAM-v1806, but I am getting an error like this. -> FOAM FATAL IO ERROR: wrong token type-expected Scalar, found on line 41: punctuation ')' "line41" in this error statement means the following statement in the radiationProperties file. laserDirection constant (0 -1); I don't understand why I got this error. Can anyone please help me with this error solution? |
LaserDTRM
Quote:
Here's what I use: laserDirection constant (0 0 -1); It looks like you only have 2 coordinates. I am using a 3D case, so I use 3 values (e.g. x,y,z coordinate). I hope that helps. Good luck! |
Hi OPFO!
Thanks to your advice, the error was resolved! |
laser scanning
Hello,everyone!
Currently I am trying to apply laser scanning. Has anyone been able to apply scanning? |
laser scanning
Hello,OPFO!
Can you tell me how to apply laser scanning in icoRiactingMultiphase Interfoam? (1) Do you manipulate the radiation property or other parts of the code? (2) What statement do you add to your code to apply scanning? (3) Is scanning applicable to the Gaussian laser type? |
Quote:
From navidamin: focalLaserPosition table ( (0 (0.0002 0.000101 0.0001)) (0.001 (0.0012 0.000101 0.0001)) ); 0 and 0.001 are time and the numbers in parentheses are coordinates. thus no need to define velocity. (3) From the original LaserDTRM post (https://www.openfoam.com/releases/op...nd-physics.php), The laserPower (W) is a Function1 Type of entry to allow time based variation. The laser power distribution can be uniform, Gaussian or manual. When using the mode manual the total laser power output is : Hope that helps! |
laser scanning
Quote:
I will try it with the code you provided! |
optical peneteration depth (opd)
2 Attachment(s)
Hi everyone. Some people asked me about penetration of the laser. I know that it goes all the way to the bottom of the geometry. what I did was simply add a parameter to be multiplied by maxTrackLength. the name of the parameter is opd.
Code:
opd_(get<scalar>("opd")), |
About adding Marangoni to the icoReactingMlutiPhaseFOAM solver
Hello, everyone!
I currently want to add a source term for Marangoni convection to the icoReactingMlutiPhaseFOAM solver, but it's very difficult. Could anyone please tell me how? |
All times are GMT -4. The time now is 11:25. |