CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

Questions on dynamicTopoFvMesh

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

Like Tree4Likes

Reply
 
LinkBack Thread Tools Display Modes
Old   October 14, 2013, 14:49
Default
  #41
New Member
 
olivier Skurtys
Join Date: Aug 2012
Location: Santiago, Chile
Posts: 23
Rep Power: 5
olivier_au_chili is on a distinguished road
Quote:
Originally Posted by deepsterblue View Post
joel,

Can you try the angularOscillating variant with zero angular velocity and see if there's a difference between both solvers?

Thanks
Dear Sandeep:

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
-----------------------------------------------------
==> I found that there is a problem in dynamicTopoFvMeshCoupled.C initFieldTransfers here:
Code:
  // Subset and send surfaceFields to stream
        cInfo.send<surfaceScalarField>(names[5], types[5], stream[pI]);
The others names[6] etc... seems to not generate problem.

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 16:34. Reason: Added [CODE][/CODE]
olivier_au_chili is offline   Reply With Quote

Old   October 16, 2013, 09:17
Default
  #42
Senior Member
 
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 386
Rep Power: 15
deepsterblue will become famous soon enough
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.
__________________
Sandeep Menon
University of Massachusetts Amherst
https://github.com/smenon
deepsterblue is offline   Reply With Quote

Old   October 21, 2013, 11:04
Default
  #43
New Member
 
olivier Skurtys
Join Date: Aug 2012
Location: Santiago, Chile
Posts: 23
Rep Power: 5
olivier_au_chili is on a distinguished road
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
Regards,

Olivier

Last edited by wyldckat; October 21, 2013 at 16:46. Reason: Changed [code] to [CODE][/CODE]
olivier_au_chili is offline   Reply With Quote

Old   October 26, 2013, 04:57
Default
  #44
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,511
Blog Entries: 34
Rep Power: 86
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
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
wyldckat is offline   Reply With Quote

Old   October 29, 2013, 16:48
Default
  #45
New Member
 
olivier Skurtys
Join Date: Aug 2012
Location: Santiago, Chile
Posts: 23
Rep Power: 5
olivier_au_chili is on a distinguished road
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
olivier_au_chili is offline   Reply With Quote

Old   November 3, 2013, 06:49
Default
  #46
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,511
Blog Entries: 34
Rep Power: 86
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
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:
  1. The 1.6-ext build you are using, is indexed to which commit on git? You can run the following commands to see this:
    Code:
    foam
    git log -1
  2. Are you using the default Mesquite version that 1.6-ext uses or have you upgraded it?
  3. How exactly did you integrate/build the latest "dynamicTopoFvMesh" from https://github.com/smenon/dynamicTopoFvMesh into 1.6-ext?
Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   November 5, 2013, 08:36
Default
  #47
New Member
 
olivier Skurtys
Join Date: Aug 2012
Location: Santiago, Chile
Posts: 23
Rep Power: 5
olivier_au_chili is on a distinguished road
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
olivier_au_chili is offline   Reply With Quote

Old   January 17, 2014, 18:33
Default foam-extend-3.0 & dynamicTopoFvMesh-git
  #48
Member
 
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 42
Rep Power: 3
codder is on a distinguished road
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
... I took the following two steps:

(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
(b) Alter etc/bashrc such that it reads:

Code:
    : ${WM_COMPILE_OPTION:=Debug}; export WM_COMPILE_OPTION
3. Continued with Bruno's remaining steps.

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
5. Go to the checked-out directory and compile:

Code:
    cd $WM_PROJECT_USER_DIR/run/dynamicTopoFvMesh 
    ./Allwmake
6. Prepare to test the installation:

Code:
    cp -r ~/foam/tutorials/mesh/moveDynamicMesh/circCylinder3d $WM_PROJECT_USER_DIR/run/
    cd $WM_PROJECT_USER_DIR/run/circCylinder3d
7. Make the top of constant/dynamicMeshDict look like:

Code:
     dynamicFvMeshLibs       ("libdynamicTopoFvMesh.so");

     motionSolverLibs        ("libmesquiteMotionSolver.so");

     //- Select the type of dynamicFvMesh
     dynamicFvMesh           dynamicTopoFvMesh-git;

     //- Select the type of motionSolver
     solver                  mesquiteMotionSolver-git;
8. Solve

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
What am I doing wrong? Much appreciated, Eric

Edit:
The same fatal warming/fatal error sequence occurs when using a installation of foam-extend-3.0 compiled for Opt.
wyldckat likes this.

Last edited by codder; January 17, 2014 at 19:21. Reason: edits
codder is offline   Reply With Quote

Old   January 17, 2014, 19:27
Default
  #49
Senior Member
 
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 386
Rep Power: 15
deepsterblue will become famous soon enough
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.
__________________
Sandeep Menon
University of Massachusetts Amherst
https://github.com/smenon
deepsterblue is offline   Reply With Quote

Old   January 17, 2014, 21:34
Default recompiled dynamicTopoFvMesh, not so much mesquiteMotionSolver - perhaps?
  #50
Member
 
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 42
Rep Power: 3
codder is on a distinguished road
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
... perhaps associated with not having:

Quote:
You may want to do that with the mesquiteMotionSolver library as well.
Edit #1: Tried
Code:
cd $FOAM_SRC/dynamicMesh/meshMotion/mesquiteMotionSolver
wclean
... but saw same undefined symbol error.

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
... but got error (attached).

Very much appreciate your responsiveness, Eric
Attached Files
File Type: txt log_mesquite.txt (23.5 KB, 15 views)

Last edited by codder; January 20, 2014 at 14:00. Reason: correciton
codder is offline   Reply With Quote

Old   January 20, 2014, 16:15
Default
  #51
Senior Member
 
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 386
Rep Power: 15
deepsterblue will become famous soon enough
Eric,

Use 'wmake libso', not just 'wmake'.

You should ensure that Mesquite is installed correctly - your log seems to suggest otherwise.
codder likes this.
__________________
Sandeep Menon
University of Massachusetts Amherst
https://github.com/smenon
deepsterblue is offline   Reply With Quote

Old   January 21, 2014, 23:44
Default
  #52
New Member
 
Hans Justinian
Join Date: Oct 2010
Location: Singapore
Posts: 2
Rep Power: 0
hansjustinian is on a distinguished road
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
This is my dynamicMeshDict

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;
    }
}

// ************************************************************************* //
hansjustinian is offline   Reply With Quote

Old   February 5, 2014, 22:37
Default BC for FSI
  #53
Member
 
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 42
Rep Power: 3
codder is on a distinguished road
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
... there exists a boundary condition:

Code:
    consoleFluid
    {   
        type            movingWallVelocity;
        value           uniform (0 0 0);
    }
Is this BC also usable, in this way as a fluid BC for dynamicTopoFvMesh? I'm specifically thinking with regards to the icoFsiFoam solver.

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
codder is offline   Reply With Quote

Old   February 6, 2014, 11:07
Default
  #54
Senior Member
 
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 386
Rep Power: 15
deepsterblue will become famous soon enough
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.
codder likes this.
__________________
Sandeep Menon
University of Massachusetts Amherst
https://github.com/smenon
deepsterblue is offline   Reply With Quote

Old   March 13, 2014, 16:24
Default posted mesquite-2.1.2.tar.gz
  #55
Member
 
Eric Bryant
Join Date: Sep 2013
Location: Texas
Posts: 42
Rep Power: 3
codder is on a distinguished road
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
codder is offline   Reply With Quote

Old   July 15, 2014, 20:40
Default
  #56
Senior Member
 
Mojtaba.a's Avatar
 
Mojtaba Amiraslanpour
Join Date: Jun 2011
Location: Zanjan, Iran
Posts: 233
Rep Power: 7
Mojtaba.a is on a distinguished road
Send a message via Yahoo to Mojtaba.a
Quote:
Originally Posted by joegi.geo View Post
Hi Sandeep,

Any update regarding this issue?
Dear Joegi and Sandeep,

I am sorry to bring up this issue again, but is that problem solved?
__________________
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 07:45.
Mojtaba.a is offline   Reply With Quote

Old   July 15, 2014, 21:25
Default
  #57
Senior Member
 
Mojtaba.a's Avatar
 
Mojtaba Amiraslanpour
Join Date: Jun 2011
Location: Zanjan, Iran
Posts: 233
Rep Power: 7
Mojtaba.a is on a distinguished road
Send a message via Yahoo to Mojtaba.a
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
__________________
Complex Heat & Flow Simulation Research Group
If you can't explain it simply, you don't understand it well enough. "Richard Feynman"
Mojtaba.a is offline   Reply With Quote

Old   July 15, 2014, 21:41
Default
  #58
Senior Member
 
Mojtaba.a's Avatar
 
Mojtaba Amiraslanpour
Join Date: Jun 2011
Location: Zanjan, Iran
Posts: 233
Rep Power: 7
Mojtaba.a is on a distinguished road
Send a message via Yahoo to Mojtaba.a
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)
On the other hand, when I use openFOAM 2.3 (of course with wrong motion as mentioned before) flow is solved just fine.

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)
__________________
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 11:33.
Mojtaba.a is offline   Reply With Quote

Old   July 17, 2014, 15:39
Default
  #59
Senior Member
 
Mojtaba.a's Avatar
 
Mojtaba Amiraslanpour
Join Date: Jun 2011
Location: Zanjan, Iran
Posts: 233
Rep Power: 7
Mojtaba.a is on a distinguished road
Send a message via Yahoo to Mojtaba.a
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 .
__________________
Complex Heat & Flow Simulation Research Group
If you can't explain it simply, you don't understand it well enough. "Richard Feynman"
Mojtaba.a is offline   Reply With Quote

Old   February 8, 2015, 19:34
Post
  #60
New Member
 
Giancarlo
Join Date: Apr 2013
Location: Milan
Posts: 18
Rep Power: 4
Giancarlo_IngChimico is on a distinguished road
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();
I have imposed an internal temperature of 300 K and a boundary value of 700 K.
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
    {}
}
Attached Images
File Type: png sphere1.png (19.3 KB, 8 views)
File Type: png sphere.png (32.9 KB, 6 views)
Giancarlo_IngChimico is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


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 14:39
Questions about CFD Lebeau alexandre Main CFD Forum 1 April 6, 1999 14:23


All times are GMT -4. The time now is 16:17.