|
[Sponsors] |
How to solve this ordinary differentiate equation |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 12, 2006, 06:57 |
How to solve this ordinary differentiate equation
|
#1 |
Guest
Posts: n/a
|
Hi: I encounter some kind of difficulty when i tried to solve this kind o ODE system.
C11 da1/dt+C12 da2/dt=f1(a1,a2) C21 da1/dt+C22 Da2/dt=f2(a1,a2) I can solve the ODE system when the left hand of the system have one term, but how to solve this ODE systems wih many terms on the left hand side. Does somebody know some free package for solution of the ODE system. Regards |
|
September 12, 2006, 14:23 |
Re: How to solve this ordinary differentiate equat
|
#2 |
Guest
Posts: n/a
|
Well, at least for the problem you specify, assuming C?? are constants you can convert the equations to two new equations in terms solely of da1/dt and da2/dt. Use Cramer's rule to solve the matrix equation (symbolically) for the unknowns da1/dt and da2/dt, and then solve the system of odes as you normally would
Adrin Gharakhani |
|
September 13, 2006, 00:00 |
Re: How to solve this ordinary differentiate equat
|
#3 |
Guest
Posts: n/a
|
Adrin Gharakhani : Thanks for your feedback! but how to conduct the sysbolically computation!, I have a relative large OdE system. and i must solve it with fortran language Regards!
|
|
September 13, 2006, 00:21 |
Re: How to solve this ordinary differentiate equat
|
#4 |
Guest
Posts: n/a
|
Your example showed two unknowns a1 and a2, so I responded accordingly. I'm sure there has to be efficient ways for solving the system, but let me just propose one possible approach.
What you have is essentially the following "vectorial" set of odes: A.dx/dt = B where x is the vector of variables (in your example it's a1 and a2), and A is the coefficient matrix (in your case it's the C?? constants). B is of course the vector representing the right hand side. I'll just give a first-order explicit solution strategy, using a very basic approach, but it is clear from the form of the above equation that you can choose from a whole range of higher order (explicit/implicit) approaches with more efficient convergence properties. approximate dx/dt as (x_1 - x_0)/dt where x_0 is the initial value of the unknowns at any timestep (i.e., it is x at time level n), x_1 is the solution at the next time level, n+1, which is what you're looking for, and dt is the timestep size. Therefore you have: A.x_1 = A.x_0 + dt*B so now you have a problem of form Ax=B, which you can solve via any method you want for each time level. The right hand side, of course, changes for each new time level. Again, you can use more sophisticated methods to solve A.dx/dt = B Adrin Gharakhani |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Which application should I use to solve this equation | qibintj | OpenFOAM | 7 | January 24, 2011 16:52 |
numerical integration of a set of ordinary partial differential equation | wlt_1985 | FLUENT | 0 | November 5, 2010 17:17 |
How to solve a Poisson equation with only Neumann boundaries? | mbgnfrx2 | Main CFD Forum | 6 | April 2, 2009 05:01 |
Can FLUENT solve our own defined equation? | lily | FLUENT | 1 | April 10, 2004 19:31 |
what's the best way to solve the energy equation? | canvas | Main CFD Forum | 1 | April 26, 1999 14:18 |