-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First level parallelisation of scripts running Ansys FEM simulator #42
Comments
Prerequisites
Issue descriptionOne of the features of KQCircuits is to export simulation input data, which can be picked up by an external FEM tool in order to perform the simulations and to report results. We often need to perform multiple simulations to plot the results as a function of some feature in the geometry, for example we need to plot qubit shape's capacitance as a function of coupler width. Since we need to repeat the simulation process for multiple shapes, it makes sense to perform these simulations in parallel. For Elmer we have this implemented already, but for Ansys-EDT we are missing first level parallelisation
Explanation of the simulation export workflow in KQCircuits through exampleIn the klayout_package/python/scripts/simulations folder we keep simulation scripts that export files to be picked up by an external FEM tool. The scripts export many files, including geometry files in GDS format, some configuration files in JSON format, some python scripts copied from the KQCircuits repository and other files. Among the exported files is also a To see the exported files for yourself, go to the KQCircuits source code folder and run:
So it exports one simulation configuration to be used by Elmer and two configurations for Ansys. Let's review the contents of the double_pads_sim.py script we just ran. The relevant highlights are:
Next, let's have a look at the contents of the Elmer configuration in The exported python script is a copy of simple_workload_manager.py. Finally let's review the contents of What needs to be done
How to verify that the feature worksSet some value to If you have Ansys installed, running If you don't have Ansys installed, make sure that |
Can I get assigned to this issue |
Yes and thank you for your interest! Once you have a solution ready please make a pull request and we will review the code quality and try out your solution on our Ansys environments. Don't hesitate to make a pull request earlier rather than later so that we could have some time before the deadline to reiterate your solution from our feedback if needed. |
Just wanted to make it clear: I would prefer to mark this issue to be assigned to someone after the pull request is created and I have reviewed and approved it. So feel free to work on the issue and create a pull request once you're ready to share it with us. |
Ansys simulation export could be extended to support second level of parallelisation (assuming the users' license configuration allows this) using the script in https://github.com/iqm-finland/KQCircuits/blob/main/klayout_package/python/scripts/simulations/elmer/scripts/simple_workload_manager.py as is done with Elmer.
The
export_ansys
API would ideally accept ann_workers
argument, which would then export a .sh or .bat file that actually uses the simple workload manager for calling Ansys.The text was updated successfully, but these errors were encountered: