Solving second order non-linear partial differential in three independent variables

21 vues (au cours des 30 derniers jours)
Temperature(T) is function of r, teta, z (cylindrical coordinates)
V1(r)*(1/r)* + V2(r)* = a* ( (1/r)* + )
where
a is constant
V1 and V2 are function of r
can we solve this differential equation in matlab

Réponses (3)

William Rose
William Rose le 19 Avr 2022
Modifié(e) : William Rose le 19 Avr 2022
@Mahesh Nallamothu, Yes you can.
[Editing because I made a mistake in analyzing your postiing.]
Matlab's PDE toolbox is very powerful. You will have to invest some effort to master its powers.
If you do not have access to the PDE toolbox, or you do not have time to learn it, you can solve your PDE directly. Write the discretized version of the PDEs, i.e. the difference equations. Initialize the array elements that correspond to the boundary conditions. Then update other elements, using the difference equations.
See the answer I posted here, to a similar question.
I notice that your equations do not involve time. Therefore I assume you are trying to fnd a steady state solution that is consistent with V1(r) and V2(r). Can you give an example of what V1(r) and V2(r) might be?
It may be necessary to solve this by a relaxation method. In this approach, you create a 4-dimensional array, where the 4th dimension is for time. You write the difference equations for the PDE for heat diffusion. You initialize the system with some arbitrary distribution of temperature that is consistent with V1 and V2 but probably not consitent with the PDEs you gave. Then you enforce the conditions on V1 and V2 and choose a small time step size. (The time step, delta T, will have to be determined by trial and error. If delta T is not small enough, you will get oscillations. If it is too large, you will need to take many steps before the system reaches equilibrium.) You apply the difference equaitons at each new time step. Let the system evovle over time until it steops changing significantly.
Good luck!
  8 commentaires
Mahesh Nallamothu
Mahesh Nallamothu le 20 Avr 2022
Modifié(e) : Mahesh Nallamothu le 20 Avr 2022
[Editing this because i had given wrong inputs of r1 and r2 and ]
r1= 0.0127
r2 = 0.0205
r1<r<r2
In a double pipe counter current heat exchanger inner tube is rotated with angular velocity w, we are trying to derive temperature profile in annular part (r1<r<r2). We assumed that the system is in steady state, no heat source, no viscous dispersion and conduction is negligible in teta and z direction, on solving the energy equation in cylindrical coordinates with above assumptions we will get V1(r)*(1/r)* + V2(r)* = a* ( (1/r)* + ) where V1(r), V2(r) are velocity profiles in teta and z direction respectively, no velocity in r direction.
Mahesh Nallamothu
Mahesh Nallamothu le 20 Avr 2022
In the file relaxation method pdf, we can use that if it is unsteady state but our case it is steady state
V1 and V2 equations are attached please refer the attached pdf

Connectez-vous pour commenter.


William Rose
William Rose le 20 Avr 2022
@Mahesh Nallamothu,
An analytical solution exists: Consider a solution which is independent of z and θ . In other words, T(r) is the same for all values of z and for all values of θ . Then . Then the differential equation simplifies to . Then we remember the derivative of natural log, from calculus class a million years ago (it seems). We observe that
is a solution to the diferential equation. k1 and k2 can be chosen to meet boundary conditions at the inner and outer radii. I assume the volume of interest is an annular cylinder, because several terms in the equations diverge at r=0.
  1 commentaire
Mahesh Nallamothu
Mahesh Nallamothu le 20 Avr 2022
Modifié(e) : Mahesh Nallamothu le 20 Avr 2022
we have already done by assuming = 0 and now we are trying out by increasing complexity. so, cannot be assumed to be zero
So to solve this we need a best sutible matlab code or numerical method

Connectez-vous pour commenter.


Torsten
Torsten le 20 Avr 2022
Interpret teta as time.
Discretize the dT/dz, 1/r*d/dr(r*dT/dr) expressions in space.
You'll arrive at a system of ordinary differential equations of the form
dT/dteta = A(r,z)*T + b(r,z)
Advance the solution in time e.g. using the Crank-Nicolson method.
If it's difficult to program this on your own, maybe a google search for
"instationary Laplace equation in cylindrical coordinates & matlab"
might help.
  10 commentaires
William Rose
William Rose le 21 Avr 2022
@Mahesh Nallamothu, I think there is another problem with the equation
Consider the case when R1 goes to zero and R2 becomes R. This equaiton should simplify to the standard equaiton for Poiseuille flow in a pipe with radius R. However, it looks to me like it simplifies to
which is wrong by a factor of -1.
Mahesh Nallamothu
Mahesh Nallamothu le 21 Avr 2022
In our case R1 is finite not equal to zero and also r=R1 v2 is not equal to zero

Connectez-vous pour commenter.

Catégories

En savoir plus sur Partial Differential Equation Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by