gyptis

Computational Photonics in Python with the finite element method. Mirror of https://gitlab.com/gyptis/gyptis

https://github.com/benvial/gyptis

Science Score: 39.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.4%) to scientific vocabulary

Keywords

computational-electromagnetics finite-element-methods nanophotonics
Last synced: 6 months ago · JSON representation

Repository

Computational Photonics in Python with the finite element method. Mirror of https://gitlab.com/gyptis/gyptis

Basic Info
  • Host: GitHub
  • Owner: benvial
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage: https://gyptis.gitlab.io
  • Size: 7.32 MB
Statistics
  • Stars: 9
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
computational-electromagnetics finite-element-methods nanophotonics
Created almost 5 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog License Zenodo

README.rst


.. |release_badge| image:: https://img.shields.io/endpoint?url=https://gitlab.com/gyptis/gyptis/-/jobs/artifacts/master/raw/logobadge.json?job=badge
  :target: https://gitlab.com/gyptis/gyptis/-/releases
  :alt: Release

.. |GL_CI| image:: https://img.shields.io/gitlab/pipeline/gyptis/gyptis/master?logo=gitlab&labelColor=grey&style=for-the-badge
  :target: https://gitlab.com/gyptis/gyptis/commits/master
  :alt: pipeline status

.. |conda| image:: https://img.shields.io/conda/vn/conda-forge/gyptis?logo=conda-forge&color=CD5C5C&logoColor=white&style=for-the-badge   
  :target: https://anaconda.org/conda-forge/gyptis
  :alt: Conda (channel only)

.. |conda_dl| image:: https://img.shields.io/conda/dn/conda-forge/gyptis?logo=conda-forge&logoColor=white&style=for-the-badge
  :alt: Conda

.. |conda_platform| image:: https://img.shields.io/conda/pn/conda-forge/gyptis?logo=conda-forge&logoColor=white&style=for-the-badge
  :alt: Conda


.. |pip| image:: https://img.shields.io/pypi/v/gyptis?color=blue&logo=pypi&logoColor=e9d672&style=for-the-badge
  :target: https://pypi.org/project/gyptis/
  :alt: PyPI
  
.. |pip_dl| image:: https://img.shields.io/pypi/dm/gyptis?logo=pypi&logoColor=e9d672&style=for-the-badge   
  :alt: PyPI - Downloads
   
.. |pip_status| image:: https://img.shields.io/pypi/status/gyptis?logo=pypi&logoColor=e9d672&style=for-the-badge   
  :alt: PyPI - Status

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg?logo=python&logoColor=e9d672&style=for-the-badge
  :alt: Code style: black
 
.. |coverage| image:: https://img.shields.io/gitlab/coverage/gyptis/gyptis/master?logo=python&logoColor=e9d672&style=for-the-badge
  :target: https://gitlab.com/gyptis/gyptis/commits/master
  :alt: coverage report 

.. |maintainability| image:: https://img.shields.io/codeclimate/maintainability/benvial/gyptis?logo=code-climate&style=for-the-badge   
  :target: https://codeclimate.com/github/benvial/gyptis
  :alt: Code Climate maintainability

.. |zenodo| image:: https://img.shields.io/badge/DOI-10.5281/zenodo.4938573-5fadad?logo=google-scholar&logoColor=ffffff&style=for-the-badge
  :target: https://doi.org/10.5281/zenodo.4938573
 
.. |licence| image:: https://img.shields.io/badge/license-MIT-blue?color=bb798f&logo=open-access&logoColor=white&style=for-the-badge
  :target: https://gitlab.com/gyptis/gyptis/-/blob/master/LICENCE.txt
  :alt: license
 
+----------------------+----------------------+----------------------+
| Release              |            |release_badge|                  |
+----------------------+----------------------+----------------------+
| Deployment           | |pip|                |        |conda|       |
+----------------------+----------------------+----------------------+
| Build Status         |            |GL_CI|                          |
+----------------------+----------------------+----------------------+
| Metrics              | |coverage|           |   |maintainability|  |
+----------------------+----------------------+----------------------+
| Activity             |     |pip_dl|         |      |conda_dl|      |
+----------------------+----------------------+----------------------+
| Citation             |           |zenodo|                          |
+----------------------+----------------------+----------------------+
| License              |           |licence|                         |
+----------------------+----------------------+----------------------+
| Formatter            |           |black|                           |
+----------------------+----------------------+----------------------+





.. inclusion-marker-badges

GYPTIS
======

Computational Photonics in Python
---------------------------------

https://gyptis.gitlab.io

.. image:: https://gitlab.com/gyptis/gyptis/-/raw/master/docs/_assets/landing.png
   :align: center
   :alt: landing


Gyptis is a package to solve Maxwell's equations with the finite element method. 
It includes predefined models and setup commonly used in Photonics.



Installation
------------

.. inclusion-marker-install-start

Conda
~~~~~

The easiest way is using `conda `_. 
First, add conda-forge to your channels with:

.. code-block:: bash
    
    conda config --add channels conda-forge
    conda config --set channel_priority strict

Once the conda-forge channel has been enabled, gyptis can be installed with:

.. code-block:: bash
  
  conda install gyptis


Alternatively, we provide an `environment.yml `_ 
file with all the dependencies for the master branch. First create the environment:

.. code-block:: bash

  conda env create -f environment.yml

and then activate it with 

.. code-block:: bash

  conda activate gyptis
  

See the `github repository `_ 
where development happens for conda-forge.
  

Pipy
~~~~

The package is `available on pipy `_. 
To install, use:


.. code-block:: bash

  pip install gyptis
  

.. note::
  This does not install FeniCS, which should be built separately 
  (see `instructions `_) 


Docker
~~~~~~

Prebuilt container images are available at `DockerHub `_

A quick way of testing is to get the installation script

.. code-block:: bash

  curl -s https://gyptis.gitlab.io/get | bash
  

You will then be able to run the container with 

.. code-block:: bash

  gyptis run


Alternatively, you can pull the docker image

.. code-block:: bash

  docker pull gyptis/gyptis:latest
  
  
To run the image, use

.. code-block:: bash

  docker run -it gyptis/gyptis:latest
  
  

From source
~~~~~~~~~~~~

.. code-block:: bash

  git clone https://gitlab.com/gyptis/gyptis.git
  cd gyptis && pip install -e .
  
  
  
.. inclusion-marker-install-end


Documentation and examples
--------------------------

See the `documentation website `_. 
A good starting point is to look at `examples of application `_ 
for typical problems encountered in photonics.


Contributing
------------

Pull requests are welcome. For major changes, please open an issue first 
to discuss what you would like to change.

Please make sure to update tests as appropriate.


License
-------

MIT, see `LICENSE.txt `_.

Owner

  • Name: Benjamin Vial
  • Login: benvial
  • Kind: user
  • Location: London
  • Company: @imperial

I am a Research Associate interested in wave physics, metamaterials and numerical methods.

GitHub Events

Total
  • Watch event: 1
  • Push event: 11
Last Year
  • Watch event: 1
  • Push event: 11

Dependencies

dev/requirements.txt pypi
  • black * development
  • build * development
  • flake8 * development
  • isort * development
  • pip * development
  • pydocstyle * development
  • pylint * development
  • pylint-json2html * development
  • python-gitlab * development
  • radon * development
  • setuptools * development
  • twine * development
  • wheel * development
docs/requirements.txt pypi
  • beautifulsoup4 *
  • matplotlib *
  • memory_profiler *
  • numpydoc *
  • pydata-sphinx-theme *
  • sphinx *
  • sphinx-copybutton *
  • sphinx_gallery *
  • sphinxcontrib-bibtex *
  • sphinxcontrib-svg2pdfconverter *
tests/requirements.txt pypi
  • coverage * test
  • pytest * test
  • pytest-cov * test
  • pytest-datadir * test
  • pytest-sugar * test
  • pytest-xdist * test
pyproject.toml pypi
environment.yml conda
  • boost 1.84.0
  • dolfin-adjoint
  • fenics
  • gmsh
  • ipython
  • joblib
  • loguru
  • matplotlib
  • meshio
  • nlopt
  • numpy
  • pip
  • psutil
  • python >3.10
  • python-gmsh
  • pyvista
  • scipy
  • simpy