CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   Absence of a term in adjointShapeOptimizationFoam outlet boundary conditions (https://www.cfd-online.com/Forums/openfoam-programming-development/115841-absence-term-adjointshapeoptimizationfoam-outlet-boundary-conditions.html)

robyTKD April 8, 2013 08:02

Absence of a term in adjointShapeOptimizationFoam outlet boundary conditions
 
Hi Foamers,

I have a question about boundary conditions of adjointShapeOptimizationFoam. In particular, following Othmer's procedure in A continuous adjoint formulation for the computation of topological and surface sensitivities of ducted flows, boundary conditions for the Outlet are:

q = \textbf{u} \cdot \textbf{v} + u_n v_n + \nu (\textbf{n} \cdot \nabla) u_n + \frac{\partial J_{\Gamma}}{v_n}

0 = v_n \textbf{u}_t + \nu (\textbf{n} \cdot \nabla) \textbf{u}_t + \frac{\partial J_{\Gamma}}{\textbf{v}_t}

but I can't find \nu (\textbf{n} \cdot \nabla) \textbf{u}_t and \nu (\textbf{n} \cdot \nabla) u_n in adjointOutletPressureFvPatchScalarField.C and adjointOutletVelocityFvPatchScalarField.C.

Are they neglected because they are irrelevant or is simply the normal gradient of adjoint velocity forced to be null?

Best regards,
Roberto

Dome April 10, 2013 06:05

Hi Roberto!
I have exactly the same doubt, since in the code:

Code:

operator==((phiap/patch().magSf() - 1.0)*phip/patch().magSf() + (Up & Uap));
and

Code:

vectorField::operator=(phiap*patch().Sf()/sqr(patch().magSf()) + UtHat);
there isn't any "normal gradient" term.

Let's hope for some help :)

Domenico

fumiya January 3, 2016 00:13

Hi,

You can find how to implement these terms in the following document:

Description of adjointShapeOptimizationFoam and how to implement new objective functions
http://www.tfd.chalmers.se/~hani/kur...ortAdjoint.pdf

Best regards,
Fumiya


All times are GMT -4. The time now is 18:53.