-
1
- #1
polak7
Materials
- Jan 23, 2015
- 52
Hello,
I have to write the DFLUX subroutine for moving heat flux (laser, described by Gaussian equation). It should be "volumetric heat flux". I am novice in writing subroutines. It is first in my life.
Here is the equation:
And here is the figure of substrate, on which the heat flux is applied:
Starting coordinates of the beam are (mm are used in whole model):
X0 = -13.75 [mm]
Y0 = -7.5 [mm]
Z0 = 11 [mm]
Characteristics of laser:
Scanning speeds: 4-6mm/s
Laser power: 120W
Laser spot size: 1-1.2mm at diameter
Focus distance: 5mm
DFLUX subroutine:
Because of the fact, that I do not have experience in writing subroutines, I want to start from the easiest case. First, I want to define heat flux without moving (stationary):
The first problem is, that the heat affect whole surface, not the coordinates X0, Y0, Z0. I suppose, that the X0, Y0 and Z0 coordinates should be included in some way into FLUX(1) line. I saw other examples of moving heat flux on the Internet, but they are too complicated for me at the moment. I want to understand the code.
Maybe someone will explain me, what should I add to the code?
I have to write the DFLUX subroutine for moving heat flux (laser, described by Gaussian equation). It should be "volumetric heat flux". I am novice in writing subroutines. It is first in my life.
Here is the equation:
And here is the figure of substrate, on which the heat flux is applied:
Starting coordinates of the beam are (mm are used in whole model):
X0 = -13.75 [mm]
Y0 = -7.5 [mm]
Z0 = 11 [mm]
Characteristics of laser:
Scanning speeds: 4-6mm/s
Laser power: 120W
Laser spot size: 1-1.2mm at diameter
Focus distance: 5mm
DFLUX subroutine:
Because of the fact, that I do not have experience in writing subroutines, I want to start from the easiest case. First, I want to define heat flux without moving (stationary):
Code:
SUBROUTINE DFLUX(FLUX,SOL,KSTEP,KINC,TIME,NOEL,NPT,COORDS,
1 JLTYP,TEMP,PRESS,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION FLUX(2), TIME(2), COORDS(3)
CHARACTER*80 SNAME
QL=120000.d0 !LASER POWER [mW]
R0=0.6d0 !BEAM RADIUS [mm]
DEPTH=5.d0 !PENETRATION DEPTH [mm]
Q=(QL/(R0**2*3.1415926d0*DEPTH)) !BODY FLUX [mW/mm^3] ?
V=5.d0 !LASER BEAM VELOCITY [mm/s]
X0=-13.75d0 !STARTING COORDINATE OF THE LASER BEAM
Y0=-7.5d0 !STARTING COORDINATE OF THE LASER BEAM
Z0=11d0 !STARTING COORDINATE OF THE LASER BEAM
FLUX(1)=Q
RETURN
END
The first problem is, that the heat affect whole surface, not the coordinates X0, Y0, Z0. I suppose, that the X0, Y0 and Z0 coordinates should be included in some way into FLUX(1) line. I saw other examples of moving heat flux on the Internet, but they are too complicated for me at the moment. I want to understand the code.
Maybe someone will explain me, what should I add to the code?