|
[Sponsors] |
October 14, 2013, 15:49 |
|
#41 | |
New Member
olivier Skurtys
Join Date: Aug 2012
Location: Santiago, Chile
Posts: 23
Rep Power: 14 |
Quote:
I am using OpenFoam 1.6-ext with your last version dynamicTopoFvMesh. I have no problem when it runs on 1 processor but when I use mpirun, I have this bug: Code:
Processor priority: 2(0 1) Topo modifier time: 0.358459 s Bisections :: Total: 155, Surface: 0 Collapses :: Total: 0, Surface: 0 Swaps :: Total: 316, Surface: 0 [0] [0] [0] --> FOAM FATAL ERROR: [0] size of field = 5713 is not the same as the size of mesh = 9382 [0] [0] From function DimensionedField<Type, GeoMesh>::DimensionedField(const IOobject& io,const Mesh& mesh, const dimensionSet& dims, const Field<Type>& field) [0] in file /home/olivier/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/DimensionedField.C at line 72. [0] FOAM parallel run aborting [0] -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 1. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. -------------------------------------------------------------------------- [1] [1] [1] --> FOAM FATAL ERROR: [1] size of field = 5733 is not the same as the size of mesh = 9437 [1] [1] From function DimensionedField<Type, GeoMesh>::DimensionedField(const IOobject& io,const Mesh& mesh, const dimensionSet& dims, const Field<Type>& field) [1] in file /home/olivier/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/DimensionedField.C at line 72. [1] FOAM parallel run aborting [1] -------------------------------------------------------------------------- mpirun has exited due to process rank 0 with PID 31086 on node crunchbang exiting without calling "finalize". This may have caused other processes in the application to be terminated by signals sent by mpirun (as reported here). -------------------------------------------------------------------------- [crunchbang:31085] 1 more process has sent help message help-mpi-api.txt / mpi-abort [crunchbang:31085] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages ----------------------------------------------------- Code:
// Subset and send surfaceFields to stream cInfo.send<surfaceScalarField>(names[5], types[5], stream[pI]); I do not understand what is the problem, Can you help me please to solve this problem, Thank you in advance, Olivier Last edited by wyldckat; October 14, 2013 at 17:34. Reason: Added [CODE][/CODE] |
||
October 16, 2013, 10:17 |
|
#42 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
Olivier,
It's hard to tell from your error message. It looks like you're running with a solver that includes a surfaceScalarField that's being mapped. If you have a minimal case that reproduces the issue, perhaps I could take a look. Also, you could set a higher debug level under the dynamicTopoFvMesh dictionary in dynamicMeshDict (goes from 0 up to 5, typically), and see if that gives you more information that I could use. |
|
October 21, 2013, 12:04 |
|
#43 |
New Member
olivier Skurtys
Join Date: Aug 2012
Location: Santiago, Chile
Posts: 23
Rep Power: 14 |
Dear Sandeep:
I am sorry for replying so late. I checked my program but I still have the same problem. I tested the tutorial projectile of the professor Kile Mooney with debug=5 and the problem is the same: Code:
2 ( remapGradient(U) remapGradient(U_0) ) 1 ( phi ) 0 ( ) 0 ( ) 0 ( ) 0 ( ) ) [3] [3] [3] --> FOAM FATAL ERROR: [3] size of field = 1954 is not the same as the size of mesh = 3156 [3] [3] From function DimensionedField<Type, GeoMesh>::DimensionedField(const IOobject& io,const Mesh& mesh, const dimensionSet& dims, const Field<Type>& field) [3] in file /home/olivier/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/DimensionedField.C at line 72. [3] FOAM parallel run aborting [3] -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 3 in communicator MPI_COMM_WORLD with errorcode 1. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. -------------------------------------------------------------------------- [0] [0] [0] --> FOAM FATAL ERROR: [0] size of field = 7289 is not the same as the size of mesh = 11923 [0] [0] From function DimensionedField<Type, GeoMesh>::DimensionedField(const IOobject& io,const Mesh& mesh, const dimensionSet& dims, const Field<Type>& field) [0] in file /home/olivier/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/DimensionedField.C at line 72. [0] FOAM parallel run aborting [0] [1] [1] [1] --> FOAM FATAL ERROR: [1] size of field = 7274 is not the same as the size of mesh = 11892 [1] [1] From function DimensionedField<Type, GeoMesh>::DimensionedField(const IOobject& io,const Mesh& mesh, const dimensionSet& dims, const Field<Type>& field) [1] in file /home/olivier/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/DimensionedField.C at line 72. [1] FOAM parallel run aborting [1] -------------------------------------------------------------------------- mpirun has exited due to process rank 3 with PID 26415 on node crunchbang exiting without calling "finalize". This may have caused other processes in the application to be terminated by signals sent by mpirun (as reported here). -------------------------------------------------------------------------- [crunchbang:26411] 2 more processes have sent help message help-mpi-api.txt / mpi-abort [crunchbang:26411] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages Olivier Last edited by wyldckat; October 21, 2013 at 17:46. Reason: Changed [code] to [CODE][/CODE] |
|
October 26, 2013, 05:57 |
|
#44 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Greetings to all!
@Olivier: I've seen this kind of issue before, but not with dynamicTopoFvMesh. Usually this is due to a custom boundary condition that does not correctly support the division of patches between processors. If you cannot provide a simple test case as Sandeep asked for, please describe in some detail the types of patches/boundary conditions you are using and what types of dynamic mesh schemes and options you are using. Best regards, Bruno
__________________
|
|
October 29, 2013, 16:48 |
|
#45 |
New Member
olivier Skurtys
Join Date: Aug 2012
Location: Santiago, Chile
Posts: 23
Rep Power: 14 |
Dear Wyldckat:
As I wrote, I used the tutorial named "projectile" developed by Kile Mooney. This tutorial uses SIXDOF and dynamicTopoFvMesh. I believe that this tutorial was presented at the 7th OpenFoam workshop and it can be found with Caelinux. This tutorial works without problem with the previous versions of dynamicTopoFvMesh. Unfortunately with this latest version and with my program the remeshing does not work. In the both cases I have the same error. Regards, Olivier |
|
November 3, 2013, 06:49 |
|
#46 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Hi Olivier,
I was going to try and reproduce the same error you're getting, but I remembered that there are some unknowns I would like to check with you:
Bruno
__________________
|
|
November 5, 2013, 08:36 |
|
#47 |
New Member
olivier Skurtys
Join Date: Aug 2012
Location: Santiago, Chile
Posts: 23
Rep Power: 14 |
Hi Bruno
As I was using a oldest version, yesterday I did a clean reinstall of openFoam-1.6-ext, following the tutorial: http://openfoamwiki.net/index.php/In...u#Ubuntu_12.10 since I have wheezy. i) I use a default Mesquite version ii) I install dynamicTopoFvMesh in my directory OpenFoam outside of the directory OpenFOAM-1.6-ext. I followed the installation instructions described by Sandeep Menon: steps 1,2,3 and git clone https://github.com/smenon/dynamicTopoFvMesh etc. iii) The libraries of dynamicTopoFvMesh are built in $FOAM_USER_LIBBIN / $FOAM_USER_APPBIN I obtained the same results as described above this post. Thank you for your help, Olivier |
|
January 17, 2014, 18:33 |
foam-extend-3.0 & dynamicTopoFvMesh-git
|
#48 |
Member
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 44
Rep Power: 13 |
Apologies for my lack of understanding, I am a relative newcomer to c++. I am seeing an error I do not understand given the easy installation instructions for dynamicTopoFvMesh.
First off, I followed Bruno's instructions for foam-extend installation just a couple changes in order to compile in Debug. 1. All Bruno's steps up to and including the execution of ./Allmake. 2. But, before executing Code:
source etc/bashrc (a) Created symbolic links such that: Code:
ln -s $WM_THIRD_PARTY_DIR/packages/hwloc-1.7.2/platforms/linux64Gcc46DPOpt $WM_THIRD_PARTY_DIR/packages/hwloc-1.7.2/platforms/linux64Gcc46DPDebug ln -s $WM_THIRD_PARTY_DIR/packages/scotch-6.0.0/platforms/linux64Gcc46DPOpt $WM_THIRD_PARTY_DIR/packages/scotch-6.0.0/platforms/linux64Gcc46DPDebug ln -s $WM_THIRD_PARTY_DIR/packages/metis-5.1.0/platforms/linux64Gcc46DPOpt $WM_THIRD_PARTY_DIR/packages/metis-5.1.0/platforms/linux64Gcc46DPDebug ln -s $WM_THIRD_PARTY_DIR/packages/cmake-2.8.12/platforms/linux64Gcc46DPOpt $WM_THIRD_PARTY_DIR/packages/cmake-2.8.12/platforms/linux64Gcc46DPDebug ln -s $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2/platforms/linux64Gcc46DPOpt $WM_THIRD_PARTY_DIR/packages/mesquite-2.1.2/platforms/linux64Gcc46DPDebug ln -s $WM_THIRD_PARTY_DIR/packages/libccmio-2.6.1/platforms/linux64Gcc46DPOpt $WM_THIRD_PARTY_DIR/packages/libccmio-2.6.1/platforms/linux64Gcc46DPDebug ln -s $WM_THIRD_PARTY_DIR/packages/ParaView-4.0.1/platforms/linux64Gcc46DPOpt $WM_THIRD_PARTY_DIR/packages/ParaView-4.0.1/platforms/linux64Gcc46DPDebug ln -s $WM_THIRD_PARTY_DIR/packages/parmetis-4.0.3/platforms/linux64Gcc46DPOpt $WM_THIRD_PARTY_DIR/packages/parmetis-4.0.3/platforms/linux64Gcc46DPDebug ln -s $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0/platforms/linux64Gcc46DPOpt $WM_THIRD_PARTY_DIR/packages/ParMGridGen-1.0/platforms/linux64Gcc46DPDebug Code:
: ${WM_COMPILE_OPTION:=Debug}; export WM_COMPILE_OPTION Then, I downloaded and installed the git version of dynamicTopoFvMesh, as per Sandeep's Install.txt. 4. Executed: Code:
mkdir -p $WM_PROJECT_USER_DIR/run/dynamicTopoFvMesh $FOAM_USER_LIBBIN $FOAM_USER_APPBIN git clone https://github.com/smenon/dynamicTopoFvMesh $WM_PROJECT_USER_DIR/run/dynamicTopoFvMesh Code:
cd $WM_PROJECT_USER_DIR/run/dynamicTopoFvMesh ./Allwmake Code:
cp -r ~/foam/tutorials/mesh/moveDynamicMesh/circCylinder3d $WM_PROJECT_USER_DIR/run/ cd $WM_PROJECT_USER_DIR/run/circCylinder3d Code:
dynamicFvMeshLibs ("libdynamicTopoFvMesh.so"); motionSolverLibs ("libmesquiteMotionSolver.so"); //- Select the type of dynamicFvMesh dynamicFvMesh dynamicTopoFvMesh-git; //- Select the type of motionSolver solver mesquiteMotionSolver-git; Code:
./Allrun cat log.moveDynamicMesh /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 3.0 | | \\ / A nd | Web: http://www.extend-project.de | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 3.0-8d34057e525d Exec : moveDynamicMesh Date : Jan 17 2014 Time : 16:30:54 Host : eric-Parallels-Virtual-Platform PID : 25351 CtrlDict : /home/eric/foam/foam-extend-3.0/etc/controlDict Case : /home/eric/foam/eric-3.0/run/circCylinder3d nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create dynamic mesh for time = 0 Selecting dynamicFvMesh dynamicTopoFvMesh-git --> FOAM Warning : From function dlLibraryTable::open(const dictionary& dict, const word& libsEntry, const TablePtr tablePtr) in file /home/eric/foam/foam-extend-3.0/src/foam/lnInclude/dlLibraryTableTemplates.C at line 67 library "libdynamicTopoFvMesh.so" did not introduce any new entries --> FOAM FATAL ERROR: Unknown dynamicFvMesh type dynamicTopoFvMesh-git Valid dynamicFvMesh types are : 19 ( dynamicTopoFvMesh attachDetachFvMesh linearValveLayersFvMesh multiMixerFvMesh linearValveFvMesh dynamicBoxFvMesh dynamicMotionSolverFvMesh multiTopoBodyFvMesh mixerGgiFvMesh turboFvMesh dynamicBodyFvMesh subsetMotionSolverFvMesh solidBodyMotionFvMesh dynamicRefineFvMesh movingBodyTopoFvMesh mixerFvMesh dynamicInkJetFvMesh movingBoxFvMesh staticFvMesh ) From function dynamicFvMesh::New(const IOobject&) in file dynamicFvMesh/newDynamicFvMesh.C at line 95. FOAM exiting Edit: The same fatal warming/fatal error sequence occurs when using a installation of foam-extend-3.0 compiled for Opt. Last edited by codder; January 17, 2014 at 19:21. Reason: edits |
|
January 17, 2014, 19:27 |
|
#49 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
Hello Eric,
I apologize - I forgot to update the instructions. You will need to remove the dynamicTopoFvMesh files from the foam-extend-3.0 source and recompile the dynamicFvMesh library. You may want to do that with the mesquiteMotionSolver library as well. The reason you're seeing the failure is due to conflicting sources - I'm still trying the figure out the most optimal way to have things side-by-side. |
|
January 17, 2014, 21:34 |
recompiled dynamicTopoFvMesh, not so much mesquiteMotionSolver - perhaps?
|
#50 | |
Member
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 44
Rep Power: 13 |
Hi Sandeep -
Ok I have followed the old version directions - https://github.com/smenon/dynamicTop...b1/Install.txt ... which changes my log.moveDynamicMesh to: Code:
moveDynamicMesh: symbol lookup error: /home/eric/foam/foam-extend-3.0/lib/linux64Gcc46DPDebug/libdynamicFvMesh.so: undefined symbol: _ZN4Foam9coupleMap8typeNameE Quote:
Code:
cd $FOAM_SRC/dynamicMesh/meshMotion/mesquiteMotionSolver wclean Edit #2: Immediately after Edit #1, tried Code:
cd .. mv mesquiteMotionSolver mesquiteMotionSolver.old cp -r $WM_PROJECT_USER_DIR/run/dynamicTopoFvMesh/mesquiteMotionSolver . cd mesquiteMotionSolver wmake Very much appreciate your responsiveness, Eric Last edited by codder; January 20, 2014 at 14:00. Reason: correciton |
||
January 20, 2014, 16:15 |
|
#51 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
Eric,
Use 'wmake libso', not just 'wmake'. You should ensure that Mesquite is installed correctly - your log seems to suggest otherwise. |
|
January 21, 2014, 23:44 |
|
#52 |
New Member
Hans Justinian
Join Date: Oct 2010
Location: Singapore
Posts: 2
Rep Power: 0 |
Dear Sandeep,
I am using OpenFoam 1.6-ext with your latest version of dynamicTopoFvMesh. I am currently trying to simulate two leaflets rotating in a chamber. The model is currently not made to scale. My plan is to eventually perform a FSI simulation on a bi-leaflet valves in a heart chamber, using pimpleDyMFoam. My sample case can be downloaded here (5MB): https://dl.dropboxusercontent.com/u/...73K_sample.zip I have not started on the 6DoF FSI simulation as I am just evaluating to see if the mesh is able to rotate fully and that the mesh quality is okay throughout the cycle. I use moveDynamicMesh and allow edgeRefinement 'yes' as mentioned in an earlier post that may cause the cell not grow properly and collapse. However, I still encountered the issue of negative cells as mentioned by Bruno earlier. I've also checked to ensure that the length scale for the two leaflets 'wing_1' and 'wing_2' patches match the dynamicMeshDict. I am not sure what went wrong. I thought that the reason might due to that the wing_1 and wing_2 being rotated faster than the mesh changes so I let both the patches to rotate slowly but it seems like it wasn't the case. How should I proceed to work on the FSI simulation of the two leaflets? Hoping to hear your views/comments. Best wishes, Han Error message Code:
leo@leo-laptop:~/OpenFOAM/leo-1.6-ext/run/mesh/leaflets_273K$ moveDynamicMesh >log.run1 --> FOAM FATAL ERROR: ************** QualityAssessor(free only) Summary ************** Evaluating quality for 462900 free elements of 463335 total elements. THERE ARE 1 INVERTED ELEMENTS. (Elements invalid at 1 of 462900 sample locations.) 1 OF 462900 ENTITIES EVALUATED TO AN UNDEFINED VALUE FOR AspectRatioGamma metric minimum average rms maximum std.dev. AspectRatioGamma 1.00056 3.40248 1469.79 1e+06 1469.79 --> FOAM Warning : From function bool dynamicTopoFvMesh::meshQuality(bool outputOption) in file dynamicTopoFvMesh/dynamicTopoFvMeshCheck.C at line 197 Minimum cell quality is: -0.32534 at cell: 3033 ~~~ Mesh Quality Statistics ~~~ Min: -0.32534 Max: 0.999954 Mean: 0.872208 Cells: 463335 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Encountered negative cell-quality! Edge: 562440: (1775 1888) EdgePoints: 4(1838 14000 54312 1745) Minimum Quality: -0.32534 From function scalar dynamicTopoFvMesh::computeMinQuality(const label eIndex ) const in file dynamicTopoFvMesh/edgeSwap.C at line 1726. FOAM aborting Aborted Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM Extend Project: Open Source CFD | | \\ / O peration | Version: 1.6-ext | | \\ / A nd | Web: www.extend-project.de | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // //- Select the type of dynamicFvMesh dynamicFvMesh dynamicTopoFvMesh; //- Select the type of motionSolver solver mesquiteMotionSolver; mesquiteOptions { //- Optimization metric optMetric AspectRatioGamma; //- Objective function objFunction LPtoP; //- Optimization algorithm optAlgorithm FeasibleNewton; //- Termination criteria sub-dictionaries //- (takes default values if not specified) //- Specifying an empty sub-dictionary //- terminates with available options tcInner { absGradL2 1e-4; cpuTime 2; } // tcOuter // {} //- For composite functions, two objectives need to be specified // firstFunction LPtoP; // secondFunction LInf; //- For scaled functions, scale and objective needs to be specified // scaleFunction PMeanP; // scale 1.5; //- Power value for the LPtoP objective function pValue 2; power 2; //- Specify a tolerance for the surface-smoothing CG solver tolerance 1e-6; //- Specify number of CG sweeps for surface-smoothing nSweeps 4; //- Specify slip patches for the motionSolver slipPatches { //wall; //topWall; } //- Constrain surface mesh-motion on a specified cylinder cylindricalConstraints { //- Specify options per slip patch // sideWall // { // axisPoint (0.0 0.0 0.0); // axisVector (0.0 0.0 1.0); // radius 1.0; // } } //- Specify fixedValue patches for the motionSolver fixedValuePatches { wing_1 { type angularOscillatingDisplacement; amplitude 0.1; //type oscillatingDisplacement; //amplitude (0 0 -0.01); axis (0 0 1); origin (-0.75 2 0); angle0 0.001; omega 0.005; value uniform (0 0 0); } wing_2 { type angularOscillatingDisplacement; amplitude 0.1; //type oscillatingDisplacement; //amplitude (0 0 -0.01); axis (0 0 1); origin (-0.75 -2 0); angle0 -0.001; omega -0.005; value uniform (0 0 0); } } //- Specify interval for surface smoothing surfInterval 1; } //- Options for dynamicTopoFvMesh dynamicTopoFvMesh { //- Should all options be made mandatory? //- Useful for first-time use. allOptionsMandatory no; //- Set run-time debug level [0-5] // debug 0; //- Specify the number of threads threads 2; //- Specify re-meshing interval //- Negative value implies no re-meshing interval 5; //- Specify whether the length-scale field //- should be dumped to disk dumpLengthScale false; //- sliverThreshold specifies the //- quality criteria for sliver removal. sliverThreshold 0.35; //- Should the tool attempt to remove slivers //- that fall below the sliverThreshold value? removeSlivers false; //- Skip mapping step. Useful while using //- this tool as a pre-processor // skipMapping true; // Toggle edgeRefinement on/off edgeRefinement yes; //- Options for edge-bisection/collapse. //- The edgeRefinement flag must be set for //- the following options to have effect refinementOptions { collapseRatio 0.5; bisectionRatio 1.5; growthFactor 1; //growth factor should be set at 1 //- By default, existing boundary edge-lengths //- are used for length-scales. //- Length-scale can be fixed for certain patches. fixedLengthScalePatches { wing_1 0.1; //need to set a fixedLengthScalePatch wing_2 0.1; // bottomWall 0.2; // sideWall 0.2; // outlet 0.2; } //- Avoid refinement on certain patches, if necessary noModificationPatches { wing_1; wing_2; } //- Set floating length-scale values on certain patches freeLengthScalePatches {} //- Limit lengthScales to specified values, if necessary minLengthScale 0.1; maxLengthScale 0.2; //- Field-based refinement options // fieldRefinement gamma; // fieldLengthScale 0.005; // lowerRefineLevel 0.001; // upperRefineLevel 0.999; // maxRefineLevel 4; // meanScale 0.015; } //- If the number of modifications are to be limited, set this option maxModifications 1000; //- Load custom libraries for metrics tetMetricLibs ("libtetMetrics.so"); //- Tetrahedral mesh quality metric tetMetric Knupp; //- Avoid 2-2 swapping on certain patches noSwapPatches { wing_1; wing_2; wall; } } // ************************************************************************* // |
|
February 5, 2014, 22:37 |
BC for FSI
|
#53 |
Member
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 44
Rep Power: 13 |
Hi Sandeep -
Initially I believed that dynamicTopoFvMesh (used with the mesquite motion solver) needed a very explicit surface to mesh against -- e.g. a function defining the solid surface, or an stil surface. But then, I noticed your recommendation of the use of dynamicTopoFvMesh for a FSI case... So, here's the question: Inside my: Code:
~/foam/foam-extend-3.0/tutorials/solidMechanics/deprecatedTutorials/icoFsiFoam/flappingConsoleSmall/fluid/0/U Code:
consoleFluid { type movingWallVelocity; value uniform (0 0 0); } Parenthetically, I am not the only one with these questions, see this post. Anyway - thanks for bearing with me. I'm hoping to not make 'wmake libso' beginner mistakes, for all that much longer. Best, Eric |
|
February 6, 2014, 11:07 |
|
#54 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
Hans,
It looks like the mesh was inverted before the motionSolver was called, so you may want to check your boundary motion to ensure that it is correct. Eric, Yes, you can use any boundary condition you like - no limitations. |
|
March 13, 2014, 16:24 |
posted mesquite-2.1.2.tar.gz
|
#55 |
Member
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 44
Rep Power: 13 |
Hi all -
I was recompiling foam-extend from source. Noticed that the wget of mesquite is currently down. (This takes place during the ThirdParty compile.) Perhaps someone will find the link to the mesquite-2.1.2.tar.gz tarball useful. Best, Eric |
|
July 15, 2014, 21:40 |
|
#56 |
Senior Member
|
Dear Joegi and Sandeep,
I am sorry to bring up this issue again, but is that problem solved?
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" Last edited by Mojtaba.a; July 17, 2014 at 08:45. |
|
July 15, 2014, 22:25 |
|
#57 |
Senior Member
|
Dear Sandeep,
I have used the timeVaryingDisplacement patchField suggested by you earlier. Now the mesquiteMotionSolver predicts the motion just fine. But there is an another strange behavior when I use dynamicTopofvMesh besides with mesquiteMotionSolver. My results: moveMesh --> Predicts the motion just fine (but there is no re-meshing of course) moveDynamicMesh --> Re-meshing occurs but the motion is less that what expected. P.S: I am using openFOAM 2.3
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
|
July 15, 2014, 22:41 |
|
#58 |
Senior Member
|
Well, just tested on foam-3 and got it working successfully.
the "timeVaryingDisplacement" method worked just fine in foam-3. However I wonder why it didn't work on openFOAM 2.3 ?! As I mentioned in my previous post, the mesquiteMotionSolver works just fine when it is used alone by running "moveMesh", but when I use moveDynamicMesh, the actual displacement is somewhat less than the desired displacement (maybe 20% less). This is strange because the same case worked just fine in foam-3. After all these, I started to solve for flow and I have encountered a new problem. As long as dynamic mesh is fine in foam-3 I tried to use this version to solve for fluid flow, but here is my output: Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 3.0 | | \\ / A nd | Web: http://www.extend-project.de | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 3.0-349d2a5f6cf0 Exec : pimpleDyMFoam Date : Jul 17 2014 Time : 19:30:48 Host : mojtaba-Aspire-E1-572G PID : 4436 CtrlDict : /opt/foam/foam-extend-3.0/etc/controlDict Case : /home/mojtaba/foam/mojtaba-3.0/run/moveDynamicMeshNoCheck/angularDisplacement nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create dynamic mesh for time = 0.01 Selecting dynamicFvMesh dynamicTopoFvMesh // using new solver syntax: pFinal { solver PCG; preconditioner DIC; minIter 0; maxIter 1000; tolerance 1e-06; relTol 0; } // using new solver syntax: U { solver PBiCG; preconditioner DILU; minIter 0; maxIter 1000; tolerance 1e-05; relTol 0; } // using new solver syntax: lengthDensity { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0; } // using new solver syntax: cellDisplacement { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0; } // using new solver syntax: cellMotionU { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0; } Selecting motion solver: mesquiteMotionSolver Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting turbulence model type RASModel Selecting RAS turbulence model laminar Reading field rAU if present Starting time loop Courant Number mean: 0.29339383 max: 4.901141788 velocity magnitude: 3.720355415 Time = 0.02 Solving for point motion: Initial residual: 1 Final residual: 0.009239987861 No Iterations: 61 ~~~ Mesh Quality Statistics ~~~ Min: 0.2613689959 Max: 0.9999978442 Mean: 0.9794392838 Cells: 5270 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sliver list: Cell: 63 Quality: 0.2613689959 Refinement Progress: 100% : Bisections: 2594, Collapses: 2, Total: 2596 Edge Bisection/Collapse complete. Edge Swapping complete. Topo modifier time: 2.59192 s Bisections :: Total: 2594, Surface: 0 Collapses :: Total: 2, Surface: 0 Swaps :: Total: 1941, Surface: 0 Mapping time: 5.186335 s ================= Mesh reOrdering ================= Mesh Info [n]: Points: 5450 Edges: 18717 Faces: 18536 Cells: 5270 Internal Edges: 2543 Internal Faces: 7814 nPatches: 6 ================= Mesh Info [n+1]: Points: 10634 Edges: 36861 Faces: 36680 Cells: 10454 Internal Edges: 5135 Internal Faces: 15590 nPatches: 6 ================= Checking index ranges...Done. Checking face-cell connectivity...Done. Checking for unused points...Done. Checking edge-face connectivity...Done. Checking cell-point connectivity...Done. ReOrdering points...Done. ReOrdering cells...Done. ReOrdering faces...Done. ReOrdering edges...Done. Reordering time: 0.096887 s void dynamicTopoFvMesh::mapFields(const mapPolyMesh&) const: Mapping fv fields. ~~~ No flux correction ~~~ ~~~ Mesh Quality Statistics ~~~ Min: 0.1732305256 Max: 0.9999978442 Mean: 0.854987889 Cells: 10454 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ volume continuity errors : volume = 0.4326277588, max error = 1.449932188e-12, sum local = 2.169292736e-15, global = -1.182984278e-18 Courant Number mean: 0.004338463178 max: 8.239652246 velocity magnitude: 1.526502941 DILUPBiCG: Solving for Ux, Initial residual = 0.1742054711, Final residual = 5.684830235e-06, No Iterations 15 DILUPBiCG: Solving for Uy, Initial residual = 0.1159651364, Final residual = 2.65041264e-06, No Iterations 15 DICPCG: Solving for p, Initial residual = 0.7513547308, Final residual = 9.913477838e-07, No Iterations 427 time step continuity errors : sum local = 2.533032436e-09, global = 3.592774172e-15, cumulative = 3.592774172e-15 Moving mesh time step continuity errors : sum local = 2.533032436e-09, global = 3.59277391e-15, cumulative = 7.185548082e-15 DILUPBiCG: Solving for Ux, Initial residual = 0.3950790016, Final residual = 1.108850263e-06, No Iterations 6 DILUPBiCG: Solving for Uy, Initial residual = 0.3577430631, Final residual = 1.691534887e-06, No Iterations 6 DICPCG: Solving for p, Initial residual = 0.8415321322, Final residual = 9.830076684e-07, No Iterations 255 time step continuity errors : sum local = 5.578217448e-09, global = 3.592702332e-15, cumulative = 1.077825041e-14 Moving mesh time step continuity errors : sum local = 5.578217448e-09, global = 3.59270057e-15, cumulative = 1.437095098e-14 ExecutionTime = 8.27 s ClockTime = 8 s Courant Number mean: 0.04452266446 max: 103.3907008 velocity magnitude: 26.5772148 Time = 0.03 Solving for point motion: Initial residual: 1 Final residual: 0.00960674696 No Iterations: 51 ~~~ Mesh Quality Statistics ~~~ Min: 0.2007684601 Max: 0.9999968078 Mean: 0.9369977474 Cells: 10454 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sliver list: Cell: 114 Quality: 0.2007684601 Cell: 6024 Quality: 0.2318143363 Cell: 7502 Quality: 0.2820604582 Cell: 5472 Quality: 0.2988653804 Edge Bisection/Collapse complete. Edge Swapping complete. Topo modifier time: 0.660162 s Bisections :: Total: 1095, Surface: 0 Collapses :: Total: 817, Surface: 1 Swaps :: Total: 722, Surface: 0 Slivers :: 3 Mapping errors: max cell error: 18.35941672 max face error: 1 failedCells: Cell: 371 Error: 0.01267692758 Cell: 8823 Error: 18.35941672 Cell: 12593 Error: 0.1381838994 failedFaces: Face: 36860 Patch: frontAndBackPlanes Error: 1 Face: 43822 Patch: frontAndBackPlanes Error: 0.01267692758 Face: 43825 Patch: frontAndBackPlanes Error: 0.03432319599 Face: 44007 Patch: frontAndBackPlanes Error: 0.01267692758 Mapping time: 3.545908 s ================= Mesh reOrdering ================= Mesh Info [n]: Points: 10634 Edges: 36861 Faces: 36680 Cells: 10454 Internal Edges: 5135 Internal Faces: 15590 nPatches: 6 ================= Mesh Info [n+1]: Points: 11190 Edges: 38809 Faces: 38629 Cells: 11011 Internal Edges: 5414 Internal Faces: 16426 nPatches: 6 ================= Checking index ranges...Done. Checking face-cell connectivity...Done. Checking for unused points...Done. Checking edge-face connectivity...Done. Checking cell-point connectivity...Done. ReOrdering points...Done. ReOrdering cells...Done. ReOrdering faces...Done. ReOrdering edges...Done. Reordering time: 0.095546 s void dynamicTopoFvMesh::mapFields(const mapPolyMesh&) const: Mapping fv fields. Segmentation fault (core dumped) Not to mix up as a conclusion, foam-extend-3.0 --> (True mesh dynamics) And (Core dumed while solving for fluid flow) OpenFOAM-2.3 --> (Right motion of the mesh when using moveMesh) And (wrong motion of the mesh when using moveDynamicMesh) And (Solving for fluid flow with no problems)
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" Last edited by Mojtaba.a; July 17, 2014 at 12:33. |
|
July 17, 2014, 16:39 |
|
#59 |
Senior Member
|
Never mind, I just pulled to the latest update in foam-extend-3 and everything worked just fine.
Sandeep, I want to thank you for this incredible tool, its great .
__________________
Learn OpenFOAM in Persian SFO (StarCCM+ FLUENT OpenFOAM) Project Team Member Complex Heat & Flow Simulation Research Group If you can't explain it simply, you don't understand it well enough. "Richard Feynman" |
|
February 8, 2015, 19:34 |
|
#60 |
New Member
Giancarlo
Join Date: Apr 2013
Location: Milan
Posts: 21
Rep Power: 13 |
Dear FOAMers,
I have a problem with the dynamicTopoFvMesh developed by Sandeep Menon. The aim of my work is to develop a solver within the OpenFOAM framework for the simulation of the combustion of spherical/cylindrical particle of biomass. To reach this object I have to introduce a moving mesh in order to allow the shrinking of the particle. I use OpenFOAM 3.1-ext. I have developed a new class (named shrinkingParticle) that allows the movement of the all points on the surface. I have used these libraries for the mesh motion and I have introduced my class as BC for the surface points in the fixedValuePatches of the dynamicMeshDict. To test this new tool, I have used the moveDynamicMesh and it works very good. I have problems when I add some calculations together with the mesh motion. For instance, I have added the simple temperature laplacian after the mesh update: Code:
mesh.update(); #include "checkVolContinuity.H" if (runTime.timeIndex() % checkFrequency == 0) { mesh.checkMesh(true); } #include "readSIMPLEControls.H" for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) { solve ( fvm::ddt(T) - fvm::laplacian(DT, T) ); } runTime.write(); The temperature must be bounded in this range [300-700], but with the mesh motion my solution exceeds these values. I've attached the dynamicMeshDict and the spherical tet mesh that I use. I have noted that the solution is very sensitive at the kind of function that I insert in the mesquiteOptions. Maybe, I adopt incorrect options within the dictionary, but I have no idea how fix my problem. Can anyone help me, or give me any tips? Thank you so much for the attention Best regards Giancarlo Gentile Code:
dynamicFvMeshLibs ("libdynamicTopoFvMesh.so"); motionSolverLibs ("libmesquiteMotionSolver.so"); //- Select the type of dynamicFvMesh dynamicFvMesh dynamicTopoFvMesh; //- Select the type of motionSolver solver mesquiteMotionSolver; mesquiteOptions { //- Optimization metric optMetric AspectRatioGamma; //- Objective function objFunction LPtoP; //- Optimization algorithm optAlgorithm FeasibleNewton; //- Termination criteria sub-dictionaries //- (takes default values if not specified) //- Specifying an empty sub-dictionary //- terminates with available options tcInner { absGradL2 1e-4; cpuTime 0.5; } // tcOuter // {} //- For composite functions, two objectives need to be specified // firstFunction LPtoP; // secondFunction LInf; //- For scaled functions, scale and objective needs to be specified // scaleFunction PMeanP; // scale 1.5; //- Power value for the LPtoP objective function pValue 2; power 2; //- Specify a tolerance for the surface-smoothing CG solver tolerance 1e-2; //- Specify number of CG sweeps for surface-smoothing nSweeps 2; //- Specify slip patches for the motionSolver slipPatches { } //- Constrain surface mesh-motion on a specified cylinder cylindricalConstraints { } //- Specify fixedValue patches for the motionSolver fixedValuePatches { outlet { type shrinkingParticle; amplitude 0.00125; lenght 0.; value uniform (0 0 0); } } //- Specify interval for surface smoothing surfInterval 1; } //- Options for dynamicTopoFvMesh dynamicTopoFvMesh { //- Should all options be made mandatory? //- Useful for first-time use. allOptionsMandatory no; //- Set run-time debug level [0-5] // debug 0; //- Specify the number of threads threads 1; //- Specify re-meshing interval //- Negative value implies no re-meshing interval 1; //- Specify whether the length-scale field //- should be dumped to disk dumpLengthScale false; //- sliverThreshold specifies the //- quality criteria for sliver removal. sliverThreshold 0.35; //- Should the tool attempt to remove slivers //- that fall below the sliverThreshold value? removeSlivers false; //- Skip mapping step. Useful while using //- this tool as a pre-processor // skipMapping true; // Toggle edgeRefinement on/off edgeRefinement no; //- Options for edge-bisection/collapse. //- The edgeRefinement flag must be set for //- the following options to have effect refinementOptions { collapseRatio 0.5; bisectionRatio 1.5; growthFactor 1.03; //- By default, existing boundary edge-lengths //- are used for length-scales. //- Length-scale can be fixed for certain patches. fixedLengthScalePatches { } //- Avoid refinement on certain patches, if necessary noModificationPatches {} //- Set floating length-scale values on certain patches freeLengthScalePatches {} //- Limit lengthScales to specified values, if necessary // minLengthScale 0.1; // maxLengthScale 0.3; //- Field-based refinement options // fieldRefinement gamma; // fieldLengthScale 0.005; // lowerRefineLevel 0.001; // upperRefineLevel 0.999; // maxRefineLevel 4; // meanScale 0.015; } //- If the number of modifications are to be limited, set this option // maxModifications 1000; //- Load custom libraries for metrics // tetMetricLibs ("libtetMetrics.so"); //- Tetrahedral mesh quality metric tetMetric Knupp; //- Avoid 2-2 swapping on certain patches noSwapPatches {} } |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Questions about modeling of a reservoir | hwangpo | CFX | 7 | October 30, 2012 22:46 |
possible interview questions | atturh | Main CFD Forum | 1 | February 21, 2012 09:53 |
Interview Questions | Carna | FLUENT | 0 | December 26, 2011 05:35 |
NACA0012 Validation Case Questions | ozzythewise | Main CFD Forum | 3 | August 3, 2010 15:39 |
Questions about CFD | Lebeau alexandre | Main CFD Forum | 1 | April 6, 1999 15:23 |