Git Product home page Git Product logo

flexi-framework / flexi Goto Github PK

View Code? Open in Web Editor NEW
196.0 21.0 68.0 68.75 MB

FLEXI: A high order discontinuous Galerkin framework for hyperbolic–parabolic conservation laws

Home Page: https://www.flexi-project.org

License: GNU General Public License v3.0

CMake 1.90% Fortran 95.30% C 0.69% C++ 0.67% Python 1.00% Shell 0.39% Julia 0.05%
computational-fluid-dynamics discontinuous-galerkin high-performance-computing unstructured-meshes

flexi's People

Contributors

adbeck avatar an-sa avatar appeldaniel avatar aumuell avatar dgflad avatar gitlab-runner-iagpc231 avatar higl avatar iagfoell avatar iagfran avatar iagkeller avatar iagkempf avatar iagsonn avatar jakobbd avatar kopperp avatar m-kurz avatar marblin avatar pnizenkov avatar scopplestone avatar stefanfechter avatar tbole avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flexi's Issues

add topics

I suggest adding the topics computational-fluid-dynamics, cfd in the About section.

eddy_viscosity build

Can't link IO_HDF5

(base) lxj@lxjworkstation /run/media/lxj/software/Code/MPIStudy/flexi/build % make
[ 1%] Built target stacksizelib
Scanning dependencies of target libflexistaticF90
[ 2%] Building Fortran object CMakeFiles/libflexistaticF90.dir/src/equations/navierstokes/eddyVisc/eddyVisc.f90.o
/run/media/lxj/software/Code/MPIStudy/flexi/src/equations/navierstokes/eddyVisc/eddyVisc.f90:122:83:

CALL AddToFieldData(FieldOut,(/1,PP_N+1,PP_N+1,PP_NZ+1/),'muSGS',(/'muSGS'/),RealArray=muSGS)
1
Error: There is no specific subroutine for the generic ‘addtofielddata’ at (1)
make[2]: *** [CMakeFiles/libflexistaticF90.dir/build.make:1297: CMakeFiles/libflexistaticF90.dir/src/equations/navierstokes/eddyVisc/eddyVisc.f90.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:447: CMakeFiles/libflexistaticF90.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

Calc* and Write* in parameter.ini

If CalcBulkState = T and WriteBulkState= F, flexi crashes.

This could be fixed in SUBROUTINE AnalyzeEquation(Time) (in equations/navierstokes/analyze_equation.f90) by adding an additional check IF(doWriteBulkVelocity) before CALL OutputToFile.

The same should be true for other doCalcXXX, doWriteXXX.

cmake-check for ctags is broken, INSTALL.md is not correct

Hi,
as system admin of the Maths dpt. at the university of stuttgart I was lately bothered by one of the collegues because flexi would not install.

First point: you just check for the program-name "ctags" and then silently assumes that anything called "ctags" automatically is "exuberant-ctags" which of course need not be the case. Could you please either check your cmake-check or at least list exuberant-ctags in the requirements table and also note there that the package will fail to compile if another ctags flavour is installed? Kind thanks.

Second minor point: you list cmake-curses-gui as requirement. This is not nice because this potentially triggers other people (like me) to install a non-requirement only because someone else needs this flexi kind of thing. Could you please keep the table of requirements to the bare minimum?

Thank you.

2D CGNS mesh conversion with HOPR

Hi everyone! I'm a master student working on a data-driven fluid dynamics project. Currently, I'm generating DNS results of flow around a 2D square cylinder. I'm reaching out to ask for more information about converting a 2D CGNS mesh to h5 format with HOPR. I've already looked through the docs but haven't found a solution.

In the FLEXI documentation for the NACA0012 case, only the 2D mesh is required for passing from 3D to 2D simulation. As far as I know, in the example, the CGNS mesh is 3D, meanwhile, in parameter_hopr.ini I have the following lines:

!=============================================================================== !
! EXTRUDED 2D MESH OPTIONS
!=============================================================================== !
OrientZ            = T
dozcorrection      = T
zPeriodic          = T
zLength            = 1.0
zstart             = 0.
nElemsZ            = 1

Why do I need to extrude the mesh if it's already 3D? So I tried to directly use my 2D mesh specifying the mesh dimension with MeshDim=2. My ini file looks like this:

!=============================================================================== !
! OUTPUT
!=============================================================================== !
projectname        = 2D_FVM_Re22000_1.5e-3
outputFormat       = 1
Debugvisu          = T
DebugvisuLevel     = 0
!=============================================================================== !
! MESH
!=============================================================================== !
Mode               = 3
nZones             = 1
filename           = 2D_FVM_Re22000_1.5e-3.cgns
MeshDim            = 2
!=============================================================================== !
! CURVED
!=============================================================================== !
useCurveds         = F
!=============================================================================== !
! BOUNDARY CONDITIONS
!=============================================================================== !
BoundaryName       = inlet
BoundaryType       = (/2,0,0,0/)
BoundaryName       = upside
BoundaryType       = (/2,0,0,0/)
BoundaryName       = outlet
BoundaryType       = (/2,0,0,0/)
BoundaryName       = downside
BoundaryType       = (/2,0,0,0/)
BoundaryName       = wall-front
BoundaryType       = (/3,0,0,0/)
BoundaryName       = wall-up
BoundaryType       = (/3,0,0,0/)
BoundaryName       = wall-back
BoundaryType       = (/3,0,0,0/)
BoundaryName       = wall-down
BoundaryType       = (/3,0,0,0/)

And the errors are as follows:

hopr version 1.2.0 with commit 9223f64
====================================================================================================================================
------------------------------------------------------------------------------------------------------------------------------------
 INIT OUTPUT...
 |                    projectname |             2D_FVM_Re22000_1.5e-3 | *CUSTOM | 
 |                        Logging |                                 F | DEFAULT | 
 |                      DebugVisu |                                 T | *CUSTOM | 
 |                   OutputFormat |                                 1 | *CUSTOM | 
 |                 DebugVisuLevel |                                 0 | *CUSTOM | 
 |                       sfc_type |                           hilbert | DEFAULT | 
 |                      doSortIJK |                                 F | DEFAULT | 
 |           useSpaceFillingCurve |                                 T | DEFAULT | 
 |                   sfc_boundbox |                                 2 | DEFAULT | 
 INIT OUTPUT DONE!
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
 INIT MESH...
 |                     useCurveds |                                 F | *CUSTOM | 
 |                           Mode |                                 3 | *CUSTOM | 
 |            meshIsAlreadyCurved |                                 F | DEFAULT | 
 |                         nskipZ |                                 1 | DEFAULT | 
 |                         NBlock |                                 1 | DEFAULT | 
 |                          nskip |                                 1 | DEFAULT | 
 |                     nMeshFiles |                                 1 | DEFAULT | 
 |               BugFix_ANSA_CGNS |                                 F | DEFAULT | 
 |                       FileName |        2D_FVM_Re22000_1.5e-3.cgns | *CUSTOM | 
 |                  postScaleMesh |                                 F | DEFAULT | 
 |                      meshScale |                       0.10000E+01 | DEFAULT | 
 |                    SpaceQuandt |                       0.10000E+00 | DEFAULT | 
 |                   BoundaryName |                             inlet | *CUSTOM | 
 |                   BoundaryType |      Integer array of size (   4) | *CUSTOM |     2    0    0    0
 |                   BoundaryName |                            upside | *CUSTOM | 
 |                   BoundaryType |      Integer array of size (   4) | *CUSTOM |     2    0    0    0
 |                   BoundaryName |                            outlet | *CUSTOM | 
 |                   BoundaryType |      Integer array of size (   4) | *CUSTOM |     2    0    0    0
 |                   BoundaryName |                          downside | *CUSTOM | 
 |                   BoundaryType |      Integer array of size (   4) | *CUSTOM |     2    0    0    0
 |                   BoundaryName |                        wall-front | *CUSTOM | 
 |                   BoundaryType |      Integer array of size (   4) | *CUSTOM |     3    0    0    0
 |                   BoundaryName |                           wall-up | *CUSTOM | 
 |                   BoundaryType |      Integer array of size (   4) | *CUSTOM |     3    0    0    0
 |                   BoundaryName |                         wall-back | *CUSTOM | 
 |                   BoundaryType |      Integer array of size (   4) | *CUSTOM |     3    0    0    0
 |                   BoundaryName |                         wall-down | *CUSTOM | 
 |                   BoundaryType |      Integer array of size (   4) | *CUSTOM |     3    0    0    0
 |                        MeshDim |                                 2 | *CUSTOM | 
 Inifile missing necessary keyword item : zlength

 _____________________________________________________________________________
 Program abort caused in File : ../src/readin/readintools.f90 Line          827
 This file was compiled at Jul  5 2023  18:23:59
 Message: Code stopped during inifile parsing!
See 2D_FVM_Re22000_1.5e-3_ERRORS.out for more details

STOP 1

Why do I need zlength in this 2D case? What should I do to use my 2D mesh? Thank you in advance for your reply!

Impossibility to export big files to VTK format

Hi Flexi team,

I noticed a impossibility to export big files to VTK format. I'm running a simulation with more than 100M DOF and when I try to export the solution file from .h5 format to .vtu, the paraview returns the following error message:

ERROR: In C:\bbd\055191a8\build\superbuild\paraview\src\VTK\IO\XMLParser\vtkXMLDataParser.cxx, line 654
vtkXMLDataParser (00000206196AC3A0): Error reading uncompressed binary data header. Read 0 of 4 bytes.

ERROR: In C:\bbd\055191a8\build\superbuild\paraview\src\VTK\IO\XML\vtkXMLUnstructuredDataReader.cxx, line 642
vtkXMLUnstructuredGridReader (00000206075E3FA0): Cannot read cell offsets from Cells in piece 0 because the "offsets" array is not long enough.

I'm able to work with small files, but not with these big simulations. I'm in the work of debbuging the code, but couldn't find the solution yet. Have you seen this issue before? Are there a workaround?

Best regards,
Diego Abreu

Failing build with FLEXI_REGRESSIONCHECK=ON

Within the $FLEXI_ROOT/CMakeList.txt file around line 480, 'cmake' is trying to interpolate an unset(?) variable which leads to an inconsistent and wrong compile parameter later on:

ADD_DEFINITIONS(-DH5TOOLSDIR=\"${HDF5_INCLUDE_DIR_FORTRAN}/../../bin\")

${HDF5_INCLUDE_DIR_FORTRAN} does not seem properly set and even if yes it points to a wrong directory anyway(?). I could fix this with following change though.

ADD_DEFINITIONS(-DH5TOOLSDIR=\"${HDF5_INCLUDE_DIR}/../bin\")

Note, this is more a hack than a real fix.

PS: I have FLEXI_BUILD_HDF5=ON.

Segmentation Fault error on posti_preparerecordpoints

Flexi team,
I'm facing some difficulties trying to run the posti_preparerecordpoints. I have a mesh, that was generated with GMSH and then converted with HOPR, that is running with Flexi code. I'm trying to create some recordpoints for data post-processing. Once I was able to create RPSet file, however nowadays it is no longer possible. The error that is occurring is Segmentation Fault due to invalid memory reference. Could you give some help with difficulty.

Macros in navierstokes/idealgas/eos.h

There are small typos in the macros TEMPERATURE_H, ENERGY_HE in navierstokes/idealgas/eos.h, line 57 and 67, respectively. The argument of the macros is U and the body of the macros uses UE.

This is fixed by replacing UE in the body of the macros by U.

Tutorial linadv doesn't work: sigsegv error

Hello everyone!

When I run the linadv tutorial I get the sigsegv error after DG initialization.
The log is following:

------------------------------------------------------------------------------------------------------------------------------------
 INIT INTERPOLATION...
 |                     N |                    4 | *CUSTOM | 
 NodeType: GAUSS                                                                                                                                                                                                                                                          
 INIT INTERPOLATION DONE!
------------------------------------------------------------------------------------------------------------------------------------
Mortar operators built successfully.
------------------------------------------------------------------------------------------------------------------------------------
 INIT OUTPUT...
 |                 NVisu |                   30 | *CUSTOM | 
 |                  NOut |                   -1 | DEFAULT | 
 |           ProjectName |     LinAdvCosineWave | *CUSTOM | 
 |               Logging |                    T | *CUSTOM | 
 |            ErrorFiles |                    T | DEFAULT | 
 |     doPrintStatusLine |                    T | *CUSTOM | 
 |       WriteStateFiles |                    T | DEFAULT | 
 |          OutputFormat |         paraview (3) | *CUSTOM | 
 |     ASCIIOutputFormat |              csv (0) | DEFAULT | 
 INIT OUTPUT DONE!
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
 INIT MESH IN MODE 2...
 |              MeshFile | mesh/CART_1D_mesh.h5 | *CUSTOM | 
 |            useCurveds |                    T | DEFAULT | 
READ MESH FROM DATA FILE "mesh/CART_1D_mesh.h5" ...
------------------------------------------------------------------------------------------------------------------------------------
....................................................................................................................................
BOUNDARY CONDITIONS               |                Name      Type     State     Alpha
 |                                |           BC_zminus         1         0         1
 |                                |           BC_yminus         1         0         2
 |                                |            BC_xplus         2         0         0
 |                                |            BC_yplus         1         0        -2
 |                                |           BC_xminus         2         0         0
 |                                |            BC_zplus         1         0        -1
....................................................................................................................................
 |                         nElems | 61
 |                         nNodes | 488
 |                  nSides        | 184
 |                  nSides,    BC | 2
 |                  nSides,   MPI | 0
 |                  nSides, Inner | 182
 |                  nSides,Mortar | 0
 |           nPeriodicSides,Total | 122
 |           nPeriodicSides,Inner | 122
 |           nPeriodicSides,  MPI | 0
 |                  nAnalyzeSides | 124
 |                     useCurveds | T
 |                           Ngeo | 1
....................................................................................................................................
 |          NGeoOverride |                   -1 | DEFAULT | 
 |                           Ngeo | 1
 |             meshScale |                  1.0 | DEFAULT | 
 |            meshdeform |                    F | DEFAULT | 
NOW CALLING setLocalSideIDs...
NOW CALLING fillMeshInfo...
....................................................................................................................................
 |         nSides with Flip=0     | 184
 |         nSides with Flip=1     | 121
 |         nSides with Flip=2     | 61
 |         nSides with Flip=3     | 0
 |         nSides with Flip=4     | 0
....................................................................................................................................
 |         nSides of MortarType=1 | 0
 |         nSides of MortarType=2 | 0
 |         nSides of MortarType=3 | 0
....................................................................................................................................
NOW CALLING deleteMeshPointer...
 |   crossProductMetrics |                    F | DEFAULT | 
NOW CALLING calcMetrics...
 |             debugmesh |                    0 | DEFAULT | 
 INIT MESH DONE!
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
 INIT RESTART...
 | No restart wanted, doing a fresh computation!
 INIT RESTART DONE!
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
 INIT FILTER...
 |            FilterType |             none (0) | DEFAULT | 
 INIT FILTER DONE!
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
 INIT OVERINTEGRATION...
 |   OverintegrationType |             none (0) | DEFAULT | 
 INIT OVERINTEGRATION DONE!
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
 INIT INDICATORS...
 |         IndicatorType |               dg (0) | DEFAULT | 
 |          IndStartTime |                  0.0 | DEFAULT | 
 |                IndVar |                    1 | DEFAULT | 
 |          FVBoundaries |                    F | DEFAULT | 
 INIT INDICATOR DONE!
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
 INIT NAVIER-STOKES...
------------------------------------------------------------------------------------------------------------------------------------
 INIT EXACT FUNCTION...
 |          IniExactFunc |         cylinder (6) | *CUSTOM | 
 |           IniRefState |                   -1 | DEFAULT | 
 INIT EXACT FUNCTION DONE!
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
 INIT IDEAL GAS...
 |  UseNonDimensionalEqn |                    F | DEFAULT | 
 |                 kappa |                  1.4 | DEFAULT | 
 |                     R |              287.058 | DEFAULT | 
 |                    Pr |                 0.72 | DEFAULT | 
 |                   mu0 |                  0.0 | DEFAULT | 
 INIT IDEAL-GAS DONE!
------------------------------------------------------------------------------------------------------------------------------------
 |           BCStateFile |      nonexistingfile | DEFAULT | 
 |               Riemann |   roeentropyfix (33) | DEFAULT | 
 |             RiemannBC |            same (-1) | DEFAULT | 
 INIT NAVIER-STOKES DONE!
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
 INIT DG...

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x382603295f in ???
#1  0x7f3d717ba119 in ???
#2  0x7f3d717c4e07 in ???
#3  0x7f3d71758aa6 in ???
#4  0x4009eb in ???
#5  0x382601ecdc in ???
#6  0x400878 in ???
Segmentation fault (core dumped)

I have Flexi installed from the github sources. The version of compiler is GCC 6.3.0, MPI was switched off.
What can be a reason of simple tutorial's crashing?

--
Best regards, Victoria Korchagova

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.