CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Post-Processing

Proper Orthogonal Decomposition in OpenFOAM

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree5Likes
  • 4 Post By akashpatel95
  • 1 Post By tgrun

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 27, 2017, 15:42
Default Proper Orthogonal Decomposition in OpenFOAM
  #1
Senior Member
 
Manu Chakkingal
Join Date: Feb 2016
Location: Delft, Netherlands
Posts: 129
Rep Power: 8
manuc is on a distinguished road
Hello all
I would like to do POD analysis in a multiregion solver (chtmultiregion solver) available in openfoam 2.3.0.

What I want to do is do POD on the velocity field in the fluid region. Is there any POD post processing available in OF 2.3.0 or 2.4.0.
I found a POD utility in OF extend but could use it for only single domain (only fluid no solid). Is there anyway to postprocess (do POD ) the mutiregion data generated in OF 2.3.0 in OF extend.

I couldnt find any post related to it
__________________
Regards
Manu
manuc is offline   Reply With Quote

Old   October 31, 2017, 07:26
Default POD tutorials
  #2
New Member
 
M. Salman Siddiqui
Join Date: Mar 2015
Posts: 16
Rep Power: 9
muhammss is on a distinguished road
Hi,

how did you do the POD for fluid?
Do you have any reference tutorial?
I wanted to do it on a backward facing steps. How would i generate the snapshots and apply the eignevalue decompisition on that.
Any help will be highly regarded.

Salman
Quote:
Originally Posted by manuc View Post
Hello all
I would like to do POD analysis in a multiregion solver (chtmultiregion solver) available in openfoam 2.3.0.

What I want to do is do POD on the velocity field in the fluid region. Is there any POD post processing available in OF 2.3.0 or 2.4.0.
I found a POD utility in OF extend but could use it for only single domain (only fluid no solid). Is there anyway to postprocess (do POD ) the mutiregion data generated in OF 2.3.0 in OF extend.

I couldnt find any post related to it
muhammss is offline   Reply With Quote

Old   November 17, 2019, 15:45
Default Software for POD
  #3
New Member
 
Akash Patel
Join Date: Dec 2018
Location: Champaign, IL, USA
Posts: 20
Rep Power: 5
akashpatel95 is on a distinguished road
Any future users stumbling upon this thread and wishes to perform Proper Orthogonal Decomposition, we have released an open source software for performing POD on fluid velocity for OpenFOAM simulations.


Here's the link for those who are interested in using or further development.
https://github.com/IllinoisRocstar/AccelerateCFD_CE
akashpatel95 is offline   Reply With Quote

Old   June 22, 2020, 09:05
Default AccelerateCFD wmakeAll error
  #4
New Member
 
Anton Shevchenko
Join Date: Jan 2018
Posts: 10
Rep Power: 6
a.shevchenko is on a distinguished road
Quote:
Originally Posted by akashpatel95 View Post
Any future users stumbling upon this thread and wishes to perform Proper Orthogonal Decomposition, we have released an open source software for performing POD on fluid velocity for OpenFOAM simulations.


Here's the link for those who are interested in using or further development.
https://github.com/IllinoisRocstar/AccelerateCFD_CE

Hello! Thank you for your program, looking forward using it.



I've wanted to perform POD in regards to the problem I'm currently working on and found your software on this forum. Following github instructions, I've successfully compiled it on my home computer with openfoam1912 and ran a test calculation -- all went good.


Practically all of my calculations however are made on a remote cluster. I tried to compile your program there with the same of-v1912, and at "wmake All" step (which is basically the only step) of installation guide I had an error. I'm not much of an IT guy so trying to make sense of error log did not help, so I figured asking you is worth a shot, if not you maybe someone else will see this).

wmakeAll log is included, although the complete log file was too large and I cut out everything except the last lines where the error messages are.



Best regards, Anton.
Attached Files
File Type: txt wmakeAll.txt (9.6 KB, 14 views)
a.shevchenko is offline   Reply With Quote

Old   July 14, 2020, 11:22
Default AccelerateCFD
  #5
New Member
 
Akash Patel
Join Date: Dec 2018
Location: Champaign, IL, USA
Posts: 20
Rep Power: 5
akashpatel95 is on a distinguished road
Hello a.shevchenko,


Thank you for your interest in AccelerateCFD. Sorry for late reply. I went ahead and compiled the latest version on AccelerateCFD on public branch with OpenFOAM v-1912 and I was able to compile it without any errors. (https://github.com/IllinoisRocstar/AccelerateCFD_CE) I took a look at your log and the error you are facing is fixed in latest version.


I would encourage you to try it and let us know if you are able to compile it successfully! Thank you!


- Akash
__________________
We are developing an open-source software for constructing reduced order models for your CFD simulations in OpenFOAM that runs several magnitude faster. Visit the link below to learn more.
AccelerateCFD - OpenFOAM based reduced order model solver for CFD using Proper Orthogonal Decomposition.
akashpatel95 is offline   Reply With Quote

Old   July 14, 2020, 22:31
Default
  #6
New Member
 
Anton Shevchenko
Join Date: Jan 2018
Posts: 10
Rep Power: 6
a.shevchenko is on a distinguished road
Thank you, Akash. I've just compiled it and ran a sample case and everything appears to be fine). Again, thank you for your reply.


Anton.
a.shevchenko is offline   Reply With Quote

Old   July 16, 2020, 06:48
Default
  #7
New Member
 
Anton Shevchenko
Join Date: Jan 2018
Posts: 10
Rep Power: 6
a.shevchenko is on a distinguished road
by the way, the podDict file asks for a kinematic viscosity value.


"The value of nu must be same as value of nu in transportProperties file located in constant/ directory of case" -- quote from your installation guide


i replaced it with a dynamic viscosity i use in my solver and a program returned an error asking for nu... does this mean i cannot use solvers (theromphysical models) that utilize dynamic viscosity?
a.shevchenko is offline   Reply With Quote

Old   July 27, 2020, 18:11
Default
  #8
New Member
 
Akash Patel
Join Date: Dec 2018
Location: Champaign, IL, USA
Posts: 20
Rep Power: 5
akashpatel95 is on a distinguished road
Can you convert it to kinematic viscosity manually and provide "nu"? Our formulation doesn't convert that automatically. Although, that is a good thing to implement. We'll look into implementing that.


Thanks!
__________________
We are developing an open-source software for constructing reduced order models for your CFD simulations in OpenFOAM that runs several magnitude faster. Visit the link below to learn more.
AccelerateCFD - OpenFOAM based reduced order model solver for CFD using Proper Orthogonal Decomposition.
akashpatel95 is offline   Reply With Quote

Old   July 28, 2020, 05:19
Default
  #9
New Member
 
Anton Shevchenko
Join Date: Jan 2018
Posts: 10
Rep Power: 6
a.shevchenko is on a distinguished road
Yes that's what i did)
a.shevchenko is offline   Reply With Quote

Old   August 7, 2020, 12:32
Default
  #10
New Member
 
Tim Grunloh
Join Date: Jul 2012
Posts: 1
Rep Power: 0
tgrun is on a distinguished road
Quote:
Originally Posted by a.shevchenko View Post
by the way, the podDict file asks for a kinematic viscosity value.


"The value of nu must be same as value of nu in transportProperties file located in constant/ directory of case" -- quote from your installation guide


i replaced it with a dynamic viscosity i use in my solver and a program returned an error asking for nu... does this mean i cannot use solvers (theromphysical models) that utilize dynamic viscosity?
right now we only support isothermal flows with AccelerateCFD. If your flow is isothermal, i suggest using pisoFOAM or pimpleFOAM
jadidi.cfd likes this.
tgrun is offline   Reply With Quote

Old   April 8, 2021, 07:52
Default
  #11
New Member
 
Armin Sh
Join Date: Aug 2020
Posts: 1
Rep Power: 0
ArminPolimi is on a distinguished road
Quote:
Originally Posted by akashpatel95 View Post
Any future users stumbling upon this thread and wishes to perform Proper Orthogonal Decomposition, we have released an open source software for performing POD on fluid velocity for OpenFOAM simulations.


Here's the link for those who are interested in using or further development.
https://github.com/IllinoisRocstar/AccelerateCFD_CE
Hello Akashpatel95. Thanks for sharing this software. I have a problem regarding the installation. Despite following all the steps in the link, the installation fails due to an error which I cannot figure why. I was wondering if you could help me find out the problem.
Attached Images
File Type: jpg error1.jpg (140.2 KB, 18 views)
File Type: jpg error2.jpg (102.3 KB, 11 views)
ArminPolimi is offline   Reply With Quote

Old   September 29, 2022, 07:59
Default
  #12
New Member
 
Marcell Szabo-Meszaros
Join Date: Oct 2015
Posts: 9
Rep Power: 9
Samwise is on a distinguished road
Hei ArminPolimi,


Did you, or other figure what caused the problem? Some hints for further users who struggle with it?
Samwise is offline   Reply With Quote

Old   October 12, 2022, 09:21
Default
  #13
New Member
 
Marcell Szabo-Meszaros
Join Date: Oct 2015
Posts: 9
Rep Power: 9
Samwise is on a distinguished road
Hei,


I was able to solve it following the advice from github:

https://github.com/IllinoisRocstar/A...D_CE/issues/13

It still had issues though as I use OF v8.0. For that I had to edit the CMakeLists.txt as follows:

Code:
cmake_minimum_required(VERSION 3.1)

# Set project metadata #########################################################
set(PROJECT_NAME "AccelerateCFD_CE")
project(${PROJECT_NAME} CXX)

SET(DEFAULT_INSTALL_PREFIX "$ENV{FOAM_USER_APPBIN}/../" CACHE PATH "Prefix prepended to
install directories")
SET(CMAKE_INSTALL_PREFIX "${DEFAULT_INSTALL_PREFIX}" CACHE INTERNAL "Prefix
prepended to install directories" FORCE)

set(ACFD_CE_MAJOR_VERSION 0)
set(ACFD_CE_MINOR_VERSION 3)
set(ACFD_CE_PATCH_VERSION 0)
set(ACFD_CE_EXTRA_VERSION "" CACHE STRING "AccelerateCFD_CE extra version string")
set(ACFD_CE_VERSION "${ACFD_CE_MAJOR_VERSION}.${ACFD_CE_MINOR_VERSION}")
set(ACFD_CE_VERSION
    "${ACFD_CE_VERSION}.${ACFD_CE_PATCH_VERSION}${ACFD_CE_EXTRA_VERSION}")
set(ACFD_CE_SHORT_LICENSE "GNU General Public License v3 or later (GPLv3+)")
set(ACFD_CE_PUBLIC_URL "https://github.com/IllinoisRocstar/AccelerateCFD_CE")
set(ACFD_CE_AUTHOR
    "Taiyo Wilson (lead)"
    "Timothy Grunloh"
    "Masoud Safdari"
    "Akash Patel"
    "Luke Calian"
    "Pavle Simonovic")
set(ACFD_CE_AUTHOR_EMAIL "tpgrunloh@illinoisrocstar.com")
set(ACFD_CE_DESCRIPTION "AccelerateCFD uses Proper Orthogonal Decomposition (POD), \
principle to reduce the full order CFD flow into a reduced order model which runs \
several magnitudes faster and reconstructs the flow fields.")
set(PROJECT_NAME "AccelerateCFD_CE ${ACFD_CE_VERSION}")
project(${PROJECT_NAME} CXX C)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_EXTENSIONS OFF)

add_definitions(
-std=c++11
-Dlinux64
-m64
-DWM_ARCH_OPTION=64
-DWM_DP
-DWM_LABEL_SIZE=32
-Wall
-Wextra
-Wold-style-cast
-Wnon-virtual-dtor
-Wno-unused-parameter
-Wno-invalid-offsetof
-O3
-DNoRepository
-ftemplate-depth-100
-fpermissive
-DNoRepository
-fPIC
)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/Modules/)

set(DEFAULT ON CACHE INTERNAL "Default value for enabled-by-default options")
macro(opt OPTION HELP VALUE)
  option(ENABLE_${OPTION} ${HELP} ${VALUE})
  set(OPT_TEXI "${OPT_TEXI}\n@item ENABLE_${OPTION}\n${HELP} (default: ${VALUE})")
endmacro(opt)

# set options
opt(TESTING "Enable testing" ${DEFAULT})

# OF 5.x, 6.x, and 7.x
#find_package(OpenFOAM REQUIRED COMPONENTS OpenFOAM turbulenceModels 
#    incompressibleTurbulenceModels compressibleTurbulenceModels 
#    incompressibleTransportModels compressibleTransportModels 
#    fluidThermophysicalModels specie finiteVolume fvOptions genericPatchFields 
#    meshTools sampling distributed)

#message(STATUS "OpenFOAM include directory ${OPNF_INCLUDE_DIRS}")
#message(STATUS "OpenFOAM link directory ${OPNF_LIBRARY_DIRS}")

set( CMAKE_CXX_FLAGS "-Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -ftemplate-depth-100 -DOMPI_SKIP_MPICXX -O3 -fPIC" )
set( CMAKE_MODULE_LINKER_FLAGS "-Xlinker --copy-dt-needed-entries -Xlinker --no-as-needed" )
set( CMAKE_SHARED_LINKER_FLAGS "-Xlinker --copy-dt-needed-entries -Xlinker --no-as-needed" )
set( CMAKE_EXE_LINKER_FLAGS "-Xlinker --copy-dt-needed-entries -Xlinker --no-as-needed" )

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/externalLibraries)
include_directories(
  $ENV{FOAM_SRC}/OSspecific/POSIX/lnInclude
  $ENV{FOAM_SRC}/OpenFOAM/lnInclude
  $ENV{FOAM_SRC}/triSurface/lnInclude
  $ENV{FOAM_SRC}/parallel/decompose/decompositionMethods/lnInclude
  $ENV{FOAM_SRC}/mesh/snappyHexMesh/lnInclude
  $ENV{FOAM_SRC}/fileFormats/lnInclude
  $ENV{FOAM_SRC}/surfMesh/lnInclude
  $ENV{FOAM_SRC}/dynamicMesh/lnInclude
  $ENV{FOAM_SRC}/lagrangian/basics/lnInclude
  $ENV{FOAM_APP}/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/lnInclude
  $ENV{FOAM_SRC}/edgeMesh/lnInclude
  $ENV{FOAM_SRC}/mesh/blockMesh/lnInclude
  $ENV{FOAM_SRC}/transportModels/singlePhaseTransportModel
  $ENV{FOAM_SRC}/MomentumTransportModels/momentumTransportModels/lnInclude
  $ENV{FOAM_SRC}/MomentumTransportModels/incompressible/lnInclude
  $ENV{FOAM_SRC}/MomentumTransportModels/compressible/lnInclude
  $ENV{FOAM_SRC}/thermophysicalModels/basic/lnInclude
  $ENV{FOAM_SRC}/finiteVolume/lnInclude
  $ENV{FOAM_SRC}/fvOptions/lnInclude
  $ENV{FOAM_SRC}/meshTools/lnInclude
  $ENV{FOAM_SRC}/sampling/lnInclude
)

set(ACFD_CE_SRC
  utilities/podBasisCalc.C
  utilities/podPrecompute.C
  utilities/podROM.C
  utilities/podFlowReconstruct.C
  utilities/podPostProcess.C
)

add_library(AccelerateCFD_CE ${ACFD_CE_SRC})

target_include_directories(AccelerateCFD_CE
  PUBLIC 
  $ENV{FOAM_SRC}/OSspecific/POSIX/lnInclude
  $ENV{FOAM_SRC}/OpenFOAM/lnInclude
  $ENV{FOAM_SRC}/triSurface/lnInclude
  $ENV{FOAM_SRC}/parallel/decompose/decompositionMethods/lnInclude
  $ENV{FOAM_SRC}/mesh/snappyHexMesh/lnInclude
  $ENV{FOAM_SRC}/fileFormats/lnInclude
  $ENV{FOAM_SRC}/surfMesh/lnInclude
  $ENV{FOAM_SRC}/dynamicMesh/lnInclude
  $ENV{FOAM_SRC}/lagrangian/basics/lnInclude
  $ENV{FOAM_APP}/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/lnInclude
  $ENV{FOAM_SRC}/edgeMesh/lnInclude
  $ENV{FOAM_SRC}/mesh/blockMesh/lnInclude
  $ENV{FOAM_SRC}/transportModels/singlePhaseTransportModel
  $ENV{FOAM_SRC}/MomentumTransportModels/momentumTransportModels/lnInclude
  $ENV{FOAM_SRC}/MomentumTransportModels/incompressible/lnInclude
  $ENV{FOAM_SRC}/MomentumTransportModels/compressible/lnInclude
  $ENV{FOAM_SRC}/thermophysicalModels/basic/lnInclude
  $ENV{FOAM_SRC}/finiteVolume/lnInclude
  $ENV{FOAM_SRC}/fvOptions/lnInclude
  $ENV{FOAM_SRC}/meshTools/lnInclude
  $ENV{FOAM_SRC}/sampling/lnInclude
)

target_link_libraries(AccelerateCFD_CE
  PUBLIC
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libmomentumTransportModels.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libincompressibleMomentumTransportModels.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libincompressibleTransportModels.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libspecie.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libfvOptions.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libgenericPatchFields.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libmeshTools.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libsampling.so
  /opt/openfoam8/platforms/linux64GccDPInt32Opt/lib/libdistributed.so
)

add_executable(podBasisCalc utilities/podBasisCalc.C)
add_executable(podPrecompute utilities/podPrecompute.C)
add_executable(podROM utilities/podROM.C)
add_executable(podFlowReconstruct utilities/podFlowReconstruct.C)
add_executable(podPostProcess utilities/podPostProcess.C)

target_link_libraries(podBasisCalc AccelerateCFD_CE)
target_link_libraries(podPrecompute AccelerateCFD_CE)
target_link_libraries(podROM AccelerateCFD_CE)
target_link_libraries(podFlowReconstruct AccelerateCFD_CE)
target_link_libraries(podPostProcess AccelerateCFD_CE)

install(TARGETS podBasisCalc DESTINATION bin)
install(TARGETS podPrecompute DESTINATION bin)
install(TARGETS podROM DESTINATION bin)
install(TARGETS podFlowReconstruct DESTINATION bin)
 install(TARGETS podPostProcess DESTINATION bin)
I hope it helps those who struggled like me. Good luck! (:
Samwise is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
parallel decomposition method in openfoam hz283 OpenFOAM 14 January 23, 2021 06:58
"PROPER ORTHOGONAL DECOMPOSITION" dpshaka Main CFD Forum 7 June 12, 2019 10:42
[snappyHexMesh] How to define to right point for locationInMesh Mirage12 OpenFOAM Meshing & Mesh Conversion 7 March 13, 2016 15:07
Cross-compiling OpenFOAM 1.7.0 on Linux for Windows 32 and 64bits with Mingw-w64 wyldckat OpenFOAM Announcements from Other Sources 3 September 8, 2010 07:25
On Proper Orthogonal Decomposition R.D.Prabhu Main CFD Forum 0 March 15, 2000 18:31


All times are GMT -4. The time now is 21:34.