GAE is a Django project (Python) for the creation and study of the graph database for the CAE models as a Graph to build a knowledge graph for CAE. Converting Computer Aided Engineering (CAE) to Graph Aided Engineering (GAE).
GAE is a graph modeling for CAE analysis in automotive R&D development processes, in connection with its design requirement. The first release of GAE considers vehicle safety with EuroNCAP safety requirements. We connect CAE data to the protocols that are used to assess vehicle safety performances. The R&D process includes CAD engineering and safety attributes, with a focus on multidisciplinary problem-solving. For more information of graph modeling, link.
Table of Contents
- Run these commands from the terminal. (After starting neo4j server wait for few seconds until it is up and running.)
mkdir test_gae
cd test_gae
git clone https://github.com/Fraunhofer-SCAI/GAE-vehicle-safety.git
cd GAE-vehicle-safety
./setup.sh
gnome-terminal -- ./start_neo4j.sh
./start_django.sh
-
Open the browser to
http://127.0.0.1:8000/ -
Script
setup.shshould be called only once !. To view the results next time, one can call only thestart_neo4j.shandstart_django.shscripts.
Install the requirements via conda or python venv for python 3.10.8, for anacona envs:
conda create -n envs python=3.8.6
conda activate envs
for virtual env, install python 3.8.6 and venv and then you can use:
python venv ./envs
source envs/bin/activate
Currently the database is available as a dump file that is that is developed with neo4j-community-4.2.4. The dump file can be loaded into neo4j-community-4.2.4. We provide this version as it is no longer availble on neo4j webpage. You can extract it and then run the server with
tar -xzvf neo4j-community-4.2.4.tar.gz
neo4j-community-4.2.4/bin/neo4j start
Then you can load one of the available .dump file databases to your database.
./neo4j-community-4.2.4/bin/neo4j-admin load --from=../database/FILE.dump --database=neo4j --force
the --force will take care of the upgrade if you use a more recent version of neo4j, just remember to edit the config file in conf\neo4j.conf and set ``dbms.allow_upgrade=true`, more info
Here we have 5 dump files in .\database that are:
| Databases | Info |
|---|---|
| 00_GAE_v1.0.dump | Merged version of all 4 databases |
| 01_modelCompare_v1.0.dump | FE-model changes, graph for ModelCompare tool |
| 02_simKnowledge_v1.0.dump | F-simulation as a graph with energy features, "Knowledge discovery assistants for crash simulations with graph algorithms and energy absorption features", "Simrank++ Update for Crash Simulation Similarity Precidtion with Energy Absorption Features, link |
| 03_euroNcap_v1.0.dump | Graph modeling EuroNCAP safety requirements with web scrawling. |
| 04_safetyLoad_v1.0.dump | load-case specification that is used in CAEWebVis visualization |
After solving the dependencies and setting up the database. You need to set the login info in a .env under src/.env. You can edit at the src/.env-sample and save it as src/.env.
To set the dependencies of your data to be loaded to the database, you need to define the constants in src/gae/constatns.py
## OEM or VEHICLE
OEM_NAME = 'YARIS'
## UNITs
IE_UNIT = 1e-3
TIME_UNIT = 1000
## DATA PATH
DATA_PATH = '/home/ndv/stud/data/YARIS/full_front/CCSA_submodel/crash_modes/'
SIM_PATTERN = 'CCSA_submodel_60*'
The units are defined base on the configuration of your model required to convert the values to kNmm, ms. This example is for a model with units of Nmm, s.
Finally you can start the Django server locally with:
python src/manage.py runserver
This project has in total five modules. This repo already includes:
ld_data: based on paper, App links:- Load/ re-load data to the database based on
constants.pyconfiguratoion:ld_data/load - The data ontology report:
ld_data/ontology-report
- Load/ re-load data to the database based on
nrg_fts: based on paper, App links:nrg_fts_dash: energy feature dash
The re-maining repos are under transfer from the following repo, on hold due to publications. For more information contact:
sim_rnk: based on paper, current codephysc_grph: based on paper, current codeld_pth_detn: based on paper, current code
