Skip to content
Snippets Groups Projects
Commit dfa5c617 authored by Noels Ludovic's avatar Noels Ludovic
Browse files

Update README.md

parent 0c114258
No related branches found
No related tags found
No related merge requests found
# sveResponses
# Stochastic Finite Element Method (SFEM)
[![License: CC BY 4.0](https://img.shields.io/badge/License-CC_BY_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/)
[![MOAMMM](https://img.shields.io/badge/MOAMMM-2ea44f?logo=gitlab)](https://gitlab.uliege.be/moammm/moammmPublic)
......@@ -11,19 +11,21 @@ This repository contains:
## Table of Contents
1. [Spectral Generator of RF](#spectral-generator)
2. [RF vizualization](#rf-vizualization)
3. [Test Cases of MC SFEM](#mc-sfem)
1. [Dependencies and Prerequisites](#dependencies-and-prerequisites)
2. [Structure of Repository](#structure-of-repository)
3. [Spectral Generator of RF](#spectral-generator-of-rf)
4. [RF vizualization](#rf-vizualization)
5. [Test Cases of MC SFEM](#test-cases of-mc-sfem)
## Dependencies and Prerequisites
[![python - >=3.11](https://img.shields.io/badge/python->=3.11-2ea44f?logo=python)](https://www.python.org/downloads/) [![pandas - >=1.5.3](https://img.shields.io/badge/pandas->=1.5.3-2ea44f?logo=pandas)](https://github.com/pandas-dev/pandas) [![matplotlib - >-3.5.2](https://img.shields.io/badge/matplotlib->--3.5.2-2ea44f)](https://matplotlib.org/)
Python, pandas, matplotlib, texttabble and latextable are pre requisites for visualizing and navigating the data.
* Python, pandas, matplotlib, texttabble and latextable are pre requisites for visualizing and navigating the data.
For generating mesh and for vizualization, gmsh (www.gmsh.info) is required.
* For generating mesh and for vizualization, gmsh (www.gmsh.info) is required.
For running simulations, cm3Libraries (www.ltas-cm3L) is required.
* For running simulations, cm3Libraries (http://www.ltas-cm3.ulg.ac.be/openSource.htm) is required.
### Instructions using apt & pip3 package manager
......@@ -41,49 +43,19 @@ Instructions for Debian/Ubuntu based workstations are as follows.
pip3 install matplotlib texttable latextable
```
### Pytorch
``` bash
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
```
### Lattice libraries
Build lattice libraries using the script:
``` bash
Scripts/LatticeLib/compile.sh
```
This creates lattice libraries inside `$HOME/.local/lib/moammmLattice`.
To use, append this into PYHONPATH by adding the following line in your .bashrc
``` bash
export PYTHONPATH=$PYTHONPATH:$HOME/.local/lib/moammmLattice
```
## Structure of Repository
[Scripts](./Scripts) contains all the code and libraries alongside the driver routine [driver.py](./Scripts/driver.py)
Data for SVEs is stored as DataPaths and LoadPaths, Surrogate models are stored as RNNSurrogate, under their respective lattice names as [Cell3](./Cell3/) and [Cell6](./Cell6).
Data is further organised into subfolders using a unique naming scheme based on their parameters.
* [generateRF](./generateRF) contains all the scripts used to generate and vizualize the random fields
* [cellRF](./cellRF) contains an example in which we generate a single variable random field on a lattice unit cell
* [rnnRF](./rnnRF) contains an example in which we generate a correlated two-variable random field and the siulations script to run Monte Carlo simulations on a multiscale lattice compression using a [MOAMMM stochastic neural network](https://gitlab.uliege.be/moammm/moammmPublic/syntheticdata/sveresponses) as surrogate of the cell response.
To understand the unique naming scheme we introduce the parameters next.
## Data Parameters
### generateRF
All parameters for data generation are defined inside driver routine [driver.py](./Scripts/driver.py), categorized as:
### Lattice Selection
| Parameter | Type | Description |
|:----------|:--------------:|:-------------------------------------------------------|
| cellType | String literal | Lattice identified by its numeric code: "3", "6", "9". |
### Load Path Parameters
### cellRF
Loading paths are generated for three types of loadings:
......@@ -91,21 +63,7 @@ Loading paths are generated for three types of loadings:
2. Random Cyclic paths with rate variant data points (CR).
3. Random Cyclic paths with constant rate data points (CC).
| Parameter | Type | Description |
|:-----------|:---------------:|:--------------------------------------------------------------------------------------|
| load_type | List of strings | Type of load Path: 'RW', 'CR', 'CC'. |
| r_max | Float | Upper bound of Right Cauchy Green (RCG) stretch Tensor norm $\bm{U}$. |
| eval_step | List of floats | Bounds for RCG tensor increment. |
| s_rate | List of floats | Bounds for strain rate. |
| k | Int | Number of paths for each load_type. |
| n_max | Int | Maximum allowable data points in a load path. |
| n_plot | Int | Number of paths for visualization in the plots. |
| n_split | Int | Number of collection bins (threads) - see [Thread creation](#thread-creation). |
| G_max | Float | Upper Bound for gradient of deformation gradient $\bm{G}$ - (Only for HO kinematics). |
| Geval_step | List of floats | Bounds for G increment - (Only for HO kinematics). |
### Lattice Geometry Parameters
### rnnRF
Random SVEs are generated for a selected lattice by varying either,the **strut radius** or the **volume fraction**. Geometrical parameters for lattices along with their description are as:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment