Computational Aerodynamics Questions & Answers | |
|
|
|
|
Your grid has issues. You should make the grid so that the spacing is more or less uniform everywhere. Don't worry about making the grid parallel to the shocks. The shocks can go through the cells at an angle — this is fine. Simply make sure that your bottom wall has the right shape, that the cells are more or less of the same size everywhere (and are not distorted as in your mesh), and the shocks will appear correctly positioned.
|
|
|
|
The instructions are in the CFDWARP HOWTO here: |
|
|
|
Please attach a picture of the pressure contours around your cylinder. Maybe your flow is not yet at steady-state. Because you are doing the cylinder case, you don't need the xstation. Inside the Post() module, delete the part about the x-station and only keep the line Fpressure[dim]=_Fpressure(... Then, add a bit of code to find the drag coefficient using Fpressure[1] (the pressure force acting on the body along $x$).
|
|
|
|
Problem 4 is harder than the others. You need to find $\sigma$ and $\delta$ for each shock using the obliqueshock program. Once this is done, you need to find the bottom surface of the ramp that will make all shocks meet each other at one point (such is only function of $H$, and the 3 $\delta$s and $\sigma$s). Thus, this requires a bit of geometrical calculations on paper. I recommend another problem if this is taking too long.
|
|
|
|
Here xcut is the xstation you specified in the Post() module. The program can't find a proper xstation at 0.1 m. If you are solving Problems 1 or 2, you don't need to create xstations, so get rid of the code related to the xstations within Post(). If you are solving Problems 3 or 4, you need only one xstation fixed to the $x$ just slightly before the domain exit.
|
|
|
|
As I explained today, ximax probably won't go down to zero for your problems if you use the TVD Van Leer limiter or WENO. The residual will thus “hang”. So, you can't rely on ximax to determine convergence. You need to proceed differently as explained in class.
|
|
|
|
I need more information. Please show a plot of the pressure contours. Also, show your code in the Post() module. Further, how are you invoking warp with -opm? I hope you read in your data file... Otherwise, this will simply post-process the initial conditions..
|
|
|
|
Everything seems fine except your matlab values. Are you doing a simple averaging using matlab? This will of course be wrong. You need to do a mass flux averaging (do $\frac{1}{\dot{m}}\int P d\dot{m}$ in matlab not $\frac{1}{H}\int P dy$).
|
|
|
|
The problem may be that you are imposing free stream boundary conditions on all boundary nodes..? You should check your boundary conditions are well imposed using the -on flag.
|
|
|
|
This looks fine: your boundary conditions are well imposed. The contours you showed previously seem to have not been iterated at all. After the iteration process, are you reading in the data file (obtained after 1000 iterations or so) before outputting the post file?
|
|
|
|
Very good question. We made this assumption only when deriving the GCI. So, within the $\rm GCI_{f}$ equation, you should change the term to $\left\vert\left(\frac{\triangle x_c}{\triangle x_f }\right)^p-1\right\vert$. That is, the GCI should always be positive. However, when determining order of accuracy $p$, we did not use the GCI and we did not assume that $p$ should be greater than 1. So you should not change any of the equations used to determine $p$.
|
|
|
|
The user-defined constant $\epsilon$ is included to prevent a division by zero. Set it to a very small value. As for $\gamma_0$ and $\gamma_1$, they are fixed constants: don't change them.
|
|
||
$\pi$ |