summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 03:52:50 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 03:52:50 +0000
commit5ac03c847d8b09ea0cf3216cd3c10e5319d7a4df (patch)
tree868cd8dc6e5c5dffd5add1611ebd30c9f1071e3c
parentf432932ed046917eff35972f8a22506ba6d50dce (diff)
automatic import of python-ada-pyopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-ada-py.spec654
-rw-r--r--sources1
3 files changed, 656 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..1837aa3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/ada-py-0.0.39.tar.gz
diff --git a/python-ada-py.spec b/python-ada-py.spec
new file mode 100644
index 0000000..24e14c0
--- /dev/null
+++ b/python-ada-py.spec
@@ -0,0 +1,654 @@
+%global _empty_manifest_terminate_build 0
+Name: python-ada-py
+Version: 0.0.39
+Release: 1
+Summary: Assembly for Design & Analysis - A python library for structural analysis and design
+License: GNU General Public License v3 (GPLv3)
+URL: https://github.com/Krande/adapy
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/8d/c0/f8399fc580de894a25023d81b4d5629cd93a42613533cabbb7402a8def23/ada-py-0.0.39.tar.gz
+BuildArch: noarch
+
+
+%description
+# ADA - Assembly for Design & Analysis
+
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/version.svg)](https://anaconda.org/krande/ada-py)
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/latest_release_date.svg)](https://anaconda.org/krande/ada-py)
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/platforms.svg)](https://anaconda.org/krande/ada-py)
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/downloads.svg)](https://anaconda.org/krande/ada-py)
+
+A python library for working with structural analysis and design. This library should be considered as experimental.
+
+The recommended way of installing ada-py is by creating a new isolated environment for the installation like so:
+
+```
+conda create -n adaenv -c conda-forge -c krande ada-py
+```
+
+or if you wish to download the latest build from any branch passing all unittests you can do
+
+```
+conda create -n adaenv -c conda-forge -c krande/label/dev ada-py
+```
+
+Here are some of the goals with `ada-py`:
+
+* To create a toolbox that makes it easy to add support for conversion to/from different FE packages and 3D model formats
+* Provide a path for creating FE meshes from IFC models.
+* Add tools for running and post-processing FE analysis to directly compare results from different open source and proprietary FE solvers.
+* Using IFC as the 3d model data structure, provide tools for advanced parametric 3d model design and automated design modification and verification.
+* The library should strive for user ergonomics.
+
+## Quick Links
+
+Try ada-py online (main branch / dev branch) with code-aster and calculix pre-installed
+
+[![Binder-main](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Krande/adapy/main) / [![Binder-dev](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Krande/adapy/dev)
+
+
+* Feel free to start/join any informal topic related to adapy [here](https://github.com/Krande/adapy/discussions).
+* Issues related to adapy can be raised [here](https://github.com/Krande/adapy/issues)
+
+
+## Usage
+Some examples of using the ada-py package
+
+
+### Create an IFC file
+
+The following code
+
+```python
+from ada import Assembly, Part, Beam
+
+a = Assembly("MyAssembly") / (Part("MyPart") / Beam("MyBeam", (0, 0, 0), (1, 0, 0), "IPE300"))
+a.to_ifc("C:/temp/myifc.ifc")
+```
+
+creates an Ifc file containing an IfcBeam with the following hierarchy
+
+ MyAssembly (IfSite)
+ MyPart (IfcBuildingStorey)
+ MyBeam (IfcBeam)
+
+![Beam Visualized in BlenderBIM](docs/_static/figures/my_beam.png)
+
+The resulting IfcBeam (and corresponding hierarchy) shown in the figure above is taken from the awesome
+[blender](https://blender.org) plugin [blenderbim](https://blenderbim.org/).
+
+### Convert between FEM formats
+
+Here is an example showing the code for converting a sesam FEM file to abaqus and code aster
+
+_Note! Reading FEM load and step information is not supported, but might be added in the future._
+
+```python
+import ada
+
+a = ada.from_fem('path_to_your_sesam_file.FEM')
+a.to_fem('name_of_my_analysis_file_deck_directory_abaqus', 'abaqus')
+a.to_fem('name_of_my_analysis_file_deck_directory_code_aster', 'code_aster')
+
+# Note! If you are in a Jupyter Notebook\lab environment
+# this will generate a pythreejs 3D visualization of your FEM mesh
+a
+```
+
+Current read support is: abaqus, code aster and sesam
+Current write support is: abaqus, code aster and sesam, calculix and usfos
+
+### Create and execute a FEM analysis in Calculix, Code Aster and Abaqus
+
+This example uses a function `beam_ex1` from [here](src/ada/param_models/fem_models.py) that returns an
+Assembly object with a single `Beam` with a few holes in it (to demonstrate a small portion of the steel detailing
+capabilities in ada and IFC) converted to a shell element mesh using a FE mesh recipe `create_beam_mesh` found
+[here](ada/fem/io/mesh/recipes.py).
+
+```python
+from ada.param_models.fem_models import beam_ex1
+
+a = beam_ex1()
+
+a.to_fem("MyCantilever_abaqus", "abaqus", overwrite=True, execute=True, run_ext=True)
+a.to_fem("MyCantilever_calculix", "calculix", overwrite=True, execute=True)
+a.to_fem("MyCantilever_code_aster", "code_aster", overwrite=True, execute=True)
+```
+
+after the code is executed you can look at the results using supported post-processing software or directly
+in python using Jupyter notebook/lab (currently only supported for Code Aster) for the FEA results.
+
+<img src="docs/_static/figures/fem_beam_paraview.png" alt="Calculix Results" height="220"/>
+<img src="docs/_static/figures/fem_beam_abaqus.png" alt="Abaqus Results" height="220"/>
+<img src="docs/_static/figures/code_aster_jupyter_displ.png" alt="Code Aster (jupyter) results" height="220"/>
+
+
+To access the stress and displacement data directly using python here is a way you can use meshio to read the results
+from Calculix and Code Aster (continuing on the previous example).
+
+```python
+from ada.config import Settings
+import meshio
+
+vtu = Settings.scratch_dir / "MyCantilever_calculix" / "MyCantilever_calculix.vtu"
+mesh = meshio.read(vtu)
+
+# Displacements in [X, Y, Z] at point @ index=-1
+print('Calculix:',mesh.point_data['U'][-1])
+
+rmed = Settings.scratch_dir / "MyCantilever_code_aster" / "MyCantilever_code_aster.rmed"
+ca_mesh = meshio.read(rmed, 'med')
+
+# Displacements in [X, Y, Z] at point @ index=-1
+print('Code Aster:',ca_mesh.point_data['DISP[10] - 1'][-1][:3])
+```
+
+**Note!**
+
+The above example assumes you have installed Abaqus, Calculix and Code Aster locally on your computer.
+
+To set correct paths to your installations of FE software you wish to use there are a few ways of doing so.
+
+1. Add directory path of FE executable/batch to your system path.
+2. Add directory paths to system environment variables. This can be done by using the control panel or
+ running the following from a cmd prompt with administrator rights:
+
+```cmd
+:: Windows
+setx ADA_abaqus_exe <absolute path to abaqus.bat>
+setx ADA_calculix_exe <absolute path to ccx.exe>
+setx ADA_code_aster_exe <absolute path to as_run.bat>
+
+:: Linux?
+
+:: Mac?
+```
+
+Note! It is very important that any paths containing whitespaces be converted to "shortened paths". To shorten a path
+on windows you can use the utility [pathcopycopy](https://pathcopycopy.github.io/).
+
+For installation files of open source FEM software such as Calculix and Code Aster, here are some links:
+
+* https://github.com/calculix/cae/releases (calculix CAE for windows/linux)
+* https://code-aster-windows.com/download/ (Code Aster for Windows Salome Meca v9.3.0)
+* https://www.code-aster.org/spip.php?rubrique21 (Code Aster for Linux)
+* https://salome-platform.org/downloads/current-version (Salome v9.6.0 for windows/linux)
+* https://prepomax.fs.um.si/downloads/ (PreProMax -> Calculix preprocessor)
+
+
+**Note!** pip is not a recommended installation method due to an unstable behaviour often
+manifested as DLL import errors related to the vtk package.
+
+## Acknowledgements
+
+This project would never have been possible without the existing open source python and c++ libraries.
+Although listed in the package dependencies (which is a long list), here are some of the packages that are at the very
+core of adapy;
+
+* IfcOpenShell
+* PythonOCC-Core
+* Gmsh
+
+And the following packages are integral in the interoperability and visualization of FEM results.
+
+* Pythreejs
+* Meshio
+* Trimesh
+
+A huge thanks to all involved in the development of the packages mentioned here and in the list of packages adapy
+depends on.
+
+If you feel that a certain package listed in the adapy dependencies should be listed here please let me know and I will
+update the list :)
+
+
+## Project Responsible ###
+
+ Kristoffer H. Andersen
+
+
+%package -n python3-ada-py
+Summary: Assembly for Design & Analysis - A python library for structural analysis and design
+Provides: python-ada-py
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-ada-py
+# ADA - Assembly for Design & Analysis
+
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/version.svg)](https://anaconda.org/krande/ada-py)
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/latest_release_date.svg)](https://anaconda.org/krande/ada-py)
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/platforms.svg)](https://anaconda.org/krande/ada-py)
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/downloads.svg)](https://anaconda.org/krande/ada-py)
+
+A python library for working with structural analysis and design. This library should be considered as experimental.
+
+The recommended way of installing ada-py is by creating a new isolated environment for the installation like so:
+
+```
+conda create -n adaenv -c conda-forge -c krande ada-py
+```
+
+or if you wish to download the latest build from any branch passing all unittests you can do
+
+```
+conda create -n adaenv -c conda-forge -c krande/label/dev ada-py
+```
+
+Here are some of the goals with `ada-py`:
+
+* To create a toolbox that makes it easy to add support for conversion to/from different FE packages and 3D model formats
+* Provide a path for creating FE meshes from IFC models.
+* Add tools for running and post-processing FE analysis to directly compare results from different open source and proprietary FE solvers.
+* Using IFC as the 3d model data structure, provide tools for advanced parametric 3d model design and automated design modification and verification.
+* The library should strive for user ergonomics.
+
+## Quick Links
+
+Try ada-py online (main branch / dev branch) with code-aster and calculix pre-installed
+
+[![Binder-main](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Krande/adapy/main) / [![Binder-dev](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Krande/adapy/dev)
+
+
+* Feel free to start/join any informal topic related to adapy [here](https://github.com/Krande/adapy/discussions).
+* Issues related to adapy can be raised [here](https://github.com/Krande/adapy/issues)
+
+
+## Usage
+Some examples of using the ada-py package
+
+
+### Create an IFC file
+
+The following code
+
+```python
+from ada import Assembly, Part, Beam
+
+a = Assembly("MyAssembly") / (Part("MyPart") / Beam("MyBeam", (0, 0, 0), (1, 0, 0), "IPE300"))
+a.to_ifc("C:/temp/myifc.ifc")
+```
+
+creates an Ifc file containing an IfcBeam with the following hierarchy
+
+ MyAssembly (IfSite)
+ MyPart (IfcBuildingStorey)
+ MyBeam (IfcBeam)
+
+![Beam Visualized in BlenderBIM](docs/_static/figures/my_beam.png)
+
+The resulting IfcBeam (and corresponding hierarchy) shown in the figure above is taken from the awesome
+[blender](https://blender.org) plugin [blenderbim](https://blenderbim.org/).
+
+### Convert between FEM formats
+
+Here is an example showing the code for converting a sesam FEM file to abaqus and code aster
+
+_Note! Reading FEM load and step information is not supported, but might be added in the future._
+
+```python
+import ada
+
+a = ada.from_fem('path_to_your_sesam_file.FEM')
+a.to_fem('name_of_my_analysis_file_deck_directory_abaqus', 'abaqus')
+a.to_fem('name_of_my_analysis_file_deck_directory_code_aster', 'code_aster')
+
+# Note! If you are in a Jupyter Notebook\lab environment
+# this will generate a pythreejs 3D visualization of your FEM mesh
+a
+```
+
+Current read support is: abaqus, code aster and sesam
+Current write support is: abaqus, code aster and sesam, calculix and usfos
+
+### Create and execute a FEM analysis in Calculix, Code Aster and Abaqus
+
+This example uses a function `beam_ex1` from [here](src/ada/param_models/fem_models.py) that returns an
+Assembly object with a single `Beam` with a few holes in it (to demonstrate a small portion of the steel detailing
+capabilities in ada and IFC) converted to a shell element mesh using a FE mesh recipe `create_beam_mesh` found
+[here](ada/fem/io/mesh/recipes.py).
+
+```python
+from ada.param_models.fem_models import beam_ex1
+
+a = beam_ex1()
+
+a.to_fem("MyCantilever_abaqus", "abaqus", overwrite=True, execute=True, run_ext=True)
+a.to_fem("MyCantilever_calculix", "calculix", overwrite=True, execute=True)
+a.to_fem("MyCantilever_code_aster", "code_aster", overwrite=True, execute=True)
+```
+
+after the code is executed you can look at the results using supported post-processing software or directly
+in python using Jupyter notebook/lab (currently only supported for Code Aster) for the FEA results.
+
+<img src="docs/_static/figures/fem_beam_paraview.png" alt="Calculix Results" height="220"/>
+<img src="docs/_static/figures/fem_beam_abaqus.png" alt="Abaqus Results" height="220"/>
+<img src="docs/_static/figures/code_aster_jupyter_displ.png" alt="Code Aster (jupyter) results" height="220"/>
+
+
+To access the stress and displacement data directly using python here is a way you can use meshio to read the results
+from Calculix and Code Aster (continuing on the previous example).
+
+```python
+from ada.config import Settings
+import meshio
+
+vtu = Settings.scratch_dir / "MyCantilever_calculix" / "MyCantilever_calculix.vtu"
+mesh = meshio.read(vtu)
+
+# Displacements in [X, Y, Z] at point @ index=-1
+print('Calculix:',mesh.point_data['U'][-1])
+
+rmed = Settings.scratch_dir / "MyCantilever_code_aster" / "MyCantilever_code_aster.rmed"
+ca_mesh = meshio.read(rmed, 'med')
+
+# Displacements in [X, Y, Z] at point @ index=-1
+print('Code Aster:',ca_mesh.point_data['DISP[10] - 1'][-1][:3])
+```
+
+**Note!**
+
+The above example assumes you have installed Abaqus, Calculix and Code Aster locally on your computer.
+
+To set correct paths to your installations of FE software you wish to use there are a few ways of doing so.
+
+1. Add directory path of FE executable/batch to your system path.
+2. Add directory paths to system environment variables. This can be done by using the control panel or
+ running the following from a cmd prompt with administrator rights:
+
+```cmd
+:: Windows
+setx ADA_abaqus_exe <absolute path to abaqus.bat>
+setx ADA_calculix_exe <absolute path to ccx.exe>
+setx ADA_code_aster_exe <absolute path to as_run.bat>
+
+:: Linux?
+
+:: Mac?
+```
+
+Note! It is very important that any paths containing whitespaces be converted to "shortened paths". To shorten a path
+on windows you can use the utility [pathcopycopy](https://pathcopycopy.github.io/).
+
+For installation files of open source FEM software such as Calculix and Code Aster, here are some links:
+
+* https://github.com/calculix/cae/releases (calculix CAE for windows/linux)
+* https://code-aster-windows.com/download/ (Code Aster for Windows Salome Meca v9.3.0)
+* https://www.code-aster.org/spip.php?rubrique21 (Code Aster for Linux)
+* https://salome-platform.org/downloads/current-version (Salome v9.6.0 for windows/linux)
+* https://prepomax.fs.um.si/downloads/ (PreProMax -> Calculix preprocessor)
+
+
+**Note!** pip is not a recommended installation method due to an unstable behaviour often
+manifested as DLL import errors related to the vtk package.
+
+## Acknowledgements
+
+This project would never have been possible without the existing open source python and c++ libraries.
+Although listed in the package dependencies (which is a long list), here are some of the packages that are at the very
+core of adapy;
+
+* IfcOpenShell
+* PythonOCC-Core
+* Gmsh
+
+And the following packages are integral in the interoperability and visualization of FEM results.
+
+* Pythreejs
+* Meshio
+* Trimesh
+
+A huge thanks to all involved in the development of the packages mentioned here and in the list of packages adapy
+depends on.
+
+If you feel that a certain package listed in the adapy dependencies should be listed here please let me know and I will
+update the list :)
+
+
+## Project Responsible ###
+
+ Kristoffer H. Andersen
+
+
+%package help
+Summary: Development documents and examples for ada-py
+Provides: python3-ada-py-doc
+%description help
+# ADA - Assembly for Design & Analysis
+
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/version.svg)](https://anaconda.org/krande/ada-py)
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/latest_release_date.svg)](https://anaconda.org/krande/ada-py)
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/platforms.svg)](https://anaconda.org/krande/ada-py)
+[![Anaconda-Server Badge](https://anaconda.org/krande/ada-py/badges/downloads.svg)](https://anaconda.org/krande/ada-py)
+
+A python library for working with structural analysis and design. This library should be considered as experimental.
+
+The recommended way of installing ada-py is by creating a new isolated environment for the installation like so:
+
+```
+conda create -n adaenv -c conda-forge -c krande ada-py
+```
+
+or if you wish to download the latest build from any branch passing all unittests you can do
+
+```
+conda create -n adaenv -c conda-forge -c krande/label/dev ada-py
+```
+
+Here are some of the goals with `ada-py`:
+
+* To create a toolbox that makes it easy to add support for conversion to/from different FE packages and 3D model formats
+* Provide a path for creating FE meshes from IFC models.
+* Add tools for running and post-processing FE analysis to directly compare results from different open source and proprietary FE solvers.
+* Using IFC as the 3d model data structure, provide tools for advanced parametric 3d model design and automated design modification and verification.
+* The library should strive for user ergonomics.
+
+## Quick Links
+
+Try ada-py online (main branch / dev branch) with code-aster and calculix pre-installed
+
+[![Binder-main](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Krande/adapy/main) / [![Binder-dev](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Krande/adapy/dev)
+
+
+* Feel free to start/join any informal topic related to adapy [here](https://github.com/Krande/adapy/discussions).
+* Issues related to adapy can be raised [here](https://github.com/Krande/adapy/issues)
+
+
+## Usage
+Some examples of using the ada-py package
+
+
+### Create an IFC file
+
+The following code
+
+```python
+from ada import Assembly, Part, Beam
+
+a = Assembly("MyAssembly") / (Part("MyPart") / Beam("MyBeam", (0, 0, 0), (1, 0, 0), "IPE300"))
+a.to_ifc("C:/temp/myifc.ifc")
+```
+
+creates an Ifc file containing an IfcBeam with the following hierarchy
+
+ MyAssembly (IfSite)
+ MyPart (IfcBuildingStorey)
+ MyBeam (IfcBeam)
+
+![Beam Visualized in BlenderBIM](docs/_static/figures/my_beam.png)
+
+The resulting IfcBeam (and corresponding hierarchy) shown in the figure above is taken from the awesome
+[blender](https://blender.org) plugin [blenderbim](https://blenderbim.org/).
+
+### Convert between FEM formats
+
+Here is an example showing the code for converting a sesam FEM file to abaqus and code aster
+
+_Note! Reading FEM load and step information is not supported, but might be added in the future._
+
+```python
+import ada
+
+a = ada.from_fem('path_to_your_sesam_file.FEM')
+a.to_fem('name_of_my_analysis_file_deck_directory_abaqus', 'abaqus')
+a.to_fem('name_of_my_analysis_file_deck_directory_code_aster', 'code_aster')
+
+# Note! If you are in a Jupyter Notebook\lab environment
+# this will generate a pythreejs 3D visualization of your FEM mesh
+a
+```
+
+Current read support is: abaqus, code aster and sesam
+Current write support is: abaqus, code aster and sesam, calculix and usfos
+
+### Create and execute a FEM analysis in Calculix, Code Aster and Abaqus
+
+This example uses a function `beam_ex1` from [here](src/ada/param_models/fem_models.py) that returns an
+Assembly object with a single `Beam` with a few holes in it (to demonstrate a small portion of the steel detailing
+capabilities in ada and IFC) converted to a shell element mesh using a FE mesh recipe `create_beam_mesh` found
+[here](ada/fem/io/mesh/recipes.py).
+
+```python
+from ada.param_models.fem_models import beam_ex1
+
+a = beam_ex1()
+
+a.to_fem("MyCantilever_abaqus", "abaqus", overwrite=True, execute=True, run_ext=True)
+a.to_fem("MyCantilever_calculix", "calculix", overwrite=True, execute=True)
+a.to_fem("MyCantilever_code_aster", "code_aster", overwrite=True, execute=True)
+```
+
+after the code is executed you can look at the results using supported post-processing software or directly
+in python using Jupyter notebook/lab (currently only supported for Code Aster) for the FEA results.
+
+<img src="docs/_static/figures/fem_beam_paraview.png" alt="Calculix Results" height="220"/>
+<img src="docs/_static/figures/fem_beam_abaqus.png" alt="Abaqus Results" height="220"/>
+<img src="docs/_static/figures/code_aster_jupyter_displ.png" alt="Code Aster (jupyter) results" height="220"/>
+
+
+To access the stress and displacement data directly using python here is a way you can use meshio to read the results
+from Calculix and Code Aster (continuing on the previous example).
+
+```python
+from ada.config import Settings
+import meshio
+
+vtu = Settings.scratch_dir / "MyCantilever_calculix" / "MyCantilever_calculix.vtu"
+mesh = meshio.read(vtu)
+
+# Displacements in [X, Y, Z] at point @ index=-1
+print('Calculix:',mesh.point_data['U'][-1])
+
+rmed = Settings.scratch_dir / "MyCantilever_code_aster" / "MyCantilever_code_aster.rmed"
+ca_mesh = meshio.read(rmed, 'med')
+
+# Displacements in [X, Y, Z] at point @ index=-1
+print('Code Aster:',ca_mesh.point_data['DISP[10] - 1'][-1][:3])
+```
+
+**Note!**
+
+The above example assumes you have installed Abaqus, Calculix and Code Aster locally on your computer.
+
+To set correct paths to your installations of FE software you wish to use there are a few ways of doing so.
+
+1. Add directory path of FE executable/batch to your system path.
+2. Add directory paths to system environment variables. This can be done by using the control panel or
+ running the following from a cmd prompt with administrator rights:
+
+```cmd
+:: Windows
+setx ADA_abaqus_exe <absolute path to abaqus.bat>
+setx ADA_calculix_exe <absolute path to ccx.exe>
+setx ADA_code_aster_exe <absolute path to as_run.bat>
+
+:: Linux?
+
+:: Mac?
+```
+
+Note! It is very important that any paths containing whitespaces be converted to "shortened paths". To shorten a path
+on windows you can use the utility [pathcopycopy](https://pathcopycopy.github.io/).
+
+For installation files of open source FEM software such as Calculix and Code Aster, here are some links:
+
+* https://github.com/calculix/cae/releases (calculix CAE for windows/linux)
+* https://code-aster-windows.com/download/ (Code Aster for Windows Salome Meca v9.3.0)
+* https://www.code-aster.org/spip.php?rubrique21 (Code Aster for Linux)
+* https://salome-platform.org/downloads/current-version (Salome v9.6.0 for windows/linux)
+* https://prepomax.fs.um.si/downloads/ (PreProMax -> Calculix preprocessor)
+
+
+**Note!** pip is not a recommended installation method due to an unstable behaviour often
+manifested as DLL import errors related to the vtk package.
+
+## Acknowledgements
+
+This project would never have been possible without the existing open source python and c++ libraries.
+Although listed in the package dependencies (which is a long list), here are some of the packages that are at the very
+core of adapy;
+
+* IfcOpenShell
+* PythonOCC-Core
+* Gmsh
+
+And the following packages are integral in the interoperability and visualization of FEM results.
+
+* Pythreejs
+* Meshio
+* Trimesh
+
+A huge thanks to all involved in the development of the packages mentioned here and in the list of packages adapy
+depends on.
+
+If you feel that a certain package listed in the adapy dependencies should be listed here please let me know and I will
+update the list :)
+
+
+## Project Responsible ###
+
+ Kristoffer H. Andersen
+
+
+%prep
+%autosetup -n ada-py-0.0.39
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-ada-py -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.39-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..8499f17
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+ffc7e0a7080cc126ec88b5009c9387e2 ada-py-0.0.39.tar.gz