Parabolic PDE with Reaction-diffusion equation
casale
02-02-2009, 07:25 AM
Dear all,
I am very new in this forum and I am also new in numerical integration of partial differential equation models.
I am trying to numerically integrate the model proposed in Shuai & Parker, Cell Calcium 37:283-299 (2005), which is resumed here:
CAt = Dca*CAxx + bf*FCA - af*(CA*(F-FCA)) + bm*CAM - am*(CA*(M-CAM))+ bs*CAS - as*(CA*(S-CAS)) + Jmax
FCAt = Df*FCAxx + af*(CA*(F-FCA)) - bf*FCA
CAMt = Dm*CAMxx + am*(CA*(M-CAM)) - bm*CAM
CASt = as*(CA*(S-CAS)) - bs*CAS
Variables are: CA, CAS, FCA, CAM
Notation:
CAt=dCA/dt; CAxx=d^2CA/dxdx;
similarly with other variables
Dca, Df, Dm, S, M, F, af, bf, am, bm, as, bs, kf, km, ks, Jmax can be considered as known constants
The model has been integrated in 3-dimension + time, and that would be my final aim. Of course at the beginning I would be very happy to be able to integrate it in a single dimension+time.
A last thing: my preferred program language is FORTRAN.
I greatly appreciate any help about this task.
Thank you
kutta
02-06-2009, 05:19 AM
Dear all,
I am very new in this forum and I am also new in numerical integration of partial differential equation models.
I am trying to numerically integrate the model proposed in Shuai & Parker, Cell Calcium 37:283-299 (2005), which is resumed here:
CAt = Dca*CAxx + bf*FCA - af*(CA*(F-FCA)) + bm*CAM - am*(CA*(M-CAM))+ bs*CAS - as*(CA*(S-CAS)) + Jmax
FCAt = Df*FCAxx + af*(CA*(F-FCA)) - bf*FCA
CAMt = Dm*CAMxx + am*(CA*(M-CAM)) - bm*CAM
CASt = as*(CA*(S-CAS)) - bs*CAS
Variables are: CA, CAS, FCA, CAM
Notation:
CAt=dCA/dt; CAxx=d^2CA/dxdx;
similarly with other variables
Dca, Df, Dm, S, M, F, af, bf, am, bm, as, bs, kf, km, ks, Jmax can be considered as known constants
The model has been integrated in 3-dimension + time, and that would be my final aim. Of course at the beginning I would be very happy to be able to integrate it in a single dimension+time.
A last thing: my preferred program language is FORTRAN.
I greatly appreciate any help about this task.
Thank you
Hello Comrade
Please note that subject partial differentiation can be done
by making use use of SimplexAlgorithm though the higer order integrals were not tried.
If u stiil want to modify and try
the following C++ program that covers the said algorithm For Hyperbolic curve.f(x) should be defined before start
for solving the three equations containing xx (in ur above )in place of x of below coded prog
Thanks
As Kutta(C.R.Muthukumar)
#include <iomanip.h>
#include <ios>
#include <stdio.h>
#include <math.h>
#include <iostream.h>
#include <string>
using std::cin; using std::setprecision;
using std::cout; using std::string;
using std::endl; using std::streamsize;
int main()
{
int i,n;
float x,a,b,temp,width,area;
float f(float);
cout << "Please enter a : ";
cin >> a;
cout << "Please enter b: ";
cin >> b ;
cout << "Enter n : ";
cin >> n;
cout << "Enter x : ";
cin >> x;
width = (b-a)/n;
x=a;
//area;
for(i=1 ;i < n; i += 2)
{
temp= f(x) + 4.0 * f(x+width) + f(x+2.0*width);
area = area + width * temp/3;
x= x + 2 * width;
}
cout << "area:";
cin >> area;
return 0;
}
float f(float x)
{
return (sqrt(4.0-pow(x,2.0)));
}
kutta
02-10-2009, 08:10 AM
Dear all,
I am very new in this forum and I am also new in numerical integration of partial differential equation models.
I am trying to numerically integrate the model proposed in Shuai & Parker, Cell Calcium 37:283-299 (2005), which is resumed here:
CAt = Dca*CAxx + bf*FCA - af*(CA*(F-FCA)) + bm*CAM - am*(CA*(M-CAM))+ bs*CAS - as*(CA*(S-CAS)) + Jmax
FCAt = Df*FCAxx + af*(CA*(F-FCA)) - bf*FCA
CAMt = Dm*CAMxx + am*(CA*(M-CAM)) - bm*CAM
CASt = as*(CA*(S-CAS)) - bs*CAS
Variables are: CA, CAS, FCA, CAM
Notation:
CAt=dCA/dt; CAxx=d^2CA/dxdx;
similarly with other variables
Dca, Df, Dm, S, M, F, af, bf, am, bm, as, bs, kf, km, ks, Jmax can be considered as known constants
The model has been integrated in 3-dimension + time, and that would be my final aim. Of course at the beginning I would be very happy to be able to integrate it in a single dimension+time.
A last thing: my preferred program language is FORTRAN.
I greatly appreciate any help about this task.
Thank you
Hello comrade your silence for the earlier reply has enabled me to forward a revised prog that you may be able get the exact modification for your calcium problems with max proobabilty.Pl try
Thanking you
As
KuttA(c.R.Muthukumar):)
kutta
03-07-2009, 02:37 AM
Dear all,
I am very new in this forum and I am also new in numerical integration of partial differential equation models.
I am trying to numerically integrate the model proposed in Shuai & Parker, Cell Calcium 37:283-299 (2005), which is resumed here:
CAt = Dca*CAxx + bf*FCA - af*(CA*(F-FCA)) + bm*CAM - am*(CA*(M-CAM))+ bs*CAS - as*(CA*(S-CAS)) + Jmax
FCAt = Df*FCAxx + af*(CA*(F-FCA)) - bf*FCA
CAMt = Dm*CAMxx + am*(CA*(M-CAM)) - bm*CAM
CASt = as*(CA*(S-CAS)) - bs*CAS
Variables are: CA, CAS, FCA, CAM
Notation:
CAt=dCA/dt; CAxx=d^2CA/dxdx;
similarly with other variables
Dca, Df, Dm, S, M, F, af, bf, am, bm, as, bs, kf, km, ks, Jmax can be considered as known constants
The model has been integrated in 3-dimension + time, and that would be my final aim. Of course at the beginning I would be very happy to be able to integrate it in a single dimension+time.
A last thing: my preferred program language is FORTRAN.
I greatly appreciate any help about this task.
Thank you
Hello Comrade
This topic is rather a difficult one though your varaibles are best fitted into this as an example to get the integral value of the parabolic eqn shown below (C-Prog)However inlieu of your large number of varaiables ,I am sure you would further make the same for a complele solution because with the first and second varialbes iself Viz(CA,CAS) the C program works .
Pl Expedite
Thanking You
As
Kutta(C.R.Muthukumar):)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//Variables : CA, CAS, FCA, CAM
//CAt=dCA/dt; CAxx=d^2CA/dxdx;
//Dca, Df, Dm, S, M, F, af, bf, am, bm, as, bs, kf, km, ks, Jmax can be considered as known constants
void main()
{
const int n = 10, m = 20;
int i, j;
//float *CA, *CAS, FCA, CAM
float *CA, *CAS, pi, t, temp, neg_pi_square;
float h = 0.1, k = 0.005;
CA = calloc((n+1), sizeof(float));
CAS = calloc((n+1), sizeof(float));
CA[0] = CA[n] = 0;
CA[0] = CAS[n] = 0;
pi = 4.0 * atan(1.0);
neg_pi_square = -pi * pi;
temp = pi * h; /* since this doesn't change, it 's more efficient */
for (i = 1; i <= n - 1; i++)
{
CA[i] = sin(temp * i);
printf("CA[%d] = %f\n", i , CA[i]);
}
for (j = 1; j <= m; j++)
{
for (i = 1; i <= n - 1; i++)
{
CAS[i] = (CA[i-1] + CA[i+1]) * 0.5;
printf("CAS[%d] = %f\n", i, CAS[i]);
}
t = j * k;
for (i = 1; i <= n - 1; i++)
{
CA[i] = exp (neg_pi_square * t) * sin(temp * i) - CAS[i];
printf("CA[%d] = %f\n", i, CA[i]);
}
for (i = 1; i <= n - 1 ; i++)
CA[i] = CAS[i];
}
free(CA);
free(CAS);
}
casale
05-27-2009, 09:31 AM
Hello Kutta,
Thank you for your comments.
Sorry for replying you with delay. The reason is that I found a simple solution of my problem and I did not look anymore for answer to my question.
At the moment I am using a fully explicit method and a very small time-step to guarantee stability.
The integration of every variable ( Y(Var,x,y,z) ) is approximated by:
Y(Var,x,y,z)_(t+1)=Y(Var,x,y,z)_t + (dY(Var,x,y,z)/dt)*dt
where dY/dt is defined by the model.
The x-coordinate of laplacian (Yxx) is approximated by:
Yxx_t=(Y_t(Var,ix-1,iy,iz) + Y_t(Var,ix+1,iy,iz) - 2*Y_t(Var,ix,iy,iz)) / (dx²)
Similarly for y and z coordinates.
Finally Right Hand Sides of every variable (RHS(Var,ix,iy,iz) is calculated on all components computed at time “t”, including also the diffusion component D(Var)*(Yxx+Yyy+Yzz).
In such a way I was able to obtain results of Shuai and Parker paper.