All tutorials pertaining to adjointOptimisationFoam can be found under here
$FOAM_TUTORIALS/incompressible/adjointOptimisationFoam
I. adjoint Definition
adjointRASModel found in "constant" directory to asigne adjoint turbulence model in our calculation, we can use adjointLaminar or adjointSpalartAllmaras. In this tutorial, we use adjointLaminar.
optimisationDict is the main dictionary in which almost all information about the solution of the primal and adjoint equation is set up.
optimisationManager entry defines the mode of operation of the adjointOptimisation executable. There is two option in optimisationManager: singleRun, steadyOptimisation
singleRun is to check whether the setup is fine or not.
steadyOptimisation is used to calculate the optimization loop.
primalSolvers: use to define primary equation.
adjointManagers
{
am1
{
primalSolver p1;
adjointSolvers
{
as1
{
// choose adjoint solver
//----------------------
active true;
type incompressible;
solver adjointSimple;
useSolverNameForFields true;
// manage objectives
//------------------
objectives
{
type incompressible;
objectiveNames
{
lift
{
weight 1.;
type force;
patches (pressure suction);
// direction (0.034899496703 -0.9993908270189999 0);
// direction (0 0 0);
direction (0.034899496703 0.9993908270189999 0);
Aref 2.;
rhoInf 1.225;
UInf 1;
}
}
}
// ATC treatment
//--------------
ATCModel
{
ATCModel standard;
}
// solution control
//------------------
solutionControls
{
nIters 3000;
residualControl
{
"pa.*" 1.e-7;
"Ua.*" 1.e-7;
}
}
}
vol
{
// choose adjoint solver
//----------------------
active true;
type incompressible;
solver adjointSimple;
useSolverNameForFields true;
isConstraint true;
// manage objectives
//------------------
objectives
{
type incompressible;
objectiveNames
{
vol
{
weight 1;
type partialVolume;
patches (pressure suction);
}
}
}
// ATC treatment
//--------------
ATCModel
{
ATCModel standard;
}
// solution control
//------------------
solutionControls
{
nIters 3000;
residualControl
{
"pa.*" 1.e-7;
"Ua.*" 1.e-7;
}
}
}
}
}
}
II. NACA 0012 optimisation
Control points definition
Figure a: control points consisting 6x3x3 time 0 around NACA0012.
Figure b: control points definition at time 5
Control points are coloured based their j index value. Surface and volume mesh points residing withing the boundaries of the control grid will be displaced following a possible displacement of the control points
Lift Optimization for NACA 0012
The shape of airfoil in figure 2 is weird, but we do not need to be panic, because it is normal while doing optimization.
Remember! The parameterization greatly affects the optimised shape.
シンクタンクにてリスクマネージメントにCAEを活用,その後,外資系CAEベンダーでサポートエンジニア,技術営業を得て,ESIに入社.OpenFOAMを軸としたCFD関連のエンジニアリングサービスを担当