Skip to content

An Minimal NGSolve Addon with Python Bindings

License

NotificationsYou must be signed in to change notification settings

NGSolve/ngsolve-addon-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An minimal NGSolve addon with Python bindings

using the project template

To create your own NGSolve addon project you perfrom the following steps:

  1. git-fork this project
  2. fill the project with your C++ and Python files
  3. adapt CMakeList.txt (addon_name, C++ and Python files)
  4. adapt file pyproject.toml, section [project]
  5. adapt src/__init__.py file
  6. adapt README.md for installation instructions for your addon-project

installing the addon project

Quick install: install the addon package directly with pip from git:

python -m pip install  git+https://.com/NGSolve/ngsolve-addon-template.git

Alternative needed for self-compiled NGSolve

python -m pip install scikit-build-core pybind11_stubgen toml
python -m pip install --no-build-isolation git+https://.com/NGSolve/ngsolve-addon-template.git

test it:

python -m ngsolve_addon_template.demos.exploremesh

Step-by-step installation:

simple step-by-step installation using pip:

git clone https://.com/NGSolve/ngsolve-addon-template.git
cd ngsolve-addon-template
python -m pip install --no-build-isolation .

alternative step-by-step installation using cmake:

git clone https://.com/NGSolve/ngsolve-addon-template.git
cd ngsolve-addon-template
mkdir build
cd build
cmake ..
make -j4 install

Troubleshooting

Problem

Error in gihub actions when building Linux package:

    ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found

Solution

Update pyproject.toml by adding the following line to the [tool.cibuildwheel] section:

[tool.cibuildwheel]
manylinux-x86_64-image = "manylinux_2_28"

Some more NGSolve addons you can find here:

About

An Minimal NGSolve Addon with Python Bindings

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published