|
[Sponsors] |
August 20, 2019, 08:14 |
icoReactingMultiphaseInterFoam Laser DTRM
|
#1 |
New Member
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7 |
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! |
|
August 23, 2019, 05:36 |
LaserDTRM
|
#2 |
New Member
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7 |
Has anyone used LaserDTRM in the icoReactingMultiphaseInterFoam solver? I can't seem to find anything regarding its usage.
|
|
September 17, 2019, 06:15 |
ddd
|
#3 |
New Member
Navid
Join Date: Nov 2015
Posts: 20
Rep Power: 11 |
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. |
|
October 1, 2019, 07:41 |
LaserDTRM
|
#4 |
New Member
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7 |
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! |
|
November 1, 2019, 03:44 |
Moving laser
|
#5 |
New Member
wugui Jiang
Join Date: Nov 2019
Posts: 3
Rep Power: 7 |
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 |
|
November 4, 2019, 03:41 |
LaserDTRM
|
#6 |
New Member
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7 |
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! |
|
November 5, 2019, 05:27 |
|
#7 |
New Member
wugui Jiang
Join Date: Nov 2019
Posts: 3
Rep Power: 7 |
Thanks very much for your help.
Regards, John |
|
November 14, 2019, 17:12 |
|
#8 |
New Member
Zahid
Join Date: Oct 2019
Posts: 2
Rep Power: 0 |
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:pen(const Foam::fileName&, bool) in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 109 could not load "liblaserConvectionBC.so" Please help! Regards, Zahid |
|
November 26, 2019, 08:25 |
LaserConvectionBC
|
#9 |
New Member
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7 |
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 |
|
December 4, 2019, 11:30 |
|
#10 |
New Member
Zahid
Join Date: Oct 2019
Posts: 2
Rep Power: 0 |
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 |
|
February 17, 2020, 06:59 |
laser simulation
|
#11 |
New Member
Join Date: Feb 2020
Posts: 1
Rep Power: 0 |
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! |
|
April 25, 2020, 12:54 |
LaserDTRM
|
#12 |
New Member
Join Date: Apr 2020
Posts: 10
Rep Power: 6 |
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? |
|
April 27, 2020, 06:02 |
LaserDTRM
|
#13 | |
New Member
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7 |
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! |
||
April 28, 2020, 10:41 |
|
#14 |
New Member
Join Date: Apr 2020
Posts: 10
Rep Power: 6 |
Hi OPFO!
Thanks to your advice, the error was resolved! |
|
August 27, 2020, 07:47 |
laser scanning
|
#15 |
New Member
Join Date: Apr 2020
Posts: 10
Rep Power: 6 |
Hello,everyone!
Currently I am trying to apply laser scanning. Has anyone been able to apply scanning? |
|
August 28, 2020, 05:06 |
laser scanning
|
#16 |
New Member
Join Date: Apr 2020
Posts: 10
Rep Power: 6 |
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? |
|
August 28, 2020, 07:40 |
|
#17 | |
New Member
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7 |
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! |
||
August 28, 2020, 07:54 |
laser scanning
|
#18 | |
New Member
Join Date: Apr 2020
Posts: 10
Rep Power: 6 |
Quote:
I will try it with the code you provided! |
||
September 15, 2020, 06:36 |
optical peneteration depth (opd)
|
#19 |
New Member
Navid
Join Date: Nov 2015
Posts: 20
Rep Power: 11 |
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")), maxTrackLength_(mesh_.bounds().mag()*opd_), |
|
September 18, 2020, 06:12 |
About adding Marangoni to the icoReactingMlutiPhaseFOAM solver
|
#20 |
New Member
Join Date: Apr 2020
Posts: 10
Rep Power: 6 |
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? |
|
Tags |
interfoam, laser melting, v1806 |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Pulsed laser udf | Sorabh | Fluent UDF and Scheme Programming | 4 | August 29, 2018 02:39 |
[ANSYS Meshing] Creating a Moving Heat Source in order to simulate a Laser | Lancer_21 | ANSYS Meshing & Geometry | 0 | August 28, 2018 11:39 |
Laser Ablation | MjG | Electromagnetics | 0 | March 7, 2018 16:28 |
Laser Ablation | MjG | ANSYS | 0 | March 5, 2018 16:13 |
Laser modeling in the laser cladding process | Piterhawk16 | STAR-CCM+ | 0 | December 25, 2017 09:01 |