pimpleFoam maxCo

Main Forums Solver pimpleFoam maxCo

This topic contains 5 replies, has 2 voices, and was last updated by  ethanOh 2 years, 4 months ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #1366

    kimjs428
    Participant

    pisoFoam의 경우 max Co를 1 이내로 두어야 계산이 안정적으로 진행되고 따라서 time step을 아주 작게 가져가야 하는 것으로 알고 있습니다.
    pimpleFoam은 Merged piso-simple solver로, piso 알고리즘에 비해 더 큰 time step을 가져갈 수 있는 것으로 알고 있는데
    그러면 max Co를 어느 정도까지 할 수 있는 건가요?
    웬만큼 키워도 loop의 특성상 수렴은 할 것 같은데 이 결과에 대해 신뢰할 수 있는 걸까요?

    #1367

    ethanOh
    Participant

    pisoFoam 같은 경우는 relaxation factor가 적용 되어있지 않으니 Max CO가 1이하로 주거나 time step을 작게 주어야 계산이 안정적으로 돌아가게 될것 입니다.
    pimpleFoam의 경우는 위에 말씀하신것 처럼 Merged piso-simple solver로 relaxation이 적용이 가능하며 pisoFoam 보다는 안정적으로 계산하는 장점이 있습니다.
    max CO 같은 경우는 해석 case 마다 다르지만 1이상으로 해석이 되어도 initial residual을 기준으로 수렴성을 판단하기 때문에 수렴된 결과를 얻었다고 생각됩니다.
    pimpleFoam의 경우 nOuterCorrector의 수를 늘리고 initial residual의 기준 값을 설정하여 해석하면 수렴된 결과값을 얻을수 있습니다.
    initial residual 기준값을 설정하는것이 fvSolution파일에 PIMPLE 안에 residualControl 이라는 옵션이 있고 initial residual이 사용자가 설정한 기준값 이하로 떨어지게 되면 pimple iteration이 멈추고 다음 time step으로 가게 됩니다.
    해석방법은 tutotial에 compressible/rhoPimpleFoam/ras/angleDuct/system/fvSolution 예제를 참고 하시면 도옴될듯 합니다.

    • This reply was modified 2 years, 4 months ago by  ethanOh.
    #1369

    kimjs428
    Participant

    ethanOh님 자세한 답변에 감사드립니다.
    수렴된 결과값에 대한 신뢰도는 validation을 해봐야 알 것 같습니다.

    다른 한 가지 헷갈리는 부분이 있어서 다른 질문을 드립니다.

    말씀하신 residual control(pimple 내)에서 압력과 속도에 대한 residual을 지정해주는 것은 한 time step 내에서의 pimple iteration을 멈추기 위한 조건인데

    fvSolution에서
    solvers
    {
    p
    {
    solver GAMG;
    tolerance 1e-06;

    여기서 말하는 tolerance는 무엇인가요? pimple solver를 돌리면 pimple 내의 residual control 값에 의해 iteration 수렴이 되는 것 같은데
    그러면 solvers 내의 tolerance는 없어도 되는 건가요?

    #1370

    ethanOh
    Participant

    맞습니다. 실험값이 있는 결과와 validation을 하면 가장 정확히 알수있습니다.
    tolerance의 경우는 time step 내에 final residual이 tolerance이하로 떨어질때 내부 iteration이 멈추게 되고 다른 변수(U,epsilon,k등)를 풀게 됩니다.
    그렇게 때문에 solver 내의 tolerance는 있어야 합니다.

    #1371

    kimjs428
    Participant

    감사합니다.
    pimple solver에서 tolerance와 residualControl의 차이가 궁금했는데 residual 값을 계속 지켜본 결과

    fvSolution에서
    solvers에서 각 변수별로 solver와 함께 지정해주는 tolerance는 한 timestep내의 각 iteration이 멈추게 하는 조건이고
    pimpleFoam 내에서 지정해주는 residualControl 값은 각 iteration이 시작될 때의 initial residual값과 비교하네요.

    즉 tolerance는 iteration을 넘기는 역할
    residualControl은 time step을 넘기는 역할을 하는 것 같습니다.
    residualControl을 지정하지 않았을 경우에는 nOuterCorrectors 횟수대로 iteration을 꽉 채우고 다음 스텝으로 넘어갑니다.

    #1372

    ethanOh
    Participant

    네! 설명하신 그대로의 개념이 맞습니다.

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.