#here you can specify which details to extract by
#<key_value>=<regex>
#ex: RMS FORCE=RMS\s+Force\s+(\d*\.?\d*)

RMS_Force = RMS\s+Force\s+(\d*\.?\d*)
Maximum_Force = Maximum\s+Force\s+(\d*\.?\d*)
Maximum_Displacement =  Maximum\s+Displacement\s+(\d*\.?\d*)
RMS_Displacement  = RMS\s+Displacement\s+(\d*\.?\d*)
Energy = Predicted\s+change\s+in\s+Energy=(.*)