Skip to main content
edited tags
Link
user21
  • 40.7k
  • 8
  • 114
  • 170
improved formatting; deleted incorrect tags
Source Link
bbgodfrey
  • 62.1k
  • 18
  • 92
  • 160

Can anyone tell me how I can use NDSolveValue to model reflective and constant heat flux boundary conditions. I am solving the heat equation. Essentially I have a PDE that is dependent on time, radius, and axial length. I want to solve it such that the spatial derivative of the temperature is equal to 0 on one boundary and equal to a constant on another boundary. Can anyone explain how I can set up NDSolveValue with these types of boundary conditions? I don't think it can be achieved using NeumannValue because that just sets the entire differential equation to a value. I have tried a lot of different approaches but nothing seems to be working for me. Can anyone please recommend a way to achieve this?

Edit: Here is some code

tf = 50; Ti = 100; 
Ls =  250; Lito = 5;  Lsl = 230;
Ltot = Ls + Lito + Lsl;
R = 1500; k = 1; 

eqn = r*\!\(
\*SubscriptBox[\(\[PartialD]\∂\), \(t\)]\(T[t, r, z]\)\) - r*k*\!\(
\*SubscriptBox[\(\[PartialD]\∂\), \(z, z\)]\(T[t, r, z]\)\) - k*\!\(
\*SubscriptBox[\(\[PartialD]\∂\), \(r\)]\(T[t, r, z]\)\) - k*r*\!\(
\*SubscriptBox[\(\[PartialD]\∂\), \(r, r\)]\(T[t, r, z]\)\);
Subscript[\[CapitalGamma]Subscript[Γ, 
  D] = {DirichletCondition[T[t, r, z] == Ti, z == Ltot], 
   DirichletCondition[T[t, r, z] == Ti, r == R]};

BCr = NDSolveValue[{eqn == 0, Subscript[\[CapitalGamma]Subscript[Γ, D], \!\(
\*SubscriptBox[\(\[PartialD]\∂\), \(r\)]\(T[t, 0, z]\)\) == 0, \!\(
\*SubscriptBox[\(\[PartialD]\∂\), \(z\)]\(T[t, r, 0]\)\) == -100, 
    T[0, r, z] == Ti}, T, {t, 0, tf}, {r, 0, R}, {z, 0, Ltot}];

Can anyone tell me how I can use NDSolveValue to model reflective and constant heat flux boundary conditions. I am solving the heat equation. Essentially I have a PDE that is dependent on time, radius, and axial length. I want to solve it such that the spatial derivative of the temperature is equal to 0 on one boundary and equal to a constant on another boundary. Can anyone explain how I can set up NDSolveValue with these types of boundary conditions? I don't think it can be achieved using NeumannValue because that just sets the entire differential equation to a value. I have tried a lot of different approaches but nothing seems to be working for me. Can anyone please recommend a way to achieve this?

Edit: Here is some code

tf = 50; Ti = 100; 
Ls =  250; Lito = 5;  Lsl = 230;
Ltot = Ls + Lito + Lsl;
R = 1500; k = 1; 

eqn = r*\!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(T[t, r, z]\)\) - r*k*\!\(
\*SubscriptBox[\(\[PartialD]\), \(z, z\)]\(T[t, r, z]\)\) - k*\!\(
\*SubscriptBox[\(\[PartialD]\), \(r\)]\(T[t, r, z]\)\) - k*r*\!\(
\*SubscriptBox[\(\[PartialD]\), \(r, r\)]\(T[t, r, z]\)\);
Subscript[\[CapitalGamma], 
  D] = {DirichletCondition[T[t, r, z] == Ti, z == Ltot], 
   DirichletCondition[T[t, r, z] == Ti, r == R]};

BCr = NDSolveValue[{eqn == 0, Subscript[\[CapitalGamma], D], \!\(
\*SubscriptBox[\(\[PartialD]\), \(r\)]\(T[t, 0, z]\)\) == 0, \!\(
\*SubscriptBox[\(\[PartialD]\), \(z\)]\(T[t, r, 0]\)\) == -100, 
    T[0, r, z] == Ti}, T, {t, 0, tf}, {r, 0, R}, {z, 0, Ltot}];

Can anyone tell me how I can use NDSolveValue to model reflective and constant heat flux boundary conditions. I am solving the heat equation. Essentially I have a PDE that is dependent on time, radius, and axial length. I want to solve it such that the spatial derivative of the temperature is equal to 0 on one boundary and equal to a constant on another boundary. Can anyone explain how I can set up NDSolveValue with these types of boundary conditions? I don't think it can be achieved using NeumannValue because that just sets the entire differential equation to a value. I have tried a lot of different approaches but nothing seems to be working for me. Can anyone please recommend a way to achieve this?

Edit: Here is some code

tf = 50; Ti = 100; 
Ls =  250; Lito = 5;  Lsl = 230;
Ltot = Ls + Lito + Lsl;
R = 1500; k = 1; 

eqn = r*\!\(
\*SubscriptBox[\(∂\), \(t\)]\(T[t, r, z]\)\) - r*k*\!\(
\*SubscriptBox[\(∂\), \(z, z\)]\(T[t, r, z]\)\) - k*\!\(
\*SubscriptBox[\(∂\), \(r\)]\(T[t, r, z]\)\) - k*r*\!\(
\*SubscriptBox[\(∂\), \(r, r\)]\(T[t, r, z]\)\);
Subscript[Γ, D] = {DirichletCondition[T[t, r, z] == Ti, z == Ltot], 
   DirichletCondition[T[t, r, z] == Ti, r == R]};

BCr = NDSolveValue[{eqn == 0, Subscript[Γ, D], \!\(
\*SubscriptBox[\(∂\), \(r\)]\(T[t, 0, z]\)\) == 0, \!\(
\*SubscriptBox[\(∂\), \(z\)]\(T[t, r, 0]\)\) == -100, 
    T[0, r, z] == Ti}, T, {t, 0, tf}, {r, 0, R}, {z, 0, Ltot}];
added 884 characters in body
Source Link

Can anyone tell me how I can use NDSolveValue to model reflective and constant heat flux boundary conditions. I am solving the heat equation. Essentially I have a PDE that is dependent on time, radius, and axial length. I want to solve it such that the spatial derivative of the temperature is equal to 0 on one boundary and equal to a constant on another boundary. Can anyone explain how I can set up NDSolveValue with these types of boundary conditions? I don't think it can be achieved using NeumannValue because that just sets the entire differential equation to a value. I have tried a lot of different approaches but nothing seems to be working for me. Can anyone please recommend a way to achieve this?

Edit: Here is some code

tf = 50; Ti = 100; 
Ls =  250; Lito = 5;  Lsl = 230;
Ltot = Ls + Lito + Lsl;
R = 1500; k = 1; 

eqn = r*\!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(T[t, r, z]\)\) - r*k*\!\(
\*SubscriptBox[\(\[PartialD]\), \(z, z\)]\(T[t, r, z]\)\) - k*\!\(
\*SubscriptBox[\(\[PartialD]\), \(r\)]\(T[t, r, z]\)\) - k*r*\!\(
\*SubscriptBox[\(\[PartialD]\), \(r, r\)]\(T[t, r, z]\)\);
Subscript[\[CapitalGamma], 
  D] = {DirichletCondition[T[t, r, z] == Ti, z == Ltot], 
   DirichletCondition[T[t, r, z] == Ti, r == R]};

BCr = NDSolveValue[{eqn == 0, Subscript[\[CapitalGamma], D], \!\(
\*SubscriptBox[\(\[PartialD]\), \(r\)]\(T[t, 0, z]\)\) == 0, \!\(
\*SubscriptBox[\(\[PartialD]\), \(z\)]\(T[t, r, 0]\)\) == -100, 
    T[0, r, z] == Ti}, T, {t, 0, tf}, {r, 0, R}, {z, 0, Ltot}];

Can anyone tell me how I can use NDSolveValue to model reflective and constant heat flux boundary conditions. I am solving the heat equation. Essentially I have a PDE that is dependent on time, radius, and axial length. I want to solve it such that the spatial derivative of the temperature is equal to 0 on one boundary and equal to a constant on another boundary. Can anyone explain how I can set up NDSolveValue with these types of boundary conditions? I don't think it can be achieved using NeumannValue because that just sets the entire differential equation to a value. I have tried a lot of different approaches but nothing seems to be working for me. Can anyone please recommend a way to achieve this?

Can anyone tell me how I can use NDSolveValue to model reflective and constant heat flux boundary conditions. I am solving the heat equation. Essentially I have a PDE that is dependent on time, radius, and axial length. I want to solve it such that the spatial derivative of the temperature is equal to 0 on one boundary and equal to a constant on another boundary. Can anyone explain how I can set up NDSolveValue with these types of boundary conditions? I don't think it can be achieved using NeumannValue because that just sets the entire differential equation to a value. I have tried a lot of different approaches but nothing seems to be working for me. Can anyone please recommend a way to achieve this?

Edit: Here is some code

tf = 50; Ti = 100; 
Ls =  250; Lito = 5;  Lsl = 230;
Ltot = Ls + Lito + Lsl;
R = 1500; k = 1; 

eqn = r*\!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(T[t, r, z]\)\) - r*k*\!\(
\*SubscriptBox[\(\[PartialD]\), \(z, z\)]\(T[t, r, z]\)\) - k*\!\(
\*SubscriptBox[\(\[PartialD]\), \(r\)]\(T[t, r, z]\)\) - k*r*\!\(
\*SubscriptBox[\(\[PartialD]\), \(r, r\)]\(T[t, r, z]\)\);
Subscript[\[CapitalGamma], 
  D] = {DirichletCondition[T[t, r, z] == Ti, z == Ltot], 
   DirichletCondition[T[t, r, z] == Ti, r == R]};

BCr = NDSolveValue[{eqn == 0, Subscript[\[CapitalGamma], D], \!\(
\*SubscriptBox[\(\[PartialD]\), \(r\)]\(T[t, 0, z]\)\) == 0, \!\(
\*SubscriptBox[\(\[PartialD]\), \(z\)]\(T[t, r, 0]\)\) == -100, 
    T[0, r, z] == Ti}, T, {t, 0, tf}, {r, 0, R}, {z, 0, Ltot}];
added 6 characters in body; edited tags
Source Link
Pillsy
  • 18.6k
  • 2
  • 48
  • 94
Loading
Source Link
Loading