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

adjointShapeOptimizationFoam for In-compressible NS

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By kjw

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 9, 2012, 05:05
Default adjointShapeOptimizationFoam for In-compressible NS
  #1
New Member
 
sam
Join Date: May 2012
Posts: 2
Rep Power: 0
smanekshaw is on a distinguished road
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
smanekshaw is offline   Reply With Quote

Old   July 9, 2012, 05:56
Default
  #2
Member
 
Roland
Join Date: Mar 2009
Location: Netherlands
Posts: 92
Rep Power: 17
sylvester is on a distinguished road
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
sylvester is offline   Reply With Quote

Old   November 12, 2012, 16:32
Default example
  #3
kjw
New Member
 
Krzysztof Wołosz
Join Date: Oct 2010
Location: Poland
Posts: 15
Rep Power: 16
kjw is on a distinguished road
Welcome to all Foamers,
I am trying to proceed the example presented in the paper quoted below.
Quote:
Originally Posted by sylvester View Post
Hi Sam,

The code of adjointShapeOptimizationFoam lists this paper as source:
http://pdf.aiaa.org/preview/CDReadyM...V2007_3947.pdf
While the case is calculated with simpleFoam, the flow seem to be Ok, the same example computed with adjointShapeOptimizationFoam react a little bit odd.

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

// ************************************************************************* //
unnikrsn likes this.
kjw is offline   Reply With Quote

Old   December 4, 2012, 07:04
Default
  #4
Senior Member
 
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 520
Rep Power: 19
samiam1000 is on a distinguished road
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
samiam1000 is offline   Reply With Quote

Old   December 4, 2012, 17:47
Default
  #5
kjw
New Member
 
Krzysztof Wołosz
Join Date: Oct 2010
Location: Poland
Posts: 15
Rep Power: 16
kjw is on a distinguished road
This case is in the paper that has been linked. It has been described and recreated.
It is not in the tutorial.

Regards

Krzysztof

Quote:
Originally Posted by samiam1000 View Post
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
kjw is offline   Reply With Quote

Old   December 4, 2012, 18:18
Default
  #6
Senior Member
 
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 520
Rep Power: 19
samiam1000 is on a distinguished road
Is it possible to have the case folder?
samiam1000 is offline   Reply With Quote

Old   January 7, 2013, 16:42
Default
  #7
Senior Member
 
immortality's Avatar
 
Ehsan
Join Date: Oct 2012
Location: Iran
Posts: 2,208
Rep Power: 27
immortality is on a distinguished road
what's the link of full article paper?
immortality is offline   Reply With Quote

Old   January 7, 2013, 16:52
Default
  #8
ngj
Senior Member
 
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,903
Rep Power: 37
ngj will become famous soon enoughngj will become famous soon enough
AIAA papers typically costs money - and I guess it also does in this case.

Kind regards,

Niels
ngj is offline   Reply With Quote

Old   February 12, 2020, 14:10
Default
  #9
New Member
 
Join Date: Jun 2019
Posts: 20
Rep Power: 7
Cambridge is on a distinguished road
Quote:
Originally Posted by samiam1000 View Post
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
Hi

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

Old   February 12, 2020, 15:54
Default
  #10
Senior Member
 
Join Date: Jan 2014
Posts: 179
Rep Power: 12
hxaxtma is on a distinguished road
Have a look at daFoam


https://dafoam.readthedocs.io/en/lat...pressible.html
hxaxtma is offline   Reply With Quote

Old   February 13, 2020, 06:30
Default
  #11
New Member
 
Join Date: Jun 2019
Posts: 20
Rep Power: 7
Cambridge is on a distinguished road
Quote:
Originally Posted by hxaxtma View Post
Hi hxaxtma,

Thank you so much for your helpful information. Do you specialise in this?

regards
Cambridge is offline   Reply With Quote

Reply


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


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


All times are GMT -4. The time now is 23:57.