unable to find symbolic solution

2 ビュー (過去 30 日間)
Dhananjay Singh
Dhananjay Singh 2020 年 11 月 23 日
コメント済み: Dhananjay Singh 2020 年 11 月 23 日
%heat conduction with an electrical heat source in copper wire
clc; clear;
close all;
%parameters
R = 0.2; % radius in m
L = 10; % length of wire in m
ke = 60000000; % electrical conductivity of copper in S/m
k = 401; % thermal conductivity of copper in W/m.K
I = 10; % electrical current in Amp
Se = (I*I)/ke; % rate of heat production per unit volume
T0 = 20 % Temp in Celcius
%Energy Balance in cylindrical shell of thickness del(r) and length L
% Doing the energy balance and taking del(r) common and limiting it to 0, a
% linear differential equation is formed.
% SOLVING DIFFERENTIAL EQUATION
syms q(r) %q is the heat flux
ode45 = diff(r*q,r) == Se*r
cond = q(0)~=Inf;%B.C at r = 0,q~=inf is invalid so we took it's value 0 to get similar answer
qSol(r)=dsolve(ode45,cond)
%Temperature Profile
syms T(r)
ode45 = diff(T,r) ==(-Se*r/(2*T))
cond = q(R)==T0;
TSol(r)=dsolve(ode45,cond)

採用された回答

Stephan
Stephan 2020 年 11 月 23 日
1.
The condition for the second ode is invalid - i assume you meant:
cond = T(R)==T0;
instead of
cond = q(R)==T0;
2.
As you stated by yourself in the code replace:
cond = q(0)~=Inf; %B.C at r = 0,q~=inf is invalid so we took it's value 0 to get similar answer
by
cond = q(0)==0; %B.C at r = 0,q~=inf is invalid so we took it's value 0 to get similar answer
3.
And finally i recommend to replace the variable ode45 by ode, because this can cause trouble due to an inbuilt function named ode45.
Making those changes worked well:
%heat conduction with an electrical heat source in copper wire
clc; clear;
close all;
%parameters
R = 0.2; % radius in m
L = 10; % length of wire in m
ke = 60000000; % electrical conductivity of copper in S/m
k = 401; % thermal conductivity of copper in W/m.K
I = 10; % electrical current in Amp
Se = (I*I)/ke; % rate of heat production per unit volume
T0 = 20 % Temp in Celcius
%Energy Balance in cylindrical shell of thickness del(r) and length L
% Doing the energy balance and taking del(r) common and limiting it to 0, a
% linear differential equation is formed.
% SOLVING DIFFERENTIAL EQUATION
syms q(r) %q is the heat flux
ode = diff(r*q,r) == Se*r
cond = q(0)==0;%B.C at r = 0,q~=inf is invalid so we took it's value 0 to get similar answer
qSol(r)=dsolve(ode,cond)
%Temperature Profile
syms T(r)
ode = diff(T,r) ==(-Se*r/(2*T))
cond = T(R)==T0;
TSol(r)=dsolve(ode,cond)
  4 件のコメント
Dhananjay Singh
Dhananjay Singh 2020 年 11 月 23 日
so is there any other method ? Please provide a code if possible.The requirement is to solve a differential equation: rdq/dr + q = Se*r with a condition that at r = 0 q ~= infinity.
Thank You
Dhananjay Singh
Dhananjay Singh 2020 年 11 月 23 日
Also how do i now plot a graph of qSol(r) wrt r ?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeNumber Theory についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by