|
[Sponsors] |
March 13, 2013, 03:24 |
Adjoint Euler Wall Boundary Condition
|
#1 |
New Member
Join Date: May 2012
Posts: 6
Rep Power: 14 |
I'm looking for more information about the derivation of the adjoint Euler wall boundary condition. In particular, I'm interested in how the terms in the Residuals are derived.
I have read through Anderson & Venkatakrisnan's paper "Aerodynamic Design Optimization on Unstructured Grids with a Continuous Adjoint Formulation", but the wall b.c. in that paper looks a little different from the SU2 code. Could someone please provide a link to some references? KW |
|
March 22, 2013, 02:37 |
|
#2 |
New Member
Join Date: May 2012
Posts: 6
Rep Power: 14 |
Hi,
I'm sorry to post again, but I'm still having trouble deciphering how the Euler adjoint wall boundary condition is implemented in function CAdjEulerSolution::BC_Euler_Wall(). Specifically, I'm having trouble understanding the following lines of code. In the code below, it looks like the boundary equations are being subtracted from the adjoint velocity variables, but why do you do this? I know that the term ( phin - bcn ) should equal to zero from the adjoint boundary condition, so is this code a recursive way to drive this term to zero? Another guess I had was that this was related to Type 2 boundary condition as described in J. Reuther's PhD thesis (Chapter 7, p.176 eq.7.17), but in his thesis the values of Psi were extrapolated from the interior, whereas here it looks like it is just overriding the old values? Code:
/*--- Introduce the boundary condition ---*/ for (iDim = 0; iDim < nDim; iDim++) Psi[iDim+1] -= ( phin - bcn ) * UnitaryNormal[iDim]; Code:
/*--- Inner products after introducing BC (Psi has changed) ---*/ phis1 = 0.0; phis2 = Psi[0] + Enthalpy * Psi[nVar-1]; for (iDim = 0; iDim < nDim; iDim++) { phis1 -= Normal[iDim]*Psi[iDim+1]; phis2 += Velocity[iDim]*Psi[iDim+1]; } /*--- Flux of the Euler wall ---*/ Residual[0] = ProjVel * Psi[0] - phis2 * ProjVel + phis1 * Gamma_Minus_One * sq_vel; for (iDim = 0; iDim < nDim; iDim++) Residual[iDim+1] = ProjVel * Psi[iDim+1] - phis2 * Normal[iDim] - phis1 * Gamma_Minus_One * Velocity[iDim]; Residual[nVar-1] = ProjVel * Psi[nVar-1] + phis1 * Gamma_Minus_One; Thanks in advance, KW |
|
March 23, 2013, 14:29 |
|
#3 |
Super Moderator
Francisco Palacios
Join Date: Jan 2013
Location: Long Beach, CA
Posts: 404
Rep Power: 15 |
Hi,
The continuous adjoint formulation in SU2 is original (inspired by Jameson and Pironneau works, and using classical differential geometry relations). More details can be found in: http://www.stanford.edu/~fasispg/art...-2013-0287.pdf http://adl.stanford.edu/papers/AIAA-2012-3018.pdf http://www.stanford.edu/~fasispg/art..._March2012.pdf http://www.stanford.edu/~fasispg/art...urnal_2009.pdf http://www.stanford.edu/~fasispg/art...urnal_2007.pdf Thank you for you interest in SU2, Best, Francisco PS.- The Anderson & Venkatakrisnan's paper is an outstanding one, but they found a limitation in the methodology dealing with the adjoint Navier-Stokes implementation (the need for 2nd order derivatives). We fixed that problem in AIAA_Journal_2007.pdf |
|
Tags |
boundary condition |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Applying Rotational Boundary Condition on Surface with Radial Wall | tango711 | CFX | 16 | October 9, 2018 08:01 |
Domain Imbalance | HMR | CFX | 5 | October 10, 2016 06:57 |
Dirichlet boundary condition for additional variable on the wall | ftab | CFX | 13 | January 27, 2013 13:24 |
wall boundary condition | safa_c | Main CFD Forum | 1 | August 9, 2010 13:55 |
how to set up a wall boundary condition according to calculated wall shear stress? | gameoverli | OpenFOAM Pre-Processing | 1 | May 21, 2009 09:28 |