BioHeat Equation solution in MATLAB using pdepe

  • MATLAB
  • Thread starter m.r.fouladi
  • Start date
  • Tags
    Matlab Pde
In summary: I don't understand why.In summary, the Equation seeks to find the power delivered to a tumor by an electrode in the center of the tumor. The assumptions made include that the tumor has a radius of 1 cm, that it is perfused at the same level as healthy tissue, that the power is delivered locally to the tumor, and that the initial temperature of the tumor and surrounding tissue is uniform at 37 degrees Celsius. The solution to the equation is computed using a 20-mesh point grid.
  • #1
m.r.fouladi
2
0
We have this Equation as bioheat equation:
∂T/∂t = α ∇2T + 1/ρc[S+Sp+Sm]
and also this:
Sp=mbcb(Tab-T)
that all α,ρ,c,S,Sm,mb,cb,Tab are constants, now I want to solve this equation in conditions below with pdepe in MATLAB:
There is a Tumor as a sphere with radius 1 cm exactly in center of a Normal Tissue with radius of 5 cm, an electrode at t=0 gives an Energy to the center of Tumor for 400 seconds that T will vary and we want to have this variation by solving this equation, also below assumptions is considered:
We assume that Tumor has the radius of 1 cm and that is perfused at the same level as healthy tissue. The tumor is located at the center of a sphere of healthy tissue that has a radius of 5 cm and all of the tissue has a metabolic energy release rate of 145 W/m3.
The power is delivered locally to the tumor by positioning the electrode in the center of the tumor. the initial temperature of tumor and surrounding tissue is uniform at 37 °C. in addition, It is assumed that because of symmetry there is zero flux at the center of the tumor and that at the outer surface of healthy tissue the flux is also zero. the following numerical values for the parameters are used:
mb = 0.18
cb = 3300
Sm = 145
Tab = 37 °C
α = 10∧(-7)
c=3800
S= 4 * 10∧(5)
ρ= 850.I coded it in MATLAB such below, but my code isn't right as my knowledge, please correct it my masters:
Matlab:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function pdex1

m = 2;
x = 0.001:0.001:05;
t = 0:1:400;

sol = pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);
% Extract the first solution component as u.
u = sol(:,:,1);

% A surface plot is often a good way to study a solution.
surf(x,t,u)
title('Numerical solution computed with 20 mesh points.')
xlabel('Distance x')
ylabel('Time t')

% A solution profile can also be illuminating.
figure
plot(x,u(end,:))
title('Solution at t = 2')
xlabel('Distance x')
ylabel('u(x,400)')
% --------------------------------------------------------------
function [c,f,s] = pdex1pde(x,t,u,DuDx)
c = 1e7;
f = DuDx;
if (x<0.01)
s = (18.089*10^(-2)-(18*10^(-5)*u))*(1e7);
else
s=594*(310-u)/(850*3800)
end
% --------------------------------------------------------------
function u0 = pdex1ic(x)
u0 = 310;
% --------------------------------------------------------------
function [pl,ql,pr,qr] = pdex1bc(xl,ul,xr,ur,t)
pl = ul-exp((-18)*10^(-5)*t)-1004.94;
ql = 0;
pr = ul-exp((-18)*10^(-5)*t)-1004.94;
qr = 0;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
why It's failed?
 
Last edited by a moderator:
Physics news on Phys.org
  • #2
m.r.fouladi said:
why It's failed?
Why do you say it failed?

Also, I have added [code] [/code] tags around your code to make it more readable. Please do that every time you post code.
 
  • #3
DrClaude said:
Why do you say it failed?

Also, I have added [code] [/code] tags around your code to make it more readable. Please do that every time you post code.
thanks for your attention.
because It doesn't agree with my physics knowledge of this problem
 

FAQ: BioHeat Equation solution in MATLAB using pdepe

What is the BioHeat Equation?

The BioHeat Equation is a mathematical model used to describe heat transfer in biological systems, such as human tissues. It takes into account heat generation from metabolic processes, heat conduction within the tissue, and heat transfer with the surrounding environment.

How is the BioHeat Equation solved in MATLAB?

The BioHeat Equation can be solved in MATLAB using the built-in function pdepe, which is specifically designed for solving partial differential equations. This function uses a finite difference method to approximate the solution.

What is the input required for solving the BioHeat Equation in MATLAB?

The input required for solving the BioHeat Equation in MATLAB using pdepe includes the equation coefficients, initial conditions, boundary conditions, and a mesh grid over the domain of interest. These inputs must be defined as functions or matrices in the MATLAB environment.

How accurate is the solution obtained from pdepe for the BioHeat Equation?

The accuracy of the solution obtained from pdepe for the BioHeat Equation depends on the user-defined mesh grid and the choice of numerical method. Generally, a finer mesh and a more advanced numerical method will result in a more accurate solution. It is recommended to perform a sensitivity analysis to determine the appropriate mesh and numerical method for the specific application.

Can pdepe be used to solve the BioHeat Equation for complex geometries?

Yes, pdepe can be used to solve the BioHeat Equation for complex geometries by defining the equation coefficients and boundary conditions as functions of the spatial coordinates. This allows for the solution to be obtained for any arbitrary geometry, as long as it can be discretized into a mesh grid.

Similar threads

Replies
8
Views
2K
Replies
1
Views
2K
Replies
6
Views
4K
Replies
1
Views
1K
Replies
1
Views
4K
Replies
3
Views
3K
Replies
7
Views
3K
Back
Top