From 9f733a2e1328d245d51c04d795de774f4e6c6251 Mon Sep 17 00:00:00 2001 From: Nathan Daelman Date: Tue, 19 Nov 2024 09:20:54 +0100 Subject: [PATCH] first template --- electronicparsers/boss/parser.py | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 electronicparsers/boss/parser.py diff --git a/electronicparsers/boss/parser.py b/electronicparsers/boss/parser.py new file mode 100644 index 00000000..789f5374 --- /dev/null +++ b/electronicparsers/boss/parser.py @@ -0,0 +1,34 @@ +class ABACUSInputParser(TextParser): + def __init__(self): + super().__init__(None) + + re_float = '\d\.\d+e\+\d{2}' + self._quantities = [ + Quantity( + 'row', + rf'\s+({re_float}\s+{re_float}\s+{re_float}\s+{re_float})\n', + repeats=True, + dtype=np.float64, + sub_parser=TextParser( + quantities=[ + Quantity( + 'var_1', + r'\n *stru_file\s*(\S+)', + ), + Quantity( + 'var_2', + r'\n *kpoint_file\s*(\S+)', + ), + Quantity( + 'gp_mean', + r'\n *basis_type\s*(\w+)', + ), + Quantity( + 'gp_variance', + r'\n *init_vel\s*(\d+)', + dtype=bool, + ), + ] + ), + ), + ] \ No newline at end of file