CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

icoReactingMultiphaseInterFoam Laser DTRM

Register Blogs Community New Posts Updated Threads Search

Like Tree9Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 20, 2019, 08:14
Default icoReactingMultiphaseInterFoam Laser DTRM
  #1
New Member
 
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7
OPFO is on a distinguished road
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!
OPFO is offline   Reply With Quote

Old   August 23, 2019, 05:36
Default LaserDTRM
  #2
New Member
 
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7
OPFO is on a distinguished road
Has anyone used LaserDTRM in the icoReactingMultiphaseInterFoam solver? I can't seem to find anything regarding its usage.
OPFO is offline   Reply With Quote

Old   September 17, 2019, 06:15
Default ddd
  #3
New Member
 
Navid
Join Date: Nov 2015
Posts: 20
Rep Power: 11
navidamin is on a distinguished road
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.
Attached Files
File Type: zip radiationProperties.zip (763 Bytes, 400 views)
snak and Nandagopal like this.
navidamin is offline   Reply With Quote

Old   October 1, 2019, 07:41
Default LaserDTRM
  #4
New Member
 
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7
OPFO is on a distinguished road
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!
Attached Images
File Type: jpg LaserDTRM.jpg (35.3 KB, 527 views)
OPFO is offline   Reply With Quote

Old   November 1, 2019, 03:44
Default Moving laser
  #5
New Member
 
wugui Jiang
Join Date: Nov 2019
Posts: 3
Rep Power: 7
jiangwugui is on a distinguished road
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
jiangwugui is offline   Reply With Quote

Old   November 4, 2019, 03:41
Default LaserDTRM
  #6
New Member
 
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7
OPFO is on a distinguished road
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!
Nandagopal likes this.
OPFO is offline   Reply With Quote

Old   November 5, 2019, 05:27
Default
  #7
New Member
 
wugui Jiang
Join Date: Nov 2019
Posts: 3
Rep Power: 7
jiangwugui is on a distinguished road
Thanks very much for your help.

Regards,
John
jiangwugui is offline   Reply With Quote

Old   November 14, 2019, 17:12
Default
  #8
New Member
 
Zahid
Join Date: Oct 2019
Posts: 2
Rep Power: 0
miy3x is on a distinguished road
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
miy3x is offline   Reply With Quote

Old   November 26, 2019, 08:25
Default LaserConvectionBC
  #9
New Member
 
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7
OPFO is on a distinguished road
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
OPFO is offline   Reply With Quote

Old   December 4, 2019, 11:30
Default
  #10
New Member
 
Zahid
Join Date: Oct 2019
Posts: 2
Rep Power: 0
miy3x is on a distinguished road
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
thunde47 likes this.
miy3x is offline   Reply With Quote

Old   February 17, 2020, 06:59
Default laser simulation
  #11
New Member
 
Join Date: Feb 2020
Posts: 1
Rep Power: 0
hoaiduongminh is on a distinguished road
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!
hoaiduongminh is offline   Reply With Quote

Old   April 25, 2020, 12:54
Default LaserDTRM
  #12
New Member
 
Join Date: Apr 2020
Posts: 10
Rep Power: 6
ahomaru is on a distinguished road
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?
ahomaru is offline   Reply With Quote

Old   April 27, 2020, 06:02
Default LaserDTRM
  #13
New Member
 
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7
OPFO is on a distinguished road
Quote:
Originally Posted by ahomaru View Post
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?
Hi ahomaru,

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!
OPFO is offline   Reply With Quote

Old   April 28, 2020, 10:41
Default
  #14
New Member
 
Join Date: Apr 2020
Posts: 10
Rep Power: 6
ahomaru is on a distinguished road
Hi OPFO!

Thanks to your advice, the error was resolved!
ahomaru is offline   Reply With Quote

Old   August 27, 2020, 07:47
Default laser scanning
  #15
New Member
 
Join Date: Apr 2020
Posts: 10
Rep Power: 6
ahomaru is on a distinguished road
Hello,everyone!

Currently I am trying to apply laser scanning. Has anyone been able to apply scanning?
ahomaru is offline   Reply With Quote

Old   August 28, 2020, 05:06
Default laser scanning
  #16
New Member
 
Join Date: Apr 2020
Posts: 10
Rep Power: 6
ahomaru is on a distinguished road
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?
ahomaru is offline   Reply With Quote

Old   August 28, 2020, 07:40
Default
  #17
New Member
 
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 7
OPFO is on a distinguished road
Quote:
Originally Posted by ahomaru View Post
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?
(1/2) Yup, in your radiationproperties file, you can add a table to dictate the time, position of the laser.

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!
snak likes this.
OPFO is offline   Reply With Quote

Old   August 28, 2020, 07:54
Default laser scanning
  #18
New Member
 
Join Date: Apr 2020
Posts: 10
Rep Power: 6
ahomaru is on a distinguished road
Quote:
Originally Posted by OPFO View Post
(1/2) Yup, in your radiationproperties file, you can add a table to dictate the time, position of the laser.

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!
Thanks to your advice, it was very helpful!

I will try it with the code you provided!
ahomaru is offline   Reply With Quote

Old   September 15, 2020, 06:36
Default optical peneteration depth (opd)
  #19
New Member
 
Navid
Join Date: Nov 2015
Posts: 20
Rep Power: 11
navidamin is on a distinguished road
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_),
It should be added to both constructors of laserDTRM. That's all there is to it. I added my .C and .H just in case.
Attached Files
File Type: h laserDTRM.H (6.8 KB, 87 views)
File Type: c laserDTRM.C (18.8 KB, 72 views)
Harris_Daniel and OPFO like this.
navidamin is offline   Reply With Quote

Old   September 18, 2020, 06:12
Default About adding Marangoni to the icoReactingMlutiPhaseFOAM solver
  #20
New Member
 
Join Date: Apr 2020
Posts: 10
Rep Power: 6
ahomaru is on a distinguished road
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?
ahomaru is offline   Reply With Quote

Reply

Tags
interfoam, laser melting, v1806


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


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


All times are GMT -4. The time now is 00:59.