나는 Mathematica에서 ndsolve와 매우 간단한 열전도 차별 방정식을 해결하려고 노력하고 있지만, 내가 얻는 솔루션은 상당히 이상합니다 ...

StackOverflow https://stackoverflow.com//questions/11701327

문제

이것은 매우 간단한 1 차원 고체상 열 전도 차동 방정식이며, 여기서는 코드입니다 :

 a = NDSolve[{D[721.7013888888889` 0.009129691127380562` tes[t, x], 
     t] == 2.04988920646734`*^-6 D[tes[t, x], x, x], 
   tes[t, 0] == 298 + 200 t, tes[t, 0.01] == 298, 
   tes[0, x] == 298}, {tes[t, x]}, {t, 0, 0.005}, {x, 0, 0.01}]
Plot3D[tes[t, x] /. a, {t, 0, 0.005}, {x, 0, 0.01}, PlotRange -> All]
(Plot[(tes[t, x] /. a) /. t -> 0.0005, {x, 0, 0.01}, 
  PlotRange -> All])
.

실행 한 후에는 다음과 같습니다. 온도 (TES로 명명 된 방정식)는 298보다 낮습니다!그것은 어리 석고, 열역학의 두 번째 법칙에 반대합니다 ...이 오류는 어떻게 나옵니까?어떻게 해결할 수 있습니까?

도움이 되었습니까?

해결책 2

이 문제는 여기 ,

해결되었습니다.

나는 아직이 질문을 올렸을 때 아직 자연을 잡지 않았다는 것을 인정해야합니다 ...

다른 팁

나는 이것의 수치 적 측면으로 만 다룰 것입니다.첫 번째, 방정식이 $ \ partial_t f=partial_ {x, x} f $의 방정식이됩니다.그런 다음 예를 들어

a = NDSolve[{D[ tes[t, x], t] == D[tes[t, x], x, x], 
   tes[t, 0] \[Equal] 1,
   tes[t, 1] \[Equal] 1,
   tes[0, x] \[Equal] Cos[2 \[Pi]*x/2]^2},
  tes[t, x],
  {t, 0, 1},
  {x, 0, 1}
  ]

Plot3D[tes[t, x] /. a, {t, 0, .2}, {x, 0, 1}, PlotRange -> All, 
 AxesLabel \[Rule] {"t", "x"}]
.

mathematica graphics

가열은 안쪽으로 확산됩니다 (참고 나는 경계와 초기 조건을 변경).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top