paper-with-me

January 2, 2024 (v1) Software Open Software and DataSet of "A QA-SQP assisted FE for non-linear and history-dependent mechanics"

홈페이지 · 논문 1편

Click to #Development of QA-SQP for non-linear and history-dependent mechanical problems This directory contains the source code and numerical benchmarks published in [^1] ## Dependencies and Prerequisites * Python, pandas, numpy, matplotlib are pre requisites. * For generating mesh and for vizualization, gmsh ([www.gmsh.info](www.gmsh.info)) is required. * Dwave Ocean Tools (https://docs.ocean.dwavesys.com/en/stable/getting_started.html) ## Structure of Repository * [src](./src): Python source code * [examples](./examples): Some finite element tests * [paper](./paper): Python codes of the benchmarks in the paper [^1] ## Run an analysis For example, the example [examples/J2-SA](./examples/J2-SA) run a finite element simulation using Simulated Annealing `` bash python3 run.py ` ## Reproduce paper[^1] results and figures * The tests require access to the annealer. * Token needs to be provided in sampler = EmbeddingComposite(DWaveSampler(connection_close=True)) -> sampler = EmbeddingComposite(DWaveSampler(token="",connection_close=True)) * To use the Simulated Annealing instead, one has to replace the three lines * sampler = EmbeddingComposite(DWaveSampler(connection_close=True)) * SA = lambda J: sampler.sample_qubo(J, num_reads=100,label="twoDTest") * quboOptFunc = lambda J: QUBO.qubo_solve_sampler(J,sampler) * by * SA = lambda J: SimulatedAnnealingSampler().sample_qubo(J,num_reads=100) * quboOptFunc =lambda J: QUBO.qubo_solve_sampler(J,SA) * Figures 2, 3, and 4: in the folder [paper/QA-SQP/1D-elastic](./paper/QA-SQP/1D-elastic) * Run tests: `python3 run.py` * Extract figures: `python3 plotData.py` * Figures 5, 6, and 7: in the folder [paper/QA-SQP/1D-elastoplastic](./paper/QA-SQP/1D-elastoplastic) * Run tests: `python3 run.py` * Extract figures: `python3 plotData.py` * Figures 9, 11, 12: in the folder [paper/QA-SQP/2D-elastoplastic](./paper/QA-SQP/2D-elastoplastic) * Run classical finite element simulation: ` python3 runFEM.py` * Run tests: `python3 run.py` * Extract figures: `python3 plotData.py` ## Reproduce paper[^1] figures only * Figures 2, 3, and 4: in the folder [paper/QA-SQP-results/1D-elastic](./paper/QA-SQP-results/1D-elastic) * Extract figures: `python3 plotData.py` * Figures 5, 6, and 7: in the folder [paper/QA-SQP-results/1D-elastoplastic](./paper/QA-SQP-results/1D-elastoplastic) * Extract figures: `python3 plotData.py` * Figures 9, 11, 12: in the folder [paper/QA-SQP-results/2D-elastoplastic](./paper/QA-SQP-results/2D-elastoplastic) * Extract figures: `python3 plotData.py`` [^1]: The work is described in: "_Nguyen V.-D., Wu L., Remacle F. and Noels L. (2024)._ A quantum annealing-sequential quadratic programming assisted finite element simulation for non-linear and history-dependent mechanical problems European Journal of Mechanics; A/Solids. doi:?????" which can be downloaded here. We would be grateful if you could cite this publication in case you use the files.add a brief description of the dataset (Markdown and LaTeX enabled).