|
[Sponsors] |
October 20, 2018, 12:47 |
Benchmark Optimization Study for SU2
|
#1 |
New Member
EamonnC
Join Date: Oct 2018
Location: Ireland
Posts: 8
Rep Power: 8 |
Hi there,
My names Eamonn, I'm a student in University doing a thesis on the aerodynamic optimization of airborne wind energy systems (AWES) using SU2. As part of the thesis I must conduct a benchmark optimization study for the software. I am very new to the CFD world and would regard myself as a beginner in the area, and am looking for a bit of guidance on where I should start with this. Are there any particular test cases / V&V cases that I should be using as part of this study? Also, further down the line (a few months from now) I will have to design a basic mesh for an AWES in Ansys or another similar CFD software and import this mesh onto SU2 to run an optimization simulation on it. Does this sound like an achievable objective for someone with little experience in the field but is willing to work hard and learn? I have about 6 months from now to complete by the way! Apologies for asking more than one question here, but I'd appreciate any help! Thanks, Eamonn |
|
March 5, 2019, 13:53 |
Good Luck to you
|
#2 |
Senior Member
Will Kernkamp
Join Date: Jun 2014
Posts: 372
Rep Power: 14 |
Just came across your post. The six months are almost over. Hope you made good progress! Don't be discouraged if you didn't. It looks like the plan was too ambitious. When I was your age, I was supposed to carry out my thesis mission. However, I explored the wonderful capabilities in CFD available to me at NLR in Amsterdam (in 1987). My thesis advisor was unhappy, but I did the right thing for my career.
|
|
March 7, 2019, 15:06 |
|
#3 |
New Member
EamonnC
Join Date: Oct 2018
Location: Ireland
Posts: 8
Rep Power: 8 |
Hi Will, thanks for your reply and encouragement! Yes the scope of the project was far too ambitious and I have since redefined my goals - only a few weeks out now! I have learned an awful lot in the past couple of months and it has definitely sparked a newfound interest for me in the area.
I'm currently trying to complete the Pitching NACA Optimization Test Case and am wondering if you might be able to help me with regards to an error that I keep getting. The case will not go through the first design iteration for the Test Case with all settings kept unchanged from those given in GitHub repository. The error I am receiving is: File "/usr/local/bin/shape_optimization.py", line 163, in shape_optimization SU2.opt.SLSQP(project,x0,xb,its,accu) File "/usr/local/bin/SU2/opt/scipy_tools.py", line 143, in scipy_slsqp epsilon = eps ) File "/usr/lib/python2.7/dist-packages/scipy/optimize/slsqp.py", line 207, in fmin_slsqp constraints=cons, **opts) File "/usr/lib/python2.7/dist-packages/scipy/optimize/slsqp.py", line 390, in _minimize_slsqp g = append(fprime(x),0.0) File "/usr/lib/python2.7/dist-packages/scipy/optimize/optimize.py", line 292, in function_wrapper return function(*(wrapper_args + args)) File "/usr/local/bin/SU2/opt/scipy_tools.py", line 410, in obj_df dobj_list = project.obj_df(x) File "/usr/local/bin/SU2/opt/project.py", line 241, in obj_df return self._eval(konfig, func,dvs) File "/usr/local/bin/SU2/opt/project.py", line 205, in _eval vals = design._eval(func,*args) File "/usr/local/bin/SU2/eval/design.py", line 146, in _eval vals = eval_func(*inputs) File "/usr/local/bin/SU2/eval/design.py", line 379, in obj_df grad = su2grad(this_obj,grad_method,config,state) File "/usr/local/bin/SU2/eval/gradients.py", line 105, in gradient grads = adjoint( func_name, config, state ) File "/usr/local/bin/SU2/eval/gradients.py", line 280, in adjoint info = su2run.adjoint(config) File "/usr/local/bin/SU2/run/adjoint.py", line 89, in adjoint SU2_CFD(konfig) File "/usr/local/bin/SU2/run/interface.py", line 122, in CFD run_command( the_Command ) File "/usr/local/bin/SU2/run/interface.py", line 302, in run_command raise exception(message) SU2.EvaluationFailure: Path = /home/buxwax/Documents/SU2/SU2-6.2.0/My_Optimization_Cases/Case_2_pitching/opt/DESIGNS/DSN_001/ADJOINT_DRAG/, Command = /bin/SU2_CFD_AD config_CFD_AD.cfg SU2 process returned error '1' When I open the log_Adjoint.out it reads the following: Error in "void CConfig::SetPostprocessing(short unsigned int, short unsigned int, short unsigned int)": ------------------------------------------------------------------------- Dynamic mesh movement currently not supported for the discrete adjoint solver. ------------------------------ Error Exit ------------------------------- I have compiled the solver for AD Support using the SU2 AD Build instructions, but I do not think those instructions compile the AD Build with all features included! For example, when I check in the SU2_AD folder in my root directory and check the config.log file I see that some of the modules have not been configured: Build Configuration Summary: Source code location: /home/buxwax/Documents/SU2/SU2-6.2.0 Install location: Version: 6.2.0 C++ Compiler: mpicxx C Compiler: mpicc Preprocessor flags: -DHAVE_MPI Compiler flags: -O3 -Wall Linker flags: MPI support: yes Metis support: yes Parmetis support: yes TecIO support: yes CGNS support: yes Mutation++ support: no MKL support: no Datatype support: double no codi_reverse yes codi_forward no External includes: -DHAVE_CGNS -I$(top_srcdir)/externals/cgns -I$(top_srcdir)/externals/cgns/adf -DHAVE_PARMETIS -I$(top_srcdir)/externals/parmetis/include -DHAVE_METIS -I$(top_srcdir)/externals/metis/include -DHAVE_TECIO -I$(top_srcdir)/externals/tecio/teciosrc External libs: $(top_builddir)/externals/cgns/libcgns.a $(top_builddir)/externals/parmetis/libparmetis.a $(top_builddir)/externals/metis/libmetis.a $(top_builddir)/externals/tecio/libtecio.a External libpthreads: -lpthread Build SU2_CFD: yes Build SU2_DOT: yes Build SU2_MSH: no Build SU2_DEF: no Build SU2_SOL: no Build SU2_GEO: no Build Py Wrapper: no Do you know what my problem is here? Do you know how I can compile the with all AD features enabled? I have a feeling this will solve my problem with this Test Case!! Thanks, Eamonn |
|
March 7, 2019, 15:25 |
Update
|
#4 |
New Member
EamonnC
Join Date: Oct 2018
Location: Ireland
Posts: 8
Rep Power: 8 |
It is also worth mentioning that when I try to run the Test Case using CONTINUOUS ADJOINT, I receive the following in the log_Adjoint.out file:
WARNING: The adjoint solver should use a non-dimensional flow solution. WARNING: The adjoint solver should use a non-dimensional flow solution. WARNING: The adjoint solver should use a non-dimensional flow solution. ------------------------------------------------------------------------- | ___ _ _ ___ | | / __| | | |_ ) Release 6.2.0 "Falcon" | | \__ \ |_| |/ / | | |___/\___//___| Suite (Computational Fluid Dynamics Code) | | | ------------------------------------------------------------------------- | The current SU2 release has been coordinated by the | | SU2 International Developers Society <www.su2devsociety.org> | | with selected contributions from the open-source community. | ------------------------------------------------------------------------- | The main research teams contributing to the current release are: | | - Prof. Juan J. Alonso's group at Stanford University. | | - Prof. Piero Colonna's group at Delft University of Technology. | | - Prof. Nicolas R. Gauger's group at Kaiserslautern U. of Technology. | | - Prof. Alberto Guardone's group at Polytechnic University of Milan. | | - Prof. Rafael Palacios' group at Imperial College London. | | - Prof. Vincent Terrapon's group at the University of Liege. | | - Prof. Edwin van der Weide's group at the University of Twente. | | - Lab. of New Concepts in Aeronautics at Tech. Inst. of Aeronautics. | ------------------------------------------------------------------------- | Copyright 2012-2019, Francisco D. Palacios, Thomas D. Economon, | | Tim Albring, and the SU2 contributors. | | | | SU2 is free software; you can redistribute it and/or | | modify it under the terms of the GNU Lesser General Public | | License as published by the Free Software Foundation; either | | version 2.1 of the License, or (at your option) any later version. | | | | SU2 is distributed in the hope that it will be useful, | | but WITHOUT ANY WARRANTY; without even the implied warranty of | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | Lesser General Public License for more details. | | | | You should have received a copy of the GNU Lesser General Public | | License along with SU2. If not, see <http://www.gnu.org/licenses/>. | ------------------------------------------------------------------------- ------------------------ Physical Case Definition ----------------------- Continuous Euler adjoint equations. Mach number: 0.796. Angle of attack (AoA): 0 deg, and angle of sideslip (AoS): 0 deg. Performing a dynamic mesh simulation: rigid mesh motion. No restart solution, use the values at infinity (freestream). Read flow solution from: restart_flow.dat. Dimensional simulation. The reference area is 1 m^2. The semi-span will be computed using the max y(3D) value. The reference length is 1 m. Reference origin for moment evaluation is (0.248, 0, 0). Surface(s) where the force coefficients are evaluated: airfoil. Surface(s) where the objective function is evaluated: airfoil. Surface(s) plotted in the output file: airfoil. Surface(s) affected by the design variables: airfoil. Input mesh file name: mesh_optimization.su2 ----------------------- Design problem definition ----------------------- CD objective function. ---------------------- Space Numerical Integration ---------------------- Jameson-Schmidt-Turkel scheme for the adjoint inviscid terms. JST viscous coefficients (1st, 2nd, & 4th): 0.15, 0, 0.02. The method includes a grid stretching correction (p = 0.3). Second order integration. The reference sharp edge distance is: 0.3. Gradient Computation using weighted Least-Squares method. ---------------------- Time Numerical Integration ----------------------- Unsteady simulation, dual time stepping strategy (second order in time). Unsteady time step provided by the user (s): 0.023555. Total number of internal Dual Time iterations: 110. Euler implicit method for the adjoint equations. W Multigrid Cycle, with 3 multigrid levels. Damping factor for the residual restriction: 0.9. Damping factor for the correction prolongation: 0.9. No CFL adaptation. +-------------------------------------------+ | MG Level| Presmooth|PostSmooth|CorrectSmo| +-------------------------------------------+ | 0| 1| 0| 0| | 1| 2| 0| 0| | 2| 3| 0| 0| | 3| 3| 0| 0| +-------------------------------------------+ Courant-Friedrichs-Lewy number: 5 ------------------------- Convergence Criteria -------------------------- Maximum number of iterations: 99999. Reduce the adjoint density residual 3 orders of magnitude. The minimum value for the adjoint density residual is 10^(-10). -------------------------- Output Information --------------------------- Writing a solution file every 250 iterations. Writing the convergence history every 1 iterations. Writing the dual time flow solution every 1 iterations. Writing the dual time convergence history every 10 iterations. The output file format is Tecplot ASCII (.dat). Convergence history file name: history_adjoint. Forces breakdown file name: forces_breakdown.dat. Adjoint solution file name: solution_adj.dat. Restart adjoint file name: restart_adj.dat. Adjoint variables file name: adjoint. Surface adjoint coefficients file name: surface_adjoint. ------------------- Config File Boundary Information -------------------- +-----------------------------------------+ | Marker Type| Marker Name| +-----------------------------------------+ | Euler wall| airfoil| +-----------------------------------------+ | Far-field| farfield| +-----------------------------------------+ ---------------------- Read Grid File Information ----------------------- Two dimensional problem. 8606 points. 2 surface markers. +------------------------------------+ | Index| Marker| Elements| +------------------------------------+ | 0| airfoil| 200| | 1| farfield| 75| +------------------------------------+ 16937 triangles. ------------------------- Geometry Preprocessing ------------------------ Setting point connectivity. Renumbering points (Reverse Cuthill McKee Ordering). Recomputing point connectivity. Setting element connectivity. Checking the numerical grid orientation. Identifying edges and vertices. Computing centers of gravity. Setting the control volume structure. Area of the computational grid: 1.26e+03. Finding max control volume width. Searching for the closest normal neighbors to the surfaces. Storing a mapping from global to local point index. Compute the surface curvature. Max K: 1.99e+03. Mean K: 17.3. Standard deviation K: 126. Checking for periodicity. Setting the multigrid structure. +-------------------------------------------+ | MG Level| CVs|Aggl. Rate| CFL| +-------------------------------------------+ | 0| 8606| 1/1.00| 5| | 1| 2442| 1/3.52| 4| | 2| 699| 1/3.49| 3.21| | 3| 189| 1/3.7| 2.5| +-------------------------------------------+ Wetted area = 2.02 m. Area projection in the x-plane = 0.0996 m, y-plane = 0.999 m. Max. coordinate in the x-direction = 1 m, y-direction = 0.0499 m. Min coordinate in the x-direction = 0 m, y-direction = -0.0499 m. ------------------------- Driver information -------------------------- A Fluid driver has been instantiated. ------------------------ Iteration Preprocessing ------------------------ Zone 1: adjoint Euler/Navier-Stokes/RANS fluid iteration. ------------------------- Solver Preprocessing -------------------------- Inviscid flow: Computing density based on free-stream temperature and pressure using the ideal gas law. Force coefficients computed using MACH_MOTION. -- Models: +------------------------------------------------------------------------------+ | Viscosity Model| Conductivity Model| Fluid Model| +------------------------------------------------------------------------------+ | -| -| STANDARD_AIR| +------------------------------------------------------------------------------+ -- Fluid properties: +------------------------------------------------------------------------------+ | Name| Dim. value| Ref. value| Unit|Non-dim. value| +------------------------------------------------------------------------------+ | Gas Constant| 287.058| 1| N.m/kg.K| 287.058| | Spec. Heat Ratio| -| -| -| 1.4| +------------------------------------------------------------------------------+ -- Initial and free-stream conditions: +------------------------------------------------------------------------------+ | Name| Dim. value| Ref. value| Unit|Non-dim. value| +------------------------------------------------------------------------------+ | Static Pressure| 101325| 1| Pa| 101325| | Density| 1.22498| 1| kg/m^3| 1.22498| | Temperature| 288.15| 1| K| 288.15| | Total Energy| 243476| 1| m^2/s^2| 243476| | Velocity-X| 270.876| 1| m/s| 270.876| | Velocity-Y| 0| 1| m/s| 0| | Velocity Magnitude| 270.876| 1| m/s| 270.876| +------------------------------------------------------------------------------+ | Mach Number| -| -| -| 0.796| +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Name| Dim. value| Ref. value| Unit|Non-dim. value| +------------------------------------------------------------------------------+ -- Unsteady conditions | Total Time| 0.59| 1| s| 0.59| | Time Step| 0.023555| 1| s| 0.023555| +------------------------------------------------------------------------------+ Initialize Jacobian structure (Euler). MG level: 0. Initialize Jacobian structure (Adjoint Euler). MG level: 0. Initialize Jacobian structure (Euler). MG level: 1. Initialize Jacobian structure (Adjoint Euler). MG level: 1. Initialize Jacobian structure (Euler). MG level: 2. Initialize Jacobian structure (Adjoint Euler). MG level: 2. Initialize Jacobian structure (Euler). MG level: 3. Initialize Jacobian structure (Adjoint Euler). MG level: 3. Error in "std::__cxx11::string CConfig::GetUnsteady_FileName(std::__cxx11::string , int)": ------------------------------------------------------------------------- Requesting a negative iteration number for the restart file!! ------------------------------ Error Exit ------------------------------- -------------------------------------------------------------------------- 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. -------------------------------------------------------------------------- |
|
March 7, 2019, 15:55 |
Try docker with SU2
|
#5 |
Senior Member
Will Kernkamp
Join Date: Jun 2014
Posts: 372
Rep Power: 14 |
Looks like you have components that did not get compiled. Have you tried to just recompile the whole thing requesting everything? Do steady test cases run?
There are dockers available with SU2. Search online. When you run a docker it has everything installed and running. Does not depend on your own system and libraries. Same for openfoam6. Easy. |
|
March 7, 2019, 17:37 |
|
#6 |
New Member
EamonnC
Join Date: Oct 2018
Location: Ireland
Posts: 8
Rep Power: 8 |
Thanks for the reply and suggestion!
Yes steady optimization cases work just fine. I have just downloaded Docker and am trying to figure out how to run SU2 on it - hopefully I manage to get it to work! |
|
March 28, 2019, 09:10 |
|
#7 |
Member
na
Join Date: Jul 2018
Posts: 90
Rep Power: 8 |
Hi Eamonn,
Concerning the Discrete Adjoint: HTML Code:
Dynamic mesh movement currently not supported for the discrete adjoint solver. The AD build looks good at least from what I can see, only SU2_CFD and SU2_DOT are the only modules build with the codi reverse datatype. And as steady optimization using the Discrete Adjoint solver works, i see no issue with the build. I would also say that the given error message is quite clear For the continuous Adjoint: HTML Code:
Requesting a negative iteration number for the restart file!! Sorry that no one answered you earlier than march. I hope you do well with your thesis and stay around CFD and of course SU2! Cheers, Tobi |
|
Tags |
help needed, optimization, su2, thesis |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
ANSYS Optimization failing to update Results component. | harmollo1 | ANSYS | 1 | March 21, 2019 16:30 |
Optimization study with ANSYS CFX (FLUENT) and MATLAB | rusham | ANSYS | 0 | January 25, 2018 05:54 |
(Failed) Use of optimisation with FLUENT study | mrb93 | ANSYS | 0 | December 12, 2017 05:39 |
Multiple FFD box definition for shape optimization study | diwakaranant | SU2 | 1 | November 5, 2013 18:46 |
COMSOL: optimization applied to a laminar flow | tdh89 | COMSOL | 0 | April 30, 2012 09:57 |