|
[Sponsors] |
Velocity distribution function sampling issue in DSMC |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 12, 2014, 06:31 |
Velocity distribution function sampling issue in DSMC
|
#1 |
Super Moderator
Alex
Join Date: Jun 2012
Location: Germany
Posts: 3,428
Rep Power: 49 |
This is rather a mathematical question:
When sampling velocity distribution functions in in a Direct Simulation Monte Carlo (DSMC) we first have to choose a small velocity interval . Now during the sampling process, all molecules with velocities between and are counted with a velocity of . So after the simulation instead of the values of the distribution function for a certain velocity we actually get the mean value over the velocity interval : Now here is the question since this sampling method is only second order accurate in . Is there a way to get a better approximation for the actual value of the velocity distribution function of the velocity ? I mean a other than reducing the velocity interval which would result in a higher amount of statistical scatter. Maybe by using the neighbor values and ? Edit: Nevermind, I found a solution that results in a fourth order accurate interpolation of the velocity distribution function. As soon as I get gnuplot to plot my results I will post the procedure here. Last edited by flotus1; December 12, 2014 at 13:42. |
|
December 12, 2014, 13:23 |
|
#2 |
Senior Member
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,897
Rep Power: 73 |
Quote:
Hello, I am not sure to get correctly your question but the average value when c is centered between +dc and -dc is a second order approximation of the pointwise value. It is similar to what happens in FVM. Higher order approximations require suitable reconstruction/deconvolution techniques |
|
December 12, 2014, 13:39 |
|
#3 |
Super Moderator
Alex
Join Date: Jun 2012
Location: Germany
Posts: 3,428
Rep Power: 49 |
You are right, I tend to confuse orders of accuracy.
The thing is that for the purpose of the simulation involved, the second order accurate approximation was not accurate enough. If the remedy is so obvious I will rather not post my solution because I feel like I reinvented the wheel now. |
|
December 12, 2014, 13:53 |
|
#4 | |
Senior Member
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,897
Rep Power: 73 |
Quote:
A way can be developing in Taylor series the pointwise function and integrate each terms. |
||
December 13, 2014, 07:05 |
|
#5 |
Super Moderator
Alex
Join Date: Jun 2012
Location: Germany
Posts: 3,428
Rep Power: 49 |
For the sake of completeness, here is what I did.
The sampled DSMC value equals the following integral: The sum of this value and its two neighbors is Using a 4th order central difference formula for the first derivative we can reconstruct the value of : Here we can substitute the DSMC values: which results in This does exactly what I want and effectively removes the sampling bias I observed in the simulations. |
|
December 13, 2014, 07:16 |
|
#6 |
Senior Member
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,897
Rep Power: 73 |
If I understand, you are using reconstruction via primitive function, something like the reconstruction used in the ENO/WENO scheme.
You can also proceed this way: f(c) = f(0) + f'(0)*c + f''(0)*c^/2 + f'''(0)*c^3/6 + .... Then, integrate analytically each terms between +Deltac/2 and -Deltac/2. You see that terms like c, c^3 produce zero value of the integral. This way you have a relation between the average value (LHS) and pointwise values (RHS). You can truncate at suitable order that you need |
|
December 13, 2014, 07:18 |
|
#7 |
Senior Member
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,897
Rep Power: 73 |
PS: of course, I suppose that f is a continuous function of c, having all regular derivatives .....
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] How to define to right point for locationInMesh | Mirage12 | OpenFOAM Meshing & Mesh Conversion | 7 | March 13, 2016 15:07 |
get velocity gradient with a boundary function | Chris Lucas | OpenFOAM Programming & Development | 4 | August 27, 2012 04:11 |
Moving Mesh Velocity Issue: Mesh velocity does not equal displacement | Doginal | CFX | 2 | September 8, 2011 13:02 |
channelFoam for a 3D pipe | AlmostSurelyRob | OpenFOAM | 3 | June 24, 2011 14:06 |
[blockMesh] BlockMesh FOAM warning | gaottino | OpenFOAM Meshing & Mesh Conversion | 7 | July 19, 2010 15:11 |