# HO_homog **TODO** : *One Paragraph of project description goes here* ## Getting Started The **HO_homog** project is developped on Ubuntu 18.04 with the programming language Python3. The current stable release of the **HO_homog** Python library can be downloaded from this [repository](https://gitlab.enpc.fr/baptiste.durand/HO_homog/tree/master). ### Prerequisites Before using the **HO_homog** tools FEniCS and `pip` (or setuptools) must be installed. #### FEniCS To install the FEniCS on Ubuntu, run the following commands: ```bash sudo apt-get install software-properties-common sudo add-apt-repository ppa:fenics-packages/fenics sudo apt-get update sudo apt-get install --no-install-recommends fenics ``` For more information about installation or instructions for other platforms see the [fenicsproject website](https://fenicsproject.org/download/) and the [FEniCS reference manual](https://fenics.readthedocs.io/en/latest/installation.html#debian-ubuntu-packages). #### Virtual Environment Using a virtual environment for Python projects is recommended. **HO_homog** and Gmsh can be installed inside a virtual environment but FEniCS cannot. Make a new virtual environment : ```bash python3 -m venv /path/to/project/project_name ``` Then activate it : ```bash source /path/to/project/project_name/bin/activate ``` Now, the HO_homog package and its dependencies can be installed inside this virtual environment (see instructions below). Supposing FEniCS has been already installed on the system, the settings of the virtual environment should be modified to make it accessible. In `/path/to/project/project_name/pyenv.cfg` : `include-system-site-packages = true`. ### Installing The **HO_homog** Python package can be installed with `pip`. - Install it from the gitlab repository directly (preferred way): ```bash pip3 install git+https://baptiste.durand@gitlab.enpc.fr/baptiste.durand/HO_homog.git#egg=ho_homog ``` - Or [download](https://gitlab.enpc.fr/baptiste.durand/HO_homog/repository/archive.tar?ref=master) the HO_homog repository files. Then, move to the HO_homog directory and use `pip` : ```bash pip3 install . --no-cache-dir ``` #### Recommended tools For designing microstructures and generating meshes with HO_homog features, gmsh and its API must be installed.\ The gmsh SDK that containt gmsh and the python API can be downloaded from the [official gmsh website](http://gmsh.info/). The files should then be put into the right directories by hand.The files must then be put into the right directories by hand. \ Alternatively, gmsh SDK can be directly install *in a pythonic way* using the unofficial Gmsh SDK installer : [gmsh-sdk](https://pypi.org/project/gmsh-sdk/) : ```bash pip install --upgrade gmsh-sdk ``` The fenicstools toolbox can be useful for field reconstructions when the RVE mesh and the full_scale mesh do not match. > With the function interpolate_nonmatching_mesh_any it is possible to interpolate from a Function of any space on one mesh to a Function of any space on a different mesh. This python package can be install with pip : ```bash pip install git+https://github.com/mikaem/fenicstools.git --prefix=/.../lib/python3.6[or other version]/site-packages/ ``` ## Built With The HO_homog tools have been developped with Python 3.6.7. They make use of the following applications. The numbers in brackets represent the versions used for the development. - Python 3 (3.6.7); - [Gmsh](http://gmsh.info/) - Used to generate finite element meshes, by means of its API for Python (4.0.6); - [FEniCS](https://fenicsproject.org/) - Finite element computing platform (2018.1.0) ## Authors - **Baptiste Durand** - *PhD student* - Laboratoire NAVIER, UMR 8205 - [@baptiste.durand](https://gitlab.enpc.fr/baptiste.durand) - [baptiste.durand@enpc.fr](mailto:baptiste.durand@enpc.fr) - [Student page on Laboratoire Navier website](https://navier-lab.fr/baptiste-durand/) - **Arthur Lebée** - *Researcher* - Laboratoire NAVIER, UMR 8205 - [@arthur.lebee](https://gitlab.enpc.fr/arthur.lebee) - [Researcher page on Laboratoire Navier website](https://navier-lab.fr/arthur-lebee/) See also the graphs of all [contributions](https://gitlab.enpc.fr/baptiste.durand/HO_homog/graphs/master) to this project. ## Acknowledgments The authors acknowledge the support of the French Agence Nationale de la Recherche (ANR), under grant ANR-17-CE08-0039 ([project ArchiMatHOS](http://www.agence-nationale-recherche.fr/Projet-ANR-17-CE08-0039)).