Go to file
2024-03-14 16:04:24 +05:00
.circleci Mod: skip test if thirdparty not found 2021-11-18 12:34:43 +05:00
.vscode Mod: database is now stable. 2022-01-24 17:50:57 +05:00
anisotropy new: test new gui (dpg) 2022-04-21 19:19:52 +05:00
data stage changes 2024-03-14 16:04:24 +05:00
doc Mod: update packages 2021-12-31 20:01:59 +05:00
tests Mod: tests and conda package channel for netgen 2021-12-14 17:50:00 +05:00
.gitignore stage changes 2024-03-14 16:04:24 +05:00
environment.yml Mod: openfoam conda requirement 2022-01-28 12:41:09 +05:00
INSTALL.rst Mod: improved documentation 2021-09-01 20:06:47 +05:00
ISSUES.rst Mod: clean up 2022-01-29 17:41:36 +05:00
LICENSE New: license 2021-07-07 23:09:25 +05:00
poetry.lock mod: minor changes 2022-04-21 19:19:14 +05:00
pyproject.toml mod: minor changes 2022-04-21 19:19:14 +05:00
README.rst Mod: conda environment 2021-12-02 18:14:20 +05:00

.. image:: https://circleci.com/gh/L-Nafaryus/anisotropy/tree/devel.svg?style=shield&circle-token=423bc964a997ded671ebd4ceacc25f9967acdffa
    :target: https://circleci.com/gh/L-Nafaryus/anisotropy/tree/devel

anisotropy
==========

*anisotropy* is a ``Python`` package that is the result of science-research work 
on the anisotropy of permeability in the periodic porous media. 
A project uses own wrappers around external applications 
for constructing a shapes and meshes (``Salome``) and computing a flow (``OpenFOAM``).


.. figure:: docs/source/static/simple.png
    :align: center
    :alt: 
    

.. figure:: static/simple.png
    :align: center
    :alt: 

.. contents:: README contents

Dependencies
============

.. csv-table::
    :header: "Software", "Used version", "Recommended version"

    "`Python <https://www.python.org>`_", "3.9.6", ">= 3.8"
    "`Salome <https://www.salome-platform.org>`_", "9.7.0", ">= 9.6.0"
    "`OpenFOAM <https://www.openfoam.com>`_", "v2012", ""


.. Installation

.. code-block:: bash

   $ git clone https://github.com/L-Nafaryus/anisotropy.git
   $ cd anisotropy
   $ conda env create
   $ conda activate anisotropy
   $ poetry install
   $ anisotropy --help

Getting Started
===============

Initializing a new anisotropy project
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To create a new anisotropy project, you'll use the ``anisotropy init`` command.
``anisotropy init`` is a one-time command you use during the initial setup of a new project.

Example:

.. code-block:: bash

    $ mkdir ~/aproject
    $ cd ~/aproject
    $ anisotropy init

Executing this command will create a new ``anisotropy.db``, ``anisotropy.toml`` files in your
current working directory. This will also create ``build`` and ``logs`` directories for output files.

Database ``anisotropy.db`` is used for storing current values and results. 
With ``anisotropy.toml`` you can configure all an initial values.

Computing
~~~~~~~~~

To start a computation, you'll use the ``anisotropy compute`` command. Using flag ``--stage`` you can
control what you need to compute (mesh or flow). Using flag ``--param`` you can specify which 
structure/direction/theta you need to compute.

Example:

.. code-block:: bash

    $ anisotropy compute --stage mesh --param type=simple --param direction="[1.0, 0.0, 0.0]" --param theta=0.01

.. attention::

    * You can't compute a flow without mesh (if you didn't it before succesfully).
    * ``type``, ``direction`` and ``theta`` are control parameters. If you aren't specifying it than default range of values will be used from ``anisotropy.toml``.

Post-processing
~~~~~~~~~~~~~~~

To use post-processing tools, you'll use the ``anisotropy postprocessing`` command.

Example:

.. code-block:: bash

    $ anisotropy postprocessing permeability

Additional help
~~~~~~~~~~~~~~~

You always can use ``--help`` flag with any of ``anistropy`` command to get more information.

License
=======

GNU GPLv3

For more information see ``LICENSE``.