The following is a data-assimilation optimization case where we try to find the velocity magnitude and angle of attack based on pressure data on the NACA0012 airfoil.
Case: Data assimilation optimization Geometry: NACA0012 Objective function: Pressure prediction errors on the airfoil Design variables: Velocity magnitude and angle of attack at the far field Constraints: None Reynolds number: 0.6667 million Mesh cells: 4000 Solver: DASimpleFoam
To run this case, first download tutorials and untar it. Then go to tutorials-main/NACA0012_DA and run the “preProcessing.sh” script to generate the training data.
./preProcessing.sh
Then, use the following command to run the optimization with 4 CPU cores:
mpirun -np 4 python runScript.py 2>&1 | tee logOpt.txt
The case ran for 11 steps and took about 5 mins using Intel 3.0 GHz CPU with 4 cores. According to “logOpt.txt” and “opt_IPOPT.txt”, the initial and optimized objective functions are 7.3338354e+00 and 4.9991657e-13 with 13 order of reduction.
The animations of the optimization are as follows. We can see that the overall pressure profile agree well with the reference
Fig. 1.Pressure contour evolution during the optimization.
Fig. 2. Wall pressure distributions during the optimization.