Galios

Forum Replies Created

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • in reply to: 솔버 컴파일에 관하여 #1302
    Galios
    Galios
    Participant

    안녕하세요 H님, Segmentation fault (core dumped)의 오류는 대체로
    OpenMPI implementation 즉, 환경변수로 인해 대체로 일어납니다.

    해결법으로 대체로 다음과 같은 방식을 사용한다고 합니다.

    echo "$WM_PROJECT_DIR/etc/bashrc"

    와 같은 코드를 사용하시거나 직접 OpenFOAM-etc-bashrc 파일을 여셔서

    export WM_MPLIB=SYSTEMOPENMPI

    위 코드를 다음과 같이 대체합니다.

    export WM_MPLIB=OPENMPI

    이러한 방법도 해결이 안되신다면 다시 wmake를 하시되 다음과 같이 로그를 보시는 것이 좋습니다.

    cd $WM_PROJECT_DIR
    ./Allwmake > make.log 2>&1

    더 자세한 내용을 알고 싶으시다면 다음의 주소를 들어가 보시기 바랍니다.

    CFD_segmentation fault

    Galios
    Galios
    Participant

    사실 튜토리얼을 대체로 응용하여 시뮬레이션을 진행하여
    문법에 많이 취약했었는데 좋은 가이드를 소개해주셔서 감사합니다. ^^

    in reply to: snappyHexMesh와 setFields 함께 못쓰나요? #1225
    Galios
    Galios
    Participant

    오랜만이시네요.
    아무래도 alpha.air 파일이 time directory에 없어서 생기는 문제인 듯 싶습니다.
    snappyHexMesh는 mesh를 만들 수는 있지만 field data는 포함하지 않습니다.
    마찬가지로 setFields도 field data를 수정할 뿐, field data를 생성하지 않습니다.
    따라서 사용자가 초기 조건, 경계 조건을 설정해주어야 합니다.

    in reply to: Allwmake 오류 #1209
    Galios
    Galios
    Participant

    저도 sudo ./Allwmake 사용해보았는데 다음과 같은 오류 커맨드가 나타났습니다.
    sudo: ./Allwmake command not found
    그래서 root 계정으로 로그인하여 ./Allwmake를 실행했지만 또 이러한 오류가 나타나더라고요..
    -bash: ./Allwmake permission denied
    어떻게 해야할지 잘 모르겠네요..

    Galios
    Galios
    Participant

    음, 일단 조금 수정할만한 내용 말씀드릴게요.
    1. cpDict

    IOdictionary cpDict
       (
          IOobject
          (
               "cpDict",
              mesh.time().constant(),
              mesh,
              IOobject::MUST_READ,
              IOobject::NO_WRITE
          )
       );
    
    autoPtr<DataEntry<scalar> > cpValue(DataEntry<scalar>::New("cpValue", cpDict));
        
    dimensionedScalar Cp("Cp", dimensionSet(0, 0, 0, 0, 1, 0, 0), 0.0);

    2.
    Cp = cpValue->value(mesh.time().timeOutputValue());

    다시 한번 실행해보시고 말씀해주세요~^^

    Galios
    Galios
    Participant

    말씀하시는 내용을 보니까 solver가 complie은 됬지만, 제대로 작동을 안하는 것 같네요.
    한 가지 지금 생각나는 것은 Cp 값을 scalar가 아니라 dimensionedScalar로 표현해야 할 것 같아요.
    참고할만한 코드 첨부해드릴게요.

    find $FOAM_UTILITIES $FOAM_SOLVERS -name "*.[CH]" -type f | xargs grep dimensionedScalar
    dimensionedScalar Cp("Cp", dimEnergy/dimTemperature, 0.0);
    dimensionedScalar Cp("Cp", dimensionSet(0, 2, -1 , 0, 0), 0.0);

    지금 보여드린 것은 제가 fine님 코드에 맞게 수정한 것이 아니라 그냥 참고용 예시로 보여드린 거니까 확인해보고 사용하세요^^

    Galios
    Galios
    Participant

    Case에 대한 자세한 설명 감사합니다. 일단 그러면 fine님께서 쓰실만한 코드를 몇개 첨부해드릴테니까 이 코드들을 이용해서 한번 try 해보시기 바랍니다.

    1. “uniformFixedValueFvPatchField” (“src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue”)

    autoPtr<DataEntry<Type> > uniformValue_;
    
    uniformValue_(DataEntry<Type>::New("uniformValue", dict))
    {
        const scalar t = this->db().time().timeOutputValue();
        fvPatchField<Type>::operator==(uniformValue_->value(t));

    2. “applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C”

    IOdictionary dsmcInitialiseDict
        (
            IOobject
            (
                "dsmcInitialiseDict",
                mesh.time().system(),
                mesh,
                IOobject::MUST_READ_IF_MODIFIED,
                IOobject::NO_WRITE
            )
        );

    3.
    3.1 Creatin section에 넣어주세요.

    IOdictionary cpDict
    (
        IOobject
        (
            "cpDict",
            mesh.time().constant(),
            mesh,
            IOobject::MUST_READ,
            IOobject::NO_WRITE
        )
    );
    
    autoPtr<DataEntry<scalar> > cpValue(DataEntry<scalar>::New("cpValue", cpDict));

    3.2 Calculation section에 넣어주세요. (Cp 사용하기 전에 넣어주셔야합니다.)
    Cp = cpValue->value(mesh.time().timeOutputValue()));
    4.
    4.1 constant 폴더 속에 cpDict라는 Dict 파일을 만들어주세요. 내용은 아래와 같습니다.
    * 지금 이대로 실행하면 header가 없다고 오류가 뜰 것입니다. 필요한 header 들은 복사해와주세요.

    cpValue     tableFile;       
    cpValueCoeffs       
    {       
        fileName     "$FOAM_CASE/myDataFile"
        outOfBounds  clamp;       
    }

    4.2 case 폴더 안에 “myDataFile”을 만들어 주세요. 그리고 위의 text 파일을 아래와 같이 형식을 바꿔서 정리해주세요.

    (
      (4 0.0)
      (8 0.0)
      (12 0.0)
      (16 0.0)
      (20 0.0)
      (24 0.10108117)
      (28 1.0127527)
      (32 2.0)
      (36 1.557599)
      (40 1.131114)
      (44 1.1927048)
      (48 1.289628)
      (52 1.295573)
      (56 1.140025)
      (60 1.038649)
      (64 1.0607834)
      (68 1.1071031)
      (72 1.0575966)
      (76 1.0918694)
      (80 1.0274673)
      (84 1.005336)
      (88 0.9897777)
      (92 0.93968034)
      (96 0.932393)
      (100 0.8909937)
      (104 0.93785316)
      (108 0.8845323)
      (112 0.91211754)
      (116 1.0066646)
      (120 0.92081094)
    );

    여기까지 해보고 안되면 다시 말해주세요^^

    Galios
    Galios
    Participant

    fine님 안녕하세요.
    음, 지금 문제를 보니까 일단 문제에 대한 구체적인 설명이 조금 더 있었으면 좋겠네요.
    C,D,Cp 값들이 각각 어떤 값을 의미하는지, 그리고 전체적인 simulation에 대해서 자세한 설명 부탁드립니다.

    in reply to: Thirdparty 컴파일 문제 #1155
    Galios
    Galios
    Participant

    윈도우같은 친숙한 OS가 아니라 역시 이런 문제가 생기는 군요.
    리눅스 같은 운영체제는 포맷 후 항상 package 설치 및 업데이트는 필수인 것 같습니다.

    GameBegins님의 조언에 따라 해결할 수 있었습니다. 아마 혼자서는 절대 못 해결했을 것 같네요.
    오늘도 좋은 하루 되시기 바랍니다~

    in reply to: floatingObject 초기 각도 설정 #1145
    Galios
    Galios
    Participant

    도움이 되셨다니 다행이네요.
    혹시 몰라 더욱 참고하실 수 있는 것을 소개해드리겠습니다.

    1. incompressible/pimpleDyMFoam/movingCone tutorial의 0/pointMotionUx 파일
    2. ship simulation with OpenFOAM
    http://www.tfd.chalmers.se/~hani/kur…reeSurface.pdf

    OpenFOAM 열심히 하시기 바랍니다.

    in reply to: floatingObject 초기 각도 설정 #1143
    Galios
    Galios
    Participant

    안녕하세요~ AmericaBS님
    간단하게 생각하시면 초기 각도는 쉽게 변경되지 않도록 hard-coded되어 있기 때문에 격자 자체를 수정하는
    것이 가능하겠네요.
    의사코드, pseudo-solver인 moveDynamicMesh를 사용하신다면 원래 위치에 대해 회전하여 필요한 각도를 얻으실 수 있을 것입니다. 물론, 이에 따라 dynamicMeshDict의 설정을 바꿔주어야 할 것입니다. 이에 대한 정보는 sloshing tank 튜토리얼에서 확인해 보세요.
    마지막으로 setFields의 alpha 값을 적당하게 정해주셔야 한다는 것을 잊지 말아주세요.
    alpha field는 mesh와 맞춰서 바뀌어야 하며, 정의된 cell들을 내포하고 있어야 합니다.

    그럼 잘 되시길 빌겠습니다! 수고하세요~

    in reply to: 원심펌프 solver 관련 질문 #1123
    Galios
    Galios
    Participant

    정말 도움이 많이 될 것 같네요!
    혹시, 그렇게 결정하신 이유 혹은 참고문헌이 있으신가요?

    in reply to: 원심펌프 solver 관련 질문 #1120
    Galios
    Galios
    Participant

    답변 정말 감사합니다 ^^
    혹시 initial turbulence parameter도 어떻게 설정해야 할지 여쭤봐도 될가요?

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