Skip to content

Architecture

This section describes the ./ZephyCFD-Core folder for the various flavours.

In this folder, we find:

Runners

Note

We have one runner for each step of the modeling chain (starting with zephycfd).
We also have runners running the all steps in a row.

./zephycfd_configure.py
./zephycfd_mesh_M1.py
./zephycfd_calc_C1.py
./zephycfd_assess.py
./zephywrg.py

+1 common file
./zephycfd_common.py
./zephycfd_configure.py
./zephycfd_mesh_M1.py
./zephycfd_calc_C1.py
./zephycfd_assess.py
./zephywrg.py

+1 common file
./zephycfd_common.py
./zephycfd_configure.py
./zephycfd_mesh_M1.py
./zephycfd_mesh_M2.py
./zephycfd_calc_C1.py
./zephycfd_calc_C2.py
./zephycfd_calc_C2W.py
./zephycfd_calc_C2WF.py
./zephycfd_assess.py
./zephywakes.py
./zephywrg.py

+1 common file
./zephycfd_common.py
./zephycfd_configure.py
./zephycfd_mesh_M1.py
./zephycfd_calc_C1.py
./zephycfd_assess.py
./zephycfd_lidar.py
./zephywrg.py
./zephylidar.py

+1 common file
./zephycfd_common.py

Documentation

./doc folder gathers the documentation within a set of markdown files.

Note

It also includes the configuration script to allow for installing the dependencies, as well as the licence terms.

./doc/Archi.md
./doc/Inputs.md
./doc/InputsParameters.md
./doc/InputsProject.md
./doc/Install.md

./doc/configure.sh
./doc/COPYING
./doc/Archi.md
./doc/Inputs.md
./doc/InputsParameters.md
./doc/InputsProject.md
./doc/Install.md
./doc/README_gold.md

./doc/configure.sh
./doc/COPYING
./doc/Archi.md
./doc/Inputs.md
./doc/InputsParameters.md
./doc/InputsProject.md
./doc/Install.md
./doc/README_wakes.md

./doc/configure.sh
./doc/COPYING
./doc/Archi.md
./doc/Inputs.md
./doc/InputsParameters.md
./doc/InputsProject.md
./doc/Install.md
./doc/README_lidar.md

./doc/configure.sh
./doc/COPYING

Sources

./src folder gathers the whole set of programs, data, file templates (...) that may be used during a run execution.

Main programs

Note

There is a main program for each step of the modeling chain.

./src/chain_configure.py
./src/chain_mesh_M1.py
./src/chain_calc_C1.py
./src/chain_assess.py
./src/chain_configure.py
./src/chain_mesh_M1.py
./src/chain_calc_C1.py
./src/chain_assess.py
./src/chain_wdg.py
./src/chain_configure.py
./src/chain_mesh_M1.py
./src/chain_mesh_M2.py
./src/chain_calc_C1.py
./src/chain_calc_C2.py
./src/chain_calc_C2W.py
./src/chain_calc_C2WD.py
./src/chain_calc_C2WF.py
./src/chain_assess.py
./src/chain_wdg.py
./src/chain_configure.py
./src/chain_mesh_M1.py
./src/chain_calc_C1.py
./src/chain_assess.py
./src/chain_lidar.py
./src/chain_wdg.py

Info

These programs first execute their process, and then call for their corresponding drawing and reporting programs.

Drawing programs
./src/draw_preview.py
./src/draw_configure.py
./src/draw_mesh_M1.py
./src/draw_calc_C1.py
./src/draw_assess.py
./src/draw_preview.py
./src/draw_configure.py
./src/draw_mesh_M1.py
./src/draw_calc_C1.py
./src/draw_assess.py
./src/draw_wdg.py
./src/draw_preview.py
./src/draw_configure.py
./src/draw_mesh_M1.py
./src/draw_mesh_M2.py
./src/draw_calc_C1.py
./src/draw_calc_C2.py
./src/draw_calc_C2W.py
./src/draw_calc_C2WD.py
./src/draw_calc_C2WF.py
./src/draw_assess.py
./src/draw_wdg.py
./src/draw_preview.py
./src/draw_configure.py
./src/draw_mesh_M1.py
./src/draw_calc_C1.py
./src/draw_assess.py
./src/draw_lidar.py
./src/draw_wdg.py
Reporting programs
./src/report_configure.py
./src/report_mesh_M1.py
./src/report_calc_C1.py
./src/report_assess.py
./src/report_zephywrg.py
./src/report_configure.py
./src/report_mesh_M1.py
./src/report_calc_C1.py
./src/report_assess.py
./src/report_wdg.py
./src/report_zephywrg.py
./src/report_configure.py
./src/report_mesh_M1.py
./src/report_mesh_M2.py
./src/report_calc_C1.py
./src/report_calc_C2.py
./src/report_calc_C2W.py
./src/report_calc_C2WD.py
./src/report_calc_C2WF.py
./src/report_assess.py
./src/report_wdg.py
./src/report_zephywrg.py
./src/report_zephywakes.py
./src/report_configure.py
./src/report_mesh_M1.py
./src/report_calc_C1.py
./src/report_assess.py
./src/report_lidar.py
./src/report_wdg.py
./src/report_zephywrg.py
./src/report_zephylidar.py
Sub-programs
./src/eval_calc.py
./src/eval_inout.py
./src/eval_mesh_oro.py
./src/eval_mesh_rou.py
./src/eval_mesh.py
./src/eval_orography.py
./src/eval_roughness.py
./src/eval_topo.py
./src/eval_rose.py
./src/eval_calc.py
./src/eval_inout.py
./src/eval_mesh_oro.py
./src/eval_mesh_rou.py
./src/eval_mesh.py
./src/eval_orography.py
./src/eval_roughness.py
./src/eval_topo.py
./src/eval_rose.py
./src/eval_data.py
./src/eval_calc.py
./src/eval_inout.py
./src/eval_mesh_oro.py
./src/eval_mesh_rou.py
./src/eval_mesh.py
./src/eval_orography.py
./src/eval_roughness.py
./src/eval_topo.py
./src/eval_rose.py
./src/eval_data.py
./src/eval_wake_effects.py
./src/eval_calc.py
./src/eval_inout.py
./src/eval_mesh_oro.py
./src/eval_mesh_rou.py
./src/eval_mesh.py
./src/eval_orography.py
./src/eval_roughness.py
./src/eval_topo.py
./src/eval_rose.py
./src/eval_data.py
./src/eval_calc_lidmap.py
./src/eval_lidar_script.py
./src/eval_lidmap.py
Common variables and functions
    kill.py
    common.py
    variables.py
Folder src/db_ini

This folder is the initial state of the local database.

Info

It is transferred to the final database location if the database folder is not found (usually, when the tool is run for the first time).
Database folder is ./ZephyCFD-Core/db/.

src/db_ini
db_ini/
├── foam_config
   ├── fvSchemes
      ├── fvSchemes_fast
      ├── fvSchemes_normal
      ├── fvSchemes_robust
      └── fvSchemes_solid
   ├── fvSolution
      ├── fvSolution_canopy
      ├── fvSolution_simplec_gamg_fast
      ├── fvSolution_simplec_gamg_normal
      ├── fvSolution_simplec_gamg_robust
      ├── fvSolution_simplec_gamg_solid
      ├── fvSolution_simplec_pcg_fast
      ├── fvSolution_simplec_pcg_normal
      ├── fvSolution_simplec_pcg_robust
      ├── fvSolution_simplec_pcg_solid
      ├── fvSolution_simplec_pcg_solid2
      ├── fvSolution_simple_gamg_fast
      ├── fvSolution_simple_gamg_normal
      ├── fvSolution_simple_gamg_robust
      └── fvSolution_simple_gamg_solid
   └── turbulenceProperties
       ├── turbulenceProperties_keps
       ├── turbulenceProperties_keps_mod1
       ├── turbulenceProperties_kl
       ├── turbulenceProperties_krea
       └── turbulenceProperties_krng
├── topo
   └── .keep
└── turbines
    ├── gw.ztg
    ├── SG114_3.05MW_63m.ztg
    ├── SG145.ztg
    └── WTG-20-232m.ztg
Folder src/parameters
src/parameters
parameters
├── color_list
├── georef
├── georef_i
├── glc15_code2name.json
├── glc15.json
├── glc15_name2rou.json
├── glc17_code2name.json
└── glc17_name2rou.json
Folder src/templates
src/templates
templates/
├── cases
   ├── cfd
      ├── extra_inputs/
      ├── inp_project
      ├── inp_references
      ├── inp_turbines
      └── param.ini
├── foam
   ├── ABLConditions
   ├── Cd
   ├── controlDict
   ├── decomposeParDict
   ├── epsilon
   ├── fvOptions
   ├── fvSchemes
   ├── fvSolution
   ├── initialConditions
   ├── k
   ├── LAD
   ├── mapFieldsDict
   ├── mapFieldsParDict
   ├── nut
   ├── p
   ├── sampleDict
   ├── setFieldsDict
   ├── topoSetDict
   ├── transportProperties
   └── U
└── latex
    ├── company_logo.png
    ├── dwg.png
    ├── init.tex
    ├── missing.png
    ├── packages.tex
    ├── Poppins-Medium.ttf
    ├── project_cover.png
    ├── template.tex
    └── zs.png