Skip to content

Commit

Permalink
Dev -> main (#173)
Browse files Browse the repository at this point in the history
* A couple of VEP constitutive law bugs were mashing the tests.

* Drop the mem print out for now.

* Version bump

* Quick switcheroo of NS to use the VEP stuff to help debug.

* One obvious candidate for leaking

* Adding a pytest file to test other model files - just add a definition called def test_...() in the model file and include the model in test_examples.py to hook the model into pytest

* Merge of non breaking changes from Mask2Matrix branch. We will leave the mask mesh variables as a list of mesh variables for now.

A future plans is to join them as a matrix of mask variables instead of a list of separate mesh variables with a sympy matrix front end.

* A couple more re-arrangements to clarify function evaluation code.

* Removing test_examples.py idea, now testing via pytest.ini

Add application tests via pytest.ini rather than test_examples.py.
Better error handling this way.

* Use fn.evaluate everywhere in place of rbf when we can

* Update viscoplastic constitutive model

Changes to the visco-plastic CM to handle either a single material or multi material

* Adding an evalf to uw.function which is a fast rbf interpolation equivalent to the evaluate method. Should be a plug-in replacement except it refuses the .fn representation of sympy vectors. Fixed some swarm save problems.

* Update constitutive_models.py

- Add max limit.
- changes to the parameter setup to repeats the first value in the list/array if it does not match the length of the material indices
- Also add support for floats to set the same value for each material

* Ooops a broken bunch of stuff in the swarm save. Sorry !

* Fixing up swarm.py

* A couple of vectors not getting restored in solvers. Plug every potential leak ...

* Add float conversion to list for other parameters

* aligning the swarm and mesh "checkpointing" to have the same pattern. Mostly this follows the swarm version because Ben built this first and I didn't folllow the template. Using read / write rather than save / load to separate the uw workflow-driven approach from the PETSc checkpoint-driven one

* Update constitutive_models.py

Add in functionality to handle VEP multi-materials

* Update constitutive_models.py

Was some issues in the plastic viscosity calculation, should be fixed

* Add viscous fingering model

* To validate the evalf, this adds a switch for .evaluate / .evalf in advection and in the Lagrange updater. Also adds the Lagrange updater !

* Clean up readme.md and move checklist to Changes.md

* Adding some description for the Darcy / Groundwater equation solver

* Fix bugs I added before. Make evalf off by default but trialling a cache for evaluation to help with memory leak / speed.

* Some other minor fixes

* fix up xxhash (np.ascontiguous ... )

* Minor printing changes

* Some formatting changes after the potential with BK branch. Update tests to use tmp directory instead of poluting the home directory.  Suggested rescaling for Darcy flow / fingering model.

* Weird scale-dependenct swarm-location bug

* Add ._utils file

File to place functions that may be useful. First function is to gather data on the root proc which could also be broadcast to all processors.

* Adding a solver base class to simplify the documentation. Adding class method for ipython help so that we can ask about solvers before using them.

* Tests passing again

* Lots of changes needed to get the viscoelastic models close to working. These are in place now and I am going back to try to get the tests and notebooks working again.

* Ooops, some python 3.10 stuff that is probably overly cutting edge

* Create docker-image.yml

Add a action to build and push a docker to dockerhub

* Update docker-image.yml

invalid tag name fix

* Update docker-image.yml

* add branch name

* Update docker-image.yml

* Update docker-image.yml

Setting docker build on VEP branch only

* fix adv_dif solver

* Update build_uw_test.yml

Fix cython version to <3.0

* Fix divide by 0 error

Re-write estimate_dt to remove divide by 0 error

* Fix divide by 0 error

Re-write estimate_dt to remove divide by 0 error

* switch to pdoc (not pdoc3) which seems better supported and the math mode matches jupyter

* Preliminary SLCN implementation for Naver Stokes and generalising this to be a D/DT module.

* Bugz introduced in solvers.py

* tiny bug in cython code

* Needed to change callback casts for new Cython

* restoring the petsc swarm populate routines

* Updates for Cython 3 and latest PETSc

* Whitespace

* UnderworldFunction should not hold the mesh

* MeshVariable symbols should not hold the mesh

* MeshVariable should not hold the PetscFE

* Fix indentation mistake

* Respect argument to mesh.access()

* Do not create DS until all mesh variables are defined

* Added assert()

* Some geom mg changes

* Revert discretization changes until rewrite

* Rvert change for leaks until redesign

* Revert "MeshVariable symbols should not hold the mesh"

This reverts commit f70f898.

* I thought I might need DMSetLocalSection()

* Fix SaddlePoint field names

* Do not recreate the DM in the SaddlePoint consrtuctor

* Do not recreate the DS in the SaddlePoint constructor

* Must copy the discretization to coarse grids

* WARNING Turning off auxiliary vector

* SolCx works with additional fields defined / set (not used)

* Fix up MKMG - backwards compatible etc etc. Tests pass, bugs may just be hiding a bit better than before

* Quite a few post-knepley updates - see pull request for details

* Issues with the Stokes solver but Poisson is working correctly again.

* Placeholder commit - working nbc, ebc ... tests need some work

* Changes to get solvers working

Few changes to keep up with Louis changes. Working: AdvDiff_swarm, Darcy, Stokes.

Not Working:
- *Adv_diff*:

-> 1205 self._F_star_projection_solver.solve()
   1207 with self._nswarm_F.access(nX0):
   1208     nX0.data[...] = self._nswarm_F.data[...]
ValueError: could not broadcast input array from shape (33282,) into shape (73728,)

Notes:
- Had to update BC in workflow, issue with int64 (python) and long (petsc) np array on mac. Had to set np array to int32.
- Have to set each BC individually

* Fix up semi-Lagrange manager and take a small step towards eradicating the bat

* Some fixes for anti-batman strategy, adv-diff test, swarms clone cell dm. More testing required esp in parallel

* Updating batman / semiLagrange fixes

* Couple of updates to get NavierStokesSLCN running

* Remove pycache directories too in clean.sh

* Some memory cleaning.
Underworldfunction no longer hold a mesh. Instead they reference the
mesh via the MeshVariable associated with the uw_fn.

* Checking if petsc4py is installed under the PETSC_DIR directory.
If not a warning is produced - good enough for now.

* evalf() function need to use the meshvariable.mesh too, as per previous
commit

* For add_dirichlet_bc() fix 'component' for 'components'.

* Remove some obsolete lines from solves.py

* Checking in - passing tests but incomplete

* Fixing some maths-in-comments bugs (r-strings)

* WIP ideas only, delete patch files please

* Update solvers.py

Add in CM to Stokes (NS inherits from Stokes) and SNES_Poisson (Adv_diff inherits from Poisson)

Should be backwards compatible in current state (🀞)

TODO:
* Update constitutive_models base class to include: DfDt and DuDt vars to be passed from the solver setup to the CM
* multimaterial bits

* Merge commit 1

* Updates to CM

Pass through DuDt & DFDt to CM for use.
Now attaches unknown to the CM under the hood

* Batman returns !!!!

* Solver & CM updates

Trying to make sure DFDt and DuDt are the same in the solver and CM for updating values that are used in both

* Update solvers.py

Messed up the order of variables when passing them to the CM.

* CM & solver stuff AGAIN

Changes to use the lazy eval approach.

* Update petsc_compat layer to remove warnings - would be nice to automat this process from petscds.h

* Update solvers to remove class inheritance

passing tests....
working from UW3-benchmarks:
- Darcy (without g term)
- Stokes
- NS - SLCN
- AdvDiff-SLCN
-AdvDiff-swarm
Not working:
- NS-swarm (solver crashes)

* Prototype of the Unknowns sub-class for discussion purposes.

* closer but one test failing

* Semi Lagrange / fully Lagrangian history terms now have a consistent interface. There is an issue with the sequencing that I haven't figured out yet so the full Lagrangian version is not updating correctly.

* removing obsolete duplicate files

* Minor interface tweet for Adv Diff solver

* Renaming the petsc options so linux+petsc find's the options

* fixing a batman bug

* Moving unknowns into the Unknowns class: u, L=grad(u), E=1/2(L + L^T), W=1/2(L-L^T)

* Prep for merge

* tidy up

* Version number

* Fixing up constitutive models and solvers so tests pass when using the solver Unknowns class ... VE Stokes  needs work.

* VE Stokes as a separate solver type - I give up on trying to make a clever way to add VE history tracking. This is OK. tests added and passing. I won't vouch for Navier Stokes yet. That needs refactoring in line with the constitutive model updates.

* quick syntax fix for Examples-Convection

* validate_solver() is back, removing _Unknowns from consitutive model as we have getters and setters for this

* Couple of changes needed to get Navier-Stokes (SLCN) over the line with all the other changes we did. This is not really well tested.

* Add some tests

AdvDiff & Darcy tests in cartesian

* Change for petsc main compatibility projectCoordinates() -> setCoordinateDisc()

with argument setting setCoordinateDisc(..., project=False) - is quicker i understand.

removing obsolete petsc_dm_project_coordinates() from
petsc_discretisation.pyx

* Read MSH file too

* Fixing solver and visualization calls

* Fixing solver and visualization calls

* Fixing solver and visualization calls

* Update for underworld3-0.9b conda package

* conda improvements for linux

* Fix for platform agnostic gxx compiler

* set conda to build from development branch for now

* Debugging the natural BC / surface integral terms

* Fix up tests (down-size the AdvDiff for now). Some merges required.

* from mpi4py import MPI before petsc

Solves issue #140

Cleaning up some unused python imports too.

* Surface integrals working with clobbered version of petsc for free-slip bcs using penalty approach. Example uploaded in WIP as a demo of this and to show what happens with current petsc main branch. Running version of cylindrical/annulus convection model with free-slip upper bc.

* Changes to SetSNESLocalFEM call pattern ...

* Ooops - stats() is collective !

* Getting the internal-heated discworld to run with Free-Slip (flux limiting on the advection scheme with a non-linear diffusivity)

* Move the surface integral example out of WIP

* Using PETSc normals via a new vector mesh.Gamma which maps to petsc_n in surface integrals. See Ex_Stokes_Ellipse for an example

* Tidying up - adding the channel flow / irregular base model

* Setting default inner radius for spherical meshes to be Earth like (0.547 not 0.3). Adding a regional spherical mesh since we can now do the side bcs easily. Should consider a bucket mesh too, and one with cuts along any great circle.

* Fixing Darcy Solver and updating example. Removing some old notebooks.

* Adding an example that uses the RegionalCap Mesh. Why not since we have the impermeable boundary thing working well.

* Fix broken pointwise function test - see comments

* Update meshing.py

Fix for #147

* Trying to recreate kernel models in 2D / annulus

* Fix up broken tests and fix Darcy solver

* Adding Cartesian Kernel prototype example (strange mesh, sorry !) - starting point for Parsons & Daly benchmark

* Updating the Parsons & Daly Kernels model. Not benchmarked, just a demo.

* Updates to allow petsc options from cmd line. Disc Convection model and visualisation. Change snes_conergence test checking (now responsibility of the solver)

* Checking a few things for parallel surface integrals

* Simplify boundary condition logic by relying on mesh.boundary Enum for values

* Forgot to update Stokes

* Adding a couple of workaround meshes to carry on benchmarking while we sort out the boundary integral stuff.

* PETSc.FE().createDefault(..., PETSc.COMM_SELF) - thanks Matt

* Found a bug in advection swarm

* Moving the surface integrals example as this is now in PETSc main. Clean up some things.

* Adjusting SolCx to compare boundary condition types

* Null space calculation annulus

* Trying to fix the solver-then-new-var batman-returns bug. Update to some new petsc option names. Examples with projected normals for irregular boundaries.

* Fixing Darcy Notebook. Script to run tests independently. Adv-Diff interpolation still problematic

* Changes to src structure (re-built from jg branch)

* Union - cython error in build system

* cython is more fussy in this environment

* Out of date cython & petsc

* Petsc minor release API change ... honestly WTF

* removing obsolete line

* Putting import MPI first (again) and improving swarm pytest with a
fixture

* lm src style (#159)

* Changes to src structure (re-built from jg branch)

* Union - cython error in build system

* cython is more fussy in this environment

* Out of date cython & petsc

* Petsc minor release API change ... honestly WTF

* removing obsolete line

* Putting import MPI first (again) and improving swarm pytest with a
fixture

---------

Co-authored-by: Julian Giordani <[email protected]>

* compatibility thing ... trying to get the build to work on old petsc. But this will probably not pass tests because it's the old petsc

* Fix calling pattern

* Update discretisation.py

* Drop tests that we know will fail with the conda-forge version of petsc

* Re-ordering tests by category

* Compatible petsc4py is available on conda-forge

* Update docs to find the new path (duh !)

* Remember to actually install a recent pdoc

* Update deployment path

* Some small re-arrangements to make the pdoc API docs look a bit cleaner.

* Take out the "numpy" from sympy lambdify - this automatically includes scipy if available and allows compilation of special functions.

* Inconsistencies in evalf / evaluate in function.pyx. Fixing that and also allowing scalar / vector functions again. Tests passing.

* Visualisation module needs small update to match

* Checking in the 1d block analytic solution for the Adv Diff problem in 2D (really 1D).

* Updated Example notebook for AdvDiff

* Update issue templates (#162)

First cut at a bug report. Done #102 βœ…

* Updating the 1D advection example with a diagram

* Found some bugs in the way we determine element sizes. Made this a kd-tree thing to step away from the PETSc FVM code. Fix up some remaining NS issues. Moved the DDt objects into systems where they belong (not in swarm.py). Tidied that lot up and fixed a couple of tests.

* update petsc 3.20.5 for build / test

* Not petsc4py, apparently

* Update micromamba

* This micromamba is on a different path

* Still have this compat / wrapper issue

* mpmath version error (good grief)

* openGL errors in gmsh

* workflow / gmsh

* Updates for current petsc-main

* Quick Fix for proxy variable interpolation on sparse swarms

* Yeah, OK, nnn is the limit. Not  permanent fix.

* Test binder (#171)

* Yeah, OK, nnn is the limit. Not  permanent fix.

* Add binder files

* uw3_env fails (use std petsc for now)

* Full install into binder python

* Use the petsc4py paths to PETSc

* gmsh is fussy on binder (obviously)

* going the other way - add everything gmsh MIGHT need

* Fixing meshVariable.clone - not properly initialised. Adding simplify to visualisation evaluation.

* Adding the simplify to all function evaluations (helps with matrix * piecewise for example, or matrix components)

* try adding a start file

* try conda activate script from postbuild

* typo / conda

* uw3_env - 0.0

* typo - I forgot to add uw3_env

* move all the uw3 stuff to postbuild

* postBuild - update

* uw3_env 0.1

* uw3_env 0.2

* (readme)

* uw3_env 0.3

* uw3_env 0.4

* uw3_env 0.5

* uw3_env 0.6

* uw3_env 0.7

* ue3_env 0.8

* uw3_env 0.8

* uw3_env 0.9

* backing off - uw3_env

* fails for py3.10 but not 3.11 ?

* py 3.11 builds correctly.. Now debug environment

* more info

* conda is not activated in postBuild

* and ...

* simplify scripts - binder is now working

* accidentally deleted the uw build - put it back

* Some changes for the merge dev -> main

---------

Co-authored-by: Louis Moresi <[email protected]>
Co-authored-by: Ben Knight <[email protected]>
Co-authored-by: Matthew G. Knepley <[email protected]>
Co-authored-by: Tyagi <[email protected]>
  • Loading branch information
5 people authored Mar 22, 2024
1 parent 76c47b4 commit 7c1ac12
Show file tree
Hide file tree
Showing 321 changed files with 170,619 additions and 369,765 deletions.
8 changes: 8 additions & 0 deletions .binder/apt.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
libgl1-mesa-glx
libxcursor-dev
libglu1
libxft2
libxinerama1
libfltk1.3-dev
libfreetype6-dev
libgl1-mesa-dev
32 changes: 32 additions & 0 deletions .binder/environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: uw3
channels:
- jgiordani
- conda-forge
dependencies:
- python=3.11
- jgiordani::uw3_env
- mpmath<=1.3
- mesalib
- numpy
- scipy
# - mpich-mpicc
# - mpich-mpicxx
# - cython=3.*
# - petsc>=3.20.5
# - petsc4py>=3.20.5
# - mpi4py
# - h5py
- sympy
- pytest
- ipython
- pyvista[all]
- quarto
- pip
- pip:
- gmsh
- jupyterlab>=4.1
- jupytext>=1.16.1
- pygments>=2.17.0
- trame-vtk
- trame-vuetify

45 changes: 45 additions & 0 deletions .binder/postBuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/bash -v


# echo
# echo Install uw3_env during postBuild phase
# echo

# conda env list

# # conda init
# # conda activate notebook
# # mamba install --yes -c jgiordani uw3_env

echo
echo Install jupyter extensions
echo

# install required python packages
python3 -m pip install "jupyter-server-proxy"
python3 -m pip install "jupyterlab-quarto>=0.3.3"
python3 -m pip install "jupytext>=1.16.1"
python3 -m pip install "trame_jupyter_extension"

# We install the local code "properly" - no point in a dev build here

echo
echo Install local UW3
echo

# Note: we would be better to find a way to access this directly
# CONDA_PREFIX=`conda run -n notebook bash -c "echo \${CONDA_PREFIX}"`

export CONDA_PREFIX=/srv/conda/envs/notebook/
export PYTHONPATH=$CONDA_PREFIX/lib

# debugging if required
# python -c "import petsc4py; print(petsc4py.get_config())"
# python -c "from petsc4py import PETSc; print('Imported PETSc')"

pip install .


echo
echo Completed
echo
8 changes: 8 additions & 0 deletions .binder/start
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

## This is not required for the conda-forge version of petsc but
## it is needed if we install the uw3_env dependencies

export PYTHONPATH=$CONDA_PREFIX/lib/

exec "$@"
11 changes: 9 additions & 2 deletions .devcontainer/DOCKERFILE_GHCS
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,16 @@ COPY .devcontainer/uw_environment.yml /tmp/conda-tmp/
RUN mamba env update -n base --file /tmp/conda-tmp/uw_environment.yml

RUN export PETSC_DIR=/opt/conda \
&& pip install petsc4py
&& pip install petsc4py==3.18

RUN pip install gmsh
## Add our own petsc here if required



RUN pip install gmsh pygmsh

# For launching later
RUN pip install jupyterlab jupytext panel matplotlib

# Add other dependencies that can't be installed correctly.

Expand Down
55 changes: 28 additions & 27 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/miniconda
{
"name": "Underworld3",
"build": {
"context": "..",
"dockerfile": "DOCKERFILE_GHCS"
},

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},

// The following are needed by gmsh even though we don't want to use X

"features": {
"ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
"packages": "libgl1,libcairo2-dev,libxcursor-dev, libxinerama-dev"
}
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": []

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "conda init && cd /workspaces/underworld3 && export PETSC_DIR=/opt/conda && python3 setup.py build_ext && sudo -E /opt/conda/bin/pip install ."



// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
"name": "Underworld3",
"build": {
"context": "..",
"dockerfile": "DOCKERFILE_GHCS"
},
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// The following are needed by gmsh even though we don't want to use X
"features": {
"ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
"packages": "libgl1,libcairo2-dev,libxcursor-dev, libxinerama-dev, libgl1-mesa-glx, xvfb"
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": []
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "conda init && cd /workspaces/underworld3 && export PETSC_DIR=/opt/conda && python3 setup.py build_ext && pip install -e .",
//
"remoteEnv": {
"PETSC_DIR": "/opt/conda",
"UW_PATH": "/workspaces/underworld3",
"PYTHONPATH": "/workspaces/underworld3"
},



// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
28 changes: 28 additions & 0 deletions .github/.devcontainer/DOCKERFILE_GHCS
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
FROM mcr.microsoft.com/devcontainers/miniconda:0-3

RUN conda install -n base -c conda-forge mamba

# Here we can install all the dependencies using mamba (as we do in the test scripts)

COPY .devcontainer/uw_environment.yml /tmp/conda-tmp/
RUN mamba env update -n base --file /tmp/conda-tmp/uw_environment.yml

RUN export PETSC_DIR=/opt/conda \
&& pip install petsc4py

RUN pip install gmsh

# Add other dependencies that can't be installed correctly.

##
## gmsh seems to be broken in this installation
##

# [Optional] Uncomment to install a different version of Python than the default
# RUN conda install -y python=3.6 \
# && pip install --no-cache-dir pipx \
# && pipx reinstall-all

# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get install ffmpeg libsm6 libxext6
23 changes: 23 additions & 0 deletions .github/.devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/miniconda
{
"name": "Underworld3",
"build": {
"context": "..",
"dockerfile": "DOCKERFILE_GHCS"
},
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// The following are needed by gmsh even though we don't want to use X
"features": {
"ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
"packages": "libgl1,libcairo2-dev,libxcursor-dev, libxinerama-dev"
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": []
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "conda init && cd /workspaces/underworld3 && export PETSC_DIR=/opt/conda && python3 setup.py build_ext && sudo -E /opt/conda/bin/pip install ."
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
20 changes: 20 additions & 0 deletions .github/.devcontainer/uw_environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: uw3_runtime
channels:
- conda-forge
dependencies:
- python=3.10
- numpy
- sympy
- mpich-mpicc
- mpich-mpicxx
- cython
- petsc=3.18.0
- mpi4py
- h5py
- mesalib
- pytest
- ipython # needed for "display" functionality (should be optional !)
- pyvista # flagged in some tests (should not be needed for tests !)
- pip


12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.
What version of underworld3 are you running and how to reproduce the bug.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/runtime-error.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Runtime Error
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the runtime issue**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
E.g. Model snippet, or command line used.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment (please complete the following information):**
- OS: [e.g. iOS]
- Version [e.g. 0.5]

**Additional context**
Add any other context about the problem here.
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/πŸ›-bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: "\U0001F41B Bug report"
about: Create an report to help us improve
title: "[BUG] - add title"
labels: ''
assignees: ''

---

**Describe the bug**
- What is the bug?
- What version code?
- What system are you running the code on?
- Steps to reproduce?

**Screenshots**
Loading

0 comments on commit 7c1ac12

Please sign in to comment.