Solver table is empty
Hello,
I'm one of the new people trying to run "moving cone" tutorial on the openfoam 1.5 (on the mac). I did blockMesh and then icoDyMFoam. but the execution interrupted with the following error: / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Selecting dynamicFvMesh dynamicMotionSolverFvMesh Selecting motion solver: velocityComponentLaplacian --> FOAM Warning : From function dlLibraryTable::open(const fileName& functionLibName) in file db/dlLibraryTable/ dlLibraryTable.C at line 79 |
Quote:
Either change .so to .dylib in the relevant library or create a symlink in $OFAM_LIBBIN Bernhard |
Quote:
Thanks a lot Dear Bernhard!!! |
Hi Foamers, I'm happily running the moving cone, and I'm now trying to do some minor modifications. In particular, I'm using the velocityLaplacian solver, and I can impose rigid body motion in the domain.
Now I'd like to modify the solver, in order to apply a correction function to the velocity. For example, I'd like to impose a simple deforming body motion u(y). don't know if there is any simpler way, but I think I want to try by modifying the solver, where the motion law is. So I: 1_ copied the FvMotionSolvers/ in my working dir, and renamed as MyFvMotionSolver. There, I copied the Make/ folder also. 2_ Deleted folders I don't need to modify, for instance displacements 3_ renamed fvmotionSolver/ and velocity/ as MyfvmotionSolver and Myvelocity/ 4_ In Myvelocity, deleted ComponentLaplacian, that I don't need. Renamed laplacian in Mylaplacian 5_ Substituted in the full set of files fvMotionSolver -> MyfvMotionSolver. And velocityLaplacianFvMotionSolver ->MyvelocityLaplacianFvMotionSolver with sed s/oldstring/newstring/g <oldfile >newfile 6_ In the Make/file, I just left MyfvMotionSolver/MyfvMotionSolver.C Myvelocity/Mylaplacian/MyvelocityLaplacianFvMotionSolver.C LIB = $(FOAM_LIBBIN)/libMyfvMotionSolvers 7_ In the Make/options, I left all as I found, but I added the line: -I$(LIB_SRC)/fvMotionSolver/lnInclude |
** Sorry, continue from the last message...(n.4) ***
for recovering all the necessary dependancies. Now, when I try to recompile with 'wmake libso', I get compilation errors such as: ------------------------------------------- Myvelocity/Mylaplacian/MyvelocityLaplacianFvMotionSolver.C: In constructor ‘Foam::MyvelocityLaplacianFvMotionSolver::Myveloci tyLaplacianFvMotionSolver(const Foam::polyMesh&, Foam::Istream&)’: Myvelocity/Mylaplacian/MyvelocityLaplacianFvMotionSolver.C:90: error: no matching function for call to ‘Foam::motionDiffusivity::New(Foam::MyvelocityLapl acianFvMotionSolver&, Foam::ITstream&)’ /home/daniele/OpenFOAM/OpenFOAM-1.6.x/src/fvMotionSolver/lnInclude/motionDiffusivity.H:86: note: candidates are: static Foam::autoPtr<Foam::motionDiffusivity> Foam::motionDiffusivity::New(const Foam::fvMotionSolver&, Foam::Istream&) Myvelocity/Mylaplacian/MyvelocityLaplacianFvMotionSolver.C: In member function ‘virtual void Foam::MyvelocityLaplacianFvMotionSolver::updateMes h(const Foam::mapPolyMesh&)’: Myvelocity/Mylaplacian/MyvelocityLaplacianFvMotionSolver.C:155: error: no matching function for call to ‘Foam::motionDiffusivity::New(Foam::MyvelocityLapl acianFvMotionSolver&, Foam::ITstream&)’ /home/daniele/OpenFOAM/OpenFOAM-1.6.x/src/fvMotionSolver/lnInclude/motionDiffusivity.H:86: note: candidates are: static Foam::autoPtr<Foam::motionDiffusivity> Foam::motionDiffusivity::New(const Foam::fvMotionSolver&, Foam::Istream&) make: *** [Make/linuxGccDPOpt/MyvelocityLaplacianFvMotionSolver.o] Error 1 ------------------------------------------------- Can anyone help me understanding where I'm wrong? Cheers, Daniele |
velocityLaplacian Modified
1 Attachment(s)
Hi Foamers, after a lot of struggling, I decided to use the original sources, recompiled from another location. Less 'nice' but it works.
Actually I managed to impose some body deformations [u=y(y)], and the geometry seems to deform well. This has been done by modifying velocitylaplacianfvMotionSolver.C, l.112 et following, as: tmp<pointField> tcurPoints ( fvMesh_.points() //+ fvMesh_.time().deltaT().value()*pointMotionU_.inte rnalField() + fvMesh_.time().deltaT().value()*pointMotionU_.inte rnalField()*fvMesh_.points().component(vector::Y) ); Now, it seems that my boundary conditions on the beam are not updated in the right way. In fact (I post a picture) the x-component of the velocity at the beam is constant, and not linear, following the beam body motion. I tried to have a look about the possible causes, or corrections to do, but I'm quite lost... |
All times are GMT -4. The time now is 16:18. |