Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Running a Fortran code

  1. Sep 1, 2014 #1
    Dear all,
    Let me introduce myself first. I am Ilango from India. I am new to Fortran, mostly working on Matlab, Modelica & Dymola. Working in an automobile company I was required to go through some battery models and hence landed at this page. http://www.cchem.berkeley.edu/jsngrp/fortran.html
    It contains a model of a battery entirely built in Fortran. The author claims it to be a full running model. In spite of following the instructions to run the model at the end of the same page, I only get a page full of errors due to missing variables. Any help in getting this model run would be greatly appreciated. Thank you.
    Regards,
    Ilango
     
  2. jcsd
  3. Sep 1, 2014 #2

    FactChecker

    User Avatar
    Science Advisor
    Gold Member

    "missing variables" is vague. This sounds like a compiler or linker error. Are you running the executable program, compiling the Fortran, or linking the final executable? You need to give more detail about what you did and exactly what the errors are.
     
  4. Sep 2, 2014 #3
    Hi Fastchecker,
    The link pasted in my first post contains a fortran program by name "dualfoin5.2.f". I had compiled it in DOS by typing g77 dualfoin5.2.f. Ideally, I should receive an executable file by name a.exe.

    Some where after the start of the program it reads, "open (1, FILE = 'li-ion.in', status = 'old')", which I think the program has to open a file called "li-ion.in". In the attached picture showing the error message, the first few lines mean that the missing variables which have to be loaded from "li-ion.in" is not being loaded. The rest of the error message is releated to an error in calling a function by name "vardc" coded inside "dualfoil5.2.f" itself. Looking for a way to run this.

    Also attached is the code of dualfoin5.2.f. Please rename it from *.txt to *.f
     

    Attached Files:

  5. Sep 2, 2014 #4

    DrClaude

    User Avatar

    Staff: Mentor

    The first problem encountered is in the piece of code
    Code (Text):

    c     Split of RG into its components;Test for first leg. WHT 3/10/14
          RG=RGin(1) total resistance in foils, leads, and contacts, ohm-m2
          RGn=RG/3.0d0 resistance affecting negative half cell
          RGp=RG-RGn resistance affecting positive half cell
          RGext=RG/4.0d0  resistance outside cell
     
    There is a blaring mistake here, as comments are not preceded by a !. It should read
    Code (Text):

    c     Split of RG into its components;Test for first leg. WHT 3/10/14
          RG=RGin(1) ! total resistance in foils, leads, and contacts, ohm-m2
          RGn=RG/3.0d0 ! resistance affecting negative half cell
          RGp=RG-RGn ! resistance affecting positive half cell
          RGext=RG/4.0d0  ! resistance outside cell
     
    The first commented line makes me think that this was a later modification. It obviously has never been tested, as no compiler would be able to compile this code. It might be that the authors have put a link to the wrong file.

    I strongly suggest contacting those who wrote the code and ask them. I wouldn't trust any program that has such blatant errors, since it is not debugged.
     
  6. Sep 2, 2014 #5
    Thank you DrClaude. You were really quick. Will get in touch with the author. Thank you.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook