Installation

Dependencies

Table 1 OpenPisco dependencies

Dependency

Use

python >=3.9

mandatory

basictools

mandatory

numba

mandatory

osqp

mandatory for using the null space optimization algorithm

pyqtgraph

mandatory for using the GUI application OpenPisco

pyside2

mandatory for using the GUI application OpenPisco

qtconsole

mandatory for using the GUI application OpenPisco

Mmg

mandatory for remeshing and running body-fitted topology optimization

Advection

mandatory for using the level set advection algorithm

Mshdist

mandatory for using the level set redistancing algorithm

Code_Aster

optional finite element external software

Freefem

optional finite element external software

ZSet

optional finite element external software

libmed

mandatory for using the Code_Aster interface

Install the last stable release with conda/mamba

Users can install the minimal version with the conda package with

mamba create -n OpenPiscoBaseEnv --override-channels -c conda-forge -c openpisco openpisco=1.1.3

Users can install openpisco together with dependencies (except for finite element external solvers) with

mamba create -n OpenPiscoEnv --override-channels -c conda-forge -c openpisco openpisco=1.1.3 basictools=1.9.9 iscd-mshdist iscd-advection iscd-velocityextension mmgsuite

So far, OpenPisco has been successfully installed and tested with the following operating system types:

  • Linux: Ubuntu

  • MacOs

  • Windows: 10 and wsl (20.04)

Note

Some optional dependencies (iscd-mshdist,iscd-advection,iscd-velocityextension) are not packaged for Windows as of now. For Windows users, a convenient alternative could be WSL, for instance.

Install external finite element solvers

External finite element solvers (Code_Aster,FreeFem,Zset) must be installed and available from the command line in order to interface them with OpenPisco.

Install Code_Aster

The package libmed is needed for using the OpenPisco interface to Code_Aster and can be installed with

mamba install -c conda-forge libmed

To install Code_Aster it is recommended to visit the Code_Aster installation guide . Alternatively, a Code_Aster conda package is provided within the OpenPisco anaconda channel and can be installed with

mamba install -c openpisco aster

For issues regarding the installation of Code_Aster it is strongly recommended to contact the Code_Aster maintainers.

Install FreeFem

To install FreeFem it is recommended to visit the FreeFem installation guide . Alternatively, a FreeFem conda package is provided within the OpenPisco anaconda channel and can be installed with

mamba install -c openpisco freefem

For issues regarding the installation of FreeFem it is strongly recommended to contact the FreeFem maintainers.

Install ZSet

To install ZSet it is recommended to visit the ZSet installation guide . For issues regarding the installation of ZSet it is strongly recommended to contact the Zset maintainers.

Testing

To test your installation, activate the OpenPiscoEnv environment and run

ZSET_NO_FAIL=1 ASTER_NO_FAIL=1 MED_NO_FAIL=1 FREEFEM_NO_FAIL=1 python -m BasicTools.Helpers.Tests -e OpenPisco

Note that some tests can be disabled using an environment variable, for example when a test relies on an external dependency that may not be available on your system/environment. The feature relies on the definition of non-empty environment variables of the form:

"appsname_NO_FAIL"

where appsname can take one of the following values

  • ZSET

  • ASTER

  • MED

  • FREEFEM

Assuming that all dependencies -including external finite element solvers- are available, the complete test pipeline can be runned with

python -m BasicTools.Helpers.Tests -e OpenPisco