How to solve this ordinary differentiate equation

 Register Blogs Members List Search Today's Posts Mark Forums Read

 September 12, 2006, 05:57 How to solve this ordinary differentiate equation #1 ztdep 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, 13:23 Re: How to solve this ordinary differentiate equat #2 Adrin Gharakhani 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 12, 2006, 23:00 Re: How to solve this ordinary differentiate equat #3 ztdep 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 12, 2006, 23:21 Re: How to solve this ordinary differentiate equat #4 Adrin Gharakhani 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

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post qibintj OpenFOAM 7 January 24, 2011 16:52 wlt_1985 FLUENT 0 November 5, 2010 17:17 mbgnfrx2 Main CFD Forum 6 April 2, 2009 04:01 lily FLUENT 1 April 10, 2004 18:31 canvas Main CFD Forum 1 April 26, 1999 13:18

All times are GMT -4. The time now is 12:21.