docs: def _read_pcm_information(self):
          """
          Parses information from PCM solvent calculations.
          """
  
          temp_dict = read_pattern(
              self.text, {
                  "g_electrostatic": r"\s*G_electrostatic\s+=\s+([\d\-\.]+)\s+hartree\s+=\s+([\d\-\.]+)\s+kcal/mol\s*",
                  "g_cavitation": r"\s*G_cavitation\s+=\s+([\d\-\.]+)\s+hartree\s+=\s+([\d\-\.]+)\s+kcal/mol\s*",
                  "g_dispersion": r"\s*G_dispersion\s+=\s+([\d\-\.]+)\s+hartree\s+=\s+([\d\-\.]+)\s+kcal/mol\s*",
                  "g_repulsion": r"\s*G_repulsion\s+=\s+([\d\-\.]+)\s+hartree\s+=\s+([\d\-\.]+)\s+kcal/mol\s*",
                  "total_contribution_pcm": r"\s*Total\s+=\s+([\d\-\.]+)\s+hartree\s+=\s+([\d\-\.]+)\s+kcal/mol\s*",
              }
          )
  
          if temp_dict.get("g_electrostatic") is None:
              self.data["g_electrostatic"] = None
          else:
              self.data["g_electrostatic"] = float(temp_dict.get("g_electrostatic")[0][0])
  
          if temp_dict.get("g_cavitation") is None:
              self.data["g_cavitation"] = None
          else:
              self.data["g_cavitation"] = float(temp_dict.get("g_cavitation")[0][0])
  
          if temp_dict.get("g_dispersion") is None:
              self.data["g_dispersion"] = None
          else:
              self.data["g_dispersion"] = float(temp_dict.get("g_dispersion")[0][0])
  
          if temp_dict.get("g_repulsion") is None:
              self.data["g_repulsion"] = None
          else:
              self.data["g_repulsion"] = float(temp_dict.get("g_repulsion")[0][0])
  
          if temp_dict.get("total_contribution_pcm") is None:
              self.data["total_contribution_pcm"] = []
          else:
              self.data["total_contribution_pcm"] = float(temp_dict.get("total_contribution_pcm")[0][0])