source: palm/trunk/UTIL/chemistry/gasphase_preproc/kpp4palm/src/fortran_file.h @ 2696

Last change on this file since 2696 was 2696, checked in by kanani, 6 years ago

Merge of branch palm4u into trunk

File size: 1.7 KB
Line 
1#ifndef FFILE
2#define FFILE 1
3
4// ############################################################################
5//
6//     create mz_kpp_module                       
7//
8//     create code from .f90 sources created by KPP to be used in MESSy
9//
10//     COPYRIGHT Klaus Ketelsen and MPI-CH   April 2007
11//
12// ############################################################################
13//
14//  Modifications:
15//    RFo added global_subtolower
16
17#include <iostream>
18
19#include <string>
20#include <list>
21#include <vector>
22
23#include "program_line.h"
24
25class fortran_file {
26
27  string                    name;
28
29  public:
30  vector<program_line>      pline;
31
32  void   set_name(string s)       {name=s;return;};
33  string get_name()                {return name;};
34  void   add_line(program_line &s) {pline.push_back(s);return;};
35  void   add_line(string s)        {program_line p; p.set_line(s); pline.push_back(p);return;};
36
37  void read () ;
38  void edit_fortran () ;
39  void copy_to_subroutine_vector (vector<fortran_file> &subvec, fortran_file & header_var) ;
40  void edit_Jac_SP () ;
41  void edit_KppDecomp () ;
42  void edit_KppSolve () ;
43  void edit_Fun () ;
44  void edit_FUNC () ;
45  void edit_Update_RCONST (vector <Vvar> &var_list) ;
46  void edit_inc (fortran_file & header_var) ;
47  void create_species_list(vector <string> &species_list);
48  void vector_variable_list(vector <Vvar> &var_list);
49  void print () ;
50  void write_file (ofstream & out);
51  void copy_to_MZ_KPP (fortran_file & ka);
52  void global_substitute(string &line, string old_s, string new_s);
53  void global_subtolower(string &line);
54
55// Routines for FORTRAN vector Mode
56  void edit_inc_vec (vector<string> &gvl);
57  void global_variables2vector (vector<string> &gvl);
58
59};
60
61#endif
Note: See TracBrowser for help on using the repository browser.