### decomposeParDict configuration for Plate2D Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/system/decomposeParDict.html Example configuration file for domain decomposition, specifying the number of subdomains and the decomposition method. ```cpp /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 10 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { format ascii; class dictionary; location "system"; object decomposeParDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // numberOfSubdomains 4; method simple; simpleCoeffs { n (1 2 2); } hierarchicalCoeffs { n (1 1 1); order xyz; } manualCoeffs { dataFile ""; } distributed no; roots ( ); // ************************************************************************* // ``` -------------------------------- ### turbulenceProperties example from Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/constant/turbulenceProperties.html OpenFOAM dictionary file defining the simulation type as laminar. This is the standard turbulenceProperties file used in the Plate2D tutorial for laser beam interactions. ```OpenFOAM /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2506 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object turbulenceProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // simulationType laminar; // ************************************************************************* // ``` -------------------------------- ### LaserProperties dictionary example from Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/constant/LaserProperties.html OpenFOAM dictionary file defining two lasers (laser0 and laser1) with time-varying position and power data files, incident angle vectors, laser radius, wavelength, and electron number density. The outOfBounds clamp setting is used for both time-varying data tables. The commented Radius_Flavour line indicates the laser profile type defaults to 2. ```OpenFOAM /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 6 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object PhaseFieldProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // radialPolarHeatSource no; lasers ( laser0 { timeVsLaserPosition { file "$FOAM_CASE/constant/timeVsLaserPosition0"; outOfBounds clamp; } timeVsLaserPower { file "$FOAM_CASE/constant/timeVsLaserPower0"; outOfBounds clamp; } // Laser angle (normalised in the code) V_incident (0 1 1); // Laser radius laserRadius 0.0005; // Laser physical properties wavelength 1.064e-6; e_num_density 5.83e29; // Laser profile type (defaults to 2) //Radius_Flavour 2.0; } laser1 { timeVsLaserPosition { file "$FOAM_CASE/constant/timeVsLaserPosition1"; outOfBounds clamp; } timeVsLaserPower { file "$FOAM_CASE/constant/timeVsLaserPower1"; outOfBounds clamp; } // Laser angle (normalised in the code) V_incident (0 1 0); // Laser radius laserRadius 0.0005; // Laser physical properties wavelength 1.064e-6; e_num_density 5.83e29; // Laser profile type (defaults to 2) //Radius_Flavour 2.0; } ); ``` -------------------------------- ### OpenFOAM g file example from Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/constant/g.html Defines the gravity vector for an OpenFOAM case. The 'dimensions' entry sets units to m/s², and 'value' specifies the vector (0 -9.81 0) for Earth's gravity in the negative y-direction. This file is located in the 'constant' directory and uses the 'uniformDimensionedVectorField' class. ```cpp /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 10 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { format ascii; class uniformDimensionedVectorField; location "constant"; object g; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -2 0 0 0 0]; value (0 -9.81 0); // ************************************************************************* // ``` -------------------------------- ### Run beamWeldFoam tutorial in serial mode Source: https://laserbeamfoam.com/solvers/Associated_Projects/beamWeldFoam/tutorials.html Run any tutorial in serial mode after removing old simulation files and copying initial to 0. Executes blockMesh, setFields, then beamWeldFoam. ```bash delete any old simulation files, e.g: $ rm -r 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* Then: $ cp -r initial 0 $ blockMesh $ setFields $ beamWeldFoam ``` -------------------------------- ### OpenFOAM controlDict for laserbeamFoam Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/system/controlDict.html Use as the system/controlDict for the Plate2D tutorial. Sets laserbeamFoam as the application, runs from startTime 0 to endTime 0.01 with deltaT 1e-5, and enables adjustable time stepping with maxCo 0.1 and maxAlphaCo 0.1. Writes ASCII results every 1e-3 s with precision 10. ```OpenFOAM /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application laserbeamFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 0.01; deltaT 1.0e-5; writeControl adjustableRunTime; writeInterval 1e-3; purgeWrite 0; writeFormat ascii; writePrecision 10; writeCompression off; timeFormat general; timePrecision 10; runTimeModifiable yes; adjustTimeStep yes; maxCo 0.1;//0.1; maxAlphaCo 0.1; maxDeltaT 1e-5; // ************************************************************************* // ``` -------------------------------- ### Prepare simulation mesh and fields Source: https://laserbeamfoam.com/solvers/laserbeamFoam/tutorials.html Commands to clean up old simulation files and initialize the case directory for laserbeamFoam. ```bash # Remove any old simulation files, e.g. $ rm -r 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* # Then: $ cp -r initial 0 $ blockMesh $ setFields ``` -------------------------------- ### Clone and build beamWeldFoam Source: https://laserbeamfoam.com/solvers/Associated_Projects/beamWeldFoam/how_to_install.html Commands to clone the repository, navigate to the solver directory, and compile the code using wclean and wmake. ```bash $ git clone https://github.com/tomflint22/beamWeldFoam.git beamWeldFoam $ cd beamWeldFoam/applications/solvers/beamWeldFoam/ $ wclean $ wmake ``` -------------------------------- ### fvSolution dictionary for laserbeamFoam Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/system/fvSolution.html Complete fvSolution dictionary from the Plate2D tutorial. It configures solvers for alpha.metal.*, pcorr.*, p_rgh, p_rghFinal, U, T, and TFinal, plus MELTING, PIMPLE, and relaxationFactors sub-dictionaries. Note the commented-out PBiCG solver block for T and the damperSwitch option in MELTING. ```OpenFOAM /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 10 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { "alpha.metal.*" { nAlphaCorr 2; nAlphaSubCycles 1; cAlpha 1; MULESCorr yes; nLimiterIter 5; solver smoothSolver; smoother symGaussSeidel; tolerance 1e-8; relTol 0; } "pcorr.*" { solver PCG; preconditioner DIC; tolerance 1e-5; relTol 0; } p_rgh { solver PCG; preconditioner DIC; tolerance 1e-07; relTol 0.05; } p_rghFinal { $p_rgh; relTol 0; } U { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-06; relTol 0; } T { /* solver PBiCG; preconditioner DILU; tolerance 1e-12; minIter 1; maxIter 500;//2 */ solver smoothSolver; smoother symGaussSeidel; tolerance 1e-9; relTol 0.0; } TFinal { $T; } } MELTING { minTempCorrector 1; maxTempCorrector 150; epsilonTolerance 1e-4; epsilonRelaxation 0.5; damperSwitch true;//false;//true; } PIMPLE { momentumPredictor no; nOuterCorrectors 1; nCorrectors 3; nNonOrthogonalCorrectors 0; } relaxationFactors { equations { ".*" 1; } } // ************************************************************************* // ``` -------------------------------- ### Clone and build laserbeamFoam Source: https://laserbeamfoam.com/solvers/laserbeamFoam/how_to_install.html Commands to clone the repository and compile the library using all available CPU cores. ```bash $ git clone https://github.com/micmog/laserbeamFoam.git laserbeamFoam $ ./Allwmake -j ``` -------------------------------- ### Run laserbeamFoam in parallel Source: https://laserbeamfoam.com/solvers/laserbeamFoam/tutorials.html Execute the solver in parallel using MPI with 6 cores. ```bash $ decomposePar $ mpirun -np 6 laserbeamFoam -parallel >log & ``` -------------------------------- ### Run laserbeamFoam in serial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/tutorials.html Execute the solver in serial mode. ```bash $ laserbeamFoam ``` -------------------------------- ### Run beamWeldFoam in parallel with MPI (decomposePar + mpirun -np 6) Source: https://laserbeamfoam.com/solvers/Associated_Projects/beamWeldFoam/tutorials.html Use after setFields for parallel deployment with MPI. Decomposes the case and launches beamWeldFoam -parallel on 6 cores, logging output to log. ```bash $ decomposePar $ mpirun -np 6 beamWeldFoam -parallel >log & ``` -------------------------------- ### alpha.metal configuration for Plate2D Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/initial/alpha.metal.html Initial condition file defining the scalar field alpha.metal with specific boundary conditions for the Plate2D tutorial case. ```cpp /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { format ascii; class volScalarField; object alpha.water; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 0 0 0 0]; internalField uniform 0; boundaryField { frontAndBack { type zeroGradient; } lowerWall { type zeroGradient; } atmosphere { type inletOutlet; inletValue uniform 0; value uniform 0; } "defaultFaces|rightWall|leftWall" { type empty; } } // ************************************************************************* // ``` -------------------------------- ### fvSchemes dictionary for Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/system/fvSchemes.html OpenFOAM fvSchemes dictionary from the Plate2D tutorial. It sets Euler for ddtSchemes, Gauss linear for gradSchemes, and specifies divergence schemes for various fields including linearUpwind for U, vanLeer for alpha, and upwind for T. Laplacian uses Gauss linear corrected, interpolation uses linear, and snGradSchemes uses corrected. ```OpenFOAM /*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 10 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { div(rhoPhi,U) Gauss linearUpwind grad(U); div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss linear; div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; div(rhoPhi,epsilon1) Gauss linear;//Gauss vanLeer01; div(rhophicp,T) Gauss upwind; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } // ************************************************************************* // ``` -------------------------------- ### setFieldsDict for Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/system/setFieldsDict.html OpenFOAM dictionary file that sets the initial field values for the Plate2D tutorial. It sets alpha.metal to 0 by default and to 1 within a box region. The commented-out cylinderToCell blocks show alternative region definitions that are not active. ```OpenFOAM /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // defaultFieldValues ( volScalarFieldValue alpha.metal 0 ); regions ( boxToCell { box (-0.085 0.001 -0.05) (0.085 0.004 0.05); fieldValues ( volScalarFieldValue alpha.metal 1 ); } /* cylinderToCell { p1 (-1 0.0005 0.0); p2 (51 0.0005 0.0); radius 5e-4; fieldValues ( volScalarFieldValue alpha.phase1 1 ); } cylinderToCell { p1 (-1 0.0005 -1e-3); p2 (51 0.0005 -1e-3); radius 5e-4; fieldValues ( volScalarFieldValue alpha.phase1 1 ); } cylinderToCell { p1 (-1 0.0005 1e-3); p2 (51 0.0005 1e-3); radius 5e-4; fieldValues ( volScalarFieldValue alpha.phase1 1 ); } cylinderToCell { p1 (-1 0.000 2.5e-3); p2 (51 0.000 2.5e-3); radius 10e-4; fieldValues ( volScalarFieldValue alpha.phase1 1 ); } cylinderToCell { p1 (-1 0.0005 4e-3); p2 (51 0.0005 4e-3); radius 5e-4; fieldValues ( volScalarFieldValue alpha.phase1 1 ); } cylinderToCell { p1 (-1 0.0005 6e-3); p2 (51 0.0005 6e-3); radius 5e-4; fieldValues ( volScalarFieldValue alpha.phase1 1 ); } */ ); // ************************************************************************* // ``` -------------------------------- ### T field initial conditions file Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/initial/T.html OpenFOAM initial field file for the temperature variable, with uniform internal field 300.0 and boundary conditions for 'frontAndBack', 'lowerWall', 'atmosphere', and empty type for 'defaultFaces|rightWall|leftWall'. Uses fixedGradient of -50.0 on the frontAndBack boundary. ```openfoam /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; object T; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 1 0 0 0]; internalField uniform 300.0; boundary { frontAndBack { type fixedGradient; gradient uniform -50.0; } lowerWall { type zeroGradient; } atmosphere { type zeroGradient; } "defaultFaces|rightWall|leftWall" { type empty; } } // ************************************************************************* // ``` -------------------------------- ### U initial condition file (OpenFOAM dictionary) Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/initial/U.html OpenFOAM velocity field initial condition for the Plate2D tutorial. Sets internal field to uniform (0 0 0) and defines boundary conditions: slip on frontAndBack and lowerWall, pressureInletOutletVelocity on atmosphere with tangentialVelocity (0 0 0) and value (0 0 0.5), and empty on defaultFaces|rightWall|leftWall. ```OpenFOAM /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { frontAndBack{ type slip; } lowerWall { type slip; } atmosphere { type pressureInletOutletVelocity; phi phi; rho rho; tangentialVelocity uniform (0 0 0); value uniform (0 0 0.5); } "defaultFaces|rightWall|leftWall" { type empty; } } // ************************************************************************* // ``` -------------------------------- ### OpenFOAM dictionary for phase properties in Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/constant/transportProperties.html This is the transportProperties dictionary file used with the laserbeamFoam solver, as provided in the Plate2D tutorial. It defines the two phases 'metal' and 'gas' with their transport models, physical properties, and thermal properties. It also sets global parameters for interface tracking, surface tension, Marangoni effect, and evaporation. ```OpenFOAM /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2506 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Interface tracking method: isoAdvector or MULES interfaceTrackingScheme isoAdvector; phases (metal gas); metal { transportModel Newtonian; nu 5e-07; rho 8000; Tsolidus 1658; Tliquidus 1723; LatentHeat 2.7e5; beta 5.0e-6; poly_kappa (25 0.0 0 0 0 0 0 0); poly_cp (700 0.0 0 0 0 0 0 0); elec_resistivity 1.0e-6; } gas { transportModel Newton; nu 0.5e-05; rho 1.78; Tsolidus 1.0; Tliquidus 10.0; LatentHeat 1; beta 4.0e-5; poly_kappa (0.4 0.0 0 0 0 0 0 0); poly_cp (520 0.0 0 0 0 0 0 0); } sigma 1.2; Marangoni_Constant -5e-4; p0 1e5; Tvap 3500; Mm 0.05; LatentHeatVap 6e5; emS 0.4; emL 0.1; TRef TRef [0 0 0 1 0 0 0] 300; // ************************************************************************* // ``` -------------------------------- ### BibTeX entry for laserbeamFoam v3.0 Source: https://laserbeamfoam.com/how_to_cite/how_to_cite.html BibTeX entry for the SoftwareX article describing laserbeamFoam v3.0. Use this when citing the solver in a publication. ```bibtex @article{Flint2025, author = {Tom Flint, Petar Ćosić, Gowthaman Parivendhan, Simon A. Rodriguez, Ivan Bunaziv, Patrick O’Toole, Philip Cardiff}, title = {Version 3.0 — LaserbeamFoam: Laser ray-tracing and thermally induced state transition simulation toolkit}, journal = {SoftwareX}, year = {2025}, publisher = {Elsevier}, volume = {32}, pages = {102419}, doi = {10.1016/j.softx.2025.102419}, url = {https://doi.org/10.1016/j.softx.2025.102419} } ``` -------------------------------- ### OpenFOAM blockMeshDict for Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/system/blockMeshDict.html OpenFOAM blockMeshDict for the Plate2D tutorial. Defines a 0.1 x 5 x 10 mm block (convertToMeters 0.001) with 1x40x80 cells and simpleGrading (1 1 1). Boundary patches: lowerWall (wall), atmosphere (patch), rightWall and leftWall (empty), frontAndBack (patch). ```cpp /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.10 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 0.001; vertices ( (-0.05 0 0)//0 (0.05 0 0)//1 (0.05 5 0)//2 (-0.05 5 0)//3 (-0.05 0 10)//4 (0.05 0 10)//5 (0.05 5 10)//6 (-0.05 5 10)//7 ); blocks ( // hex (0 1 2 3 4 5 6 7) (1 160 320) simpleGrading (1 1 1) //REGION 1 hex (0 1 2 3 4 5 6 7) (1 40 80) simpleGrading (1 1 1) //REGION 1 ); edges ( ); boundary ( lowerWall { type wall; faces ( (3 7 6 2) ); } atmosphere { type patch; faces ( (1 5 4 0) ); } rightWall { type empty; faces ( (1 2 6 5) ); } leftWall { type empty; faces ( (0 4 7 3) ); } frontAndBack { type patch; faces ( (0 3 2 1) (5 6 7 4) ); } ); mergePatchPairs ( ); // ************************************************************************* // ``` -------------------------------- ### OpenFOAM p_rgh boundary field for Plate2D tutorial Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/initial/Laser_boundary.html Defines the p_rgh field for the Plate2D tutorial case. The boundary conditions set fixedValue for frontAndBack and lowerWall to -1.0, atmosphere to 1.0, and empty for defaultFaces, rightWall, and leftWall. This file is used as the initial boundary condition for the laserbeamFoam solver. ```OpenFOAM /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; object p_rgh; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 0 0 0 0]; internalField uniform 0; boundaryField { frontAndBack { type fixedValue; value uniform -1.0; } lowerWall { type fixedValue; value uniform -1.0; } atmosphere { type fixedValue; value uniform 1.0; } "defaultFaces|rightWall|leftWall" { type empty; } } // ************************************************************************* // ``` -------------------------------- ### p_rgh configuration file for Plate2D Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/initial/p_rgh.html This file defines the volScalarField for p_rgh, specifying dimensions, internal field, and boundary conditions such as fixedFluxPressure and totalPressure. ```cpp /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 3.0.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; object p_rgh; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -2 0 0 0 0]; internalField uniform 0; boundaryField { frontAndBack { type fixedFluxPressure; value uniform 0; } lowerWall { type fixedFluxPressure; value uniform 0; } atmosphere { type totalPressure; p0 uniform 0; U U; phi phi; } "defaultFaces|rightWall|leftWall" { type empty; } } // ************************************************************************* // ``` -------------------------------- ### Define timeVsLaserPower0 for Plate2D Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/constant/timeVsLaserPower0.html This configuration defines the laser power profile over time for the Plate2D tutorial, using a list of time-power pairs. ```text ( (0 4000) (1.999e-3 4000) (2e-3 1000) (4e-3 1000) (4.001e-3 4000) (1 4000) ) ``` -------------------------------- ### Define laser beam position in timeVsLaserPosition0 Source: https://laserbeamfoam.com/solvers/laserbeamFoam/input_files/constant/timeVsLaserPosition0.html This configuration defines the laser beam position at specific time intervals. The format consists of pairs where the first value is the time and the second is the coordinate vector (x y z). ```text ( (0 (0 0.005 0)) (1 (0 0.005 0.6)) ) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.