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

laser simulation by icoReactingMultiphaseInterFoam

Register Blogs Community New Posts Updated Threads Search

Like Tree5Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 28, 2020, 03:12
Default laser simulation by icoReactingMultiphaseInterFoam
  #1
New Member
 
Join Date: Dec 2020
Posts: 1
Rep Power: 0
amada is on a distinguished road
Hi, everyone.

I conducted simulation of laser irradiation with the icoReactingMultiphaseInterFoam solver, however the calculation result is unnatural. If you don't mind, could you give me some advice...?

The metal plate with a thickness of 1mm is sandwiched between air (Fig.1), and a Gaussian-type laser (spot diameter: 0.1mm, laser power: 1000W) was irradiated from above for a long time (Fig.2).
The thermal conductivity of metal should be higher than that of air, but the temperature distribution shows that air is hotter and the metal temperature remains much lower than the melting temperature (Fig.3). Also, when extracting the temperature of the metal, both the upper and the lower part of the metal are hot (Fig.4). I think the laser energy is absorbed from the electrons on the top of the metal and warms up...

I imagined the calculation result that the metal reaches the melting point from the top and melts like a bell, but the result is completely different from that. Is it necessary that the air is treated as an adiabatic gas? And the laser power is quite small?

If you have experience with laser irradiation, could you please tell me the correct setting of radiationProperties and treament of air? I'd like to attach my case file, I would appreciate your advice.
Attached Images
File Type: jpg Fig.1.jpg (23.6 KB, 120 views)
File Type: jpg Fig.2.jpg (36.8 KB, 111 views)
File Type: jpg Fig.3.jpg (37.8 KB, 115 views)
File Type: jpg Fig.4.jpg (22.7 KB, 90 views)
Attached Files
File Type: zip Allrun.zip (10.4 KB, 79 views)
amada is offline   Reply With Quote

Old   June 2, 2021, 04:21
Default
  #2
Member
 
Teresa
Join Date: Nov 2015
Location: germany
Posts: 63
Rep Power: 10
TeresaT is on a distinguished road
Hi Amada,

I am working with icoReactingMultiphaseInterFoam as well. Sadly I missed your post.

In your radiationProperties file I see that you have specified only one absorptivity, emissivity and E, therefore air and metal react the same way towards your laser.

You may want to use something like this (numbers are from my case):

Code:
localDensityAbsorptionEmissionCoeffs
{
alphaNames (alpha.air alpha.melt alpha.metal);
aCoeff (0 1e3 1e8);
eCoeff (0 0.35 0.35); 
ECoeff (0 0 0);
}
instead of:

Code:
    
absorptivity    absorptivity    [0 -1 0 0 0 0 0] 0.1;
emissivity      emissivity      [0 -1 0 0 0 0 0] 1.0;
E               E               [1 -1 -3 0 0 0 0] 0;

I haven't checked the whole case, since you probably solved the problem by now anyway.

Greetings,
Teresa
TeresaT is offline   Reply With Quote

Old   June 4, 2021, 06:58
Post absorptionEmissionModel constantAbsorptionEmission
  #3
New Member
 
Harris Daniel S
Join Date: Oct 2017
Posts: 8
Rep Power: 8
Harris_Daniel is on a distinguished road
Quote:
Originally Posted by TeresaT View Post
Hi Amada,

I am working with icoReactingMultiphaseInterFoam as well. Sadly I missed your post.

In your radiationProperties file I see that you have specified only one absorptivity, emissivity and E, therefore air and metal react the same way towards your laser.

You may want to use something like this (numbers are from my case):

Code:
localDensityAbsorptionEmissionCoeffs
{
alphaNames (alpha.air alpha.melt alpha.metal);
aCoeff (0 1e3 1e8);
eCoeff (0 0.35 0.35); 
ECoeff (0 0 0);
}
instead of:

Code:
    
absorptivity    absorptivity    [0 -1 0 0 0 0 0] 0.1;
emissivity      emissivity      [0 -1 0 0 0 0 0] 1.0;
E               E               [1 -1 -3 0 0 0 0] 0;
I haven't checked the whole case, since you probably solved the problem by now anyway.

Greetings,
Teresa

Hello Teresa,
What absorptionEmissionModel did you use to specify the absorptivity, emissivity coefficients individually for the phases?
Is constantAbsorptionEmission model good enough?
Regards,
Harris
Harris_Daniel is offline   Reply With Quote

Old   June 4, 2021, 23:53
Post absorptionEmissionModel localDensityAbsorptionEmission
  #4
New Member
 
Harris Daniel S
Join Date: Oct 2017
Posts: 8
Rep Power: 8
Harris_Daniel is on a distinguished road
Quote:
Originally Posted by TeresaT View Post
Hi Amada,

I am working with icoReactingMultiphaseInterFoam as well. Sadly I missed your post.

In your radiationProperties file I see that you have specified only one absorptivity, emissivity and E, therefore air and metal react the same way towards your laser.

You may want to use something like this (numbers are from my case):

Code:
localDensityAbsorptionEmissionCoeffs
{
alphaNames (alpha.air alpha.melt alpha.metal);
aCoeff (0 1e3 1e8);
eCoeff (0 0.35 0.35); 
ECoeff (0 0 0);
}
instead of:

Code:
    
absorptivity    absorptivity    [0 -1 0 0 0 0 0] 0.1;
emissivity      emissivity      [0 -1 0 0 0 0 0] 1.0;
E               E               [1 -1 -3 0 0 0 0] 0;
I haven't checked the whole case, since you probably solved the problem by now anyway.

Greetings,
Teresa

Hey Guys!
If you want to declare absorptivity, emissivity for individual phases like Teresa did, you'll have to use "localDensityAbsorptionEmission" as your absorptionEmissionModel.
Thanks.
Harris_Daniel is offline   Reply With Quote

Old   June 7, 2021, 06:36
Default
  #5
New Member
 
Bill
Join Date: Jun 2019
Posts: 29
Rep Power: 6
OPFO is on a distinguished road
Quote:
Originally Posted by TeresaT View Post
Hi Amada,

I am working with icoReactingMultiphaseInterFoam as well. Sadly I missed your post.

In your radiationProperties file I see that you have specified only one absorptivity, emissivity and E, therefore air and metal react the same way towards your laser.

You may want to use something like this (numbers are from my case):

Code:
localDensityAbsorptionEmissionCoeffs
{
alphaNames (alpha.air alpha.melt alpha.metal);
aCoeff (0 1e3 1e8);
eCoeff (0 0.35 0.35); 
ECoeff (0 0 0);
}
instead of:

Code:
    
absorptivity    absorptivity    [0 -1 0 0 0 0 0] 0.1;
emissivity      emissivity      [0 -1 0 0 0 0 0] 1.0;
E               E               [1 -1 -3 0 0 0 0] 0;

I haven't checked the whole case, since you probably solved the problem by now anyway.

Greetings,
Teresa
Hi Teresa,

Did you find that 0.35 emissivity coefficients affect your results? Specifically, if you use 0 for the emissivity coefficients, do you get a difference outcome (e.g. T values)? For my simulation, I did not see a difference which is confusing.
OPFO is offline   Reply With Quote

Old   June 8, 2021, 03:04
Default
  #6
Member
 
Teresa
Join Date: Nov 2015
Location: germany
Posts: 63
Rep Power: 10
TeresaT is on a distinguished road
Quote:
Originally Posted by OPFO View Post
Hi Teresa,

Did you find that 0.35 emissivity coefficients affect your results? Specifically, if you use 0 for the emissivity coefficients, do you get a difference outcome (e.g. T values)? For my simulation, I did not see a difference which is confusing.
Hi Opfo,

I wasn't able to simulate different emissivity coefficients yet, or thought it wasn't a priority as long as I have big issues that are probably not from eCoeff.

Do you simulate powder or other structures that could could affect each other through emissivity? If you have 0 values for the gas above your solid or liquid and not much structure emissivity can't do much.


aCoeff however gave me a lot of headaches.

Right now I fight with condensation, as i can't find a kineticgasevaporation model for it, and my vapour behaves strange when kept "hanging".

Greetings,
Teresa
TeresaT is offline   Reply With Quote

Old   January 14, 2022, 03:25
Default
  #7
New Member
 
Sumant
Join Date: Nov 2021
Posts: 13
Rep Power: 4
yasum is on a distinguished road
Hello Dear Friends,
I am trying "Laser Simulation" by using "icoReactingMultiphaseInterFoam" solver and Laser DTRM radiation model. But I am facing an error, I am unable to recognize the error. So if anyone knows about this error please let me know.

I am attaching my code file in Zip format for the reference.

Error
Quote:
PIMPLE: iteration 1
#0 Foam::error:rintStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 ? in /lib/x86_64-linux-gnu/libpthread.so.0
#3 Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
#4 void Foam::divide<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
#5 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam:perator/<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<doub le, Foam::fvPatchField, Foam::volMesh> > const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
#6 Foam::CompressibleTurbulenceModel<Foam::multiphase System>::nu() const at ??:?
#7 Foam::laminarModels::Stokes<Foam::ThermalDiffusivi ty<Foam::CompressibleTurbulenceModel<Foam::multiph aseSystem> > >::nuEff() const at ??:?
#8 Foam::linearViscousStress<Foam::laminarModel<Foam: :ThermalDiffusivity<Foam::CompressibleTurbulenceMo del<Foam::multiphaseSystem> > > >::divDevRhoReff(Foam::GeometricField<Foam::Vector <double>, Foam::fvPatchField, Foam::volMesh>&) const at ??:?
#9 ? at ??:?
#10 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#11 ? at ??:?
Floating point exception
Thanks & Regard
Attached Files
File Type: zip Laser.zip (10.2 KB, 22 views)
yasum is offline   Reply With Quote

Old   January 14, 2022, 12:15
Default
  #8
Senior Member
 
Join Date: Oct 2017
Posts: 121
Rep Power: 8
Krapf is on a distinguished road
Your setFieldsDict is incorrect:
  • You have no field alpha.gas. That creates a warning.
  • Code:
    box (0 0 0.001) (0.006 0.006 0.001);
    This does not define a box because zMin and zMax are on the same x-y-plane.
  • The crash is caused by the fact that the cells are not assigned to either alpha.liquid or alpha.solid.
Krapf is offline   Reply With Quote

Old   January 15, 2022, 04:05
Default
  #9
New Member
 
Sumant
Join Date: Nov 2021
Posts: 13
Rep Power: 4
yasum is on a distinguished road
Quote:
Originally Posted by Krapf View Post
Your setFieldsDict is incorrect:
  • You have no field alpha.gas. That creates a warning.
  • Code:
    box (0 0 0.001) (0.006 0.006 0.001);
    This does not define a box because zMin and zMax are on the same x-y-plane.
  • The crash is caused by the fact that the cells are not assigned to either alpha.liquid or alpha.solid.
Dear Krapf,
I modified this but this time also I am facing the same error and also I did modification in the 'decomposeParDict' file but nothing happened.
Please suggest me again.
yasum is offline   Reply With Quote

Old   January 18, 2022, 06:42
Default
  #10
New Member
 
Sumant
Join Date: Nov 2021
Posts: 13
Rep Power: 4
yasum is on a distinguished road
Hello Everyone,
I have some doubts regarding units,
1) What is the unit of "molWeight" (in thermophysicalProperties file), g/mol, or kg/mol ?
Quote:
specie
{
nMoles 1;
molWeight 47.9; }
2) What is the unit of "laser power" (in radiationProperties file) ?


And during simulation, I am facing an error (code related to 'rediationProperties' )
Error
Quote:
--> FOAM FATAL IO ERROR: (openfoam-2012)
Entry 'absorptivity' not found in dictionary "/constant/radiationProperties"
When I am using
Quote:
localDensityAbsorptionEmissionCoeffs
{
alphaNames (alpha.air alpha.melt alpha.metal);
aCoeff (0 1e3 1e8);
eCoeff (0 0.35 0.35);
ECoeff (0 0 0);
}
instead of:
Quote:
absorptivity absorptivity [0 -1 0 0 0 0 0] 0.1;

emissivity emissivity [0 -1 0 0 0 0 0] 1.0;

E E [1 -1 -3 0 0 0 0] 0;
What I have to do, please suggest to me.
yasum is offline   Reply With Quote

Old   January 18, 2022, 13:56
Default
  #11
Senior Member
 
Join Date: Oct 2017
Posts: 121
Rep Power: 8
Krapf is on a distinguished road
Quote:
Originally Posted by yasum View Post
Dear Krapf,
I modified this but this time also I am facing the same error and also I did modification in the 'decomposeParDict' file but nothing happened.
Please suggest me again.
Does the problem still exist? If so, please post your setFieldsDict.


Quote:
Originally Posted by yasum View Post
Hello Everyone,
I have some doubts regarding units,
1) What is the unit of "molWeight" (in thermophysicalProperties file), g/mol, or kg/mol ?


2) What is the unit of "laser power" (in radiationProperties file) ?


And during simulation, I am facing an error (code related to 'rediationProperties' )
Error


When I am using


instead of:


What I have to do, please suggest to me.
  • The unit of molWeight is g/mol.
  • The unit of laserPower is W.
  • Did you set absorptionEmissionModel to localDensityAbsorptionEmission?
Krapf is offline   Reply With Quote

Old   January 19, 2022, 01:02
Default
  #12
New Member
 
Sumant
Join Date: Nov 2021
Posts: 13
Rep Power: 4
yasum is on a distinguished road
Dear Krapf,

Quote:
Does the problem still exist? If so, please post your setFieldsDict.
Yes, this problem solve. Thank you.

But, I am facing issues in 'absorptionEmissionModel'. Here I am attaching my radiation code file for reference.
Quote:
radiation on;

radiationModel laserDTRM;


// Number of flow iterations per radiation iteration
solverFreq 1;

absorptionEmissionModel constantAbsorptionEmission;
mode "Gaussian";

nTheta 50;

nr 100;

opd 0;

focalLaserPosition table
(
(0 (0.002 0.003 0.003))
(2 (0.004 0.003 0.003))
);


laserDirection constant (0 -1 0);

focalLaserRadius 0.00014;

laserPower 1000;

sigma 0.001;

//qualityBeamLaser 1.0;

absorptionEmissionModel localDensityAbsorptionEmission;

localDensityAbsorptionEmissionCoeffs
{
alphaNames (alpha.air alpha.melt alpha.metal);
aCoeff (0 0.55 0.6);
eCoeff (0 0.35 0.35);
ECoeff (0 0 0);
}

scatterModel none;

sootModel none;

transmissivityModel none;

When I am executing this code, it is showing,

Quote:
From const volScalarField& Foam::radiation::localDensityAbsorptionEmission::a lpha(Foam::word) const
in file localDensityAbsorptionEmission/localDensityAbsorptionEmission.C at line 57.

FOAM exiting
I went through this file, there is showing waring like,
Quote:
FatalErrorInFunction
<< "Unable to retrieve density field " << alphaName << " from "
<< "database. Available objects:" << mesh_.sortedNames()
<< exit(FatalError);
I am not understanding what I have to do?
yasum is offline   Reply With Quote

Old   January 19, 2022, 14:28
Default
  #13
Senior Member
 
Join Date: Oct 2017
Posts: 121
Rep Power: 8
Krapf is on a distinguished road
Not sure if this will solve the problem but try deleting "absorptionEmissionModel constantAbsorptionEmission;". You set absorptionEmissionModel twice.
Krapf is offline   Reply With Quote

Old   January 20, 2022, 00:33
Default
  #14
New Member
 
Sumant
Join Date: Nov 2021
Posts: 13
Rep Power: 4
yasum is on a distinguished road
Hello Krapf,

Quote:
Not sure if this will solve the problem but try deleting "absorptionEmissionModel constantAbsorptionEmission;". You set absorptionEmissionModel twice.
It is not working, still I am getting the same error.

Radiation Properties file...
Quote:
radiation on;

radiationModel laserDTRM;


// Number of flow iterations per radiation iteration
solverFreq 1;


mode "Gaussian";

nTheta 50;

nr 100;

opd 0;

focalLaserPosition table
(
(0 (0.002 0.003 0.003))
(2 (0.004 0.003 0.003))
);


laserDirection constant (0 -1 0);

focalLaserRadius 0.00014;

laserPower 1000;

sigma 0.001;

//qualityBeamLaser 1.0;

absorptionEmissionModel localDensityAbsorptionEmission;

localDensityAbsorptionEmissionCoeffs
{
alphaNames (alpha.air alpha.melt alpha.metal);
aCoeff (0 0.55 0.6);
eCoeff (0 0.35 0.35);
ECoeff (0 0 0);
}

scatterModel none;

sootModel none;

transmissivityModel none;
yasum is offline   Reply With Quote

Old   January 20, 2022, 13:42
Default
  #15
Senior Member
 
Join Date: Oct 2017
Posts: 121
Rep Power: 8
Krapf is on a distinguished road
You use alpha.air, alpha.melt and alpha.metal in localDensityAbsorptionEmissionCoeffs.alphaNames. Are this the same names which you have defined in constant/phaseProperties?
yasum likes this.
Krapf is offline   Reply With Quote

Old   January 22, 2022, 14:33
Default
  #16
New Member
 
Sumant
Join Date: Nov 2021
Posts: 13
Rep Power: 4
yasum is on a distinguished road
Hello Krapf,

Quote:
Originally Posted by Krapf View Post
You use alpha.air, alpha.melt and alpha.metal in localDensityAbsorptionEmissionCoeffs.alphaNames. Are this the same names which you have defined in constant/phaseProperties?
Now my simulation is running and I got some results.
I sincerely thank you for your help. I will definitely let you know when I get any other problems during my simulation.
yasum is offline   Reply With Quote

Old   January 24, 2022, 07:03
Default
  #17
New Member
 
Sumant
Join Date: Nov 2021
Posts: 13
Rep Power: 4
yasum is on a distinguished road
Hello Friends,
As my simulation is running and I got some results but it is clearly visible some things wrong in my result: Fig-1 and Fig-2.
Fig-1 shows the solid and air zone of my geometry, but there is a semi-solid zone at the interface of both, means that the zone separates our solid and air parts.

Fig-2 represents the temperature profile and laser position. that white spot represents the laser position (always it is like that only, on a solid surface also), I don't know it is right or wrong.
And big confusion related to laser power. When I am using laser power as 1000 to 1e6 then the maximum temperature goes up to 300.5 K to 450 K only, and at 1e7 maximum temperature goes up to 2000 K.

So, please give some suggestions on my queries.
Attached Images
File Type: jpg fig1.jpg (23.1 KB, 27 views)
File Type: jpg fig2.jpg (26.5 KB, 38 views)
yasum is offline   Reply With Quote

Old   January 24, 2022, 13:55
Default
  #18
Senior Member
 
Join Date: Oct 2017
Posts: 121
Rep Power: 8
Krapf is on a distinguished road
Regarding Fig 1: You see this "semi-solid zone" because your are displaying point values. ParaView interpolates between solid and air. If you switch to cell values you will see sharp interfaces.

Regarding Fig 2: If you zoom in you will see that the white spot consists of many small dots. This are the starting points of the laser rays which you defined in radiationPropterties.
yasum likes this.
Krapf is offline   Reply With Quote

Old   February 5, 2022, 08:31
Default
  #19
New Member
 
Sumant
Join Date: Nov 2021
Posts: 13
Rep Power: 4
yasum is on a distinguished road
Hello,
1) The simulation result I want is not coming means fig-1 shows my expected result, and fig-2 is showing my real simulation result, which means I am not getting a melt pool like this.
So please let me know where I am doing mistakes, and also please let me know which terms I am missing that I should add in my coding.

2) I am still confused related to the laser power value (unit) because at laser power 1000 to 1e6 the maximum temperature goes up to 300.5 K to 700 K only, so I am using 2e6 laser power for getting temperature range 2800-3000 K. So please let me know where I am doing mistakes.

I have attached the code file for reference.
Attached Images
File Type: png fig1.PNG (32.2 KB, 45 views)
File Type: jpg fig2.jpg (23.6 KB, 40 views)
Attached Files
File Type: zip laser.zip (10.0 KB, 27 views)
yasum is offline   Reply With Quote

Old   February 7, 2022, 02:58
Default
  #20
Member
 
Teresa
Join Date: Nov 2015
Location: germany
Posts: 63
Rep Power: 10
TeresaT is on a distinguished road
Hey Yasum,

to me the picture looks like your laser is absorbed not over a small absorption length but over the whole range. You might want to look at this.
The absorption coefficient in localdensityAbsorptionEmissonCoeffs is in the unit 1/meter. Try out high values like 1e4 to 1e6 and see if this changes something.


Greetings,
Teresa
yasum likes this.
TeresaT is offline   Reply With Quote

Reply


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
Laser welding simulation using OpenFoam yeokiwi CFD Freelancers 2 June 4, 2017 02:49
Simulation FPEs - turbulence for transient and steady-state? DaveR OpenFOAM Running, Solving & CFD 5 March 5, 2017 15:06
Simulation of high pressure diesel injector - all phases compressible with cavitation fivos CFX 4 July 30, 2015 06:48
Huge file sizes when Running VOF simulation aarratia FLUENT 0 May 8, 2014 12:27
Simulation of Laser Drilling in FLUENT JB FLUENT 0 November 20, 2006 00:12


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