This workflow implements a case runner for the thermomechanical simulation of a V-Groove welding process based on the user specifications input files.
In this workflow, which is implemented in Swift:
- The geometry and mesh is generated using Salome platform (version 8.2.0)
- The generated mesh by salome is converted to CalculiX format using CalculiX GraphiX (cgx) and unical.
- The thrmomechanical simulation of the welding process is performed with the open source CalculiX FEA solver (version 2.12)
- Post-processing is performed using ParaView and a python library developed by Parallel Works for automated generation of output images and metrics extraction.
This repository contains the modules for automatically creating the files required for simulating a welding case by CalculiX. The workflow involves the following steps:
- Calculate the weld pass coordinates based on user inputs (
calcArcPasses) - Create geometry and mesh (unv) files using Salome. In this step the user defined file for defining the weld heat source,
dflux.f, is also created (runAutoMesh) - Convert unv mesh files to CalculiX/Abaqus input format using cgx and unical (
runCGX) - Create CalculiX analysis files and the based on user inputs (
createAnalysisFiles) - Compile CalculiX with the user defined file for weld heat source,
dflux.f(complileCcx) - Run CalculiX (
runCCX) - Post-process results using ParaView and a python library (
runMex) The steps of the workflow are detailed indocs/Instruction_flow.pdf.
To run the workflow in Parallel Works, upload/select the input files in the input form. The input files specify:
- Geometry, materials, type, ... (e.g.,
eweld.in) - The power and speed of each weld pass (e.g.,
eweld_weld_parameters.in) - Boundary conditions, i.e., fixed points and directions (e.g., see
eweld_boundary_condition.infile) - Preheat and interpass temperatures (e.g.,
eweld_boundary_condition.infile)
Sample input files under inputs/long_run directory (for larger jobs), and under inputs/test_run directory (for fast running tests).
The main swift script for the welding model workflow is welding.swift file.
-
Before running the workflow, start the coaster service via
pworkscommand with two workers:pworks cluster 2 -
To run the
welding.swiftworkflow, run this command from the workflow directory:swift welding.swift