Running a Fortran code

  • Fortran
  • Thread starter Ilango
  • Start date
  • #1
3
0

Main Question or Discussion Point

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
 

Answers and Replies

  • #2
FactChecker
Science Advisor
Gold Member
5,304
1,899
I only get a page full of errors due to missing variables.
Ilango
"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.
 
  • #3
3
0
"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.
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
 

Attachments

  • #4
DrClaude
Mentor
7,079
3,223
The first problem encountered is in the piece of code
Code:
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:
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.
 
  • #5
3
0
Thank you DrClaude. You were really quick. Will get in touch with the author. Thank you.
 

Related Threads for: Running a Fortran code

Replies
5
Views
2K
Replies
8
Views
11K
Replies
7
Views
2K
  • Last Post
Replies
5
Views
4K
  • Last Post
Replies
2
Views
4K
Replies
3
Views
2K
  • Last Post
Replies
4
Views
3K
  • Last Post
Replies
4
Views
1K
Top