hystrath / hyStrath

Hypersonic / Rarefied gas dynamics code developments (GPL-3.0)
https://hystrath.github.io/
GNU General Public License v3.0
226 stars 111 forks source link

accommodation coefficient in dsmcfoam+ #85

Closed Frekby closed 3 years ago

Frekby commented 3 years ago

Hello, is it possible to set a certain accommodation coefficient in the form of a boundary condition on the walls?

nanoR4K commented 3 years ago

Good morning Frekby, you have certain models with this function on dsmcfoam+ For instance, here's an entry for the dsmcCLLWallPatch model:

boundaryModel dsmcCLLWallPatch;

    dsmcCLLWallPatchProperties
    {
      normalAccommodationCoefficient            0.875;
      tangentialAccommodationCoefficient        0.875;
      rotationalEnergyAccommodationCoefficient  0.875;
      vibrationalEnergyAccommodationCoefficient 0.875;

      velocity             (0 0 0);
      temperature            300;

    }
}`

I didn't take a further look into the source code, but it should contain other models like Maxwell, with similar coefficient variables Available.

Let me know if you have any more questions on this boundary condition, we can set it up together.

Best regards nanoR4K.

Frekby commented 3 years ago

is there any documentation or is it only in the code to look at? I didn't find anything about it on the official website. And is there a model in which the coefficients of accommodation depend on the angle of incidence

nanoR4K commented 3 years ago

it's under 'src/lagrangian/dsmc/boundaries/derived/patchBoundaries'

Frekby commented 3 years ago

tell me how to set dsmcDiffuseSpecularWallPatch

it's under 'src/lagrangian/dsmc/boundaries/derived/patchBoundaries'

nanoR4K commented 3 years ago

Under boundariesDict, insert the following entry, changing "wall name" to your boundary name,

boundary { patchBoundaryProperties { patchName Wall name; }

    boundaryModel        dsmcDiffuseSpecularWallPatch;

    dsmcDiffuseSpecularWallPatchProperties
    {

     diffuseFraction   1;      //percentage in which the wall behaves as a diffuse wall 0-1

      velocity             (0 0 0);
      temperature              0;

    }
}
Frekby commented 3 years ago

Under boundariesDict, insert the following entry, changing "wall name" to your boundary name,

boundary { patchBoundaryProperties { patchName Wall name; }

    boundaryModel        dsmcDiffuseSpecularWallPatch;

    dsmcDiffuseSpecularWallPatchProperties
    {

     diffuseFraction   1;      //percentage in which the wall behaves as a diffuse wall 0-1

      velocity             (0 0 0);
      temperature              0;

    }
}

But at the same time it is impossible to set the coefficient of accommodation?

nanoR4K commented 3 years ago

Under boundariesDict, insert the following entry, changing "wall name" to your boundary name,

boundary { patchBoundaryProperties { patchName Wall name; }

    boundaryModel        dsmcDiffuseSpecularWallPatch;

    dsmcDiffuseSpecularWallPatchProperties
    {

     diffuseFraction   1;      //percentage in which the wall behaves as a diffuse wall 0-1

      velocity             (0 0 0);
      temperature              0;

    }
}

But at the same time it is impossible to set the coefficient of accommodation?

Right, this particular boundary condition does not use accommodation coefficients.

dsmcCLLWallPatch on the other hand, has such functionalities (tangencial, normal and energy accommodation coefficients).

Here's how to setup it:

boundary
    {
        patchBoundaryProperties
        {
            patchName     wall name;
        }

        boundaryModel        dsmcCLLWallPatch;

        dsmcCLLWallPatchProperties
        {
          normalAccommodationCoefficient            1;
          tangentialAccommodationCoefficient        1;
          rotationalEnergyAccommodationCoefficient  1;
          vibrationalEnergyAccommodationCoefficient 1;

          velocity             (0 0 0);
          temperature            0;

        }
    }

Please refer to the ".h" source files, each one has the model's input requirements and functionality.

Frekby commented 3 years ago

Thank you for the answers