This repository contains the Deep Neural Network model for the automatic design of rectangular reinforced concrete columns under axial load, biaxial bending and shear forces. The figure below illustrates model geometric configuration that is used to generate the parametric designs used to train the network.
The model takes as input axial load, biaxial bending, shear in two directions, column height and concrete strength and outputs the section geometry, transverse and longitudinal reinforcement.
- OS Windows/Linux/Mac.
- Anaconda
- Python>3.8
Create an environment using the env.yaml in Anaconda with the following command:
conda env create -f environment.yaml
The data generation folder contains files for parametric data generation.
-
main.py is the main script to run the data generation.
-
column.py script contrains the material, geometric, analysis, and model parameters.
-
functions.py contains function used to generate data, such as section analysis, random generation of section geometry.
-
preprocess.py script contains the data filtration based on monetary cost for all column height and concrete strength combinations.
-
normalization.py script contrains min-max normalization of the dataset and splits it into train, test and validation sets.
-
nn_model.py file contrains network file for training the network.
-
use model.pth and inference.py files for the inference.
-
use train_max__4.h5 and train_min__4.h5 files for minmax normalization of the test sample before extracting network predictions.
Use check.py to run the check of the network output results based on the Eurocode.