Wolfram FEM | 시도해 볼 것들

모든 코드는 클릭 한 다음
+
를 눌러 편집하거나 실행할 수 있습니다.
유한 요소법 초보자부터 전문가까지 Wolfram FEM은 고급 기하학 및 시각화 기능과 완벽하게 통합된 다중 물리 편미분 방정식 모델, 솔버 및 원활한 후처리 기능을 제공하여 설계 동작을 포착합니다.

유체 역학

기호 레이놀즈 수 ℛℯ, 유체 속도
u
와
v
, 압력
p
를 사용하여 나비에-스토크스 방정식을 설정합니다:
실행
In[]:=
vars={{u[x,y],v[x,y],p[x,y]},{x,y}};​​pars=<|"ReynoldsNumber"->ℛℯ|>;
가운데에 구멍이 있는 기하학을 만듭니다:
실행
In[]:=
Ω=RegionDifference[Rectangle[],Disk[{1/2,1/2},1/5]];
PDE 및 경계 조건을 정의합니다:
실행
In[]:=
pde=FluidFlowPDEComponent[vars,pars]=={0,0,0};​​bcs={DirichletCondition[{u[x,y]1,v[x,y]0},y1],DirichletCondition[{u[x,y]0,v[x,y]0},y<1],DirichletCondition[p[x,y]0,x0&&y0]};
매개변수 ℛℯ에 따라 나비에-스토크스 솔버를 생성합니다:
실행
In[]:=
navierStokesSolver=ParametricNDSolveValue[{pde,bcs},{u[x,y],v[x,y],p[x,y]},{x,y}∈Ω,ℛℯ,Method{"FiniteElement","InterpolationOrder"{u2,v2,p1}}];
레이놀즈 수 ℛℯ=100에 대한 나비에-스토크스 방정식을 풉니다:
실행
In[]:=
{xVelocity,yVelocity,pressure}=navierStokesSolver[100];
유체 속도의 스트림 플롯을 만듭니다:
실행
In[]:=
StreamPlot[{xVelocity,yVelocity},{x,y}∈Ω]

추가로 시도해 볼 것들

◼
  • 레이놀즈 수 ℛℯ를 1000과 같이 사용합니다 (이 방법은 약 5000까지 잘 수렴해야 합니다).
  • ◼
  • 솔루션 영역의 구멍을 이동하여 기하 구조를 변경합니다.
  • ◼
  • 상단 경계 조건에서 흐름 속도를 변경하기 위해 두 번째 매개변수를 추가합니다.
  • 다음 단계

    유체 역학 응용 모델과 논문 또는 FluidFlowPDEComponent 참조 페이지를 살펴봅니다.

    결합된 열전달 및 물질 수송

    멀티피직스 모델은 동일한 물리적 시스템의 다양한 측면을 하나의 결합된 모델로 결합합니다. 예를 들어, 온도와 농도에 따라 달라지는 화학 반응은 다음과 같습니다:
    heattransfermodel
    ︷
    ∂T(t,x)
    ∂t
    +∇·(-k∇T(t,x))-Q
    =
    0
    masstransportmodel
    ︷
    ∂c(t,x)
    ∂t
    +∇·(-d∇c(t,x))-R
    =
    0
    x∈[0,1]
    구간에서 결합된 열 및 물질 전달 모델을 풉니다:
    열전달 물질 수송 모델 변수 온도
    T
    , 농도
    c
    및 시간
    t
    를 설정합니다:
    실행
    In[]:=
    hvars={T[t,x],t,{x}};​​mvars={c[t,x],t,{x}};
    열전도도
    k
    , 질량 확산도
    d
    , 열원
    Q
    및 온도와 농도를 결합하는 질량원
    R
    을 사용하여 모델 매개변수를 지정합니다:
    실행
    In[]:=
    pars=<|"ThermalConductivity"0.01,"DiffusionCoefficient"0.01,"HeatSource"0.2*R,"MassSource"R,R->-10^-3*T[t,x]*c[t,x]|>;
    결합된 PDE와 초기 조건을 설정합니다:
    실행
    In[]:=
    pdes={HeatTransferPDEComponent[hvars,pars]0,MassTransportPDEComponent[mvars,pars]0};​​ics={T[0,x]200+800x,c[0,x]800};
    모델을 풉니다:
    실행
    In[]:=
    {Tfun,cfun}=NDSolveValue[{pdes,ics},{T,c},{t,0,10},{x}∈Line[{{0},{1}}]];
    시간이 지남에 따라 솔루션이 어떻게 진화하는지 살펴봅니다:
    실행
    In[]:=
    ManipulatePlot{cfun[t,x],Tfun[t,x]},{x}∈Line[{{0},{1}}],
    ,{{t,1.3},0,10},
    

    추가로 시도해 볼 것들

    ◼
  • 초기 조건이나 매개변수 R을 수정합니다.
  • ◼
  • 두 개의 공간 차원에서 문제를 설정, 해결 및 시각화합니다.
  • 다음 단계

    열전달 응용 모델 및 논문, 대량 수송 응용 모델 및 논문, HeatTransferPDEComponent 또는 MassTransportPDEComponent 참조 페이지를 살펴봅니다.

    양자 역학

    조화 퍼텐셜을 갖는 1D 시간 종속 문제를 설정합니다:
    실행
    In[]:=
    vars={Ψ[t,x],t,{x}};​​pars=<|"ReducedPlanckConstant"->1,"SchrodingerPotential"->
    2
    x
    2
    |>;
    초기 조건으로 일관된 상태를 갖는 PDE를 정의합니다:
    실행
    In[]:=
    pde=SchrodingerPDEComponent[vars,pars]==0;​​ic=Ψ[0,x]==
    1
    4
    1
    π
    -
    2
    (x-1)
    2
    
    ;
    결과 모델을 풉니다:
    실행
    In[]:=
    solution=NDSolveValue[{pde,ic},Ψ,{t,0,20},{x,-4,4}]
    고전적인 전환점 사이에서 진동하는 일관된 상태를 시각화합니다:
    실행
    In[]:=
    AnimatePlot
    2
    Norm[solution[t,x]]
    ,
    2
    x
    2
    ,{x,-4,4},
    ,{t,0,20},
    

    추가로 시도해 볼 것들

    ◼
  • 산란 문제를 연구하기 위해 잠재력과 초기 상태를 변경합니다.
  • ◼
  • 시간에 독립적인 해밀토니언의 고유 함수를 계산합니다.
  • ◼
  • 2차원 또는 3차원의 공간으로 양자 시스템을 모델링합니다.
  • 다음 단계

    물리학 응용 모델과 논문 또는 SchrodingerPDEComponent 참조 페이지를 살펴봅니다.