Re: Beginner--Help on using FindRoot to solve the system of equations
- To: mathgroup at smc.vnet.net
- Subject: [mg66227] Re: Beginner--Help on using FindRoot to solve the system of equations
- From: dh <dh at metrohm.ch>
- Date: Thu, 4 May 2006 05:21:38 -0400 (EDT)
- References: <e39kql$cud$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, correct the typo, get the syntax right and eliminate the superfluous WorkingPrecision, see below. You get a more accurate result by giving accurate input, e.g. 291/100 instead of 2.91 and using WorkingPrecision->32 Daniel xiaochu at che.utexas.edu wrote: > This is a code to solve vapor-liquid equilibrium by van der Waals Equation of State. > > I don't why this code is not working, please help, thanks very much! > > > (* Name of EOS *) > > EOSName = "Van der Waals"; > > Ttilde = .; > > Dtilde = .; > > Z = 3/(3-Dtilde)-9*Dtilde/8/Ttilde; > > (* Related variables *) > > Psi1 = (-9*Dtilde)/(8*Ttilde) - Log[3-Dtilde]; > > lnB = (1-Z)-Psi1; > > mu = -lnB+Log[Dtilde]; > > P = Dr Ttilde Z; ===> Typo Dr is nowhere defined, think it means Dtilde > > DtildeG=10^-14; > > DtildeL=2.91; > > Dtilde1=.; > > Dtilde2=.; > > mu1=mu/.Dtilde->Dtilde1; > > mu2=mu/.Dtilde->Dtilde2; > > P1=P/.Dtilde->Dtilde1; > > P2=P/.Dtilde->Dtilde2; > > Ttilde = 0.1; > > Result= > FindRoot[ > {P1==P2,mu1==mu2}, > {Dtilde1,DtildeG}, > {Dtilde2,DtildeL}, ===syntax: must be written {{Dtilde1,DtildeG},{Dtilde2,DtildeL}} > MaxIterations->1000, > WorkingPrecision->16]; eliminate WorkingPrecision->16, this is approximately MachinePrecision > > Link to the forum page for this post: > http://www.mathematica-users.org/webMathematica/wiki/wiki.jsp?pageName=Special:Forum_ViewTopic&pid=10101#p10101 > Posted through http://www.mathematica-users.org [[postId=10101]] > >