Automation Engineer
Budget: $250 – $750 USD
Timeline: ASAP, one week maximum.
Budget: The compensation for this project will be determined based on the agreed timeline, performance metrics, and specific deliverables, with a general range of $250 to $650. Future opportunities for collaboration and additional work may be available, subject to satisfactory completion of the initial engagement.
Responsibilities:
- Develop and integrate an autonomous workflow that connects MCNP simulations, data extraction, and optimization using genetic algorithms.
- Identify and fix bottlenecks and failure points in the existing workflow.
- Collaborate with domain experts to ensure the correct interpretation of simulation results.
- Implement robust error handling and logging to ensure the workflow's stability and maintainability.
- Document the system and provide training and support as necessary.
Qualifications:
- Bachelor's or higher degree in Physics, Engineering, Computer Science, or related field.
- A minimum of five years of experience in automation programming, demonstrating a proven track record in developing and implementing sophisticated automation solutions.
- Strong programming skills in Python, including experience with libraries such as PyGAD.
- Excellent problem-solving skills and attention to detail.
- Strong skills in Windows automation and PowerShell.
- Experience with parallel computing or cloud computing platforms.
- Good communication skills, both written and verbal.
Preferred (but not required):
- Experience in the specific domain of nuclear engineering
- Experience with MCNP or similar nuclear physics simulation tools.
- Familiarity with genetic algorithms and optimization techniques.
- Familiarity with version control systems like Git.
Project Description:
We have developed a Python script that generates MCNPX (a neutronics Monte Carlo simulator) input files and runs those MCNP scripts from within Python (using subprocesses, etc., in Windows). The outputs of these simulations are exported to .txt files, and there are additional output files containing only the most critical information extracted from the simulations.
We have implemented an optimization algorithm (genetic algorithm) using PyGAD that takes these MCNP output and input files for optimization. The algorithm matches the output files with the input files and ranks them according to an objective function. It then crosses over and mutates these input files, producing a new set of inputs for another generation of MCNP simulations. This process continues until the objective function is achieved.
However, we have not yet successfully connected all parts of this workflow autonomously. Currently, our team must manually initiate the initial script, producing many MCNP simulation inputs and outputs. We must then ensure that the outputs are in the correct path/folder and that the optimization script is ready to run. Once the optimization script is clicked to run, it should work until it generates new input files. These new input files must be manually taken for a new MCNPX simulation. This process repeats in a loop until the optimization algorithm identifies the global optimum, displaying only that optimum as its final output.
Summary of Existing Workflow:
1. Python Script for MCNPX: Generates MCNPX input files and runs them in MCNPX (neutronics Monte Carlo simulator) using subprocessing in Windows.
2. Simulation Outputs: Exports results to .txt files, with additional lighter files containing only the extracted essential information.
a. Manual Connection: Current workflow requires manual intervention to ensure outputs are in the correct path/folder and that the optimization script is ready.
3. Optimization Algorithm: Utilizes a python genetic algorithm with PyGAD, taking MCNP input and output files for optimization.
4. Ranking and Crossover: Matches input files with their outputs and ranks files according to an objective function, then performs crossover and mutation on the input files in pairs in order of their rank.
5. Optimization Output: The genetic algorithm outputs the new generation of input files to be passed onto MCNPX for new simulations.
a. Optimization Loop: Involves manually clicking the optimization script to run, then manually taking new input files for a new MCNPX simulation.
6. Generation Loop: Repeats the process with new input files for new generations of MCNP simulations until the objective function is met. This would require repeating steps one through 5.
7. Goal: Continues in a loop until the optimization algorithm finds and displays the global optimum.
There is no pipeline between 2 and 3, and 5 and 6. In addition, step 5 is also still being completed.
So, we need someone to help:
- Integrate MCNPX Simulations and Genetic Algorithm Workflow: Seamlessly connect the existing python script that generates MCNPX input files, runs simulations, and the genetic algorithm that uses PyGAD for optimization.
- Automate File Handling and Path Management: Implement automation for managing input and output files, ensuring that they are in the correct path/folder, and ready for each stage of the process.
- Create a Continuous Loop for Optimization: Develop an automated loop that continues the process of simulating, optimizing, and generating new input files until the global optimum is found.
Optional/Extra:
- Implement Error Handling and Logging: Include robust mechanisms for error detection, handling, and logging to ensure the smooth running of the entire workflow.
- Optimize the Entire Workflow: Analyze the existing scripts and processes to find opportunities for efficiency and performance improvements.
- Document the Automated Workflow: Provide comprehensive documentation that explains the workflow, including any changes made, to facilitate future maintenance and understanding.
- Provide Training and Support if Necessary: Offer guidance to the team on how to use the newly automated workflow and provide ongoing support as needed.
Group Description: We are an early-stage team of nuclear physicists and engineers researching new fuel forms and fabrication methods.
The work of this project is confidential and subject to an NDA. Further information on the specifics behind the simulation and its purpose are unnecessary for this role but may be provided after agreements.
Budget: The compensation for this project will be determined based on the agreed timeline, performance metrics, and specific deliverables, with a general range of $250 to $650. Future opportunities for collaboration and additional work may be available, subject to satisfactory completion of the initial engagement.
Responsibilities:
- Develop and integrate an autonomous workflow that connects MCNP simulations, data extraction, and optimization using genetic algorithms.
- Identify and fix bottlenecks and failure points in the existing workflow.
- Collaborate with domain experts to ensure the correct interpretation of simulation results.
- Implement robust error handling and logging to ensure the workflow's stability and maintainability.
- Document the system and provide training and support as necessary.
Qualifications:
- Bachelor's or higher degree in Physics, Engineering, Computer Science, or related field.
- A minimum of five years of experience in automation programming, demonstrating a proven track record in developing and implementing sophisticated automation solutions.
- Strong programming skills in Python, including experience with libraries such as PyGAD.
- Excellent problem-solving skills and attention to detail.
- Strong skills in Windows automation and PowerShell.
- Experience with parallel computing or cloud computing platforms.
- Good communication skills, both written and verbal.
Preferred (but not required):
- Experience in the specific domain of nuclear engineering
- Experience with MCNP or similar nuclear physics simulation tools.
- Familiarity with genetic algorithms and optimization techniques.
- Familiarity with version control systems like Git.
Project Description:
We have developed a Python script that generates MCNPX (a neutronics Monte Carlo simulator) input files and runs those MCNP scripts from within Python (using subprocesses, etc., in Windows). The outputs of these simulations are exported to .txt files, and there are additional output files containing only the most critical information extracted from the simulations.
We have implemented an optimization algorithm (genetic algorithm) using PyGAD that takes these MCNP output and input files for optimization. The algorithm matches the output files with the input files and ranks them according to an objective function. It then crosses over and mutates these input files, producing a new set of inputs for another generation of MCNP simulations. This process continues until the objective function is achieved.
However, we have not yet successfully connected all parts of this workflow autonomously. Currently, our team must manually initiate the initial script, producing many MCNP simulation inputs and outputs. We must then ensure that the outputs are in the correct path/folder and that the optimization script is ready to run. Once the optimization script is clicked to run, it should work until it generates new input files. These new input files must be manually taken for a new MCNPX simulation. This process repeats in a loop until the optimization algorithm identifies the global optimum, displaying only that optimum as its final output.
Summary of Existing Workflow:
1. Python Script for MCNPX: Generates MCNPX input files and runs them in MCNPX (neutronics Monte Carlo simulator) using subprocessing in Windows.
2. Simulation Outputs: Exports results to .txt files, with additional lighter files containing only the extracted essential information.
a. Manual Connection: Current workflow requires manual intervention to ensure outputs are in the correct path/folder and that the optimization script is ready.
3. Optimization Algorithm: Utilizes a python genetic algorithm with PyGAD, taking MCNP input and output files for optimization.
4. Ranking and Crossover: Matches input files with their outputs and ranks files according to an objective function, then performs crossover and mutation on the input files in pairs in order of their rank.
5. Optimization Output: The genetic algorithm outputs the new generation of input files to be passed onto MCNPX for new simulations.
a. Optimization Loop: Involves manually clicking the optimization script to run, then manually taking new input files for a new MCNPX simulation.
6. Generation Loop: Repeats the process with new input files for new generations of MCNP simulations until the objective function is met. This would require repeating steps one through 5.
7. Goal: Continues in a loop until the optimization algorithm finds and displays the global optimum.
There is no pipeline between 2 and 3, and 5 and 6. In addition, step 5 is also still being completed.
So, we need someone to help:
- Integrate MCNPX Simulations and Genetic Algorithm Workflow: Seamlessly connect the existing python script that generates MCNPX input files, runs simulations, and the genetic algorithm that uses PyGAD for optimization.
- Automate File Handling and Path Management: Implement automation for managing input and output files, ensuring that they are in the correct path/folder, and ready for each stage of the process.
- Create a Continuous Loop for Optimization: Develop an automated loop that continues the process of simulating, optimizing, and generating new input files until the global optimum is found.
Optional/Extra:
- Implement Error Handling and Logging: Include robust mechanisms for error detection, handling, and logging to ensure the smooth running of the entire workflow.
- Optimize the Entire Workflow: Analyze the existing scripts and processes to find opportunities for efficiency and performance improvements.
- Document the Automated Workflow: Provide comprehensive documentation that explains the workflow, including any changes made, to facilitate future maintenance and understanding.
- Provide Training and Support if Necessary: Offer guidance to the team on how to use the newly automated workflow and provide ongoing support as needed.
Group Description: We are an early-stage team of nuclear physicists and engineers researching new fuel forms and fabrication methods.
The work of this project is confidential and subject to an NDA. Further information on the specifics behind the simulation and its purpose are unnecessary for this role but may be provided after agreements.