mirror of
https://github.com/TREX-CoE/fparser.git
synced 2024-11-03 12:43:58 +01:00
3.2 KiB
3.2 KiB
A Modern Fortran-based Parser
Get the code
The parser uses a modified libfdf library. This is included in this repository as a submodule. To clone the entire project, do
git clone --recurse-submodules https://github.com/TREX-CoE/iof08.git
Compilation
The project contains two folders (a) modified-libfdf and (b) parser.
- Compile and install the modified-libfdf using the following set of
commands
Console ./configure --prefix=/usr/local FC=ifort CC=icc make sudo make install make check
- In the parser folder, link the modified libfdf library with the interface Fortran file.
## Integrate parser in your code
### Features of the parser (including inheritance from libfdf)
- Include another input file for parser to read using:
` %include global.inp`
- Include a data file for parser to read using:
` load label filename`
Here, depending upon the label, parser will provide the filename. For example,
` load basis cc-pvtz.gbs`
- Read molecular coordinates directly from the input file using
```perl
%block molecule
12
#benzene comment
C 0.00000 1.40272 0
H 0.00000 2.49029 0
C -1.21479 0.70136 0
H -2.15666 1.24515 0
C -1.21479 -0.70136 0
H -2.15666 -1.24515 0
C 0.00000 -1.40272 0
H 0.00000 -2.49029 0
C 1.21479 -0.70136 0
H 2.15666 -1.24515 0
C 1.21479 0.70136 0
H 2.15666 1.24515 0
%endblock
- Read molecular coordinates from an external .xyz file using
%block molecule < caffeine.xyz
- Group certain keywords using the %module construct
%module DMC
0.04
tau = 15 Ha
etrial = -%endmodule
- Logical variables accept true, TRUE, T, 1, .true. as valid keywords
for true
optimize_wavefunction true
bold text
Italic
italicized text
Blockquote
blockquote
Ordered List
- First item
- Second item
- Third item
Unordered List
- First item
- Second item
- Third item
Code
code
Horizontal Rule
Link
Image
Extended Syntax
These elements extend the basic syntax by adding additional features. Not all Markdown applications support these elements.
Table
Syntax | Description |
---|---|
Header | Title |
Paragraph | Text |
Fenced Code Block
{
"firstName": "John",
"lastName": "Smith",
"age": 25
}
Footnote
Here’s a sentence with a footnote. 1
Heading ID
My Great Heading
Definition List
- term
- definition
Strikethrough
The world is flat.
Task List
- Write the press release
- Update the website
- Contact the media
This is the footnote.↩︎