|
[Sponsors] |
August 24, 2021, 07:51 |
|
#621 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
For OpenFOAM-v*, there are currently two files replaced: Code:
$FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.H $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.C If you don't need FSI in parallel, then you can ignore this change i.e. comment the following lines (add "#" at start if each line) in the main Allwmake script: Code:
# Replace files in the main foam libraries (cd filesToReplaceInOF && ./Allcheck) if [ $? -ne 0 ] then echo "Please fix the filesToReplaceInOF above!" exit 1 fi |
||
September 3, 2021, 18:41 |
FSI in Carotid Bifurcation - What's up with Aitken acceleration?
|
#622 |
Member
Mike Tree
Join Date: Feb 2016
Location: Charlotte, NC
Posts: 37
Rep Power: 10 |
I'm attempting to simulate blood flow at the common carotid artery bifurcation and the corresponding artery wall deformation using solids4Foam. This is very similar to the 3dTube tutorial, except for the following differences:
When I run my simulation, I generally wait for several time steps to begin coupling until the fluid solver has time to settle in on a consistent solution. I watch the min and max pressure and velocity values in the fluid domain as well as the total force on the fluid and solid interface values. When these converge to consistent values I assume it's okay to start the coupling process. I attached some plots comparing different interface convergence acceleration methods. The interface forces plot is the magnitude of the fluid and solid interface force over the course of several coupling time steps. The FSI residuals plot is a comparison of the FSI res1 and FSI res2 values from each iteration of several coupled time steps. The fixedRelaxation method seems to pretty clearly not achieve convergence in the number of outer loops I set (100). The IQNILS method in my simulation appears to behave similarly to how it behaved in the 3dTube tutorial. Some early time steps do not converge within the 100 coupling iterations, but the analysis appears to settle down after 10 or so time steps. The Aitken method, though, appears rather oscillatory and pretty unreliable. While generally trending toward a mean value, the oscillatory nature of the forces at the interface are so unpredictable that even if convergence is reached within the 100 FSI iterations the force value may not be reliably trusted. It's as if every 5 FSI iterations the Aitken method includes a routine that drastically changes its under-relaxation factor for fear that it's stuck in a local minimum (instead of finding the true global minimum). If on any given time step the coupling doesn't reach convergence, there is a decent likelihood that the time step ends on an iteration with one of these drastic under-relaxation values. On several occasions this had led to drastic deformations in my analysis that led to a crash. Is there some Aitken under-relaxation parameter adjustment frequency parameter available that I can modify to reduce/eliminate this phenomenon? I've tried the following:
Has anyone else noticed this behavior with the Aitken method? |
|
September 11, 2021, 03:19 |
So I was able to build Solids4Foam and Foam-Extend-4.1 on aarch64 (arm64)
|
#623 |
Senior Member
Sultan Islam
Join Date: Dec 2015
Location: Canada
Posts: 143
Rep Power: 11 |
Hello everyone,
Wanted to share a new finding. So I use linux on both my phone and small board computers sometimes (arm64/aarch64 archetecture) and I have run OpenFOAM 7, 8, 1912, 2012, 2106. I tried getting foam extend to compile for arm64 but foam-extend4.0 doesnt have any rules for aarch64, however foam-extend-4.1 does. So I compiled it and then compiled solids4foam with it. It works for this archetecture. Running elasticbeam tutorial as we speak. Only problem I ran into is that both libccimo and mesquite don't build because they don't have make rules for aarch64/arm64, so as long as you aren't using tools needing those third party package, you should be fine. |
|
September 11, 2021, 04:39 |
|
#624 | |
Member
Ashutosh
Join Date: Jul 2021
Location: India
Posts: 76
Rep Power: 5 |
Quote:
|
||
September 13, 2021, 07:23 |
|
#625 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
Which compiler did you use? I got a Mac with M1 arm chip earlier in the year and managed to get FE40 compiled using the default clang compiler (I also copied the wmake rules from somewhere). Some related discussions here: https://www.linkedin.com/feed/update...44769193508864 |
||
September 13, 2021, 14:58 |
Nice
|
#626 | |
Senior Member
Sultan Islam
Join Date: Dec 2015
Location: Canada
Posts: 143
Rep Power: 11 |
Quote:
|
||
September 13, 2021, 16:17 |
|
#627 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
However, if not, it is basically a short thread about experience compiling different versions of OpenFOAM on arm. For mesquite and libccmio, no, I did not compile/install them in my m1 clang installation. Anything I didn't need, I just ignored :O |
||
September 30, 2021, 15:31 |
|
#628 |
Member
Mike Tree
Join Date: Feb 2016
Location: Charlotte, NC
Posts: 37
Rep Power: 10 |
I went ahead and implemented a relaxationFactorMax parameter defined in constant/fsiProperties that will redefine the Aitken under-relaxation parameter to relaxationFactorMax if the Aitken algorithm suggests that it should exceed relaxationFactorMax. The default relaxationFactorMax value is 1.0, so if it is left unassigned no behavior changes.
|
|
October 1, 2021, 11:11 |
|
#629 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
Did you find that it helps in some cases? if so, I am happy to merge it. Philip |
||
October 1, 2021, 20:02 |
|
#630 | |
Member
Mike Tree
Join Date: Feb 2016
Location: Charlotte, NC
Posts: 37
Rep Power: 10 |
Quote:
|
||
November 26, 2021, 01:58 |
problem in coupled solid solver in parallel
|
#631 | |
Senior Member
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7 |
Hi
I look at coupledUnsLinGeomLinearElasticSolid of solids4Foam recently. This solid model is seen work only in serial. For parallel running using mpirun, it have "FOAM FATAL ERROR" in HashTableI.H with banana test, the problem show appear in Quote:
Thanks Hojatollah |
||
November 26, 2021, 13:27 |
|
#632 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
It runs in parallel for me with foam-extend-4.0, although the linear solver convergence is currently poor, so there might not currently be any benefit to running this in parallel... although these block coupled approaches are an active area of research for me so I expect to push improvements in the coming year(s). |
||
November 27, 2021, 03:45 |
|
#633 | |
Senior Member
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7 |
Dear Philip
I use foam-extend 4.0, with master branch of solids4Foam. I check the tutorial coupledPlateHole that work parallel, but for coupledCantilever2D is have problem with parallel Quote:
So, the problem of HashTable.H comes from my case, and I should check my geometry. thanks |
||
November 29, 2021, 17:00 |
|
#634 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
I suggest checking checkMesh for any errors in your mesh definition. Then also check if the case runs fine with some of the other solids4foam solid models (e.g. linGeomTotalDisplSolid). Then you could "diff" the cases to try find the difference. And failing that you try locate the source of this error with a debugger e.g. gdb. |
||
December 30, 2021, 05:35 |
overset parallel running problem
|
#635 |
Senior Member
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7 |
Dear foamer
For foam-extend4.1, overset with pimpleOversetFluid of fluid model, I use tutorial beamInCrossFlow/overset. For serial running, the solve is OK, but for parallel with default setting of decomposeDict, the running failed. the problem occurs after checking dynamic mesh. did anyone engage with this problem and how solved it? Thanks |
|
January 11, 2022, 12:50 |
|
#636 | |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
Quote:
|
||
January 20, 2022, 11:11 |
|
#637 | |
Member
Join Date: Mar 2020
Posts: 66
Rep Power: 6 |
Quote:
Hi, have you solved this problem? I'm desperate. thank you |
||
January 20, 2022, 11:23 |
|
#638 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34 |
||
January 21, 2022, 05:46 |
|
#639 |
Member
Join Date: Mar 2020
Posts: 66
Rep Power: 6 |
Hi,
I am installing the FSI foam extend 4.1 toolkit on Ubuntu 18.04. I have already fixed many bugs and used the gcc-5 compiler. Now I have last errors. I would be very grateful for your help! |
|
January 24, 2022, 11:11 |
|
#640 |
Member
Join Date: Mar 2020
Posts: 66
Rep Power: 6 |
Sorry, no idea for this error?
I/home/simona/foam/foam-extend-4.1/src/foam/lnInclude -I/home/simona/foam/foam-extend-4.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPInt32Opt/timeVaryingCoulomb.o In file included from /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.H:184:0, from solidSolvers/solidModels/fvPatchFields/solidContact/contactModels/frictionContactModels/frictionLaws/timeVaryingCoulomb/timeVaryingCoulomb.H:45, from solidSolvers/solidModels/fvPatchFields/solidContact/contactModels/frictionContactModels/frictionLaws/timeVaryingCoulomb/timeVaryingCoulomb.C:26: /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.C: In member function ‘Type Foam::interpolationTable<Type>::rateOfChange(Foam: :scalar) const’: /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.C:276:17: error: attributes at the beginning of statement are ignored [-Werror=attributes] [[fallthrough]]; ^ /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.C:310:17: error: attributes at the beginning of statement are ignored [-Werror=attributes] [[fallthrough]]; ^ /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.C: In member function ‘const Foam::Tuple2<double, Type>& Foam::interpolationTable<Type>:perator[](Foam::label) const’: /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.C:420:17: error: attributes at the beginning of statement are ignored [-Werror=attributes] [[fallthrough]]; ^ /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.C:455:17: error: attributes at the beginning of statement are ignored [-Werror=attributes] [[fallthrough]]; ^ /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.C: In member function ‘Type Foam::interpolationTable<Type>:perator()(Foam::s calar) const’: /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.C:509:17: error: attributes at the beginning of statement are ignored [-Werror=attributes] [[fallthrough]]; ^ /home/simona/foam/foam-extend-4.1/src/foam/lnInclude/interpolationTable.C:543:17: error: attributes at the beginning of statement are ignored [-Werror=attributes] [[fallthrough]]; ^ cc1plus: all warnings being treated as errors solidSolvers/solidModels/fvPatchFields/solidContact/contactModels/frictionContactModels/frictionLaws/timeVaryingCoulomb/timeVaryingCoulomb.dep:544: recipe for target 'Make/linux64GccDPInt32Opt/timeVaryingCoulomb.o' failed make: *** [Make/linux64GccDPInt32Opt/timeVaryingCoulomb.o] Error 1 + wmake solvers/fsiFoam Making dependency list for source file fsiFoam.C SOURCE=fsiFoam.C ; g++ -std=c++11 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wno-deprecated -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wunused-local-typedefs -Werror -Wredundant-decls -Wcast-align -Wmissing-declarations -Wswitch-enum -Winvalid-pch -Wredundant-decls -Wformat=2 -Wmissing-format-attribute -Wformat-nonliteral -O3 -DNoRepository -ftemplate-depth-200 -std=c++11 -I../../fluidSolidInteraction/lnInclude -I../../ThirdParty/eigen3 -I/home/simona/foam/foam-extend-4.1/src/finiteVolume/lnInclude -I/home/simona/foam/foam-extend-4.1/src/dynamicMesh/dynamicFvMesh/lnInclude -I/home/simona/foam/foam-extend-4.1/src/meshTools/lnInclude -I/home/simona/foam/foam-extend-4.1/src/tetFiniteElement/lnInclude -IlnInclude -I. -I/home/simona/foam/foam-extend-4.1/src/foam/lnInclude -I/home/simona/foam/foam-extend-4.1/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPInt32Opt/fsiFoam.o g++ -std=c++11 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wno-deprecated -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wunused-local-typedefs -Werror -Wredundant-decls -Wcast-align -Wmissing-declarations -Wswitch-enum -Winvalid-pch -Wredundant-decls -Wformat=2 -Wmissing-format-attribute -Wformat-nonliteral -O3 -DNoRepository -ftemplate-depth-200 -std=c++11 -I../../fluidSolidInteraction/lnInclude -I../../ThirdParty/eigen3 -I/home/simona/foam/foam-extend-4.1/src/finiteVolume/lnInclude -I/home/simona/foam/foam-extend-4.1/src/dynamicMesh/dynamicFvMesh/lnInclude -I/home/simona/foam/foam-extend-4.1/src/meshTools/lnInclude -I/home/simona/foam/foam-extend-4.1/src/tetFiniteElement/lnInclude -IlnInclude -I. -I/home/simona/foam/foam-extend-4.1/src/foam/lnInclude -I/home/simona/foam/foam-extend-4.1/src/OSspecific/POSIX/lnInclude -fPIC -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPInt32Opt/fsiFoam.o -L/home/simona/foam/foam-extend-4.1/lib/linux64GccDPInt32Opt \ -lfiniteVolume -lincompressibleTurbulenceModel -lincompressibleRASModels -lincompressibleLESModels -lincompressibleTransportModels -ldynamicFvMesh -ldynamicMesh -lmeshTools -L/home/simona/foam/simona-4.1/lib/linux64GccDPInt32Opt -lfluidSolidInteraction -lfoam -ldl -lrt -lm -o /home/simona/foam/simona-4.1/applications/bin/linux64GccDPInt32Opt/fsiFoam /usr/bin/ld: impossibile trovare -lfluidSolidInteraction collect2: error: ld returned 1 exit status /home/simona/foam/foam-extend-4.1/wmake/Makefile:159: recipe for target '/home/simona/foam/simona-4.1/applications/bin/linux64GccDPInt32Opt/fsiFoam' failed make: *** [/home/simona/foam/simona-4.1/applications/bin/linux64GccDPInt32Opt/fsiFoam] Error 1 |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
GPU Linear Solvers for OpenFOAM | gocarts | OpenFOAM Announcements from Other Sources | 37 | August 17, 2022 15:22 |
[Virtualization] OpenFOAM oriented tutorial on using VMware Player - support thread | wyldckat | OpenFOAM Installation | 2 | July 11, 2012 17:01 |
New OpenFOAM Forum Structure | jola | OpenFOAM | 2 | October 19, 2011 07:55 |
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 |
OpenFOAM Debian packaging current status problems and TODOs | oseen | OpenFOAM Installation | 9 | August 26, 2007 14:50 |