|
[Sponsors] |
adjointShapeOptimizationFoam for In-compressible NS |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
July 9, 2012, 05:05 |
adjointShapeOptimizationFoam for In-compressible NS
|
#1 |
New Member
sam
Join Date: May 2012
Posts: 2
Rep Power: 0 |
Hi
I would like more details about this solver. Could i use it to optimize wing/body shape for INS equations? Does it use a continous or discrete adjoint solver? Where could i get details/papers about the solver Thanks Sam |
|
July 9, 2012, 05:56 |
|
#2 |
Member
Roland
Join Date: Mar 2009
Location: Netherlands
Posts: 92
Rep Power: 17 |
Hi Sam,
AdjointShapeOptimizationFoam is a continous adjoint topology optimizer using the incompressible Navier-Stokes equations. It probably can be used for wing/body shape optimization, but in its present form it is more suitable for internal flows. The code of adjointShapeOptimizationFoam lists this paper as source: http://pdf.aiaa.org/preview/CDReadyM...V2007_3947.pdf Best regards, Sylvester |
|
November 12, 2012, 16:32 |
example
|
#3 | |
New Member
Krzysztof Wołosz
Join Date: Oct 2010
Location: Poland
Posts: 15
Rep Power: 16 |
Welcome to all Foamers,
I am trying to proceed the example presented in the paper quoted below. Quote:
Below the results of adjoint... and simple.. are presented, respectively. adjoint.pngsimple.png The code attached comes from adjointShapeOptimizationFoam. Best Regards Christopher Code:
FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // RASModel laminar;//kEpsilon; turbulence off;//on; printCoeffs off;//on; // ************************************************************************* // FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // transportModel Newtonian; nu nu [0 2 -1 0 0 0 0] 2e-4;//1e-5; lambda lambda [0 -2 1 0 0 0 0] 1e5; alphaMax alphaMax [0 0 -1 0 0 0 0] 200.0; // ************************************************************************* //] FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { "(p|pa)" { solver GAMG; tolerance 1e-08; relTol 0.001; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } "(U|Ua|k|epsilon)" { solver GAMG; smoother GaussSeidel; nSweeps 2; tolerance 1e-08; relTol 0.01; nPreSweeps 0; nPostSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } } SIMPLE { nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } relaxationFactors { fields { "(p|pa)" 0.2; "(alpha)" 0.1; } equations { "(U|Ua)" 0.2; "(k|epsilon)" 0.7; } } // ************************************************************************* // FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default steadyState; } gradSchemes { default Gauss linear; grad(p) Gauss linear; grad(U) Gauss linear; } divSchemes { default none; div(phi,U) Gauss upwind; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div((nuEff*dev(T(grad(U))))) Gauss linear; div(-phi,Ua) Gauss upwind; div((nuEff*dev(T(grad(Ua))))) Gauss linear; } laplacianSchemes { default Gauss linear corrected; laplacian(nuEff,U) Gauss linear corrected; laplacian(1,p) Gauss linear corrected; laplacian(1|A(U),p) Gauss linear corrected; laplacian(DkEff,k) Gauss linear corrected; laplacian(DepsilonEff,epsilon) Gauss linear corrected; laplacian(nuEff,Ua) Gauss linear corrected; laplacian(1|A(Ua),pa) Gauss linear corrected; } interpolationSchemes { default linear; interpolate(U) linear; } snGradSchemes { default corrected; } fluxRequired { default no; p; pa; } // ************************************************************************* // object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { inlet { type fixedValue; value uniform (0 1 0); } walls { type fixedValue; value uniform (0 0 0); } outlet { type adjointOutletVelocity; value uniform (1 0 0); } frontAndBack { type empty; } } // ************************************************************************* // object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { inlet { type fixedValue; value uniform (0 1 0); } outlet { type fixedValue; value uniform (1 0 0); } walls { type fixedValue; value uniform (0 0 0); } frontAndBack { type empty; } } // ************************************************************************* // object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type zeroGradient; } walls { type zeroGradient; } outlet { type adjointOutletPressure; value uniform 0; } frontAndBack { type empty; } } // ************************************************************************* // object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type zeroGradient; } walls { type zeroGradient; } outlet { type fixedValue; value uniform 0; } frontAndBack { type empty; } } // ************************************************************************* // |
||
December 4, 2012, 07:04 |
|
#4 |
Senior Member
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 520
Rep Power: 19 |
Hi all,
pardon the interruption, just a question for you: where can I find the case posted in the last post? Is it in the tutorials? Thanks a lot, Samuele |
|
December 4, 2012, 17:47 |
|
#5 |
New Member
Krzysztof Wołosz
Join Date: Oct 2010
Location: Poland
Posts: 15
Rep Power: 16 |
This case is in the paper that has been linked. It has been described and recreated.
It is not in the tutorial. Regards Krzysztof |
|
December 4, 2012, 18:18 |
|
#6 |
Senior Member
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 520
Rep Power: 19 |
Is it possible to have the case folder?
|
|
January 7, 2013, 16:42 |
|
#7 |
Senior Member
Ehsan
Join Date: Oct 2012
Location: Iran
Posts: 2,208
Rep Power: 27 |
what's the link of full article paper?
|
|
January 7, 2013, 16:52 |
|
#8 |
Senior Member
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,903
Rep Power: 37 |
AIAA papers typically costs money - and I guess it also does in this case.
Kind regards, Niels |
|
February 12, 2020, 14:10 |
|
#9 | |
New Member
Join Date: Jun 2019
Posts: 20
Rep Power: 7 |
Quote:
Hope you are still on this project. I am new in topology optimisation using OpenFOAM, the link of this paper is not available any more. Can you please send me that? Is that possible to have your library of this problem? Thank you so much. regards |
||
February 12, 2020, 15:54 |
|
#10 |
Senior Member
Join Date: Jan 2014
Posts: 179
Rep Power: 12 |
||
February 13, 2020, 06:30 |
|
#11 | |
New Member
Join Date: Jun 2019
Posts: 20
Rep Power: 7 |
Quote:
Thank you so much for your helpful information. Do you specialise in this? regards |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
FSI-Oscillating Flexible Fin | Mid Grove | CFX | 7 | September 25, 2012 00:59 |
The problem of inner iteration when calling the subroutine | guoxj | CFX | 18 | October 23, 2010 21:37 |
Fin inside supersonic flow | Liol Calvert | FLUENT | 8 | March 22, 2010 10:31 |
free convection heat transfer from a heated horizontal surface through a liquid to a thin cooled fin | Kaushik | FLUENT | 1 | May 8, 2000 07:47 |
Compressible vs. Incompressible formulations | Fernando Velasco Hurtado | Main CFD Forum | 3 | January 7, 2000 17:51 |