2015년 4월 20일 월요일

Open Source CAE Toolchain 8 - CFD with Elmer with Transient




이번에 시도해 본 것은,
Elmer GUI 상에서
Heat Transfer 및 Navier-Stokes Equation을 연성시켜 계산하는
Multi Physics 및 천이(Transient) 현상을 모사 가능한지 확인해 보는 것이다.

사용된 모델링은 아래와 같다.


녹색 부분을 PCB라고 치고, 그 위에 동그라미와 네모로 돌출된 부분을 Heat Source라고 해 준다.
그리고 이 부분을 파낸 형상을 메쉬로 만들어서 케이스 내부 대류 공간으로 삼는다.

케이스 뒤쪽의 큰 동그라미 부분을 Inlet, 앞쪽의 사각형 배열을 Outlet으로 한다.

정확한 경계조건을 주는게 아무래서 서툴다 보니
대략적으로 수렴만 되면 다행이다 싶은 정도의 경계조건으로 주었다.
따라서 실제 물리현상을 제대로 모사한 상태라고는 보기 힘들다.
다만 경계조건을 잘 검토해서 손봐주면 충분히 가능하다는 점을 증명하는데는 충분하리라 생각된다.

난류(Turbulance)는 고려하지 않았다.
k-epsilon 모델 같은걸 쓰려면 k값을 알아야 하는데 
이건 물성치도 아니고 그냥 실험값이기 때문에 열유체역학에 정통하지 못한 나로서는
이 수치를 얼마나 줘야 적절한지 감이 아직 전혀 잡히지 않는다.

case.sif 내용은 아래와 같다.
Header CHECK KEYWORDS Warn Mesh DB "." "." Include Path "" Results Directory "" End Simulation Max Output Level = 5 Coordinate System = Cartesian Coordinate Mapping(3) = 1 2 3 Simulation Type = Transient Steady State Max Iterations = 1 Output Intervals = 1 Timestepping Method = BDF BDF Order = 1 Timestep intervals = 100 Timestep Sizes = 0.05 Solver Input File = case.sif Post File = case.ep End Constants Gravity(4) = 0 -1 0 9.82 Stefan Boltzmann = 5.67e-08 Permittivity of Vacuum = 8.8542e-12 Boltzmann Constant = 1.3807e-23 Unit Charge = 1.602e-19 End Body 1 Target Bodies(1) = 1 Name = "Body 1" Equation = 1 Material = 1 End Solver 2 Equation = Heat Equation Procedure = "HeatSolve" "HeatSolver" Variable = Temperature Exec Solver = Always Stabilize = True Bubbles = False Lumped Mass Matrix = False Optimize Bandwidth = True Steady State Convergence Tolerance = 1.0e-5 Nonlinear System Convergence Tolerance = 1.0e-7 Nonlinear System Max Iterations = 20 Nonlinear System Newton After Iterations = 3 Nonlinear System Newton After Tolerance = 1.0e-3 Nonlinear System Relaxation Factor = 1 Linear System Solver = Iterative Linear System Iterative Method = BiCGStab Linear System Max Iterations = 500 Linear System Convergence Tolerance = 1.0e-10 BiCGstabl polynomial degree = 2 Linear System Preconditioning = Diagonal Linear System ILUT Tolerance = 1.0e-3 Linear System Abort Not Converged = False Linear System Residual Output = 1 Linear System Precondition Recompute = 1 End Solver 1 Equation = Navier-Stokes Procedure = "FlowSolve" "FlowSolver" Variable = Flow Solution[Velocity:3 Pressure:1] Exec Solver = Always Stabilize = True Bubbles = False Lumped Mass Matrix = False Optimize Bandwidth = True Steady State Convergence Tolerance = 1.0e-5 Nonlinear System Convergence Tolerance = 1.0e-7 Nonlinear System Max Iterations = 20 Nonlinear System Newton After Iterations = 3 Nonlinear System Newton After Tolerance = 1.0e-3 Nonlinear System Relaxation Factor = 1 Linear System Solver = Iterative Linear System Iterative Method = BiCGStab Linear System Max Iterations = 500 Linear System Convergence Tolerance = 1.0e-10 BiCGstabl polynomial degree = 2 Linear System Preconditioning = Diagonal Linear System ILUT Tolerance = 1.0e-3 Linear System Abort Not Converged = False Linear System Residual Output = 1 Linear System Precondition Recompute = 1 End Equation 1 Name = "Equation 1" Convection = Computed Active Solvers(2) = 2 1 End Material 1 Name = "Air (room temperature)" Heat Conductivity = 0.0257 Heat Capacity = 1005.0 Density = 1.205 Relative Permittivity = 1.00059 Viscosity = 1.983e-5 Sound speed = 343.0 Heat expansion Coefficient = 3.43e-3 End Boundary Condition 1 Target Boundaries(28) = 1 2 3 4 5 6 7 8 9 11 12 13 14 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 Name = "walls" Noslip wall BC = True Temperature = 293 End Boundary Condition 2 Target Boundaries(1) = 10 Name = "inlet" Velocity 3 = -0.01 Temperature = 293 End Boundary Condition 3 Target Boundaries(5) = 15 16 17 18 19 Name = "outlet" External Pressure = 0 End Boundary Condition 4 Target Boundaries(1) = 40 Name = "pcb" Noslip wall BC = True End Boundary Condition 5 Target Boundaries(13) = 35 36 37 38 39 41 42 43 44 45 46 47 48 Name = "heat_source" Noslip wall BC = True Temperature = 333 End Solver 3 Exec Solver = after timestep Equation = "result output" Procedure = "ResultOutputSolve" "ResultOutputSolver" Output File Name = "case" Output Format = String "vtu" Binary Output = True Single Precision = True Save Geometry Ids = True End



수렴상태를 보면 Heat Eq.은 아주 일찌감치 수렴이 끝나버린다.
열원의 표면온도를 고정시켜 놓았으니 정상상태에 일찍 도달해 버린 것이다.....
때문에 열의 전달 상태를 박진감 넘치게 보는 건 나중으로 미루고.


Heat 부분은 이렇게 고정되어 버린다.


Transient 스냅샷은 0.1초 간격으로 100개로 했다.
따라서 해석시간은 10722.13초로 아주 길게 나온다.

Paraview로 만든 동영상은 다음과 같다.




Flow가 부들부들 떠는게 제법...  ㅋㅋㅋ


추가로 다른 연습한 것도 올려 둔다...










댓글 없음:

댓글 쓰기