From 98219fb5fc1bd330b02ed0258944ba9856060295 Mon Sep 17 00:00:00 2001 From: Filippo Bigi <98903385+frostedoyster@users.noreply.github.com> Date: Thu, 11 Jul 2024 15:08:37 +0200 Subject: [PATCH 001/126] Update to latest rascaline (#291) --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d1c4f1bd8..4df5078c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,7 +58,7 @@ build-backend = "setuptools.build_meta" [project.optional-dependencies] soap-bpnn = [ - "rascaline-torch @ git+https://github.com/luthaf/rascaline@5348132#subdirectory=python/rascaline-torch", + "rascaline-torch @ git+https://github.com/luthaf/rascaline@e215461#subdirectory=python/rascaline-torch", ] alchemical-model = [ "torch_alchemical @ git+https://github.com/abmazitov/torch_alchemical.git@51ff519", @@ -67,7 +67,7 @@ pet = [ "pet @ git+https://github.com/spozdn/pet.git@9f6119d", ] gap = [ - "rascaline-torch @ git+https://github.com/luthaf/rascaline@5348132#subdirectory=python/rascaline-torch", + "rascaline-torch @ git+https://github.com/luthaf/rascaline@e215461#subdirectory=python/rascaline-torch", "skmatter", "metatensor-learn", "scipy", From d11c9e3a18b09d592691750f71dadbb578342ebe Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 12 Jul 2024 11:57:27 +0200 Subject: [PATCH 002/126] Remove consistency checks (except for tests) --- examples/programmatic/llpr/llpr.py | 2 +- src/metatrain/utils/evaluate_model.py | 5 ++--- src/metatrain/utils/llpr.py | 10 +++------- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/examples/programmatic/llpr/llpr.py b/examples/programmatic/llpr/llpr.py index 07f473fa8..05584df53 100644 --- a/examples/programmatic/llpr/llpr.py +++ b/examples/programmatic/llpr/llpr.py @@ -150,7 +150,7 @@ selected_atoms=None, ) -outputs = exported_model([ethanol_system], evaluation_options, check_consistency=True) +outputs = exported_model([ethanol_system], evaluation_options, check_consistency=False) lpr = outputs["mtt::aux::energy_uncertainty"].block().values.detach().cpu().numpy() # %% diff --git a/src/metatrain/utils/evaluate_model.py b/src/metatrain/utils/evaluate_model.py index 3ebd91104..dd2381362 100644 --- a/src/metatrain/utils/evaluate_model.py +++ b/src/metatrain/utils/evaluate_model.py @@ -245,8 +245,7 @@ def _get_model_outputs( for key, value in targets.items() }, ) - # we check consistency here because this could be called from eval - return model(systems, options, check_consistency=True) + return model(systems, options, check_consistency=False) else: return model( systems, @@ -294,7 +293,7 @@ def _prepare_system(system: System, positions_grad: bool, strain_grad: bool): for nl_options in system.known_neighbor_lists(): nl = system.get_neighbor_list(nl_options) nl = metatensor.torch.detach_block(nl) - register_autograd_neighbors(new_system, nl, check_consistency=True) + register_autograd_neighbors(new_system, nl) new_system.add_neighbor_list(nl_options, nl) return new_system, strain diff --git a/src/metatrain/utils/llpr.py b/src/metatrain/utils/llpr.py index 77276ac75..20eb68df6 100644 --- a/src/metatrain/utils/llpr.py +++ b/src/metatrain/utils/llpr.py @@ -99,7 +99,7 @@ def forward( outputs=outputs, selected_atoms=selected_atoms, ) - return self.model(systems, options, check_consistency=True) + return self.model(systems, options, check_consistency=False) per_atom_all_targets = [output.per_atom for output in outputs.values()] # impose either all per atom or all not per atom @@ -130,9 +130,7 @@ def forward( outputs=outputs_for_model, selected_atoms=selected_atoms, ) - return_dict = self.model( - systems, options, check_consistency=True - ) # TODO: True or False here? + return_dict = self.model(systems, options, check_consistency=False) ll_features = return_dict["mtt::aux::last_layer_features"] @@ -248,9 +246,7 @@ class in ``metatrain``. length_unit="", outputs=outputs, ) - output = self.model( - systems, options, check_consistency=True - ) # TODO: True or False here? + output = self.model(systems, options, check_consistency=False) ll_feat_tmap = output["mtt::aux::last_layer_features"] ll_feats = ll_feat_tmap.block().values / n_atoms.unsqueeze(1) self.covariance += ll_feats.T @ ll_feats From 7fc17433718318e5e6a6d6b73d681cff5c66286d Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 17 Jul 2024 21:14:28 +0200 Subject: [PATCH 003/126] NanoPET --- src/metatrain/cli/train.py | 18 +- .../experimental/nanopet/__init__.py | 43 ++ .../experimental/nanopet/default-hypers.yaml | 26 ++ src/metatrain/experimental/nanopet/model.py | 358 ++++++++++++++ .../experimental/nanopet/modules/__init__.py | 0 .../experimental/nanopet/modules/attention.py | 52 +++ .../nanopet/modules/augmentation.py | 46 ++ .../nanopet/modules/corresponding_edges.py | 12 + .../experimental/nanopet/modules/encoder.py | 49 ++ .../nanopet/modules/feedforward.py | 46 ++ .../experimental/nanopet/modules/nef.py | 55 +++ .../nanopet/modules/radial_mask.py | 10 + .../nanopet/modules/structures.py | 42 ++ .../nanopet/modules/transformer.py | 80 ++++ .../experimental/nanopet/torch_test.py | 9 + src/metatrain/experimental/nanopet/trainer.py | 439 ++++++++++++++++++ src/metatrain/utils/composition.py | 37 ++ tests/resources/options.yaml | 4 +- tests/resources/options_nanopet.yaml | 19 + 19 files changed, 1334 insertions(+), 11 deletions(-) create mode 100644 src/metatrain/experimental/nanopet/__init__.py create mode 100644 src/metatrain/experimental/nanopet/default-hypers.yaml create mode 100644 src/metatrain/experimental/nanopet/model.py create mode 100644 src/metatrain/experimental/nanopet/modules/__init__.py create mode 100644 src/metatrain/experimental/nanopet/modules/attention.py create mode 100644 src/metatrain/experimental/nanopet/modules/augmentation.py create mode 100644 src/metatrain/experimental/nanopet/modules/corresponding_edges.py create mode 100644 src/metatrain/experimental/nanopet/modules/encoder.py create mode 100644 src/metatrain/experimental/nanopet/modules/feedforward.py create mode 100644 src/metatrain/experimental/nanopet/modules/nef.py create mode 100644 src/metatrain/experimental/nanopet/modules/radial_mask.py create mode 100644 src/metatrain/experimental/nanopet/modules/structures.py create mode 100644 src/metatrain/experimental/nanopet/modules/transformer.py create mode 100644 src/metatrain/experimental/nanopet/torch_test.py create mode 100644 src/metatrain/experimental/nanopet/trainer.py create mode 100644 tests/resources/options_nanopet.yaml diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index d5ba05e6b..c3fe5e1f9 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -176,9 +176,9 @@ def train_model( torch.cuda.manual_seed(options["seed"]) torch.cuda.manual_seed_all(options["seed"]) - ########################### - # SETUP TRAINING SET ###### - ########################### + ############################ + # SET UP TRAINING SET ###### + ############################ logger.info("Setting up training set") options["training_set"] = expand_dataset_config(options["training_set"]) @@ -192,9 +192,9 @@ def train_model( train_size = 1.0 - ########################### - # SETUP TEST SET ########## - ########################### + ############################ + # SET UP TEST SET ########## + ############################ logger.info("Setting up test set") test_datasets = [] @@ -235,9 +235,9 @@ def train_model( dataset, _ = get_dataset(test_options) test_datasets.append(dataset) - ########################### - # SETUP VALIDATION SET #### - ########################### + ############################ + # SET UP VALIDATION SET #### + ############################ logger.info("Setting up validation set") val_datasets = [] diff --git a/src/metatrain/experimental/nanopet/__init__.py b/src/metatrain/experimental/nanopet/__init__.py new file mode 100644 index 000000000..bd2c61039 --- /dev/null +++ b/src/metatrain/experimental/nanopet/__init__.py @@ -0,0 +1,43 @@ +from .model import NanoPET +from .trainer import Trainer + +__model__ = NanoPET +__trainer__ = Trainer + +__authors__ = [ + ("Filippo Bigi ", "@frostedoyster"), +] + +__maintainers__ = [ + ("Filippo Bigi ", "@frostedoyster"), +] + + +# This is fixing a small bug in the attention implementation +# in torch that prevents it from being torchscriptable. + +import os + +import torch + + +file = os.path.join(os.path.dirname(torch.__file__), "nn", "modules", "activation.py") + +with open(file, "r") as f: + lines = f.readlines() + for i, line in enumerate(lines): + if ( + "elif self.in_proj_bias is not None and query.dtype != self.in_proj_bias.dtype:" # noqa: E501 + in line + ): + lines[i] = line.replace( + "elif self.in_proj_bias is not None and query.dtype != self.in_proj_bias.dtype:", # noqa: E501 + "elif self.in_proj_bias is not None:\n" + " if query.dtype != self.in_proj_bias.dtype:", + ) + lines[i + 1] = ( + ' why_not_fast_path = f"dtypes of query ({query.dtype}) and self.in_proj_bias ({self.in_proj_bias.dtype}) do not match"\n' # noqa: E501 + ) + +with open(file, "w") as f: + f.writelines(lines) diff --git a/src/metatrain/experimental/nanopet/default-hypers.yaml b/src/metatrain/experimental/nanopet/default-hypers.yaml new file mode 100644 index 000000000..9f1c4ffb1 --- /dev/null +++ b/src/metatrain/experimental/nanopet/default-hypers.yaml @@ -0,0 +1,26 @@ +name: experimental.nanopet + +model: + cutoff: 5.0 + d_pet: 128 + num_heads: 4 + num_attention_layers: 2 + num_gnn_layers: 2 + mlp_dropout_rate: 0.0 + attention_dropout_rate: 0.0 + +training: + distributed: False + distributed_port: 39591 + batch_size: 16 + num_warmup_steps: 1000 + num_epochs: 10000 + learning_rate: 3e-4 + early_stopping_patience: 1000 + scheduler_patience: 10 + scheduler_factor: 0.8 + log_interval: 10 + checkpoint_interval: 100 + fixed_composition_weights: {} + per_structure_targets: [] + loss_weights: {} diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py new file mode 100644 index 000000000..06152a06e --- /dev/null +++ b/src/metatrain/experimental/nanopet/model.py @@ -0,0 +1,358 @@ +from pathlib import Path +from typing import Dict, List, Optional, Union + +import metatensor.torch +import torch +from metatensor.torch import Labels, TensorBlock, TensorMap +from metatensor.torch.atomistic import ( + MetatensorAtomisticModel, + ModelCapabilities, + ModelOutput, + NeighborListOptions, + System, +) + +from ...utils.composition import apply_composition_contribution_samples +from ...utils.data import DatasetInfo +from ...utils.dtype import dtype_to_str +from ...utils.export import export +from .modules.corresponding_edges import get_corresponding_edges +from .modules.encoder import Encoder +from .modules.nef import edge_array_to_nef, get_nef_indices, nef_array_to_edges +from .modules.radial_mask import get_radial_mask +from .modules.structures import concatenate_structures +from .modules.transformer import Transformer + + +class NanoPET(torch.nn.Module): + + __supported_devices__ = ["cuda", "cpu"] + __supported_dtypes__ = [torch.float64, torch.float32] + + def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: + super().__init__() + self.hypers = model_hypers + self.dataset_info = dataset_info + self.new_outputs = list(dataset_info.targets.keys()) + self.atomic_types = dataset_info.atomic_types + + self.register_buffer( + "species_to_species_index", + torch.full( + (max(self.atomic_types) + 1,), + -1, + ), + ) + for i, species in enumerate(self.atomic_types): + self.species_to_species_index[species] = i + + self.outputs = { + key: ModelOutput( + quantity=value.quantity, + unit=value.unit, + per_atom=True, + ) + for key, value in dataset_info.targets.items() + } + + # the model is always capable of outputting the last layer features + self.outputs["mtt::aux::last_layer_features"] = ModelOutput( + unit="unitless", per_atom=True + ) + + # creates a composition weight tensor that can be directly indexed by species, + # this can be left as a tensor of zero or set from the outside using + # set_composition_weights (recommended for better accuracy) + n_outputs = len(self.outputs) + self.register_buffer( + "composition_weights", + torch.zeros((n_outputs, max(self.atomic_types) + 1)), + ) + # buffers cannot be indexed by strings (torchscript), so we create a single + # tensor for all outputs. Due to this, we need to slice the tensor when we use + # it and use the output name to select the correct slice via a dictionary + self.output_to_index = { + output_name: i for i, output_name in enumerate(self.outputs.keys()) + } + + self.encoder = Encoder(len(self.atomic_types), self.hypers["d_pet"]) + + self.transformer = Transformer( + self.hypers["d_pet"], + 4 * self.hypers["d_pet"], + self.hypers["num_heads"], + self.hypers["num_attention_layers"], + self.hypers["mlp_dropout_rate"], + self.hypers["attention_dropout_rate"], + ) + + self.num_mp_layers = self.hypers["num_gnn_layers"] - 1 + gnn_contractions = [] + gnn_transformers = [] + for _ in range(self.num_mp_layers): + gnn_contractions.append( + torch.nn.Linear( + 2 * self.hypers["d_pet"], self.hypers["d_pet"], bias=False + ) + ) + gnn_transformers.append( + Transformer( + self.hypers["d_pet"], + 4 * self.hypers["d_pet"], + self.hypers["num_heads"], + self.hypers["num_attention_layers"], + self.hypers["mlp_dropout_rate"], + self.hypers["attention_dropout_rate"], + ) + ) + self.gnn_contractions = torch.nn.ModuleList(gnn_contractions) + self.gnn_transformers = torch.nn.ModuleList(gnn_transformers) + + self.last_layer_feature_size = self.hypers["d_pet"] + self.last_layers = torch.nn.ModuleDict( + { + output_name: torch.nn.Linear(self.hypers["d_pet"], 1, bias=False) + for output_name in self.outputs.keys() + if "mtt::aux::" not in output_name + } + ) + + def restart(self, dataset_info: DatasetInfo) -> "NanoPET": + # merge old and new dataset info + merged_info = self.dataset_info.union(dataset_info) + new_atomic_types = [ + at for at in merged_info.atomic_types if at not in self.atomic_types + ] + new_targets = merged_info.targets - self.dataset_info.targets + + if len(new_atomic_types) > 0: + raise ValueError( + f"New atomic types found in the dataset: {new_atomic_types}. " + "The nanoPET model does not support adding new atomic types." + ) + + # register new outputs as new last layers + for output_name in new_targets: + self.add_output(output_name) + + self.dataset_info = merged_info + self.atomic_types = sorted(self.atomic_types) + + for target_name, target in new_targets.items(): + self.outputs[target_name] = ModelOutput( + quantity=target.quantity, + unit=target.unit, + per_atom=True, + ) + self.new_outputs = list(new_targets.keys()) + + return self + + def forward( + self, + systems: List[System], + outputs: Dict[str, ModelOutput], + selected_atoms: Optional[Labels] = None, + ) -> Dict[str, TensorMap]: + # Checks on systems (species) and outputs are done in the + # MetatensorAtomisticModel wrapper + + if selected_atoms is not None: + raise NotImplementedError( + "The PET model does not support domain decomposition." + ) + + n_structures = len(systems) + positions, centers, neighbors, species, segment_indices, edge_vectors = ( + concatenate_structures(systems) + ) + max_edges_per_node = int(torch.max(torch.bincount(centers))) + + # Convert to NEF: + nef_indices, nef_to_edges_neighbor, nef_mask = get_nef_indices( + centers, len(positions), max_edges_per_node + ) + + # Get radial mask + r = torch.sqrt(torch.sum(edge_vectors**2, dim=-1)) + radial_mask = get_radial_mask(r, 5.0, 3.0) + + # Element indices + element_indices_nodes = self.species_to_species_index[species] + element_indices_centers = element_indices_nodes[centers] + element_indices_neighbors = element_indices_nodes[neighbors] + + # Send everything to NEF: + edge_vectors = edge_array_to_nef(edge_vectors, nef_indices) + radial_mask = edge_array_to_nef( + radial_mask, nef_indices, nef_mask, fill_value=0.0 + ) + element_indices_centers = edge_array_to_nef( + element_indices_centers, nef_indices + ) + element_indices_neighbors = edge_array_to_nef( + element_indices_neighbors, nef_indices + ) + + features = { + "cartesian": edge_vectors, + "center": element_indices_centers, + "neighbor": element_indices_neighbors, + } + + # Encode + features = self.encoder(features) + + # Transformer + features = self.transformer(features, radial_mask) + + # GNN + if self.num_mp_layers > 0: + corresponding_edges = get_corresponding_edges( + torch.stack([centers, neighbors], dim=-1) + ) + for contraction, transformer in zip( + self.gnn_contractions, self.gnn_transformers + ): + new_features = nef_array_to_edges( + features, centers, nef_to_edges_neighbor + ) + corresponding_new_features = new_features[corresponding_edges] + new_features = torch.concatenate( + [new_features, corresponding_new_features], dim=-1 + ) + new_features = contraction(new_features) + new_features = edge_array_to_nef(new_features, nef_indices) + new_features = transformer(new_features, radial_mask) + features = features + new_features + + # Readout + edge_energies = { + output_name: 0.001 * last_layer(features) + for output_name, last_layer in self.last_layers.items() + } + # Apply radial weights + edge_energies = { + output_name: ee * radial_mask[:, :, None] + for output_name, ee in edge_energies.items() + } + + # Sum over edges + atomic_energies_dict = { + output_name: torch.sum(ee, dim=(1, 2)) + for output_name, ee in edge_energies.items() + } + + atomic_energies_tmap = { + output_name: TensorMap( + keys=Labels( + names=["_"], + values=torch.tensor([[0]], device=atomic_energies.device), + ), + blocks=[ + TensorBlock( + values=atomic_energies.unsqueeze(1), + samples=Labels( + names=["system", "atom", "center_type"], + values=torch.stack( + [ + segment_indices, + torch.concatenate( + [ + torch.arange( + len(system), + device=atomic_energies.device, + ) + for system in systems + ], + ), + species, + ], + dim=1, + ), + ), + components=[], + properties=Labels( + names=["energy"], + values=torch.tensor([[0]], device=atomic_energies.device), + ), + ) + ], + ) + for output_name, atomic_energies in atomic_energies_dict.items() + } + + return_dict: Dict[str, TensorMap] = {} + for name, tmap in atomic_energies_tmap.items(): + return_dict[name] = apply_composition_contribution_samples( + tmap, self.composition_weights[self.output_to_index[name]] + ) + + for output_name, atomic_energy in return_dict.items(): + if outputs[output_name].per_atom: + # this operation should just remove the center_type label + return_dict[output_name] = metatensor.torch.remove_dimension( + atomic_energy, axis="samples", name="center_type" + ) + else: + return_dict[output_name] = metatensor.torch.sum_over_samples( + atomic_energy, ["atom", "center_type"] + ) + + return return_dict + + def requested_neighbor_lists( + self, + ) -> List[NeighborListOptions]: + return [ + NeighborListOptions( + cutoff=self.hypers["cutoff"], + full_list=True, + ) + ] + + @classmethod + def load_checkpoint(cls, path: Union[str, Path]) -> "NanoPET": + + # Load the checkpoint + checkpoint = torch.load(path) + model_hypers = checkpoint["model_hypers"] + model_state_dict = checkpoint["model_state_dict"] + + # Create the model + model = cls(**model_hypers) + dtype = next(iter(model_state_dict.values())).dtype + model.to(dtype).load_state_dict(model_state_dict) + + return model + + def export(self) -> MetatensorAtomisticModel: + dtype = next(self.parameters()).dtype + if dtype not in self.__supported_dtypes__: + raise ValueError(f"unsupported dtype {self.dtype} for NanoPET") + + capabilities = ModelCapabilities( + outputs=self.outputs, + atomic_types=self.atomic_types, + interaction_range=self.hypers["cutoff"] * self.hypers["num_gnn_layers"], + length_unit=self.dataset_info.length_unit, + supported_devices=self.__supported_devices__, + dtype=dtype_to_str(dtype), + ) + + return export(model=self, model_capabilities=capabilities) + + def set_composition_weights( + self, + output_name: str, + input_composition_weights: torch.Tensor, + atomic_types: List[int], + ) -> None: + """Set the composition weights for a given output.""" + # all species that are not present retain their weight of zero + self.composition_weights[self.output_to_index[output_name]][ # type: ignore + atomic_types + ] = input_composition_weights.to( + dtype=self.composition_weights.dtype, # type: ignore + device=self.composition_weights.device, # type: ignore + ) diff --git a/src/metatrain/experimental/nanopet/modules/__init__.py b/src/metatrain/experimental/nanopet/modules/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/metatrain/experimental/nanopet/modules/attention.py b/src/metatrain/experimental/nanopet/modules/attention.py new file mode 100644 index 000000000..b23f5957a --- /dev/null +++ b/src/metatrain/experimental/nanopet/modules/attention.py @@ -0,0 +1,52 @@ +import torch + + +class AttentionBlock(torch.nn.Module): + """A single transformer attention block.""" + + def __init__( + self, + hidden_size: int, + num_heads: int, + dropout_rate: float, + attention_dropout_rate: float, + ): + super().__init__() + + self.num_heads = num_heads + self.attention = torch.nn.MultiheadAttention( + hidden_size, + num_heads, + dropout=attention_dropout_rate, + bias=False, + batch_first=True, + ) + self.layernorm = torch.nn.LayerNorm(normalized_shape=hidden_size) + self.dropout = torch.nn.Dropout(dropout_rate) + + def forward( + self, + inputs: torch.Tensor, # seq_len hidden_size + radial_mask: torch.Tensor, # seq_len + ) -> torch.Tensor: # seq_len hidden_size + + # Apply radial mask + inputs = inputs * radial_mask[:, :, None] + + # Pre-layer normalization + normed_inputs = self.layernorm(inputs) + + # Attention + attention_output, _ = self.attention( + query=normed_inputs, + key=normed_inputs, + value=normed_inputs, + ) + + # Apply dropout + output = self.dropout(attention_output) + + # Residual connection + output += inputs + + return output diff --git a/src/metatrain/experimental/nanopet/modules/augmentation.py b/src/metatrain/experimental/nanopet/modules/augmentation.py new file mode 100644 index 000000000..b415d217b --- /dev/null +++ b/src/metatrain/experimental/nanopet/modules/augmentation.py @@ -0,0 +1,46 @@ +import random + +import torch +from metatensor.torch import TensorBlock +from metatensor.torch.atomistic import System +from scipy.spatial.transform import Rotation + + +def apply_random_augmentation(system: System) -> System: + """ + Apply a random augmentation to a ``System``. + + :param structure: The structure to augment. + :return: The augmented structure. + """ + + transformation = torch.tensor( + get_random_augmentation(), dtype=system.positions.dtype + ) + new_system = System( + positions=system.positions @ transformation.T, + types=system.types, + cell=system.cell @ transformation.T, + ) + for nl_options in system.known_neighbor_lists(): + old_nl = system.get_neighbor_list(nl_options) + new_system.add_neighbor_list( + nl_options, + TensorBlock( + values=(old_nl.values.squeeze(-1) @ transformation.T).unsqueeze(-1), + samples=old_nl.samples, + components=old_nl.components, + properties=old_nl.properties, + ), + ) + + return new_system + + +def get_random_augmentation(): + + transformation = Rotation.random().as_matrix() + invert = random.choice([True, False]) + if invert: + transformation *= -1 + return transformation diff --git a/src/metatrain/experimental/nanopet/modules/corresponding_edges.py b/src/metatrain/experimental/nanopet/modules/corresponding_edges.py new file mode 100644 index 000000000..52e0cf3a4 --- /dev/null +++ b/src/metatrain/experimental/nanopet/modules/corresponding_edges.py @@ -0,0 +1,12 @@ +import torch + + +def get_corresponding_edges(array): + n_edges = len(array) + array_inversed = array.flip(1) + inverse_indices = torch.empty((n_edges,), dtype=torch.long) + for i in range(n_edges): + inverse_indices[i] = torch.nonzero( + torch.all(array_inversed == array[i], dim=1) + )[0][0] + return inverse_indices diff --git a/src/metatrain/experimental/nanopet/modules/encoder.py b/src/metatrain/experimental/nanopet/modules/encoder.py new file mode 100644 index 000000000..7a0d19c3c --- /dev/null +++ b/src/metatrain/experimental/nanopet/modules/encoder.py @@ -0,0 +1,49 @@ +from typing import Dict + +import torch + + +class Encoder(torch.nn.Module): + + def __init__( + self, + n_species: int, + hidden_size: int, + ): + super().__init__() + + self.cartesian_encoder = torch.nn.Linear( + in_features=3, out_features=hidden_size + ) + self.center_encoder = torch.nn.Embedding( + num_embeddings=n_species, embedding_dim=hidden_size + ) + self.neighbor_encoder = torch.nn.Embedding( + num_embeddings=n_species, embedding_dim=hidden_size + ) + self.compressor = torch.nn.Linear( + in_features=3 * hidden_size, out_features=hidden_size + ) + + def forward( + self, + features: Dict[str, torch.Tensor], + ): + # Encode cartesian coordinates + cartesian_features = self.cartesian_encoder(features["cartesian"]) + + # Encode centers + center_features = self.center_encoder(features["center"]) + + # Encode neighbors + neighbor_features = self.neighbor_encoder(features["neighbor"]) + + # Concatenate + encoded_features = torch.concatenate( + [cartesian_features, center_features, neighbor_features], dim=-1 + ) + + # Compress + compressed_features = self.compressor(encoded_features) + + return compressed_features diff --git a/src/metatrain/experimental/nanopet/modules/feedforward.py b/src/metatrain/experimental/nanopet/modules/feedforward.py new file mode 100644 index 000000000..f3bb975d2 --- /dev/null +++ b/src/metatrain/experimental/nanopet/modules/feedforward.py @@ -0,0 +1,46 @@ +import torch + + +class FeedForwardBlock(torch.nn.Module): + """A single transformer feed forward block.""" + + def __init__( + self, + hidden_size: int, + intermediate_size: int, + dropout_rate: float, + ): + super().__init__() + + self.mlp = torch.nn.Linear( + in_features=hidden_size, out_features=intermediate_size + ) + self.output = torch.nn.Linear( + in_features=intermediate_size, out_features=hidden_size + ) + + self.layernorm = torch.nn.LayerNorm(normalized_shape=hidden_size) + self.dropout = torch.nn.Dropout(dropout_rate) + + def forward( + self, + inputs: torch.Tensor, # hidden_size + ) -> torch.Tensor: # hidden_size + + # Pre-layer normalization + normed_inputs = self.layernorm(inputs) + + # Feed-forward + hidden = self.mlp(normed_inputs) + hidden = torch.nn.functional.gelu(hidden) + + # Project back to input size + output = self.output(hidden) + + # Apply dropout + output = self.dropout(output) + + # Residual connection + output += inputs + + return output diff --git a/src/metatrain/experimental/nanopet/modules/nef.py b/src/metatrain/experimental/nanopet/modules/nef.py new file mode 100644 index 000000000..cb20a08a3 --- /dev/null +++ b/src/metatrain/experimental/nanopet/modules/nef.py @@ -0,0 +1,55 @@ +from typing import Optional + +import torch + + +@torch.jit.script +def get_nef_indices(centers, n_nodes: int, n_edges_per_node: int): + """Transform the center indices into NEF indices.""" + + n_edges = len(centers) + edges_to_nef = torch.zeros( + (n_nodes, n_edges_per_node), dtype=torch.long, device=centers.device + ) + nef_to_edges_neighbor = torch.empty( + (n_edges,), dtype=torch.long, device=centers.device + ) + node_counter = torch.zeros((n_nodes,), dtype=torch.long, device=centers.device) + nef_mask = torch.full( + (n_nodes, n_edges_per_node), 0, dtype=torch.bool, device=centers.device + ) + + for i in range(n_edges): + center = centers[i] + edges_to_nef[center, node_counter[center]] = i + nef_mask[center, node_counter[center]] = True + nef_to_edges_neighbor[i] = node_counter[center] + node_counter[center] += 1 + + return (edges_to_nef, nef_to_edges_neighbor, nef_mask) + + +@torch.jit.script +def edge_array_to_nef( + edge_array, + nef_indices, + mask: Optional[torch.Tensor] = None, + fill_value: float = 0.0, +): + """Converts an edge array to a NEF array.""" + + if mask is None: + return edge_array[nef_indices] + else: + return torch.where( + mask.reshape(mask.shape + (1,) * (len(edge_array.shape) - 1)), + edge_array[nef_indices], + fill_value, + ) + + +@torch.jit.script +def nef_array_to_edges(nef_array, centers, nef_to_edges_neighbor): + """Converts a NEF array to an edge array.""" + + return nef_array[centers, nef_to_edges_neighbor] diff --git a/src/metatrain/experimental/nanopet/modules/radial_mask.py b/src/metatrain/experimental/nanopet/modules/radial_mask.py new file mode 100644 index 000000000..3346e6ec5 --- /dev/null +++ b/src/metatrain/experimental/nanopet/modules/radial_mask.py @@ -0,0 +1,10 @@ +import torch + + +def get_radial_mask(r, r_cut: float, r_transition: float): + # All radii are already guaranteed to be smaller than r_cut + return torch.where( + r < r_transition, + torch.ones_like(r), + 0.5 * (torch.cos(torch.pi * (r - r_transition) / (r_cut - r_transition)) + 1.0), + ) diff --git a/src/metatrain/experimental/nanopet/modules/structures.py b/src/metatrain/experimental/nanopet/modules/structures.py new file mode 100644 index 000000000..822522078 --- /dev/null +++ b/src/metatrain/experimental/nanopet/modules/structures.py @@ -0,0 +1,42 @@ +from typing import List + +import torch +from metatensor.torch.atomistic import System + + +def concatenate_structures(systems: List[System]): + + positions = [] + centers = [] + neighbors = [] + species = [] + segment_indices = [] + edge_vectors = [] + node_counter = 0 + + for i, system in enumerate(systems): + positions.append(system.positions) + species.append(system.types) + segment_indices.append( + torch.full((len(system.positions),), i, device=system.device) + ) + + assert len(system.known_neighbor_lists()) == 1 + neighbor_list = system.get_neighbor_list(system.known_neighbor_lists()[0]) + nl_values = neighbor_list.samples.values + edge_vectors_system = neighbor_list.values.reshape(-1, 3) + + centers.append(nl_values[:, 0] + node_counter) + neighbors.append(nl_values[:, 1] + node_counter) + edge_vectors.append(edge_vectors_system) + + node_counter += len(system.positions) + + positions = torch.cat(positions) + centers = torch.cat(centers) + neighbors = torch.cat(neighbors) + species = torch.cat(species) + segment_indices = torch.cat(segment_indices) + edge_vectors = torch.cat(edge_vectors) + + return positions, centers, neighbors, species, segment_indices, edge_vectors diff --git a/src/metatrain/experimental/nanopet/modules/transformer.py b/src/metatrain/experimental/nanopet/modules/transformer.py new file mode 100644 index 000000000..58f5c2fee --- /dev/null +++ b/src/metatrain/experimental/nanopet/modules/transformer.py @@ -0,0 +1,80 @@ +import torch + +from .attention import AttentionBlock +from .feedforward import FeedForwardBlock + + +class TransformerLayer(torch.nn.Module): + """A single transformer layer.""" + + def __init__( + self, + hidden_size: int, + intermediate_size: int, + num_heads: int, + dropout_rate: float, + attention_dropout_rate: float, + ): + super().__init__() + + self.attention_block = AttentionBlock( + hidden_size=hidden_size, + num_heads=num_heads, + dropout_rate=dropout_rate, + attention_dropout_rate=attention_dropout_rate, + ) + self.ff_block = FeedForwardBlock( + hidden_size=hidden_size, + intermediate_size=intermediate_size, + dropout_rate=dropout_rate, + ) + + def forward( + self, + inputs: torch.Tensor, + radial_mask: torch.Tensor, + ) -> torch.Tensor: + + attention_output = self.attention_block(inputs, radial_mask) + output = self.ff_block(attention_output) + + return output + + +class Transformer(torch.nn.Module): + """A transformer model.""" + + def __init__( + self, + hidden_size: int, + intermediate_size: int, + num_heads: int, + num_layers: int, + dropout_rate: float, + attention_dropout_rate: float, + ): + super().__init__() + + self.layers = torch.nn.ModuleList( + [ + TransformerLayer( + hidden_size=hidden_size, + intermediate_size=intermediate_size, + num_heads=num_heads, + dropout_rate=dropout_rate, + attention_dropout_rate=attention_dropout_rate, + ) + for _ in range(num_layers) + ] + ) + + def forward( + self, + inputs, + radial_mask, + ): + + x = inputs + for layer in self.layers: + x = layer(x, radial_mask) + return x diff --git a/src/metatrain/experimental/nanopet/torch_test.py b/src/metatrain/experimental/nanopet/torch_test.py new file mode 100644 index 000000000..04c9f9d3b --- /dev/null +++ b/src/metatrain/experimental/nanopet/torch_test.py @@ -0,0 +1,9 @@ +import torch + + +model = torch.nn.MultiheadAttention( + embed_dim=512, + num_heads=8, + bias=False, +) +torch.jit.script(model) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py new file mode 100644 index 000000000..94a128214 --- /dev/null +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -0,0 +1,439 @@ +import logging +import warnings +from pathlib import Path +from typing import List, Union + +import torch +import torch.distributed +from torch.utils.data import DataLoader, DistributedSampler + +from ...utils.composition import calculate_composition_weights +from ...utils.data import ( + CombinedDataLoader, + Dataset, + TargetInfoDict, + collate_fn, + get_all_targets, +) +from ...utils.data.extract_targets import get_targets_dict +from ...utils.distributed.distributed_data_parallel import DistributedDataParallel +from ...utils.distributed.slurm import DistributedEnvironment +from ...utils.evaluate_model import evaluate_model +from ...utils.external_naming import to_external_name +from ...utils.io import check_file_extension +from ...utils.logging import MetricLogger +from ...utils.loss import TensorMapDictLoss +from ...utils.metrics import RMSEAccumulator +from ...utils.neighbor_lists import get_system_with_neighbor_lists +from ...utils.per_atom import average_by_num_atoms +from .model import NanoPET +from .modules.augmentation import apply_random_augmentation + + +logger = logging.getLogger(__name__) + + +# Filter out the second derivative and device warnings from rascaline-torch +warnings.filterwarnings("ignore", category=UserWarning, message="second derivative") +warnings.filterwarnings( + "ignore", category=UserWarning, message="Systems data is on device" +) + + +class Trainer: + def __init__(self, train_hypers): + self.hypers = train_hypers + self.optimizer_state_dict = None + self.scheduler_state_dict = None + self.epoch = None + + def train( + self, + model: NanoPET, + dtype: torch.dtype, + devices: List[torch.device], + train_datasets: List[Union[Dataset, torch.utils.data.Subset]], + val_datasets: List[Union[Dataset, torch.utils.data.Subset]], + checkpoint_dir: str, + ): + assert dtype in NanoPET.__supported_dtypes__ + + is_distributed = self.hypers["distributed"] + + if is_distributed: + distr_env = DistributedEnvironment(self.hypers["distributed_port"]) + torch.distributed.init_process_group(backend="nccl") + world_size = torch.distributed.get_world_size() + rank = torch.distributed.get_rank() + else: + rank = 0 + + if is_distributed: + if len(devices) > 1: + raise ValueError( + "Requested distributed training with the `multi-gpu` device. " + " If you want to run distributed training with SOAP-BPNN, please " + "set `device` to cuda." + ) + # the calculation of the device number works both when GPUs on different + # processes are not visible to each other and when they are + device_number = distr_env.local_rank % torch.cuda.device_count() + device = torch.device("cuda", device_number) + else: + device = devices[ + 0 + ] # only one device, as we don't support multi-gpu for now + + if is_distributed: + logger.info(f"Training on {world_size} devices with dtype {dtype}") + else: + logger.info(f"Training on device {device} with dtype {dtype}") + model.to(device=device, dtype=dtype) + if is_distributed: + model = DistributedDataParallel(model, device_ids=[device]) + + # Calculate and set the composition weights for all targets: + logger.info("Calculating composition weights") + for target_name in (model.module if is_distributed else model).new_outputs: + if "mtt::aux::" in target_name: + continue + # TODO: document transfer learning and say that outputs that are already + # present in the model will keep their composition weights + if target_name in self.hypers["fixed_composition_weights"].keys(): + logger.info( + f"For {target_name}, model will use " + "user-supplied composition weights" + ) + cur_weight_dict = self.hypers["fixed_composition_weights"][target_name] + atomic_types = set() + num_species = len(cur_weight_dict) + fixed_weights = torch.zeros(num_species, dtype=dtype, device=device) + + for ii, (key, weight) in enumerate(cur_weight_dict.items()): + atomic_types.add(key) + fixed_weights[ii] = weight + + if not set(atomic_types) == model.atomic_types: + raise ValueError( + "Supplied atomic types are not present in the dataset." + ) + (model.module if is_distributed else model).set_composition_weights( + target_name, fixed_weights, atomic_types + ) + + else: + train_datasets_with_target = [] + for dataset in train_datasets: + if target_name in get_all_targets(dataset): + train_datasets_with_target.append(dataset) + if len(train_datasets_with_target) == 0: + raise ValueError( + f"Target {target_name} in the model's new capabilities is not " + "present in any of the training datasets." + ) + composition_weights, composition_types = calculate_composition_weights( + train_datasets_with_target, target_name + ) + (model.module if is_distributed else model).set_composition_weights( + target_name, composition_weights, composition_types + ) + + # Calculating the neighbor lists for the training and validation datasets: + logger.info("Calculating neighbor lists for the datasets") + requested_neighbor_lists = model.requested_neighbor_lists() + for dataset in train_datasets + val_datasets: + for i in range(len(dataset)): + system = dataset[i]["system"] + # The following line attaches the neighbors lists to the system, + # and doesn't require to reassign the system to the dataset: + _ = get_system_with_neighbor_lists(system, requested_neighbor_lists) + + logger.info("Setting up data loaders") + + if is_distributed: + train_samplers = [ + DistributedSampler( + train_dataset, + num_replicas=world_size, + rank=rank, + shuffle=True, + drop_last=True, + ) + for train_dataset in train_datasets + ] + val_samplers = [ + DistributedSampler( + val_dataset, + num_replicas=world_size, + rank=rank, + shuffle=False, + drop_last=False, + ) + for val_dataset in val_datasets + ] + else: + train_samplers = [None] * len(train_datasets) + val_samplers = [None] * len(val_datasets) + + # Create dataloader for the training datasets: + train_dataloaders = [] + for dataset, sampler in zip(train_datasets, train_samplers): + train_dataloaders.append( + DataLoader( + dataset=dataset, + batch_size=self.hypers["batch_size"], + sampler=sampler, + shuffle=( + sampler is None + ), # the sampler takes care of this (if present) + drop_last=( + sampler is None + ), # the sampler takes care of this (if present) + collate_fn=collate_fn, + ) + ) + train_dataloader = CombinedDataLoader(train_dataloaders, shuffle=True) + + # Create dataloader for the validation datasets: + val_dataloaders = [] + for dataset, sampler in zip(val_datasets, val_samplers): + val_dataloaders.append( + DataLoader( + dataset=dataset, + batch_size=self.hypers["batch_size"], + sampler=sampler, + shuffle=False, + drop_last=False, + collate_fn=collate_fn, + ) + ) + val_dataloader = CombinedDataLoader(val_dataloaders, shuffle=False) + + # Extract all the possible outputs and their gradients: + train_targets = get_targets_dict( + train_datasets, (model.module if is_distributed else model).dataset_info + ) + outputs_list = [] + for target_name, target_info in train_targets.items(): + outputs_list.append(target_name) + for gradient_name in target_info.gradients: + outputs_list.append(f"{target_name}_{gradient_name}_gradients") + # Create a loss weight dict: + loss_weights_dict = {} + for output_name in outputs_list: + loss_weights_dict[output_name] = ( + self.hypers["loss_weights"][ + to_external_name(output_name, train_targets) + ] + if to_external_name(output_name, train_targets) + in self.hypers["loss_weights"] + else 1.0 + ) + loss_weights_dict_external = { + to_external_name(key, train_targets): value + for key, value in loss_weights_dict.items() + } + logging.info(f"Training with loss weights: {loss_weights_dict_external}") + + # Create a loss function: + loss_fn = TensorMapDictLoss(loss_weights_dict) + + # Create an optimizer: + optimizer = torch.optim.Adam( + model.parameters(), lr=self.hypers["learning_rate"] + ) + if self.optimizer_state_dict is not None: + optimizer.load_state_dict(self.optimizer_state_dict) + + # Create a scheduler: + lr_scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau( + optimizer, + mode="min", + factor=self.hypers["scheduler_factor"], + patience=self.hypers["scheduler_patience"], + ) + if self.scheduler_state_dict is not None: + lr_scheduler.load_state_dict(self.scheduler_state_dict) + + # counters for early stopping: + best_val_loss = float("inf") + epochs_without_improvement = 0 + + # per-atom targets: + per_structure_targets = self.hypers["per_structure_targets"] + + start_epoch = 0 if self.epoch is None else self.epoch + 1 + + # Train the model: + logger.info("Starting training") + for epoch in range(start_epoch, start_epoch + self.hypers["num_epochs"]): + if is_distributed: + sampler.set_epoch(epoch) + + train_rmse_calculator = RMSEAccumulator() + val_rmse_calculator = RMSEAccumulator() + + train_loss = 0.0 + for batch in train_dataloader: + optimizer.zero_grad() + + systems, targets = batch + systems = [apply_random_augmentation(system) for system in systems] + systems = [system.to(dtype=dtype, device=device) for system in systems] + targets = { + key: value.to(dtype=dtype, device=device) + for key, value in targets.items() + } + predictions = evaluate_model( + model, + systems, + TargetInfoDict( + **{key: train_targets[key] for key in targets.keys()} + ), + is_training=True, + ) + + # average by the number of atoms + predictions = average_by_num_atoms( + predictions, systems, per_structure_targets + ) + targets = average_by_num_atoms(targets, systems, per_structure_targets) + + train_loss_batch = loss_fn(predictions, targets) + train_loss_batch.backward() + optimizer.step() + + if is_distributed: + # sum the loss over all processes + torch.distributed.all_reduce(train_loss_batch) + train_loss += train_loss_batch.item() + train_rmse_calculator.update(predictions, targets) + finalized_train_info = train_rmse_calculator.finalize( + not_per_atom=["positions_gradients"] + per_structure_targets, + is_distributed=is_distributed, + device=device, + ) + + val_loss = 0.0 + for batch in val_dataloader: + systems, targets = batch + systems = [system.to(dtype=dtype, device=device) for system in systems] + targets = { + key: value.to(dtype=dtype, device=device) + for key, value in targets.items() + } + predictions = evaluate_model( + model, + systems, + TargetInfoDict( + **{key: train_targets[key] for key in targets.keys()} + ), + is_training=False, + ) + + # average by the number of atoms + predictions = average_by_num_atoms( + predictions, systems, per_structure_targets + ) + targets = average_by_num_atoms(targets, systems, per_structure_targets) + + val_loss_batch = loss_fn(predictions, targets) + + if is_distributed: + # sum the loss over all processes + torch.distributed.all_reduce(val_loss_batch) + val_loss += val_loss_batch.item() + val_rmse_calculator.update(predictions, targets) + finalized_val_info = val_rmse_calculator.finalize( + not_per_atom=["positions_gradients"] + per_structure_targets, + is_distributed=is_distributed, + device=device, + ) + + lr_scheduler.step(val_loss) + + # Now we log the information: + finalized_train_info = {"loss": train_loss, **finalized_train_info} + finalized_val_info = { + "loss": val_loss, + **finalized_val_info, + } + + if epoch == start_epoch: + metric_logger = MetricLogger( + log_obj=logger, + dataset_info=model.dataset_info, + initial_metrics=[finalized_train_info, finalized_val_info], + names=["training", "validation"], + ) + if epoch % self.hypers["log_interval"] == 0: + metric_logger.log( + metrics=[finalized_train_info, finalized_val_info], + epoch=epoch, + rank=rank, + ) + + if epoch % self.hypers["checkpoint_interval"] == 0: + if is_distributed: + torch.distributed.barrier() + self.optimizer_state_dict = optimizer.state_dict() + self.scheduler_state_dict = lr_scheduler.state_dict() + self.epoch = epoch + self.save_checkpoint( + (model.module if is_distributed else model), + Path(checkpoint_dir) / f"model_{epoch}.ckpt", + ) + + # early stopping criterion: + if val_loss < best_val_loss: + best_val_loss = val_loss + epochs_without_improvement = 0 + else: + epochs_without_improvement += 1 + if epochs_without_improvement >= self.hypers["early_stopping_patience"]: + logger.info( + "Early stopping criterion reached after " + f"{self.hypers['early_stopping_patience']} epochs " + "without improvement." + ) + break + + def save_checkpoint(self, model, path: Union[str, Path]): + checkpoint = { + "model_hypers": { + "model_hypers": model.hypers, + "dataset_info": model.dataset_info, + }, + "model_state_dict": model.state_dict(), + "train_hypers": self.hypers, + "epoch": self.epoch, + "optimizer_state_dict": self.optimizer_state_dict, + "scheduler_state_dict": self.scheduler_state_dict, + } + torch.save( + checkpoint, + check_file_extension(path, ".ckpt"), + ) + + @classmethod + def load_checkpoint(cls, path: Union[str, Path], train_hypers) -> "Trainer": + + # Load the checkpoint + checkpoint = torch.load(path) + model_hypers = checkpoint["model_hypers"] + model_state_dict = checkpoint["model_state_dict"] + epoch = checkpoint["epoch"] + optimizer_state_dict = checkpoint["optimizer_state_dict"] + scheduler_state_dict = checkpoint["scheduler_state_dict"] + + # Create the trainer + trainer = cls(train_hypers) + trainer.optimizer_state_dict = optimizer_state_dict + trainer.scheduler_state_dict = scheduler_state_dict + trainer.epoch = epoch + + # Create the model + model = NanoPET(**model_hypers) + model.load_state_dict(model_state_dict) + + return trainer diff --git a/src/metatrain/utils/composition.py b/src/metatrain/utils/composition.py index c3780c281..97530c849 100644 --- a/src/metatrain/utils/composition.py +++ b/src/metatrain/utils/composition.py @@ -98,3 +98,40 @@ def apply_composition_contribution( ) return TensorMap(keys=new_keys_labels, blocks=new_blocks) + + +def apply_composition_contribution_samples( + atomic_property: TensorMap, composition_weights: torch.Tensor +) -> TensorMap: + """Apply the composition contribution to an atomic property. + + In this variant, the atomic types are stored in the samples, and not in + the keys. Only one block is assumed. + + :param atomic_property: Atomic property to apply the composition contribution to. + :param composition_weights: Composition weights to apply. + :returns: Atomic property with the composition contribution applied. + """ + + block = atomic_property.block() + center_types = block.samples.column("center_type") + atomic_species = torch.unique(center_types) + + new_values = block.values.clone() + for s in atomic_species: + mask = center_types == s + new_values[mask] += composition_weights[s] + new_block = TensorBlock( + values=new_values, + samples=block.samples, + components=block.components, + properties=block.properties, + ) + + return TensorMap( + keys=Labels( + names=["_"], + values=torch.zeros(1, 1, dtype=torch.int32, device=new_values.device), + ), + blocks=[new_block], + ) diff --git a/tests/resources/options.yaml b/tests/resources/options.yaml index 977c68e9f..0efe59586 100644 --- a/tests/resources/options.yaml +++ b/tests/resources/options.yaml @@ -3,8 +3,8 @@ seed: 42 architecture: name: experimental.soap_bpnn training: - batch_size: 2 - num_epochs: 1 + batch_size: 16 + num_epochs: 100 training_set: systems: diff --git a/tests/resources/options_nanopet.yaml b/tests/resources/options_nanopet.yaml new file mode 100644 index 000000000..9e86db7ae --- /dev/null +++ b/tests/resources/options_nanopet.yaml @@ -0,0 +1,19 @@ +seed: 42 + +architecture: + name: experimental.nanopet + training: + batch_size: 16 + num_epochs: 100 + +training_set: + systems: + read_from: qm9_reduced_100.xyz + length_unit: angstrom + targets: + energy: + key: U0 + unit: eV + +test_set: 0.5 +validation_set: 0.1 From 65c14043541fb7ab0b0fc03ef5ce932765ebb09b Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 17 Jul 2024 22:10:04 +0200 Subject: [PATCH 004/126] Use `check_consistency` in tests --- src/metatrain/cli/eval.py | 21 +++++++++++++++++++-- src/metatrain/utils/evaluate_model.py | 13 +++++++++---- tests/cli/test_eval_model.py | 5 +++++ tests/utils/test_evaluate_model.py | 4 +++- 4 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/metatrain/cli/eval.py b/src/metatrain/cli/eval.py index 29b91d471..0c33421ad 100644 --- a/src/metatrain/cli/eval.py +++ b/src/metatrain/cli/eval.py @@ -79,6 +79,13 @@ def _add_eval_model_parser(subparser: argparse._SubParsersAction) -> None: default="output.xyz", help="filename of the predictions (default: %(default)s)", ) + parser.add_argument( + "-c", + "--check-consistency", + dest="check_consistency", + action="store_true", + help="whether to run consistency checks (default: %(default)s)", + ) def _prepare_eval_model_args(args: argparse.Namespace) -> None: @@ -150,6 +157,7 @@ def _eval_targets( dataset: Union[Dataset, torch.utils.data.Subset], options: TargetInfoDict, return_predictions: bool, + check_consistency: bool = False, ) -> Optional[Dict[str, TensorMap]]: """Evaluates an exported model on a dataset and prints the RMSEs for each target. Optionally, it also returns the predictions of the model. @@ -192,7 +200,13 @@ def _eval_targets( batch_targets = { key: value.to(device=device) for key, value in batch_targets.items() } - batch_predictions = evaluate_model(model, systems, options, is_training=False) + batch_predictions = evaluate_model( + model, + systems, + options, + is_training=False, + check_consistency=check_consistency, + ) batch_predictions = average_by_num_atoms( batch_predictions, systems, per_structure_keys=[] ) @@ -225,6 +239,7 @@ def eval_model( model: Union[MetatensorAtomisticModel, torch.jit._script.RecursiveScriptModule], options: DictConfig, output: Union[Path, str] = "output.xyz", + check_consistency: bool = False, ) -> None: """Evaluate an exported model on a given data set. @@ -234,7 +249,8 @@ def eval_model( :param model: Saved model to be evaluated. :param options: DictConfig to define a test dataset taken for the evaluation. - :param output: Path to save the predicted values + :param output: Path to save the predicted values. + :param check_consistency: Whether to run consistency checks during model evaluation. """ logger.info("Setting up evaluation set.") @@ -292,6 +308,7 @@ def eval_model( dataset=eval_dataset, options=eval_info_dict, return_predictions=True, + check_consistency=check_consistency, ) except Exception as e: raise ArchitectureError(e) diff --git a/src/metatrain/utils/evaluate_model.py b/src/metatrain/utils/evaluate_model.py index dd2381362..48447b879 100644 --- a/src/metatrain/utils/evaluate_model.py +++ b/src/metatrain/utils/evaluate_model.py @@ -35,6 +35,7 @@ def evaluate_model( systems: List[System], targets: TargetInfoDict, is_training: bool, + check_consistency: bool = False, ) -> Dict[str, TensorMap]: """ Evaluate the model (in training or exported) on a set of requested targets. @@ -75,13 +76,14 @@ def evaluate_model( system, positions_grad=len(energy_targets_that_require_position_gradients) > 0, strain_grad=len(energy_targets_that_require_strain_gradients) > 0, + check_consistency=check_consistency, ) new_systems.append(new_system) strains.append(strain) systems = new_systems # Based on the keys of the targets, get the outputs of the model: - model_outputs = _get_model_outputs(model, systems, targets) + model_outputs = _get_model_outputs(model, systems, targets, check_consistency) for energy_target in energy_targets: # If the energy target requires gradients, compute them: @@ -233,6 +235,7 @@ def _get_model_outputs( ], systems: List[System], targets: TargetInfoDict, + check_consistency: bool, ) -> Dict[str, TensorMap]: if is_exported(model): # put together an EvaluationOptions object @@ -245,7 +248,7 @@ def _get_model_outputs( for key, value in targets.items() }, ) - return model(systems, options, check_consistency=False) + return model(systems, options, check_consistency=check_consistency) else: return model( systems, @@ -258,7 +261,9 @@ def _get_model_outputs( ) -def _prepare_system(system: System, positions_grad: bool, strain_grad: bool): +def _prepare_system( + system: System, positions_grad: bool, strain_grad: bool, check_consistency: bool +): """ Prepares a system for gradient calculation. """ @@ -293,7 +298,7 @@ def _prepare_system(system: System, positions_grad: bool, strain_grad: bool): for nl_options in system.known_neighbor_lists(): nl = system.get_neighbor_list(nl_options) nl = metatensor.torch.detach_block(nl) - register_autograd_neighbors(new_system, nl) + register_autograd_neighbors(new_system, nl, check_consistency) new_system.add_neighbor_list(nl_options, nl) return new_system, strain diff --git a/tests/cli/test_eval_model.py b/tests/cli/test_eval_model.py index ad3bd50eb..5a6fa08bc 100644 --- a/tests/cli/test_eval_model.py +++ b/tests/cli/test_eval_model.py @@ -37,6 +37,7 @@ def test_eval_cli(monkeypatch, tmp_path): str(EVAL_OPTIONS_PATH), "-e", str(RESOURCES_PATH / "extensions"), + "-c", # check consistency ] output = subprocess.check_output(command, stderr=subprocess.STDOUT) @@ -60,6 +61,7 @@ def test_eval(monkeypatch, tmp_path, caplog, model_name, options): model=model, options=options, output="foo.xyz", + check_consistency=True, ) # Test target predictions @@ -94,6 +96,7 @@ def test_eval_export(monkeypatch, tmp_path, options): model=exported_model, options=options, output="foo.xyz", + check_consistency=True, ) @@ -108,6 +111,7 @@ def test_eval_multi_dataset(monkeypatch, tmp_path, caplog, model, options): model=model, options=OmegaConf.create([options, options]), output="foo.xyz", + check_consistency=True, ) # Test target predictions @@ -131,6 +135,7 @@ def test_eval_no_targets(monkeypatch, tmp_path, model, options): eval_model( model=model, options=options, + check_consistency=True, ) assert Path("output.xyz").is_file() diff --git a/tests/utils/test_evaluate_model.py b/tests/utils/test_evaluate_model.py index 8bfeb7c77..b833afbf2 100644 --- a/tests/utils/test_evaluate_model.py +++ b/tests/utils/test_evaluate_model.py @@ -50,7 +50,9 @@ def test_evaluate_model(training, exported): for system in systems ] - outputs = evaluate_model(model, systems, targets, is_training=training) + outputs = evaluate_model( + model, systems, targets, is_training=training, check_consistency=True + ) assert isinstance(outputs, dict) assert "energy" in outputs From 98ac770e62a90b877e1736a774ea34f9572f8de0 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 18 Jul 2024 07:32:50 +0200 Subject: [PATCH 005/126] Implement `selected_atoms` --- src/metatrain/experimental/nanopet/model.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 06152a06e..197bd77a1 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -157,12 +157,6 @@ def forward( # Checks on systems (species) and outputs are done in the # MetatensorAtomisticModel wrapper - if selected_atoms is not None: - raise NotImplementedError( - "The PET model does not support domain decomposition." - ) - - n_structures = len(systems) positions, centers, neighbors, species, segment_indices, edge_vectors = ( concatenate_structures(systems) ) @@ -283,11 +277,17 @@ def forward( } return_dict: Dict[str, TensorMap] = {} - for name, tmap in atomic_energies_tmap.items(): - return_dict[name] = apply_composition_contribution_samples( - tmap, self.composition_weights[self.output_to_index[name]] + for output_name, tmap in atomic_energies_tmap.items(): + return_dict[output_name] = apply_composition_contribution_samples( + tmap, self.composition_weights[self.output_to_index[output_name]] ) + if selected_atoms is not None: + for output_name, tmap in atomic_energies_tmap.items(): + return_dict[output_name] = metatensor.torch.slice( + tmap, axis="samples", labels=selected_atoms + ) + for output_name, atomic_energy in return_dict.items(): if outputs[output_name].per_atom: # this operation should just remove the center_type label From 2ae3da28bbb4561389ded44daca30588bf0fa04b Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 18 Jul 2024 13:02:00 +0200 Subject: [PATCH 006/126] Optimized training, there still seems to be a bug --- pyproject.toml | 3 + src/metatrain/experimental/nanopet/model.py | 4 +- .../nanopet/modules/augmentation.py | 113 ++++++++++++++---- .../nanopet/modules/corresponding_edges.py | 12 -- .../experimental/nanopet/modules/nef.py | 28 ----- src/metatrain/experimental/nanopet/trainer.py | 4 +- src/metatrain/experimental/pet/trainer.py | 3 - tests/resources/options_nanopet.yaml | 15 ++- 8 files changed, 105 insertions(+), 77 deletions(-) delete mode 100644 src/metatrain/experimental/nanopet/modules/corresponding_edges.py diff --git a/pyproject.toml b/pyproject.toml index dfdb38595..2020e209f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,6 +66,9 @@ alchemical-model = [ pet = [ "pet @ git+https://github.com/spozdn/pet.git@1a470c4", ] +nanopet = [ + "nanopet-neighbors @ git+https://github.com/frostedoyster/nanopet-neighbors" +] gap = [ "rascaline-torch @ git+https://github.com/luthaf/rascaline@e215461#subdirectory=python/rascaline-torch", "skmatter", diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 197bd77a1..3b4551784 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -16,12 +16,12 @@ from ...utils.data import DatasetInfo from ...utils.dtype import dtype_to_str from ...utils.export import export -from .modules.corresponding_edges import get_corresponding_edges from .modules.encoder import Encoder -from .modules.nef import edge_array_to_nef, get_nef_indices, nef_array_to_edges +from .modules.nef import edge_array_to_nef, nef_array_to_edges from .modules.radial_mask import get_radial_mask from .modules.structures import concatenate_structures from .modules.transformer import Transformer +from nanopet_neighbors import get_nef_indices, get_corresponding_edges class NanoPET(torch.nn.Module): diff --git a/src/metatrain/experimental/nanopet/modules/augmentation.py b/src/metatrain/experimental/nanopet/modules/augmentation.py index b415d217b..5451cf41d 100644 --- a/src/metatrain/experimental/nanopet/modules/augmentation.py +++ b/src/metatrain/experimental/nanopet/modules/augmentation.py @@ -1,40 +1,103 @@ import random import torch -from metatensor.torch import TensorBlock +from metatensor.torch import Labels, TensorBlock, TensorMap from metatensor.torch.atomistic import System from scipy.spatial.transform import Rotation +from typing import Dict, List, Tuple -def apply_random_augmentation(system: System) -> System: +def apply_random_augmentations(systems: List[System], targets: Dict[str, TensorMap]) -> Tuple[List[System], Dict[str, TensorMap]]: """ - Apply a random augmentation to a ``System``. - - :param structure: The structure to augment. - :return: The augmented structure. + Apply a random augmentation to a number of ``System`` objects and its targets. """ - transformation = torch.tensor( - get_random_augmentation(), dtype=system.positions.dtype - ) - new_system = System( - positions=system.positions @ transformation.T, - types=system.types, - cell=system.cell @ transformation.T, - ) - for nl_options in system.known_neighbor_lists(): - old_nl = system.get_neighbor_list(nl_options) - new_system.add_neighbor_list( - nl_options, - TensorBlock( - values=(old_nl.values.squeeze(-1) @ transformation.T).unsqueeze(-1), - samples=old_nl.samples, - components=old_nl.components, - properties=old_nl.properties, - ), + transformations = [ + torch.tensor( + get_random_augmentation(), dtype=systems[0].positions.dtype + ) + for _ in range(len(systems)) + ] + + return _apply_random_augmentations(systems, targets, transformations) + + +@torch.jit.script +def _apply_random_augmentations(systems: List[System], targets: Dict[str, TensorMap], transformations: List[torch.Tensor]) -> Tuple[List[System], Dict[str, TensorMap]]: + + split_sizes_forces = [system.positions.shape[0] for system in systems] + + # Apply the transformations to the systems + new_systems: List[System] = [] + for system, transformation in zip(systems, transformations): + new_system = System( + positions=system.positions @ transformation.T, + types=system.types, + cell=system.cell @ transformation.T, + ) + for nl_options in system.known_neighbor_lists(): + old_nl = system.get_neighbor_list(nl_options) + new_system.add_neighbor_list( + nl_options, + TensorBlock( + values=(old_nl.values.squeeze(-1) @ transformation.T).unsqueeze(-1), + samples=old_nl.samples, + components=old_nl.components, + properties=old_nl.properties, + ), + ) + new_systems.append(new_system) + + # Apply the transformation to the targets + new_targets: Dict[str, TensorMap] = {} + for name, target_tmap in targets.items(): + # no change for energies + energy_block = TensorBlock( + values=target_tmap.block().values, + samples=target_tmap.block().samples, + components=target_tmap.block().components, + properties=target_tmap.block().properties + ) + if target_tmap.block().has_gradient("positions"): + # transform position gradients: + block = target_tmap.block().gradient("positions") + position_gradients = block.values.squeeze(-1) + split_position_gradients = torch.split(position_gradients, split_sizes_forces) + position_gradients = torch.cat( + [split_position_gradients[i] @ transformations[i].T for i in range(len(systems))] + ) + energy_block.add_gradient( + "positions", + TensorBlock( + values=position_gradients.unsqueeze(-1), + samples=block.samples, + components=block.components, + properties=block.properties + ) + ) + if target_tmap.block().has_gradient("strain"): + # transform strain gradients (rank 2 tensor): + block = target_tmap.block().gradient("strain") + strain_gradients = block.values.squeeze(-1) + split_strain_gradients = torch.split(strain_gradients, 1) + new_strain_gradients = torch.stack( + [transformations[i] @ split_strain_gradients[i].squeeze(0) @ transformations[i].T for i in range(len(systems))], dim=0 + ) + energy_block.add_gradient( + "strain", + TensorBlock( + values=new_strain_gradients.unsqueeze(-1), + samples=block.samples, + components=block.components, + properties=block.properties + ) + ) + new_targets[name] = TensorMap( + keys=target_tmap.keys, + blocks=[energy_block], ) - return new_system + return new_systems, new_targets def get_random_augmentation(): diff --git a/src/metatrain/experimental/nanopet/modules/corresponding_edges.py b/src/metatrain/experimental/nanopet/modules/corresponding_edges.py deleted file mode 100644 index 52e0cf3a4..000000000 --- a/src/metatrain/experimental/nanopet/modules/corresponding_edges.py +++ /dev/null @@ -1,12 +0,0 @@ -import torch - - -def get_corresponding_edges(array): - n_edges = len(array) - array_inversed = array.flip(1) - inverse_indices = torch.empty((n_edges,), dtype=torch.long) - for i in range(n_edges): - inverse_indices[i] = torch.nonzero( - torch.all(array_inversed == array[i], dim=1) - )[0][0] - return inverse_indices diff --git a/src/metatrain/experimental/nanopet/modules/nef.py b/src/metatrain/experimental/nanopet/modules/nef.py index cb20a08a3..fc03ff0ae 100644 --- a/src/metatrain/experimental/nanopet/modules/nef.py +++ b/src/metatrain/experimental/nanopet/modules/nef.py @@ -3,33 +3,6 @@ import torch -@torch.jit.script -def get_nef_indices(centers, n_nodes: int, n_edges_per_node: int): - """Transform the center indices into NEF indices.""" - - n_edges = len(centers) - edges_to_nef = torch.zeros( - (n_nodes, n_edges_per_node), dtype=torch.long, device=centers.device - ) - nef_to_edges_neighbor = torch.empty( - (n_edges,), dtype=torch.long, device=centers.device - ) - node_counter = torch.zeros((n_nodes,), dtype=torch.long, device=centers.device) - nef_mask = torch.full( - (n_nodes, n_edges_per_node), 0, dtype=torch.bool, device=centers.device - ) - - for i in range(n_edges): - center = centers[i] - edges_to_nef[center, node_counter[center]] = i - nef_mask[center, node_counter[center]] = True - nef_to_edges_neighbor[i] = node_counter[center] - node_counter[center] += 1 - - return (edges_to_nef, nef_to_edges_neighbor, nef_mask) - - -@torch.jit.script def edge_array_to_nef( edge_array, nef_indices, @@ -48,7 +21,6 @@ def edge_array_to_nef( ) -@torch.jit.script def nef_array_to_edges(nef_array, centers, nef_to_edges_neighbor): """Converts a NEF array to an edge array.""" diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 94a128214..832ad14bb 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -27,7 +27,7 @@ from ...utils.neighbor_lists import get_system_with_neighbor_lists from ...utils.per_atom import average_by_num_atoms from .model import NanoPET -from .modules.augmentation import apply_random_augmentation +from .modules.augmentation import apply_random_augmentations logger = logging.getLogger(__name__) @@ -278,7 +278,7 @@ def train( optimizer.zero_grad() systems, targets = batch - systems = [apply_random_augmentation(system) for system in systems] + systems, targets = apply_random_augmentations(systems, targets) systems = [system.to(dtype=dtype, device=device) for system in systems] targets = { key: value.to(dtype=dtype, device=device) diff --git a/src/metatrain/experimental/pet/trainer.py b/src/metatrain/experimental/pet/trainer.py index 5cf889651..b36551aa3 100644 --- a/src/metatrain/experimental/pet/trainer.py +++ b/src/metatrain/experimental/pet/trainer.py @@ -80,9 +80,6 @@ def train( # set model hypers self.hypers["ARCHITECTURAL_HYPERS"] = model.hypers - dtype = train_datasets[0][0]["system"].positions.dtype - if dtype != torch.float32: - raise ValueError("PET only supports float32 as dtype") self.hypers["ARCHITECTURAL_HYPERS"]["DTYPE"] = "float32" # set MLIP_SETTINGS diff --git a/tests/resources/options_nanopet.yaml b/tests/resources/options_nanopet.yaml index 9e86db7ae..6118e7df1 100644 --- a/tests/resources/options_nanopet.yaml +++ b/tests/resources/options_nanopet.yaml @@ -1,19 +1,24 @@ seed: 42 +device: cuda +base_precision: 32 architecture: name: experimental.nanopet training: batch_size: 16 - num_epochs: 100 + num_epochs: 10000 + log_interval: 10 + learning_rate: 1e-3 + n_gnn_layers: 2 training_set: systems: - read_from: qm9_reduced_100.xyz + read_from: ethanol_reduced_100.xyz length_unit: angstrom targets: energy: - key: U0 + key: energy unit: eV -test_set: 0.5 -validation_set: 0.1 +test_set: 0.0 +validation_set: 0.3 From 836e3fcf34dd0aa136e88c056b09d302745b04c5 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 18 Jul 2024 13:33:05 +0200 Subject: [PATCH 007/126] Fixed bug --- src/metatrain/experimental/nanopet/model.py | 2 +- tests/resources/options_nanopet.yaml | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 3b4551784..0a2cfeba1 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -222,7 +222,7 @@ def forward( # Readout edge_energies = { - output_name: 0.001 * last_layer(features) + output_name: last_layer(features) for output_name, last_layer in self.last_layers.items() } # Apply radial weights diff --git a/tests/resources/options_nanopet.yaml b/tests/resources/options_nanopet.yaml index 6118e7df1..dcce64a70 100644 --- a/tests/resources/options_nanopet.yaml +++ b/tests/resources/options_nanopet.yaml @@ -5,11 +5,10 @@ base_precision: 32 architecture: name: experimental.nanopet training: - batch_size: 16 + batch_size: 8 num_epochs: 10000 log_interval: 10 - learning_rate: 1e-3 - n_gnn_layers: 2 + learning_rate: 1e-4 training_set: systems: From c0df552b5a31f1fcf7dcfdb12c43a400d132ffb0 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 18 Jul 2024 17:56:07 +0200 Subject: [PATCH 008/126] Fix attention correctness --- src/metatrain/experimental/nanopet/model.py | 2 +- .../experimental/nanopet/modules/attention.py | 49 ++++++++++++------- .../nanopet/modules/augmentation.py | 45 +++++++++++------ 3 files changed, 63 insertions(+), 33 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 0a2cfeba1..62b7a1443 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -11,6 +11,7 @@ NeighborListOptions, System, ) +from nanopet_neighbors import get_corresponding_edges, get_nef_indices from ...utils.composition import apply_composition_contribution_samples from ...utils.data import DatasetInfo @@ -21,7 +22,6 @@ from .modules.radial_mask import get_radial_mask from .modules.structures import concatenate_structures from .modules.transformer import Transformer -from nanopet_neighbors import get_nef_indices, get_corresponding_edges class NanoPET(torch.nn.Module): diff --git a/src/metatrain/experimental/nanopet/modules/attention.py b/src/metatrain/experimental/nanopet/modules/attention.py index b23f5957a..b491445c9 100644 --- a/src/metatrain/experimental/nanopet/modules/attention.py +++ b/src/metatrain/experimental/nanopet/modules/attention.py @@ -14,15 +14,10 @@ def __init__( super().__init__() self.num_heads = num_heads - self.attention = torch.nn.MultiheadAttention( - hidden_size, - num_heads, - dropout=attention_dropout_rate, - bias=False, - batch_first=True, - ) + self.in_proj = torch.nn.Linear(hidden_size, 3 * hidden_size) + self.out_proj = torch.nn.Linear(hidden_size, hidden_size) self.layernorm = torch.nn.LayerNorm(normalized_shape=hidden_size) - self.dropout = torch.nn.Dropout(dropout_rate) + self.attention_dropout_rate = attention_dropout_rate def forward( self, @@ -30,21 +25,41 @@ def forward( radial_mask: torch.Tensor, # seq_len ) -> torch.Tensor: # seq_len hidden_size - # Apply radial mask - inputs = inputs * radial_mask[:, :, None] - # Pre-layer normalization normed_inputs = self.layernorm(inputs) + # Input projection + qkv = self.in_proj(normed_inputs) + q, k, v = torch.chunk(qkv, 3, dim=-1) + # Split heads + q = q.reshape(q.size(0), q.size(1), self.num_heads, q.size(2) // self.num_heads) + k = k.reshape(k.size(0), k.size(1), self.num_heads, k.size(2) // self.num_heads) + v = v.reshape(v.size(0), v.size(1), self.num_heads, v.size(2) // self.num_heads) + q = q.transpose(1, 2) + k = k.transpose(1, 2) + v = v.transpose(1, 2) # Attention - attention_output, _ = self.attention( - query=normed_inputs, - key=normed_inputs, - value=normed_inputs, + attention_weights = torch.matmul(q, k.transpose(-2, -1)) / (k.size(-1) ** 0.5) + attention_weights = attention_weights.softmax(dim=-1) + attention_weights = torch.nn.functional.dropout( + attention_weights, p=self.attention_dropout_rate, training=self.training + ) + + # Radial mask + attention_weights = attention_weights * radial_mask[:, None, None, :] + attention_weights = attention_weights / ( + attention_weights.sum(dim=-1, keepdim=True) + 1e-6 + ) + + # Attention output + attention_output = torch.matmul(attention_weights, v) + attention_output = attention_output.transpose(1, 2) + attention_output = attention_output.reshape( + attention_output.size(0), attention_output.size(1), -1 ) - # Apply dropout - output = self.dropout(attention_output) + # Output projection + output = self.out_proj(attention_output) # Residual connection output += inputs diff --git a/src/metatrain/experimental/nanopet/modules/augmentation.py b/src/metatrain/experimental/nanopet/modules/augmentation.py index 5451cf41d..4d04b3443 100644 --- a/src/metatrain/experimental/nanopet/modules/augmentation.py +++ b/src/metatrain/experimental/nanopet/modules/augmentation.py @@ -1,21 +1,21 @@ import random +from typing import Dict, List, Tuple import torch -from metatensor.torch import Labels, TensorBlock, TensorMap +from metatensor.torch import TensorBlock, TensorMap from metatensor.torch.atomistic import System from scipy.spatial.transform import Rotation -from typing import Dict, List, Tuple -def apply_random_augmentations(systems: List[System], targets: Dict[str, TensorMap]) -> Tuple[List[System], Dict[str, TensorMap]]: +def apply_random_augmentations( + systems: List[System], targets: Dict[str, TensorMap] +) -> Tuple[List[System], Dict[str, TensorMap]]: """ Apply a random augmentation to a number of ``System`` objects and its targets. """ transformations = [ - torch.tensor( - get_random_augmentation(), dtype=systems[0].positions.dtype - ) + torch.tensor(get_random_augmentation(), dtype=systems[0].positions.dtype) for _ in range(len(systems)) ] @@ -23,7 +23,11 @@ def apply_random_augmentations(systems: List[System], targets: Dict[str, TensorM @torch.jit.script -def _apply_random_augmentations(systems: List[System], targets: Dict[str, TensorMap], transformations: List[torch.Tensor]) -> Tuple[List[System], Dict[str, TensorMap]]: +def _apply_random_augmentations( + systems: List[System], + targets: Dict[str, TensorMap], + transformations: List[torch.Tensor], +) -> Tuple[List[System], Dict[str, TensorMap]]: split_sizes_forces = [system.positions.shape[0] for system in systems] @@ -56,15 +60,20 @@ def _apply_random_augmentations(systems: List[System], targets: Dict[str, Tensor values=target_tmap.block().values, samples=target_tmap.block().samples, components=target_tmap.block().components, - properties=target_tmap.block().properties + properties=target_tmap.block().properties, ) if target_tmap.block().has_gradient("positions"): # transform position gradients: block = target_tmap.block().gradient("positions") position_gradients = block.values.squeeze(-1) - split_position_gradients = torch.split(position_gradients, split_sizes_forces) + split_position_gradients = torch.split( + position_gradients, split_sizes_forces + ) position_gradients = torch.cat( - [split_position_gradients[i] @ transformations[i].T for i in range(len(systems))] + [ + split_position_gradients[i] @ transformations[i].T + for i in range(len(systems)) + ] ) energy_block.add_gradient( "positions", @@ -72,8 +81,8 @@ def _apply_random_augmentations(systems: List[System], targets: Dict[str, Tensor values=position_gradients.unsqueeze(-1), samples=block.samples, components=block.components, - properties=block.properties - ) + properties=block.properties, + ), ) if target_tmap.block().has_gradient("strain"): # transform strain gradients (rank 2 tensor): @@ -81,7 +90,13 @@ def _apply_random_augmentations(systems: List[System], targets: Dict[str, Tensor strain_gradients = block.values.squeeze(-1) split_strain_gradients = torch.split(strain_gradients, 1) new_strain_gradients = torch.stack( - [transformations[i] @ split_strain_gradients[i].squeeze(0) @ transformations[i].T for i in range(len(systems))], dim=0 + [ + transformations[i] + @ split_strain_gradients[i].squeeze(0) + @ transformations[i].T + for i in range(len(systems)) + ], + dim=0, ) energy_block.add_gradient( "strain", @@ -89,8 +104,8 @@ def _apply_random_augmentations(systems: List[System], targets: Dict[str, Tensor values=new_strain_gradients.unsqueeze(-1), samples=block.samples, components=block.components, - properties=block.properties - ) + properties=block.properties, + ), ) new_targets[name] = TensorMap( keys=target_tmap.keys, From 7931989c4b4764bc38dd4855ff4c99ce6f69347c Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 18 Jul 2024 18:25:15 +0200 Subject: [PATCH 009/126] Add test for consistent predictions with different padding --- .../experimental/nanopet/tests/__init__.py | 7 +++ .../nanopet/tests/test_nanopet.py | 50 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 src/metatrain/experimental/nanopet/tests/__init__.py create mode 100644 src/metatrain/experimental/nanopet/tests/test_nanopet.py diff --git a/src/metatrain/experimental/nanopet/tests/__init__.py b/src/metatrain/experimental/nanopet/tests/__init__.py new file mode 100644 index 000000000..1af4c9973 --- /dev/null +++ b/src/metatrain/experimental/nanopet/tests/__init__.py @@ -0,0 +1,7 @@ +from pathlib import Path +from metatrain.utils.architectures import get_default_hypers + +DATASET_PATH = str(Path(__file__).parents[5] / "tests/resources/qm9_reduced_100.xyz") + +DEFAULT_HYPERS = get_default_hypers("experimental.nanopet") +MODEL_HYPERS = DEFAULT_HYPERS["model"] diff --git a/src/metatrain/experimental/nanopet/tests/test_nanopet.py b/src/metatrain/experimental/nanopet/tests/test_nanopet.py new file mode 100644 index 000000000..8b12ca0bc --- /dev/null +++ b/src/metatrain/experimental/nanopet/tests/test_nanopet.py @@ -0,0 +1,50 @@ +from metatrain.experimental.nanopet.model import NanoPET +import torch +from metatensor.torch.atomistic import System, ModelOutput + +from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists + +from . import MODEL_HYPERS + + + +def test_nanopet_padding(): + """Tests that the model predicts the same energy independently of the + padding size.""" + + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + ) + + model = NanoPET(MODEL_HYPERS, dataset_info) + + system = System( + types=torch.tensor([6, 6]), + positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), + cell=torch.zeros(3, 3), + ) + system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + outputs = {"energy": ModelOutput(per_atom=False)} + lone_output = model( + [system], + outputs + ) + + system_2 = System( + types=torch.tensor([6, 6, 6, 6, 6, 6, 6]), + positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0], [0.0, 0.0, 4.0], [0.0, 0.0, 5.0], [0.0, 0.0, 6.0]]), + cell=torch.zeros(3, 3), + ) + system_2 = get_system_with_neighbor_lists(system_2, model.requested_neighbor_lists()) + padded_output = model( + [system, system_2], + outputs + ) + + lone_energy = lone_output["energy"].block().values.squeeze(-1)[0] + padded_energy = padded_output["energy"].block().values.squeeze(-1)[0] + + assert torch.allclose(lone_energy, padded_energy) From aa7b4781d476c96e9c209d21087870bcb97081e8 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 18 Jul 2024 22:29:41 +0200 Subject: [PATCH 010/126] Update defaults --- .../experimental/nanopet/default-hypers.yaml | 2 +- tests/resources/options_nanopet.yaml | 6 +++--- tests/resources/options_pet.yaml | 20 +++++++++++++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 tests/resources/options_pet.yaml diff --git a/src/metatrain/experimental/nanopet/default-hypers.yaml b/src/metatrain/experimental/nanopet/default-hypers.yaml index 9f1c4ffb1..cc85523dd 100644 --- a/src/metatrain/experimental/nanopet/default-hypers.yaml +++ b/src/metatrain/experimental/nanopet/default-hypers.yaml @@ -17,7 +17,7 @@ training: num_epochs: 10000 learning_rate: 3e-4 early_stopping_patience: 1000 - scheduler_patience: 10 + scheduler_patience: 100 scheduler_factor: 0.8 log_interval: 10 checkpoint_interval: 100 diff --git a/tests/resources/options_nanopet.yaml b/tests/resources/options_nanopet.yaml index dcce64a70..b6dd4645b 100644 --- a/tests/resources/options_nanopet.yaml +++ b/tests/resources/options_nanopet.yaml @@ -8,7 +8,7 @@ architecture: batch_size: 8 num_epochs: 10000 log_interval: 10 - learning_rate: 1e-4 + learning_rate: 3e-4 training_set: systems: @@ -17,7 +17,7 @@ training_set: targets: energy: key: energy - unit: eV + unit: kcal/mol test_set: 0.0 -validation_set: 0.3 +validation_set: 0.5 diff --git a/tests/resources/options_pet.yaml b/tests/resources/options_pet.yaml new file mode 100644 index 000000000..4a594c05c --- /dev/null +++ b/tests/resources/options_pet.yaml @@ -0,0 +1,20 @@ +seed: 42 +device: cuda +base_precision: 32 + +architecture: + name: experimental.pet + training: + EPOCHS_WARMUP_ATOMIC: 250000 + +training_set: + systems: + read_from: ethanol_reduced_100.xyz + length_unit: angstrom + targets: + energy: + key: energy + unit: kcal/mol + +test_set: 0.0 +validation_set: 0.5 From 7223a95980269867564ee082c231f195b43a665a Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 19 Jul 2024 19:18:52 +0200 Subject: [PATCH 011/126] Last-layer features for nanoPET --- src/metatrain/experimental/nanopet/model.py | 104 ++++++++++++------ .../nanopet/tests/test_nanopet.py | 29 +++-- 2 files changed, 88 insertions(+), 45 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 62b7a1443..651463f33 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -220,34 +220,23 @@ def forward( new_features = transformer(new_features, radial_mask) features = features + new_features - # Readout - edge_energies = { - output_name: last_layer(features) - for output_name, last_layer in self.last_layers.items() - } - # Apply radial weights - edge_energies = { - output_name: ee * radial_mask[:, :, None] - for output_name, ee in edge_energies.items() - } + edge_features = features * radial_mask[:, :, None] + node_features = torch.sum(edge_features, dim=1) - # Sum over edges - atomic_energies_dict = { - output_name: torch.sum(ee, dim=(1, 2)) - for output_name, ee in edge_energies.items() - } + return_dict: Dict[str, TensorMap] = {} - atomic_energies_tmap = { - output_name: TensorMap( + # output the hidden features, if requested: + if "mtt::aux::last_layer_features" in outputs: + last_layer_feature_tmap = TensorMap( keys=Labels( names=["_"], - values=torch.tensor([[0]], device=atomic_energies.device), + values=torch.tensor([[0]], device=node_features.device), ), blocks=[ TensorBlock( - values=atomic_energies.unsqueeze(1), + values=node_features, samples=Labels( - names=["system", "atom", "center_type"], + names=["system", "atom"], values=torch.stack( [ segment_indices, @@ -255,40 +244,89 @@ def forward( [ torch.arange( len(system), - device=atomic_energies.device, + device=node_features.device, ) for system in systems ], ), - species, ], dim=1, ), ), components=[], properties=Labels( - names=["energy"], - values=torch.tensor([[0]], device=atomic_energies.device), + names=["property"], + values=torch.arange( + node_features.shape[-1], device=node_features.device + ).reshape(-1, 1), ), ) ], ) - for output_name, atomic_energies in atomic_energies_dict.items() - } + last_layer_features_options = outputs["mtt::aux::last_layer_features"] + if last_layer_features_options.per_atom: + return_dict["mtt::aux::last_layer_features"] = last_layer_feature_tmap + else: + return_dict["mtt::aux::last_layer_features"] = ( + metatensor.torch.sum_over_samples(last_layer_feature_tmap, ["atom"]) + ) - return_dict: Dict[str, TensorMap] = {} - for output_name, tmap in atomic_energies_tmap.items(): - return_dict[output_name] = apply_composition_contribution_samples( - tmap, self.composition_weights[self.output_to_index[output_name]] + atomic_energies_tmap_dict: Dict[str, TensorMap] = {} + for output_name, last_layer in self.last_layers.items(): + if output_name in outputs: + atomic_energies = last_layer(node_features) + atomic_energies_tmap_dict[output_name] = TensorMap( + keys=Labels( + names=["_"], + values=torch.tensor([[0]], device=node_features.device), + ), + blocks=[ + TensorBlock( + values=atomic_energies, + samples=Labels( + names=["system", "atom", "center_type"], + values=torch.stack( + [ + segment_indices, + torch.concatenate( + [ + torch.arange( + len(system), + device=atomic_energies.device, + ) + for system in systems + ], + ), + species, + ], + dim=1, + ), + ), + components=[], + properties=Labels( + names=["energy"], + values=torch.tensor( + [[0]], device=atomic_energies.device + ), + ), + ) + ], + ) + + for output_name, tmap in atomic_energies_tmap_dict.items(): + atomic_energies_tmap_dict[output_name] = ( + apply_composition_contribution_samples( + tmap, self.composition_weights[self.output_to_index[output_name]] + ) ) if selected_atoms is not None: - for output_name, tmap in atomic_energies_tmap.items(): - return_dict[output_name] = metatensor.torch.slice( + for output_name, tmap in atomic_energies_tmap_dict.items(): + atomic_energies_tmap_dict[output_name] = metatensor.torch.slice( tmap, axis="samples", labels=selected_atoms ) - for output_name, atomic_energy in return_dict.items(): + for output_name, atomic_energy in atomic_energies_tmap_dict.items(): if outputs[output_name].per_atom: # this operation should just remove the center_type label return_dict[output_name] = metatensor.torch.remove_dimension( diff --git a/src/metatrain/experimental/nanopet/tests/test_nanopet.py b/src/metatrain/experimental/nanopet/tests/test_nanopet.py index 8b12ca0bc..f4038fa47 100644 --- a/src/metatrain/experimental/nanopet/tests/test_nanopet.py +++ b/src/metatrain/experimental/nanopet/tests/test_nanopet.py @@ -1,14 +1,13 @@ -from metatrain.experimental.nanopet.model import NanoPET import torch -from metatensor.torch.atomistic import System, ModelOutput +from metatensor.torch.atomistic import ModelOutput, System +from metatrain.experimental.nanopet.model import NanoPET from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists from . import MODEL_HYPERS - def test_nanopet_padding(): """Tests that the model predicts the same energy independently of the padding size.""" @@ -28,21 +27,27 @@ def test_nanopet_padding(): ) system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) outputs = {"energy": ModelOutput(per_atom=False)} - lone_output = model( - [system], - outputs - ) + lone_output = model([system], outputs) system_2 = System( types=torch.tensor([6, 6, 6, 6, 6, 6, 6]), - positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0], [0.0, 0.0, 4.0], [0.0, 0.0, 5.0], [0.0, 0.0, 6.0]]), + positions=torch.tensor( + [ + [0.0, 0.0, 0.0], + [0.0, 0.0, 1.0], + [0.0, 0.0, 2.0], + [0.0, 0.0, 3.0], + [0.0, 0.0, 4.0], + [0.0, 0.0, 5.0], + [0.0, 0.0, 6.0], + ] + ), cell=torch.zeros(3, 3), ) - system_2 = get_system_with_neighbor_lists(system_2, model.requested_neighbor_lists()) - padded_output = model( - [system, system_2], - outputs + system_2 = get_system_with_neighbor_lists( + system_2, model.requested_neighbor_lists() ) + padded_output = model([system, system_2], outputs) lone_energy = lone_output["energy"].block().values.squeeze(-1)[0] padded_energy = padded_output["energy"].block().values.squeeze(-1)[0] From 2cc92b86dba201cf0687397fdb1c7eeee02b56ce Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 22 Jul 2024 12:41:50 +0200 Subject: [PATCH 012/126] Fix stuff --- src/metatrain/experimental/nanopet/trainer.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 832ad14bb..89b484299 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -113,7 +113,7 @@ def train( atomic_types.add(key) fixed_weights[ii] = weight - if not set(atomic_types) == model.atomic_types: + if not set(atomic_types) == (model.module if is_distributed else model).atomic_types: raise ValueError( "Supplied atomic types are not present in the dataset." ) @@ -140,7 +140,7 @@ def train( # Calculating the neighbor lists for the training and validation datasets: logger.info("Calculating neighbor lists for the datasets") - requested_neighbor_lists = model.requested_neighbor_lists() + requested_neighbor_lists = (model.module if is_distributed else model).requested_neighbor_lists() for dataset in train_datasets + val_datasets: for i in range(len(dataset)): system = dataset[i]["system"] @@ -362,7 +362,7 @@ def train( if epoch == start_epoch: metric_logger = MetricLogger( log_obj=logger, - dataset_info=model.dataset_info, + dataset_info=(model.module if is_distributed else model), initial_metrics=[finalized_train_info, finalized_val_info], names=["training", "validation"], ) @@ -401,10 +401,10 @@ def train( def save_checkpoint(self, model, path: Union[str, Path]): checkpoint = { "model_hypers": { - "model_hypers": model.hypers, - "dataset_info": model.dataset_info, + "model_hypers": (model.module if is_distributed else model).hypers, + "dataset_info": (model.module if is_distributed else model).dataset_info, }, - "model_state_dict": model.state_dict(), + "model_state_dict": (model.module if is_distributed else model).state_dict(), "train_hypers": self.hypers, "epoch": self.epoch, "optimizer_state_dict": self.optimizer_state_dict, From d25a340bcda57e1fd377060028f9f0ee87966cd0 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 22 Jul 2024 12:48:37 +0200 Subject: [PATCH 013/126] More fixes --- src/metatrain/experimental/nanopet/trainer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 89b484299..6120069f4 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -362,7 +362,7 @@ def train( if epoch == start_epoch: metric_logger = MetricLogger( log_obj=logger, - dataset_info=(model.module if is_distributed else model), + dataset_info=(model.module if is_distributed else model).dataset_info, initial_metrics=[finalized_train_info, finalized_val_info], names=["training", "validation"], ) From 4d32bdb0ce3f47f47d7f8c0c163ba1a084fb9ebf Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 22 Jul 2024 12:51:00 +0200 Subject: [PATCH 014/126] More fixxxes --- src/metatrain/experimental/nanopet/trainer.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 6120069f4..4e29beabd 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -401,10 +401,10 @@ def train( def save_checkpoint(self, model, path: Union[str, Path]): checkpoint = { "model_hypers": { - "model_hypers": (model.module if is_distributed else model).hypers, - "dataset_info": (model.module if is_distributed else model).dataset_info, + "model_hypers": model.hypers, + "dataset_info": model.dataset_info, }, - "model_state_dict": (model.module if is_distributed else model).state_dict(), + "model_state_dict": model.state_dict(), "train_hypers": self.hypers, "epoch": self.epoch, "optimizer_state_dict": self.optimizer_state_dict, From 606b9e2ccb47cbe65a900ddbf796732899b60cf5 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 22 Jul 2024 13:43:09 +0200 Subject: [PATCH 015/126] Fix restart --- src/metatrain/experimental/nanopet/model.py | 20 +++++++++---------- src/metatrain/experimental/nanopet/trainer.py | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 651463f33..a8e27e852 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -36,16 +36,6 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.new_outputs = list(dataset_info.targets.keys()) self.atomic_types = dataset_info.atomic_types - self.register_buffer( - "species_to_species_index", - torch.full( - (max(self.atomic_types) + 1,), - -1, - ), - ) - for i, species in enumerate(self.atomic_types): - self.species_to_species_index[species] = i - self.outputs = { key: ModelOutput( quantity=value.quantity, @@ -117,6 +107,16 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: } ) + self.register_buffer( + "species_to_species_index", + torch.full( + (max(self.atomic_types) + 1,), + -1, + ), + ) + for i, species in enumerate(self.atomic_types): + self.species_to_species_index[species] = i + def restart(self, dataset_info: DatasetInfo) -> "NanoPET": # merge old and new dataset info merged_info = self.dataset_info.union(dataset_info) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 4e29beabd..dc509ebcb 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -90,7 +90,7 @@ def train( logger.info(f"Training on device {device} with dtype {dtype}") model.to(device=device, dtype=dtype) if is_distributed: - model = DistributedDataParallel(model, device_ids=[device]) + model = DistributedDataParallel(model, device_ids=[device], find_unused_parameters=True) # Calculate and set the composition weights for all targets: logger.info("Calculating composition weights") From 28cd7086d3df2a5933667550004c9fa292ff49e6 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 22 Jul 2024 15:10:19 +0200 Subject: [PATCH 016/126] Revert --- src/metatrain/experimental/nanopet/trainer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index dc509ebcb..de3162124 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -90,7 +90,7 @@ def train( logger.info(f"Training on device {device} with dtype {dtype}") model.to(device=device, dtype=dtype) if is_distributed: - model = DistributedDataParallel(model, device_ids=[device], find_unused_parameters=True) + model = DistributedDataParallel(model, device_ids=[device], find_unused_parameters=False) # Calculate and set the composition weights for all targets: logger.info("Calculating composition weights") From 55396233482d9d07fb5493465788930c59ab15d5 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 23 Jul 2024 14:40:56 +0200 Subject: [PATCH 017/126] Fix bug in message passing --- src/metatrain/experimental/nanopet/model.py | 17 ++++++++++++---- .../nanopet/modules/structures.py | 20 ++++++++++++++++--- src/metatrain/experimental/nanopet/trainer.py | 17 ++++++++++++---- 3 files changed, 43 insertions(+), 11 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index a8e27e852..d217978be 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -157,9 +157,15 @@ def forward( # Checks on systems (species) and outputs are done in the # MetatensorAtomisticModel wrapper - positions, centers, neighbors, species, segment_indices, edge_vectors = ( - concatenate_structures(systems) - ) + ( + positions, + centers, + neighbors, + species, + segment_indices, + edge_vectors, + cell_shifts, + ) = concatenate_structures(systems) max_edges_per_node = int(torch.max(torch.bincount(centers))) # Convert to NEF: @@ -203,7 +209,10 @@ def forward( # GNN if self.num_mp_layers > 0: corresponding_edges = get_corresponding_edges( - torch.stack([centers, neighbors], dim=-1) + torch.concatenate( + [centers.unsqueeze(-1), neighbors.unsqueeze(-1), cell_shifts], + dim=-1, + ) ) for contraction, transformer in zip( self.gnn_contractions, self.gnn_transformers diff --git a/src/metatrain/experimental/nanopet/modules/structures.py b/src/metatrain/experimental/nanopet/modules/structures.py index 822522078..4b4275d72 100644 --- a/src/metatrain/experimental/nanopet/modules/structures.py +++ b/src/metatrain/experimental/nanopet/modules/structures.py @@ -12,6 +12,7 @@ def concatenate_structures(systems: List[System]): species = [] segment_indices = [] edge_vectors = [] + cell_shifts = [] node_counter = 0 for i, system in enumerate(systems): @@ -24,12 +25,16 @@ def concatenate_structures(systems: List[System]): assert len(system.known_neighbor_lists()) == 1 neighbor_list = system.get_neighbor_list(system.known_neighbor_lists()[0]) nl_values = neighbor_list.samples.values - edge_vectors_system = neighbor_list.values.reshape(-1, 3) + edge_vectors_system = neighbor_list.values.reshape( + neighbor_list.values.shape[0], 3 + ) centers.append(nl_values[:, 0] + node_counter) neighbors.append(nl_values[:, 1] + node_counter) edge_vectors.append(edge_vectors_system) + cell_shifts.append(nl_values[:, 2:]) + node_counter += len(system.positions) positions = torch.cat(positions) @@ -38,5 +43,14 @@ def concatenate_structures(systems: List[System]): species = torch.cat(species) segment_indices = torch.cat(segment_indices) edge_vectors = torch.cat(edge_vectors) - - return positions, centers, neighbors, species, segment_indices, edge_vectors + cell_shifts = torch.cat(cell_shifts) + + return ( + positions, + centers, + neighbors, + species, + segment_indices, + edge_vectors, + cell_shifts, + ) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index de3162124..364e6f3f7 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -90,7 +90,9 @@ def train( logger.info(f"Training on device {device} with dtype {dtype}") model.to(device=device, dtype=dtype) if is_distributed: - model = DistributedDataParallel(model, device_ids=[device], find_unused_parameters=False) + model = DistributedDataParallel( + model, device_ids=[device], find_unused_parameters=False + ) # Calculate and set the composition weights for all targets: logger.info("Calculating composition weights") @@ -113,7 +115,10 @@ def train( atomic_types.add(key) fixed_weights[ii] = weight - if not set(atomic_types) == (model.module if is_distributed else model).atomic_types: + if ( + not set(atomic_types) + == (model.module if is_distributed else model).atomic_types + ): raise ValueError( "Supplied atomic types are not present in the dataset." ) @@ -140,7 +145,9 @@ def train( # Calculating the neighbor lists for the training and validation datasets: logger.info("Calculating neighbor lists for the datasets") - requested_neighbor_lists = (model.module if is_distributed else model).requested_neighbor_lists() + requested_neighbor_lists = ( + model.module if is_distributed else model + ).requested_neighbor_lists() for dataset in train_datasets + val_datasets: for i in range(len(dataset)): system = dataset[i]["system"] @@ -362,7 +369,9 @@ def train( if epoch == start_epoch: metric_logger = MetricLogger( log_obj=logger, - dataset_info=(model.module if is_distributed else model).dataset_info, + dataset_info=( + model.module if is_distributed else model + ).dataset_info, initial_metrics=[finalized_train_info, finalized_val_info], names=["training", "validation"], ) From 22695410213332bd1f8bcc52280059bccf47b48c Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 23 Jul 2024 15:29:01 +0200 Subject: [PATCH 018/126] Fix bug --- src/metatrain/cli/train.py | 3 +++ src/metatrain/experimental/nanopet/model.py | 7 ++++++- .../experimental/nanopet/modules/attention.py | 2 +- src/metatrain/experimental/nanopet/trainer.py | 11 +++++------ src/metatrain/experimental/soap_bpnn/trainer.py | 2 +- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index 11026e265..1aa602842 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -109,6 +109,9 @@ def train_model( like the fully expanded training options for a later restart. :param continue_from: File to continue training from. """ + + print(torch.cuda.is_available()) + ########################### # VALIDATE BASE OPTIONS ### ########################### diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index d217978be..ba0baa213 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -166,7 +166,12 @@ def forward( edge_vectors, cell_shifts, ) = concatenate_structures(systems) - max_edges_per_node = int(torch.max(torch.bincount(centers))) + + bincount = torch.bincount(centers) + if bincount.numel() == 0: # no edges + max_edges_per_node = 0 + else: + max_edges_per_node = int(torch.max(bincount)) # Convert to NEF: nef_indices, nef_to_edges_neighbor, nef_mask = get_nef_indices( diff --git a/src/metatrain/experimental/nanopet/modules/attention.py b/src/metatrain/experimental/nanopet/modules/attention.py index b491445c9..95d9d372b 100644 --- a/src/metatrain/experimental/nanopet/modules/attention.py +++ b/src/metatrain/experimental/nanopet/modules/attention.py @@ -55,7 +55,7 @@ def forward( attention_output = torch.matmul(attention_weights, v) attention_output = attention_output.transpose(1, 2) attention_output = attention_output.reshape( - attention_output.size(0), attention_output.size(1), -1 + attention_output.size(0), attention_output.size(1), attention_output.size(2)*attention_output.size(3) ) # Output projection diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 364e6f3f7..add330f9f 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -107,18 +107,17 @@ def train( "user-supplied composition weights" ) cur_weight_dict = self.hypers["fixed_composition_weights"][target_name] - atomic_types = set() + atomic_types = [] num_species = len(cur_weight_dict) fixed_weights = torch.zeros(num_species, dtype=dtype, device=device) for ii, (key, weight) in enumerate(cur_weight_dict.items()): - atomic_types.add(key) + atomic_types.append(key) fixed_weights[ii] = weight - if ( - not set(atomic_types) - == (model.module if is_distributed else model).atomic_types - ): + print(set(atomic_types)) + print(set((model.module if is_distributed else model).atomic_types)) + if not set(atomic_types) == set((model.module if is_distributed else model).atomic_types): raise ValueError( "Supplied atomic types are not present in the dataset." ) diff --git a/src/metatrain/experimental/soap_bpnn/trainer.py b/src/metatrain/experimental/soap_bpnn/trainer.py index c9e7dd004..09df3e4ae 100644 --- a/src/metatrain/experimental/soap_bpnn/trainer.py +++ b/src/metatrain/experimental/soap_bpnn/trainer.py @@ -111,7 +111,7 @@ def train( atomic_types.add(key) fixed_weights[ii] = weight - if not set(atomic_types) == model.atomic_types: + if not set(atomic_types) == set((model.module if is_distributed else model).atomic_types): raise ValueError( "Supplied atomic types are not present in the dataset." ) From 61ca9cecfea15862619fb52af7806d733ca5808f Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 31 Jul 2024 12:28:57 +0200 Subject: [PATCH 019/126] Normalize residual connections --- src/metatrain/experimental/nanopet/model.py | 2 +- src/metatrain/experimental/nanopet/modules/attention.py | 6 +++--- src/metatrain/experimental/nanopet/modules/feedforward.py | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index ba0baa213..229bdfcdb 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -232,7 +232,7 @@ def forward( new_features = contraction(new_features) new_features = edge_array_to_nef(new_features, nef_indices) new_features = transformer(new_features, radial_mask) - features = features + new_features + features = (features + new_features) / torch.sqrt(2.0) edge_features = features * radial_mask[:, :, None] node_features = torch.sum(edge_features, dim=1) diff --git a/src/metatrain/experimental/nanopet/modules/attention.py b/src/metatrain/experimental/nanopet/modules/attention.py index 95d9d372b..3ef75eedb 100644 --- a/src/metatrain/experimental/nanopet/modules/attention.py +++ b/src/metatrain/experimental/nanopet/modules/attention.py @@ -59,9 +59,9 @@ def forward( ) # Output projection - output = self.out_proj(attention_output) + outputs = self.out_proj(attention_output) # Residual connection - output += inputs + outputs = (outputs + inputs) / torch.sqrt(2.0) - return output + return outputs diff --git a/src/metatrain/experimental/nanopet/modules/feedforward.py b/src/metatrain/experimental/nanopet/modules/feedforward.py index f3bb975d2..4eb4853c3 100644 --- a/src/metatrain/experimental/nanopet/modules/feedforward.py +++ b/src/metatrain/experimental/nanopet/modules/feedforward.py @@ -35,12 +35,12 @@ def forward( hidden = torch.nn.functional.gelu(hidden) # Project back to input size - output = self.output(hidden) + outputs = self.output(hidden) # Apply dropout - output = self.dropout(output) + outputs = self.dropout(outputs) # Residual connection - output += inputs + outputs = (outputs + inputs) / torch.sqrt(2.0) - return output + return outputs From 98aa9b418fdbcea7cd8651e9d18f363948a01948 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 31 Jul 2024 12:38:10 +0200 Subject: [PATCH 020/126] Fix torchscript issue --- src/metatrain/experimental/nanopet/model.py | 2 +- src/metatrain/experimental/nanopet/modules/attention.py | 2 +- src/metatrain/experimental/nanopet/modules/feedforward.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 229bdfcdb..860aa8f31 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -232,7 +232,7 @@ def forward( new_features = contraction(new_features) new_features = edge_array_to_nef(new_features, nef_indices) new_features = transformer(new_features, radial_mask) - features = (features + new_features) / torch.sqrt(2.0) + features = (features + new_features) * 0.5 ** 0.5 edge_features = features * radial_mask[:, :, None] node_features = torch.sum(edge_features, dim=1) diff --git a/src/metatrain/experimental/nanopet/modules/attention.py b/src/metatrain/experimental/nanopet/modules/attention.py index 3ef75eedb..f2fccd49e 100644 --- a/src/metatrain/experimental/nanopet/modules/attention.py +++ b/src/metatrain/experimental/nanopet/modules/attention.py @@ -62,6 +62,6 @@ def forward( outputs = self.out_proj(attention_output) # Residual connection - outputs = (outputs + inputs) / torch.sqrt(2.0) + outputs = (outputs + inputs) * 0.5 ** 0.5 return outputs diff --git a/src/metatrain/experimental/nanopet/modules/feedforward.py b/src/metatrain/experimental/nanopet/modules/feedforward.py index 4eb4853c3..4c411c524 100644 --- a/src/metatrain/experimental/nanopet/modules/feedforward.py +++ b/src/metatrain/experimental/nanopet/modules/feedforward.py @@ -41,6 +41,6 @@ def forward( outputs = self.dropout(outputs) # Residual connection - outputs = (outputs + inputs) / torch.sqrt(2.0) + outputs = (outputs + inputs) * 0.5 ** 0.5 return outputs From 72f0bcd40aba37f6e0c026c092392f1f148ca6d3 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 1 Aug 2024 13:12:41 +0200 Subject: [PATCH 021/126] Try to change the position encoder --- src/metatrain/experimental/nanopet/model.py | 2 +- .../experimental/nanopet/modules/attention.py | 4 ++-- src/metatrain/experimental/nanopet/modules/encoder.py | 10 +++++++--- .../experimental/nanopet/modules/feedforward.py | 4 ++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 860aa8f31..d73a393b0 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -235,7 +235,7 @@ def forward( features = (features + new_features) * 0.5 ** 0.5 edge_features = features * radial_mask[:, :, None] - node_features = torch.sum(edge_features, dim=1) + node_features = torch.sum(edge_features, dim=1) * 0.5 return_dict: Dict[str, TensorMap] = {} diff --git a/src/metatrain/experimental/nanopet/modules/attention.py b/src/metatrain/experimental/nanopet/modules/attention.py index f2fccd49e..5ebc20864 100644 --- a/src/metatrain/experimental/nanopet/modules/attention.py +++ b/src/metatrain/experimental/nanopet/modules/attention.py @@ -14,8 +14,8 @@ def __init__( super().__init__() self.num_heads = num_heads - self.in_proj = torch.nn.Linear(hidden_size, 3 * hidden_size) - self.out_proj = torch.nn.Linear(hidden_size, hidden_size) + self.in_proj = torch.nn.Linear(hidden_size, 3 * hidden_size, bias=False) + self.out_proj = torch.nn.Linear(hidden_size, hidden_size, bias=False) self.layernorm = torch.nn.LayerNorm(normalized_shape=hidden_size) self.attention_dropout_rate = attention_dropout_rate diff --git a/src/metatrain/experimental/nanopet/modules/encoder.py b/src/metatrain/experimental/nanopet/modules/encoder.py index 7a0d19c3c..e274c0d7c 100644 --- a/src/metatrain/experimental/nanopet/modules/encoder.py +++ b/src/metatrain/experimental/nanopet/modules/encoder.py @@ -13,7 +13,7 @@ def __init__( super().__init__() self.cartesian_encoder = torch.nn.Linear( - in_features=3, out_features=hidden_size + in_features=3, out_features=hidden_size, bias=False ) self.center_encoder = torch.nn.Embedding( num_embeddings=n_species, embedding_dim=hidden_size @@ -22,7 +22,7 @@ def __init__( num_embeddings=n_species, embedding_dim=hidden_size ) self.compressor = torch.nn.Linear( - in_features=3 * hidden_size, out_features=hidden_size + in_features=3 * hidden_size, out_features=hidden_size, bias=False ) def forward( @@ -30,7 +30,11 @@ def forward( features: Dict[str, torch.Tensor], ): # Encode cartesian coordinates - cartesian_features = self.cartesian_encoder(features["cartesian"]) + cartesian_features = features["cartesian"] + r = torch.sqrt(torch.sum(torch.square(cartesian_features), dim=-1, keepdim=True)) + cartesian_features = cartesian_features * torch.exp(-r/2.5) / r + cartesian_features = self.cartesian_encoder(cartesian_features) + cartesian_features = torch.sin(10.0*cartesian_features) # Encode centers center_features = self.center_encoder(features["center"]) diff --git a/src/metatrain/experimental/nanopet/modules/feedforward.py b/src/metatrain/experimental/nanopet/modules/feedforward.py index 4c411c524..2734cafa6 100644 --- a/src/metatrain/experimental/nanopet/modules/feedforward.py +++ b/src/metatrain/experimental/nanopet/modules/feedforward.py @@ -13,10 +13,10 @@ def __init__( super().__init__() self.mlp = torch.nn.Linear( - in_features=hidden_size, out_features=intermediate_size + in_features=hidden_size, out_features=intermediate_size, bias=False ) self.output = torch.nn.Linear( - in_features=intermediate_size, out_features=hidden_size + in_features=intermediate_size, out_features=hidden_size, bias=False ) self.layernorm = torch.nn.LayerNorm(normalized_shape=hidden_size) From 1cc2e1d832928319281afb1bb60e74ea535d1076 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 2 Aug 2024 15:08:10 +0200 Subject: [PATCH 022/126] Remove torch hotfix --- .../experimental/nanopet/__init__.py | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/metatrain/experimental/nanopet/__init__.py b/src/metatrain/experimental/nanopet/__init__.py index bd2c61039..f6d140d12 100644 --- a/src/metatrain/experimental/nanopet/__init__.py +++ b/src/metatrain/experimental/nanopet/__init__.py @@ -16,28 +16,28 @@ # This is fixing a small bug in the attention implementation # in torch that prevents it from being torchscriptable. -import os - -import torch - - -file = os.path.join(os.path.dirname(torch.__file__), "nn", "modules", "activation.py") - -with open(file, "r") as f: - lines = f.readlines() - for i, line in enumerate(lines): - if ( - "elif self.in_proj_bias is not None and query.dtype != self.in_proj_bias.dtype:" # noqa: E501 - in line - ): - lines[i] = line.replace( - "elif self.in_proj_bias is not None and query.dtype != self.in_proj_bias.dtype:", # noqa: E501 - "elif self.in_proj_bias is not None:\n" - " if query.dtype != self.in_proj_bias.dtype:", - ) - lines[i + 1] = ( - ' why_not_fast_path = f"dtypes of query ({query.dtype}) and self.in_proj_bias ({self.in_proj_bias.dtype}) do not match"\n' # noqa: E501 - ) - -with open(file, "w") as f: - f.writelines(lines) +# import os + +# import torch + + +# file = os.path.join(os.path.dirname(torch.__file__), "nn", "modules", "activation.py") + +# with open(file, "r") as f: +# lines = f.readlines() +# for i, line in enumerate(lines): +# if ( +# "elif self.in_proj_bias is not None and query.dtype != self.in_proj_bias.dtype:" # noqa: E501 +# in line +# ): +# lines[i] = line.replace( +# "elif self.in_proj_bias is not None and query.dtype != self.in_proj_bias.dtype:", # noqa: E501 +# "elif self.in_proj_bias is not None:\n" +# " if query.dtype != self.in_proj_bias.dtype:", +# ) +# lines[i + 1] = ( +# ' why_not_fast_path = f"dtypes of query ({query.dtype}) and self.in_proj_bias ({self.in_proj_bias.dtype}) do not match"\n' # noqa: E501 +# ) + +# with open(file, "w") as f: +# f.writelines(lines) From cdb1d3dd96a5fb72eb94ee49ec706864bc849a8e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sat, 3 Aug 2024 06:27:01 +0200 Subject: [PATCH 023/126] Upgrade to `metatensor-torch` 0.5.3 --- pyproject.toml | 2 +- src/metatrain/cli/train.py | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index dfdb38595..2c1d7c747 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ dependencies = [ "ase < 3.23.0", "metatensor-learn==0.2.2", "metatensor-operations==0.2.1", - "metatensor-torch==0.5.2", + "metatensor-torch==0.5.3", "jsonschema", "omegaconf", "python-hostlist", diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index 11026e265..e567b5c87 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -382,9 +382,6 @@ def train_model( mts_atomistic_model.buffers(), ) ).device - # always save on CPU. TODO: remove after release of - # https://github.com/lab-cosmo/metatensor/pull/668 - mts_atomistic_model = mts_atomistic_model.to("cpu") mts_atomistic_model.save(str(output_checked), collect_extensions=extensions_path) # the model is first saved and then reloaded 1) for good practice and 2) because # MetatensorAtomisticModel only torchscripts (makes faster) during save() From 293c7a685dd3d0f6cd1d361f98df33593c5c4091 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 5 Sep 2024 12:54:55 +0200 Subject: [PATCH 024/126] Revert some changes to the encoder --- src/metatrain/experimental/nanopet/model.py | 2 +- src/metatrain/experimental/nanopet/modules/encoder.py | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index d73a393b0..860aa8f31 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -235,7 +235,7 @@ def forward( features = (features + new_features) * 0.5 ** 0.5 edge_features = features * radial_mask[:, :, None] - node_features = torch.sum(edge_features, dim=1) * 0.5 + node_features = torch.sum(edge_features, dim=1) return_dict: Dict[str, TensorMap] = {} diff --git a/src/metatrain/experimental/nanopet/modules/encoder.py b/src/metatrain/experimental/nanopet/modules/encoder.py index e274c0d7c..25d541cb7 100644 --- a/src/metatrain/experimental/nanopet/modules/encoder.py +++ b/src/metatrain/experimental/nanopet/modules/encoder.py @@ -30,11 +30,7 @@ def forward( features: Dict[str, torch.Tensor], ): # Encode cartesian coordinates - cartesian_features = features["cartesian"] - r = torch.sqrt(torch.sum(torch.square(cartesian_features), dim=-1, keepdim=True)) - cartesian_features = cartesian_features * torch.exp(-r/2.5) / r - cartesian_features = self.cartesian_encoder(cartesian_features) - cartesian_features = torch.sin(10.0*cartesian_features) + cartesian_features = self.cartesian_encoder(features["cartesian"]) # Encode centers center_features = self.center_encoder(features["center"]) From 94df82e845e4833e41182520b292091fcaca2ba6 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 7 Oct 2024 18:53:48 +0200 Subject: [PATCH 025/126] Remove random factor --- src/metatrain/experimental/nanopet/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 860aa8f31..965b882a3 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -235,7 +235,7 @@ def forward( features = (features + new_features) * 0.5 ** 0.5 edge_features = features * radial_mask[:, :, None] - node_features = torch.sum(edge_features, dim=1) + node_features = torch.sum(edge_features, dim=1) * 0.1 return_dict: Dict[str, TensorMap] = {} From 2fd9b8d96bf0e8644c66df0a502a7b3964a6486e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 14 Oct 2024 18:29:35 +0200 Subject: [PATCH 026/126] Speed up a tiny bit --- .../nanopet/modules/augmentation.py | 2 +- src/metatrain/experimental/nanopet/trainer.py | 79 +- tests/resources/ethanol_train_1.xyz | 11000 ++++++++++++++++ tests/resources/options.yaml | 10 +- 4 files changed, 11051 insertions(+), 40 deletions(-) create mode 100644 tests/resources/ethanol_train_1.xyz diff --git a/src/metatrain/experimental/nanopet/modules/augmentation.py b/src/metatrain/experimental/nanopet/modules/augmentation.py index 3109c3d5f..008bd3958 100644 --- a/src/metatrain/experimental/nanopet/modules/augmentation.py +++ b/src/metatrain/experimental/nanopet/modules/augmentation.py @@ -15,7 +15,7 @@ def apply_random_augmentations( """ transformations = [ - torch.tensor(get_random_augmentation(), dtype=systems[0].positions.dtype) + torch.from_numpy(get_random_augmentation()) for _ in range(len(systems)) ] diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 8e112728d..73a4ac7f3 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -1,8 +1,11 @@ import logging -import warnings from pathlib import Path from typing import List, Union +from metatensor.torch.atomistic import System +from metatensor.torch import TensorMap +from typing import Dict, List, Tuple + import torch import torch.distributed from torch.utils.data import DataLoader, DistributedSampler @@ -96,8 +99,6 @@ def train( # Move the model to the device and dtype: model.to(device=device, dtype=dtype) - model = torch.jit.script(model) - if is_distributed: model = DistributedDataParallel(model, device_ids=[device]) @@ -223,6 +224,30 @@ def train( start_epoch = 0 if self.epoch is None else self.epoch + 1 + @torch.jit.script + def systems_and_targets_to_device( + systems: List[System], targets: Dict[str, TensorMap], device: torch.device + ) -> Tuple[List[System], Dict[str, TensorMap]]: + return ( + [system.to(device=device) for system in systems], + { + key: value.to(device=device) + for key, value in targets.items() + }, + ) + + @torch.jit.script + def systems_and_targets_to_dtype( + systems: List[System], targets: Dict[str, TensorMap], dtype: torch.dtype + ) -> Tuple[List[System], Dict[str, TensorMap]]: + return ( + [system.to(dtype=dtype) for system in systems], + { + key: value.to(dtype=dtype) + for key, value in targets.items() + }, + ) + # Train the model: logger.info("Starting training") for epoch in range(start_epoch, start_epoch + self.hypers["num_epochs"]): @@ -242,28 +267,22 @@ def train( systems, targets = batch systems, targets = apply_random_augmentations(systems, targets) - systems = [system.to(device=device) for system in systems] - targets = { - key: value.to(device=device) - for key, value in targets.items() - } - for additive_model in (model.module if is_distributed else model).additive_models: - targets = remove_additive( - systems, targets, additive_model, train_targets + systems, targets = systems_and_targets_to_device(systems, targets, device) + with torch.profiler.record_function("additive_models"): + for additive_model in (model.module if is_distributed else model).additive_models: + targets = remove_additive( + systems, targets, additive_model, train_targets + ) + systems, targets = systems_and_targets_to_dtype(systems, targets, dtype) + with torch.profiler.record_function("evaluate_model"): + predictions = evaluate_model( + model, + systems, + TargetInfoDict( + **{key: train_targets[key] for key in targets.keys()} + ), + is_training=True, ) - systems = [system.to(dtype=dtype) for system in systems] - targets = { - key: value.to(dtype=dtype) - for key, value in targets.items() - } - predictions = evaluate_model( - model, - systems, - TargetInfoDict( - **{key: train_targets[key] for key in targets.keys()} - ), - is_training=True, - ) # average by the number of atoms predictions = average_by_num_atoms( @@ -289,20 +308,12 @@ def train( systems, targets = batch systems, targets = apply_random_augmentations(systems, targets) - systems = [system.to(device=device) for system in systems] - targets = { - key: value.to(device=device) - for key, value in targets.items() - } + systems, targets = systems_and_targets_to_device(systems, targets, device) for additive_model in (model.module if is_distributed else model).additive_models: targets = remove_additive( systems, targets, additive_model, train_targets ) - systems = [system.to(dtype=dtype) for system in systems] - targets = { - key: value.to(dtype=dtype) - for key, value in targets.items() - } + systems, targets = systems_and_targets_to_dtype(systems, targets, dtype) predictions = evaluate_model( model, systems, diff --git a/tests/resources/ethanol_train_1.xyz b/tests/resources/ethanol_train_1.xyz new file mode 100644 index 000000000..e1d7220b7 --- /dev/null +++ b/tests/resources/ethanol_train_1.xyz @@ -0,0 +1,11000 @@ +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.561992071153 pbc="F F F" +C 0.19970106 0.43197387 0.36250323 0.12762369 -2.71919782 -1.59520061 +C -0.49809287 0.74599562 -0.94902270 2.61226468 0.31245676 -1.24609030 +O 0.30968448 -1.03509020 0.61090673 -0.54246166 1.06915684 0.27287981 +H 1.27266838 0.61605511 0.29452188 0.31997235 1.23934089 0.22425015 +H -0.36913546 0.96917318 1.09395517 -0.13141849 0.44782266 1.67993752 +H -0.19007076 1.73384795 -1.43131626 -0.16236327 -0.86173549 0.46502330 +H -0.28078976 -0.07821817 -1.64347345 0.86860893 -0.04542884 -0.63701550 +H -1.53448212 0.67466507 -1.01107593 -2.85886328 0.28543831 0.81664964 +H -0.25925179 -1.52344439 -0.01074062 -0.23336297 0.27214668 0.01956605 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.560889974301 pbc="F F F" +C 0.28678675 -0.08054401 -0.47353047 -1.38370885 -0.79497045 0.25142919 +C -0.66671069 1.10165901 -0.21085351 1.65911734 -0.76353619 -0.82560727 +O 0.34024510 -0.87922676 0.65828068 0.71964343 -3.65128129 0.90514720 +H -0.16287301 -0.64302268 -1.31618949 -0.06230963 -0.20024324 -0.33625649 +H 1.27993147 0.23446093 -0.84324063 0.37277640 0.46121529 0.01255038 +H -0.15128420 1.86927971 0.33956012 0.53316521 0.98796035 0.40346885 +H -0.73139242 1.33792963 -1.27271822 -1.13196994 1.32063360 -0.35401979 +H -1.58192605 0.89916371 0.35305249 -0.45958428 -0.57431147 -0.35221626 +H 0.47292663 -1.91071820 0.44558433 -0.24712974 3.21453335 0.29550413 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625866460179 pbc="F F F" +C -0.15816900 0.28862165 0.42046268 0.83051062 0.43257740 1.03239983 +C 0.27301983 0.93475072 -0.84621461 0.54315920 -1.42121025 -1.80801270 +O -0.15884267 -1.12124729 0.34785667 -0.51965057 0.31000573 -1.22014256 +H 0.60600200 0.64918622 1.17146887 -0.17111392 -0.24503377 -0.13919592 +H -1.06674992 0.70686103 0.79999274 -1.73442909 0.28517369 0.50658746 +H 0.57883660 1.94243646 -0.78751912 0.87695674 1.89382144 0.99067389 +H 1.16434200 0.29716602 -1.01029825 0.30247697 0.36533290 -0.98432671 +H -0.31403293 1.05316446 -1.79942543 -0.45806939 -1.13736813 0.60190245 +H 0.18340847 -1.43015696 1.17742187 0.33015948 -0.48329901 1.02011432 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.474509717598 pbc="F F F" +C -0.17310169 0.58438358 0.27766879 -0.40877752 -3.51140928 -0.98397241 +C -0.61157331 -0.01498934 -1.08315879 -1.64272130 -0.38873463 0.35078668 +O 0.71021693 -0.51367675 0.71143624 -0.25101802 2.25857739 2.98559788 +H 0.27779538 1.48090130 -0.01350661 1.97297463 2.17872332 -0.31657161 +H -0.86106379 0.91704885 1.09270938 -0.63728922 -0.66668887 -0.41501126 +H -1.30956911 0.51092629 -1.74086522 -0.19586928 0.99175196 -0.01085104 +H 0.24802665 -0.25499284 -1.69149183 1.14932531 0.27779977 -0.28655895 +H -1.09616770 -1.00701634 -1.05618952 -0.15691468 -0.26207279 0.83069198 +H 0.81671158 -0.27953947 1.71474461 0.17029013 -0.87794682 -2.15411127 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.80676845415 pbc="F F F" +C -0.01418772 -0.47246329 0.36932440 1.85265184 -2.39275220 -1.84498101 +C -0.96733500 0.59570357 0.42586631 -1.69684237 3.37524782 2.35379586 +O 0.92278643 -0.09094678 -0.68251434 0.32703991 -0.22571049 0.70558854 +H 0.55293176 -0.66727344 1.31457708 -0.12745492 0.14313249 -0.15258628 +H -0.51146853 -1.47636012 0.04861556 0.45847320 1.06469372 0.71196863 +H -1.60465357 0.52905323 1.35652704 0.13059733 0.01603202 -0.39446485 +H -0.50369184 1.67252548 0.47329437 -0.33739117 -1.69734652 -0.09426968 +H -1.64959572 0.59578893 -0.40831613 -0.58056352 0.01608688 -0.92588428 +H 0.76367191 -0.68014453 -1.42645939 -0.02651024 -0.29938372 -0.35916688 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.781274316009 pbc="F F F" +C -0.04370833 0.33751561 0.49418488 -1.17449318 -1.66686891 0.78671145 +C 0.24857255 0.90355423 -0.86808128 2.18218973 -0.76581820 -0.26099889 +O -0.14769496 -1.10979505 0.31415209 1.81231909 1.16102805 -1.09547482 +H 0.72870720 0.46714388 1.28020736 0.18487220 0.62818746 -0.09079494 +H -1.03357721 0.72766069 0.93746680 0.87770457 -0.16990442 -0.51669128 +H -0.12946847 1.91515222 -0.91743845 -0.39215615 0.79113133 -0.59071002 +H 1.40427448 0.94783342 -1.05163191 -1.62086342 -0.09397951 0.12093322 +H -0.18308531 0.14457987 -1.59029905 0.08757047 0.99921911 0.24697537 +H -0.88460342 -1.37638311 0.81042614 -1.95714326 -0.88299498 1.40004991 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2318289315035 pbc="F F F" +C -0.34595296 0.39859502 -0.31667774 0.23075175 0.03330778 2.47081323 +C -0.51941434 -0.04143845 1.21923210 -0.85000715 4.20452570 -1.75727967 +O 0.76216570 -0.37445945 -0.85403498 -0.76875980 1.29486898 -0.58349458 +H -1.25878108 0.11236654 -0.87516619 0.14955156 -0.46938548 -0.11894652 +H -0.52324401 1.58118298 -0.23803313 1.53829519 -1.51577463 -0.90306959 +H -1.47509931 0.55053976 1.45606135 0.15593977 -1.77360551 0.34606963 +H -0.33699565 -1.08198404 1.25115187 -0.60335497 -1.84471639 0.60225829 +H 0.16061256 0.51016271 1.90451290 0.57814853 -0.24355493 -0.33257796 +H 1.64617502 0.01425508 -0.69703302 -0.43056479 0.31433449 0.27622713 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.636061306708 pbc="F F F" +C -0.09847947 -0.21592462 -0.57229749 2.08272873 0.69985524 0.06010336 +C -0.34477535 1.26257691 -0.05011581 -3.56399977 -1.24661460 -1.49307019 +O 0.44033237 -0.91318520 0.57527907 -0.09820347 1.13071005 -0.58791590 +H -0.87084632 -0.82649860 -1.10752429 -0.83131429 0.69814463 0.74405416 +H 0.68335875 -0.30974401 -1.41258178 -0.21544088 0.90124462 0.65745028 +H -1.28119962 1.26721468 0.62776063 1.12138764 -0.30029590 -0.43297788 +H 0.46048608 1.64870767 0.53700139 1.22629743 0.29113794 0.42034615 +H -0.69942092 1.98266798 -0.84951774 0.75758712 -0.40783161 0.22841303 +H -0.00106107 -1.74052453 0.48997743 -0.47904250 -1.76635042 0.40359700 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.225802304469 pbc="F F F" +C -0.41079578 0.21568952 0.23670050 -2.24342186 -1.15964217 0.49041506 +C 0.86617929 1.01508737 0.18229860 0.20936027 0.44497239 -0.34401506 +O -0.46213489 -1.10092878 -0.40116033 2.42318492 -0.07574303 -0.08653956 +H -0.82569259 -0.10908545 1.28581799 0.59527440 1.64461055 -0.93621878 +H -1.12265562 0.96960082 -0.30031733 0.10357153 -1.82825135 0.60771695 +H 1.44377666 0.60042457 -0.76013819 -0.89708062 1.52845784 1.08742809 +H 0.48113429 2.15169754 0.26687107 1.55142623 -1.99401083 -0.64086305 +H 1.51140146 0.79617778 1.04581335 0.36066707 0.09704401 0.24495613 +H 0.42029348 -1.60091412 -0.16311183 -2.10298194 1.34256260 -0.42287976 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.504088782736 pbc="F F F" +C -0.14578485 0.32337912 -0.39624167 1.91752008 -0.37598694 -2.77079021 +C -1.20845323 -0.14302450 0.52191596 -1.12469650 -1.38684493 0.74141158 +O 1.26109900 -0.11358593 -0.05878773 -2.28884545 1.57611942 -0.12249742 +H -0.44539327 0.09192985 -1.51170028 0.50139619 -1.09572288 1.32982072 +H -0.22666318 1.38930181 -0.73232874 0.75943661 0.53019004 1.63675840 +H -1.08229381 -0.05314883 1.63462699 0.35879597 0.49380470 -0.54033721 +H -2.14031625 0.37256367 0.22775826 -0.25555900 0.11318288 0.16755124 +H -1.44086645 -1.24720786 0.39534896 0.29052792 0.59154115 -0.08103400 +H 1.45387633 -0.90106907 -0.57809166 -0.15857587 -0.44628350 -0.36088304 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.895158888658 pbc="F F F" +C -0.00902536 -0.21823776 -0.53733526 -0.56262122 0.60455804 1.54066781 +C -0.29220333 1.26910710 -0.17298495 -0.53991663 -0.18267648 -0.52540516 +O 0.25013732 -1.00082832 0.60804103 -0.64242325 -0.97726728 -0.10861223 +H -0.93898831 -0.72210730 -0.84928875 -0.05827988 0.30839801 -0.97200886 +H 0.77745713 -0.27305893 -1.28164020 0.68296797 -0.27485416 -0.83550504 +H 0.05891665 2.05082228 -0.88177961 -0.06253686 -0.36888313 -0.35886586 +H -1.39486811 1.36065266 -0.09421613 0.09928174 0.40244165 0.31686697 +H 0.17836155 1.57333592 0.77325219 0.03224766 -0.21083840 0.44938044 +H 0.93707799 -0.62688092 1.14625194 1.05128042 0.69912180 0.49348197 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.85919229809 pbc="F F F" +C 0.22531367 0.42418824 -0.39484575 -0.75685204 -4.09983893 -1.34929580 +C -1.21360440 -0.05055743 -0.24086549 -1.16929893 0.47484882 1.08196963 +O 0.94200527 -0.28414828 0.58831506 1.34998239 -0.43504798 0.30116308 +H 0.58631259 0.24072075 -1.47574735 -0.06501720 0.14737342 0.88172593 +H 0.25009071 1.45793483 -0.22999342 0.41632623 2.22895385 0.63527245 +H -1.46643384 -1.16305505 -0.27299614 0.76527256 0.81777034 -0.02630013 +H -1.56709005 0.36098944 0.76714404 0.19613287 -0.67204247 -0.74223680 +H -1.86881383 0.42447377 -0.96376868 -0.61533785 0.33951038 -0.72913877 +H 0.88870898 -1.26439141 0.41201162 -0.12120807 1.19847253 -0.05315958 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.444820666567 pbc="F F F" +C 0.10515838 -0.19778228 -0.54334527 0.26347959 0.60139825 0.01528295 +C -0.31088314 1.24643866 -0.15265439 -1.23767307 0.54728515 -1.77355635 +O 0.24327514 -1.01351764 0.62094538 0.40404103 0.98034237 0.37762299 +H -0.58095455 -0.72609207 -1.16096370 -2.02484002 -0.29836912 -1.00699824 +H 0.94255664 -0.21454150 -1.31938540 0.43620605 0.24337094 1.34878097 +H -0.96380543 1.76869371 -0.96205929 1.49304016 -0.54293541 0.11973919 +H -1.21091860 1.29255160 0.54219316 1.28274422 -0.38290079 0.62208237 +H 0.60099293 1.88951142 0.06159963 -1.06525093 -0.34933894 0.32973725 +H -0.19902136 -0.41956738 1.27571452 0.44825291 -0.79885236 -0.03269112 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.700979912266 pbc="F F F" +C -0.42626143 0.08743796 0.31532280 0.04456078 0.59344881 -1.38433676 +C 0.11248185 1.14626973 -0.68630183 1.75796564 -1.57297260 -1.35532041 +O 0.25248344 -1.14337633 0.41450627 2.16527860 -0.10440631 -0.87518227 +H -0.60782998 0.61718758 1.27973792 0.39405064 -0.51227016 0.18752090 +H -1.36173200 -0.24094951 -0.07736743 -2.10758658 0.31938902 -0.27326352 +H 1.24432767 1.21731676 -0.58456094 -0.72911420 0.21264419 0.17126119 +H -0.02472561 0.98548138 -1.83919040 -0.14253152 -0.36093616 1.65748628 +H -0.31918176 2.10630893 -0.50332188 -0.47837350 1.30016041 0.40146344 +H 0.79941522 -1.23858235 -0.43428861 -0.90424978 0.12494285 1.47037120 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.557254710622 pbc="F F F" +C 0.43151114 0.28821540 0.11042636 1.56124569 -0.94540462 0.23172846 +C -0.72394562 0.93756136 -0.54703509 -0.10869389 -1.49289443 0.56535662 +O 0.32207508 -1.11834675 0.39088370 -1.22306935 -0.54740394 -0.05797181 +H 1.38712306 0.43264927 -0.42653735 0.16523071 -0.39199278 -0.62107028 +H 0.67349172 0.88097035 1.02319710 -0.30831307 -0.18779801 0.47240144 +H -1.19468834 0.38610573 -1.34651305 -0.48091416 -0.84807913 -0.48655012 +H -1.32594932 1.09547635 0.30803306 -2.19543935 0.24508232 0.86019813 +H -0.55308119 1.88205482 -0.94193241 0.92328510 2.54072155 -0.91434471 +H -0.61562596 -1.53329164 0.38178023 1.66666836 1.62776905 -0.04974778 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.1139317529105 pbc="F F F" +C -0.36774270 0.29206774 -0.32894846 -0.57848951 1.25283009 0.71250728 +C -0.49297004 0.01995695 1.23236023 -0.00771943 -0.55143872 -3.56451065 +O 0.74613294 -0.29134387 -0.83458332 3.51914141 -0.95015617 -1.21483488 +H -1.25085522 -0.24272628 -0.92731325 1.02259060 1.49698038 1.19824581 +H -0.21221488 1.44604787 -0.54823432 -1.38631831 -1.35161088 0.40788149 +H -1.34141509 0.53491001 1.53405816 -1.65022522 1.75903753 1.76531221 +H -0.75254641 -0.99499439 1.33501883 -1.15152962 -2.31344629 -0.26972275 +H 0.39622473 -0.11405303 1.79284038 1.76018291 1.47809824 0.96771285 +H 1.57250413 0.27581029 -0.70385639 -1.52763272 -0.82029423 -0.00259131 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614875481865 pbc="F F F" +C 0.44283690 -0.36394614 -0.18391502 -0.10343778 2.91527855 3.23384651 +C 0.20383226 1.07587586 -0.63055748 2.11811427 -0.28126407 -0.70254837 +O -0.61000191 -0.67414247 0.70132138 -1.28049697 -1.80031126 -1.37823918 +H 0.60336104 -1.03505504 -0.98210926 -0.66516770 -1.52983801 -1.59423239 +H 1.43133878 -0.36723157 0.29656294 0.53909048 -0.14950528 0.58717845 +H 0.21722100 1.81882326 0.24206685 0.12829943 -0.69791930 -1.08622332 +H 0.99659482 1.21932402 -1.43987087 -0.35322737 0.79052167 0.81370578 +H -0.70963126 1.09716592 -1.18658009 -1.43324950 0.33884220 -0.35555962 +H -0.56285589 -0.51703290 1.64292440 1.05007509 0.41419550 0.48207213 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.608064203804 pbc="F F F" +C 0.03634166 -0.47393233 -0.32784941 0.23959959 -1.07237258 -0.14227780 +C -1.25796615 0.12811559 0.14677928 -1.55740338 -0.32107351 0.60187077 +O 1.13697607 0.29260596 0.11055213 0.81235729 0.77036175 -0.15710582 +H 0.09748948 -1.49392357 0.08453477 0.18377017 -0.59136200 0.36665229 +H 0.08267871 -0.71384190 -1.47662074 0.05327153 1.01715786 1.39732048 +H -1.36997110 1.04727579 -0.48876566 -0.62310619 -0.10289795 0.65679104 +H -2.22478380 -0.61501775 0.05930918 2.08154114 1.73043848 0.13810120 +H -1.08044012 0.41683027 1.28084276 -0.66628644 -0.40396508 -1.76005713 +H 1.00338381 0.83331765 0.94351245 -0.52374376 -1.02628698 -1.10129492 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734210867107 pbc="F F F" +C -0.23570735 -0.50436780 0.29795775 2.18350434 3.23611428 2.09058572 +C -0.97591720 0.83091201 0.05523206 -0.13690275 -0.41600222 1.15551771 +O 1.06123170 -0.29509545 -0.33689838 -1.61154687 1.11556208 -0.10948260 +H -0.08940695 -0.58909499 1.46232290 -0.40843798 -0.50176057 -1.56780622 +H -0.72948053 -1.29821542 -0.17754326 -1.23210720 -2.01027178 -0.51111373 +H -1.86987170 1.09779187 0.70806205 0.35147640 -0.79579377 -0.91927166 +H -0.29137333 1.63273413 0.27660654 1.01886276 0.67802775 0.57625234 +H -1.06276089 0.96158551 -1.00858381 -0.96906921 0.03379865 -1.13387703 +H 1.63440833 -1.01327242 -0.12179353 0.80422057 -1.33967437 0.41919547 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.852744587346 pbc="F F F" +C -0.20589459 -0.02816254 -0.48841445 1.72203477 0.92452509 -0.95730703 +C 0.18450336 1.30766322 0.19729070 -0.78638497 -0.88805311 -1.71527385 +O 0.05239358 -1.13380473 0.30485512 0.35227483 -1.43143594 0.60649614 +H -1.24487982 -0.16358246 -0.71107577 -1.59115658 1.09658132 -0.75512482 +H 0.37051729 -0.05981461 -1.49282135 -0.45848169 -0.04761942 0.68040869 +H 1.25071147 1.28114573 0.44567967 0.35584414 -0.00282940 0.24284633 +H 0.03477535 2.08831750 -0.61171537 -0.07066772 -0.14166228 0.98865234 +H -0.43916702 1.40488742 1.09247296 -0.09022328 0.55984253 0.31654656 +H -0.54970915 -1.80179741 -0.09256123 0.56676049 -0.06934874 0.59275564 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699267800604 pbc="F F F" +C 0.05074272 0.61965379 0.12102496 0.75667746 -1.16069771 1.02599243 +C -0.80573588 -0.03909528 -1.00401141 0.96798333 3.41460258 0.22448078 +O 0.67647489 -0.52019055 0.74771161 0.20767409 -0.72080495 1.92033379 +H 0.91253285 1.22665734 -0.23669731 -0.23422763 0.10846969 -0.71285633 +H -0.34899619 1.28071819 0.93628957 -0.86358458 -0.20634318 -0.62205522 +H -1.04424914 0.75895807 -1.77604595 -0.26973946 -0.79995829 0.39080272 +H -0.11936883 -0.75009720 -1.41949801 0.58947188 -0.85521137 -0.69292575 +H -1.65244684 -0.54921350 -0.59559952 -1.15940434 -0.45938980 0.35385704 +H 0.51016943 -0.62933373 1.74459425 0.00514925 0.67933304 -1.88762945 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4208.938689370757 pbc="F F F" +C 0.02239098 -0.63475417 0.13818704 1.27301989 4.65060238 3.67105375 +C -1.26029282 0.22241591 0.04844547 2.46885467 -0.91158329 -3.91922849 +O 1.10159301 0.35115560 -0.07914041 1.41731153 -0.42513118 -3.00444202 +H 0.38521225 -1.00310128 1.15278380 -1.24500941 -0.16923608 -0.53850756 +H 0.15651179 -1.34845397 -0.56198746 -0.10648860 -3.30273811 -2.71022955 +H -2.11670353 0.07645942 0.56144534 -3.05563044 -0.75611434 3.03891872 +H -0.96869358 1.25018316 -0.06746172 0.40358065 1.12530343 0.89242491 +H -1.66643812 0.10407546 -0.98541659 0.11519878 -0.37683191 -0.23436513 +H 1.47407874 0.25877419 -1.06706770 -1.27083702 0.16572910 2.80437536 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.748601469618 pbc="F F F" +C -0.01100293 0.20056775 0.51667653 0.40337969 0.48437466 -1.45174803 +C -1.24468188 -0.00312786 -0.34720876 -1.95328280 0.36379723 0.84542986 +O 1.13881417 -0.15203690 -0.17954023 2.46953827 -1.42041151 -0.92711101 +H 0.16397687 1.28161143 0.74064065 -0.85932699 -0.01050435 0.45075434 +H -0.06082906 -0.38337240 1.38900909 -0.45749145 -0.86922959 2.18800881 +H -1.57090835 -1.03713939 -0.68951898 1.09812871 0.60039305 0.04910043 +H -2.16519412 0.27066708 0.27007539 0.66381504 0.15702668 -0.31529361 +H -1.21969153 0.74273479 -1.16068134 -0.08209669 -0.30842100 -0.45047481 +H 1.73769210 -0.81537532 0.28099031 -1.28266374 1.00297483 -0.38866603 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.558815588599 pbc="F F F" +C -0.34263969 0.21811123 0.44411169 1.33097736 -2.88691053 -3.69769265 +C 0.06482822 1.03240348 -0.77921940 -0.40918308 -1.00481101 0.46563640 +O 0.28856392 -1.12536946 0.38628464 0.04876094 1.09912774 0.59472943 +H -0.21394466 0.78547523 1.30134876 1.43504135 0.85475032 2.74204830 +H -1.37627349 0.00086076 0.48413446 -2.24742193 0.06786187 -0.40751330 +H 1.13600590 1.20673400 -0.90761372 0.38113018 0.41799868 0.38956103 +H -0.26423845 0.60366854 -1.71215531 -0.18291266 -1.24398019 -0.91286987 +H -0.57711865 1.87471208 -0.82081345 -0.39112817 2.21487690 0.27800988 +H 0.02452520 -1.51079130 -0.48336577 0.03473603 0.48108611 0.54809078 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.619278920044 pbc="F F F" +C 0.29745337 -0.35147094 0.22078408 -0.96139833 -0.32502905 -2.04453406 +C -1.29331054 -0.53242309 0.19225295 2.75562090 -0.44675925 1.00486027 +O 0.84938985 0.83809181 -0.37473634 0.92700559 -0.36098105 0.08036135 +H 0.70844313 -0.44886745 1.18594557 0.43695594 -0.30420166 2.22264328 +H 0.64435334 -1.21926054 -0.35349880 0.47838296 -0.56290913 -0.21260500 +H -1.64242844 -0.75443289 1.21882378 -0.28097272 0.43776918 -0.06924096 +H -1.64076827 0.36507555 -0.24631725 -1.20497089 1.47306022 -0.46839021 +H -1.54472585 -1.39609615 -0.42340674 -0.18346761 -0.27341989 -0.44745731 +H 1.85818133 0.68130114 -0.35500457 -1.96715586 0.36247065 -0.06563741 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.555126454199 pbc="F F F" +C 0.01613044 0.07400949 0.50402265 -0.05611347 -3.08095288 0.93954430 +C -1.15136412 0.53154588 -0.25845865 -1.76046059 4.11946170 -1.31227890 +O 1.04123295 -0.56981814 -0.27140423 -0.91718079 0.41856154 0.08322088 +H 0.40108953 0.90016010 1.05639884 0.74896204 1.22766505 0.93088626 +H -0.49547801 -0.62742092 1.31171096 1.30403944 0.46843870 -0.88274404 +H -2.06193885 0.45481362 0.34067901 -0.40235757 -0.28921413 0.48491238 +H -1.17695273 1.73724764 -0.43641446 0.44441569 -2.32099819 -0.02689066 +H -1.45160896 0.10010626 -1.22006637 0.53301203 -0.53789234 -0.35918879 +H 1.78357126 -0.73732529 0.32962862 0.10568323 -0.00506945 0.14253861 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.671209089828 pbc="F F F" +C 0.11408594 0.23718107 0.54237368 0.33604505 0.49258399 -2.54860831 +C -0.33930346 1.05012718 -0.79067766 1.70597828 0.02438337 1.90445357 +O 0.25778874 -1.15545018 0.24770040 0.51614307 0.00448575 0.02946639 +H 1.04679894 0.69985956 0.97282033 -0.23250072 -0.73785538 -0.32742614 +H -0.64647384 0.31618772 1.24915078 -1.80245536 0.61640543 2.05613627 +H -0.19112046 0.24440575 -1.46859863 -0.03566024 -0.80930750 -1.62817580 +H -1.35104101 1.44081806 -0.82807559 -0.75381834 0.04615816 0.22025224 +H 0.36152160 1.87608805 -1.06443259 -0.14413635 -0.21475722 0.15577198 +H -0.62893772 -1.57765256 0.16610837 0.41040466 0.57790340 0.13812984 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.631716806012 pbc="F F F" +C -0.31239392 -0.48633984 -0.11945614 1.20159261 -0.24439064 0.26557335 +C -0.97282497 0.79029041 0.49816080 0.08638287 -1.02743415 0.49368566 +O 1.16193281 -0.26754267 -0.32658867 -2.48077122 -0.08294937 3.85150330 +H -0.36275233 -1.24488531 0.72268510 -0.08797187 0.26204569 -0.63371302 +H -0.77841411 -1.00671926 -1.04710590 0.37345111 0.97418566 0.97519924 +H -1.90287153 0.42571236 1.08093936 0.78848099 0.85118564 -0.87417871 +H -0.20286879 1.04337637 1.27155510 -0.40690056 0.22599357 -0.08439479 +H -1.11788857 1.72138097 -0.12814125 -0.14768494 -0.87082846 0.14891814 +H 1.23480106 -0.31546396 -1.22854844 0.67342100 -0.08780793 -4.14259315 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.216830919839 pbc="F F F" +C -0.01438254 -0.27944291 -0.61873122 -5.16971270 1.41203881 3.97550996 +C -0.20971998 1.23409283 -0.17545621 1.19179573 -0.89160920 -2.27561162 +O 0.24498275 -0.87553870 0.69169765 0.83850243 -0.89832220 -0.25206970 +H -1.14093873 -0.56908533 -0.94505051 2.53654855 -0.08917823 -0.27896186 +H 0.81607763 -0.35335636 -1.29390801 0.64757652 -0.65749460 -0.92829557 +H -0.43748565 1.87910289 -1.02771897 -1.17753916 0.29008893 -0.51705483 +H -0.80029192 1.40312986 0.71980469 -0.45870291 -0.10315871 0.29305212 +H 0.79054150 1.60905351 -0.07840477 1.35665708 0.36132568 1.17197591 +H -0.44716774 -1.44828976 1.10931389 0.23487442 0.57630947 -1.18854441 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.380504618943 pbc="F F F" +C -0.17305796 -0.55027521 0.02185605 -3.31049513 1.84740643 0.30778028 +C -0.95059467 0.80572499 0.46892287 0.89389152 -0.52710749 2.24103094 +O 1.06942408 -0.29014771 -0.39772169 2.58525719 0.48272159 -1.60653234 +H -0.05937095 -1.24309754 0.89300501 -0.74436490 -0.18315445 -0.48723157 +H -0.89016769 -0.81701916 -0.87005847 0.93622321 -0.92413619 1.29288563 +H -1.92467097 0.67790396 0.05475370 -1.74913992 -0.06003955 -0.05945611 +H -1.04628179 0.97557233 1.65470278 0.32882261 -0.16524475 -2.31139213 +H -0.59811967 1.73675154 -0.04927033 0.45106452 -0.41157066 0.36980565 +H 0.93180445 0.23004776 -1.21811487 0.60874092 -0.05887489 0.25310961 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7087900190445 pbc="F F F" +C -0.15236173 -0.16702297 -0.58972780 3.33865263 1.67823673 2.03632941 +C -0.14895577 1.29032820 0.04412658 1.09564662 -1.92049649 -0.31397330 +O 0.30105943 -1.04419903 0.42648785 -1.11853263 -0.11121969 1.31257334 +H -1.06416895 -0.40873739 -0.99997915 -3.28447479 -0.72779095 -1.00207725 +H 0.57365217 -0.44188173 -1.34666445 0.64564865 0.82760059 -1.10073216 +H -0.83221515 1.16807056 0.87426612 -0.76908304 0.23768499 0.79949056 +H 0.83262310 1.53044572 0.50222643 0.10408935 -0.26355503 -0.14189671 +H -0.43622259 2.15806273 -0.51443236 -0.58029324 0.75201214 -1.07249054 +H -0.26295874 -0.81790933 1.21621706 0.56834645 -0.47247230 -0.51722334 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8132398195685 pbc="F F F" +C 0.01029129 0.54497928 0.24423148 0.91949735 0.01160494 -2.09292640 +C -1.29119429 -0.24779772 0.01833556 1.14577847 1.68381618 -1.51010530 +O 1.13169640 -0.25434814 -0.26669092 0.50418383 -0.32653649 2.07763476 +H 0.09298572 1.50212632 -0.38088326 -0.56999561 -0.56492462 0.79357512 +H 0.22680472 0.76607703 1.28550550 -0.25732380 0.40296266 0.82532496 +H -1.06177369 -1.20568662 0.44740329 -0.67889380 -1.09662261 0.64176346 +H -2.19532375 0.31658385 0.26373460 -0.41184171 -0.13837286 0.92190118 +H -1.40543813 -0.35485558 -1.08510675 0.23618300 -0.36123148 0.09712073 +H 1.64127615 -0.52962522 0.57385750 -0.88758774 0.38930433 -1.75428840 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.722504926634 pbc="F F F" +C -0.34084021 0.11874735 0.39973824 -1.73886321 1.12660441 -2.70346236 +C 0.03819856 1.10141007 -0.86414151 1.41667436 -1.22299155 2.60399915 +O 0.29270099 -1.10296682 0.46525633 1.00523981 0.41431238 1.38858351 +H -0.01957016 0.60469971 1.28944959 -0.02583949 1.12561448 1.36243512 +H -1.49754505 0.04713852 0.32681705 1.00109982 -0.08169483 0.56102775 +H 1.19618570 1.21368920 -0.68678826 -1.70559673 0.18668678 -0.98352031 +H -0.23614112 0.61690487 -1.83450996 0.21707379 0.37099077 0.24471799 +H -0.50993027 2.06306953 -0.65836200 0.40604222 -0.39350259 -0.47068003 +H 0.02616593 -1.57870771 -0.28792075 -0.57583058 -1.52601987 -2.00310077 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4477765906295 pbc="F F F" +C -0.26496460 -0.05407322 -0.48110037 -0.93120009 -2.21875114 -0.51460159 +C 0.86032078 0.80890484 -0.31406811 2.24295243 4.21026194 -0.61177862 +O -0.56434604 -0.75294053 0.68341646 -0.59415730 -1.03223548 0.39566303 +H -1.05247446 0.63811863 -0.76622200 -1.21888231 0.05261451 -0.75814371 +H -0.09297188 -0.86566277 -1.20462257 -0.18401659 0.10964170 -0.78806632 +H 1.80373579 0.36804630 0.11533946 -0.39634895 0.05327749 -0.47240756 +H 1.07265426 1.40850097 -1.39454988 -0.24081799 -1.21084560 2.82293231 +H 0.44055707 1.56811341 0.49209441 1.22568591 -0.53155318 -1.24936342 +H -0.30873458 -0.16155526 1.38513741 0.09678489 0.56758978 1.17576582 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.811889281444 pbc="F F F" +C 0.33927550 -0.06658609 -0.44973400 -0.19514422 -0.10622002 0.00546956 +C -0.57215903 1.15906652 -0.25363061 -1.31625028 -0.16386212 0.14925979 +O 0.26935176 -0.98124662 0.64829599 1.17912939 1.46300782 0.21929090 +H 0.12927799 -0.62157812 -1.39262428 -0.35589479 0.17451070 -0.14968942 +H 1.40613446 0.15975712 -0.56021752 0.41268529 0.75572003 0.04204434 +H -0.66383778 1.94012123 -1.04731273 0.22853155 -0.57524786 -0.17341783 +H -1.62474493 0.91963420 0.11231665 0.47512043 -0.55414599 -1.03697886 +H -0.34861689 1.71179475 0.63838317 1.25220526 0.69804225 1.06607964 +H -0.39966069 -1.55363421 0.34016886 -1.68038263 -1.69180486 -0.12205818 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553561678762 pbc="F F F" +C -0.33974174 0.40434328 0.22350191 -0.72421871 -1.82683019 -2.62230731 +C 0.97183456 0.81591640 -0.48244467 -2.35194014 2.50144166 -0.77658372 +O -0.58037272 -1.12278043 0.20076237 0.73542338 2.93827116 -0.51824859 +H -0.39612107 0.80200396 1.22143765 -0.19698339 0.24434508 1.14125024 +H -1.20721390 0.81270933 -0.39750659 0.65551660 -0.19314010 0.68446039 +H 1.27860501 0.02707669 -1.12471373 0.28149856 -0.99036176 -1.38020248 +H 0.78570663 1.84699127 -1.06325295 0.31074579 -2.04243907 0.69405699 +H 1.80745650 1.04805571 0.12126073 1.33173696 0.16003847 1.57853811 +H -0.58902649 -1.25675257 1.14158466 -0.04177900 -0.79132525 1.19903642 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.365940590522 pbc="F F F" +C -0.30163607 0.05743564 -0.40488321 2.23060558 -2.67707506 -1.62402027 +C 0.35806386 1.26977604 0.10783698 -0.47265073 -0.49695661 3.40841671 +O -0.01466933 -1.20513477 0.24309798 1.46056115 1.22914791 -2.01372940 +H -1.35870684 0.18935210 -0.60989093 -0.88670565 0.10752563 -0.19470354 +H 0.27256070 0.00696423 -1.35692356 -0.74540044 -0.93839754 -0.58568115 +H 1.36178086 0.97884693 0.61553840 -1.04878763 0.76949626 -1.17237022 +H 0.31125571 1.87448959 -0.79226196 0.60256687 1.40150089 0.12889608 +H -0.35977216 1.55070352 0.93445883 0.86531673 1.07690636 -0.20602920 +H -0.66765405 -1.28748083 0.88992466 -2.00550593 -0.47214777 2.25922104 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.528261022852 pbc="F F F" +C 0.09695516 0.49556653 -0.00418502 -0.25659387 -1.05662857 2.53978798 +C -0.84220296 0.02557552 -1.00889847 -2.05030907 0.37463032 -0.46594144 +O 0.70990185 -0.50979423 0.87717423 -0.92791520 1.13054463 0.22316098 +H 0.81064452 1.13126854 -0.41856325 2.16637827 1.37289514 -1.14971997 +H -0.48130395 1.09266569 0.64794130 -0.88633705 1.63306789 1.26805627 +H -1.10629695 0.84531733 -1.74629701 0.03649914 -0.47304092 0.63221715 +H -0.28173972 -0.68109356 -1.53861533 0.60177867 -2.07791424 -1.65785600 +H -1.77709138 -0.41580712 -0.54438387 0.64743881 0.15760899 -0.53986289 +H 0.44670394 -0.09167451 1.74820137 0.66906025 -1.06116328 -0.84984208 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.502001667709 pbc="F F F" +C 0.17803013 -0.57061933 -0.22365059 0.99812979 1.43439662 2.05449883 +C -1.16652062 0.12196660 -0.46058213 -1.62773768 -1.90448360 -0.56610985 +O 0.93940154 0.36485498 0.65384040 0.41384547 -2.04192197 -0.60004549 +H 0.37453214 -1.63392139 0.25602170 -1.34639930 1.65983832 -0.36901472 +H 0.59187480 -0.73102728 -1.21673504 0.96683467 0.33503105 -0.84095347 +H -1.11596915 1.14206510 -0.99460288 0.28760642 -0.90767192 1.15367387 +H -1.69135994 -0.49540382 -1.24317445 -0.04944439 0.18426845 0.15698719 +H -1.87839566 0.01956331 0.42624054 0.73583763 0.82679229 -0.59398869 +H 0.58580261 1.25193207 0.54697853 -0.37867261 0.41375065 -0.39504761 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.592397127193 pbc="F F F" +C -0.02159746 -0.32380858 -0.49182514 0.19421169 -1.83121552 -0.50432601 +C 0.62182824 1.07208616 -0.37913893 -0.24150447 -1.50582492 -2.46544364 +O -0.55692217 -0.60873456 0.80199381 -0.18799908 -3.55625751 -0.35737266 +H -0.89685562 -0.59137188 -1.26299295 1.63444811 1.19795990 0.63164740 +H 0.84717025 -1.12789721 -0.73603580 -1.32559177 1.47028178 0.16306693 +H 1.30710560 0.98216683 0.43081861 0.93601685 0.11794713 1.22163468 +H 1.20648490 1.30259117 -1.30920079 -0.27917094 0.05067338 0.33979243 +H -0.09911091 1.84541366 -0.20050035 -0.81790470 0.86648391 0.26950292 +H -0.67795594 -1.66627690 0.72605337 0.08749441 3.18995185 0.70149802 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.519665881094 pbc="F F F" +C -0.30876910 -0.55155582 -0.06158253 1.88905487 3.33965613 -0.45039032 +C -0.96871079 0.76195278 0.46756217 3.00423473 0.70912468 -0.19005318 +O 1.12878101 -0.26121425 -0.33683656 -1.31175794 -3.17773710 2.72279696 +H -0.27709741 -1.36457472 0.61953685 -0.12057671 -1.16285806 1.13479471 +H -0.74403570 -0.82408981 -0.97896736 -1.13409558 -0.96788455 -1.78595859 +H -1.93095145 0.81862017 0.99413260 -0.30264070 -0.50335589 0.00113648 +H -0.09211095 1.04840745 1.19956201 -1.64150517 0.29162043 -0.84254745 +H -0.96591105 1.51708644 -0.41858683 -0.08273694 -0.80969666 1.27585073 +H 1.31412448 0.44229133 -0.90663590 -0.29997657 2.28113096 -1.86562934 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.723695600818 pbc="F F F" +C 0.28945254 -0.07197624 -0.52754706 -1.65938072 1.38299259 3.11701992 +C -0.63536450 1.13148013 -0.08670670 0.89238840 0.37966233 -1.79219773 +O 0.34896851 -1.01755668 0.50868660 -0.17031065 -1.56244141 0.87287547 +H -0.29102162 -0.52281001 -1.33618318 0.57560638 -0.31614449 -0.89962210 +H 1.32385691 0.25265680 -0.68109167 0.31737091 0.43634453 -1.08044687 +H -1.69247902 0.93764714 -0.19497431 -0.97062648 -0.84130360 0.03849370 +H -0.54678573 1.58737302 0.91130695 0.72307416 -0.05052471 0.25482742 +H -0.50808330 1.91437730 -0.87309984 0.20714917 0.30192074 0.38236138 +H 0.29613575 -0.64383515 1.41897462 0.08472873 0.26949407 -0.89331112 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.847121153783 pbc="F F F" +C 0.09501989 -0.05553224 -0.53412723 -0.29160747 -2.00047994 1.07610325 +C 0.49233307 1.20077949 0.13708797 2.12856396 0.34135355 0.24627577 +O -0.59670236 -1.04273184 0.31055280 0.51504788 0.62797478 -0.00756079 +H -0.52050997 0.15732828 -1.39219808 -1.08193940 -0.05483265 -0.68347113 +H 0.98547852 -0.51546026 -0.97673231 0.60066698 -0.40647555 -0.11687185 +H 0.70507944 1.00028197 1.17993206 0.09046419 -0.20247676 1.02577743 +H 1.51156599 1.49924616 -0.24406661 -0.64127860 0.27560739 -0.03887185 +H -0.17097439 2.04424465 0.12309662 -0.91173930 0.80213412 -0.24870145 +H -0.03890263 -1.28234245 1.11160440 -0.40817824 0.61719507 -1.25267942 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.756033375066 pbc="F F F" +C -0.49682970 0.20895576 0.37155638 2.07216751 1.20097154 -1.58335472 +C -0.32957696 0.25772345 -1.18559833 -1.47444892 0.77425137 0.26518675 +O 0.73380662 -0.44831561 0.71445878 -0.32911952 -0.06780253 1.23938085 +H -0.51033428 1.32153754 0.60841224 0.08209170 -0.53302689 0.54745335 +H -1.40183571 -0.21079420 0.83999773 -0.31673009 -0.55426282 -0.31987239 +H -1.16558352 0.83137512 -1.69622848 0.00939080 -1.14617370 0.20148102 +H 0.47757456 0.93390429 -1.46673349 0.91655400 0.34829944 0.48604953 +H -0.01018214 -0.70547221 -1.61453938 -0.64830234 -0.31435439 -0.15703609 +H 0.80892433 -0.61676294 1.68842016 -0.31160326 0.29209788 -0.67928831 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.271835249856 pbc="F F F" +C 0.20150284 -0.50455971 -0.37929537 1.70822722 -0.22061435 3.23355150 +C -1.20091662 0.03394286 -0.35093331 1.16147845 1.18308303 -0.79185808 +O 0.93939032 0.37940809 0.63433430 0.89200371 -2.08229627 -1.79435602 +H 0.35627951 -1.65344905 0.11971830 -0.52529722 2.62880269 -1.74112584 +H 0.62431613 -0.40160691 -1.42835225 0.21053547 -0.22800725 0.89679044 +H -1.02281108 1.20083179 -0.40115646 -0.81838354 -1.76636256 -0.17367186 +H -1.68089934 -0.35300716 -1.26248941 -0.93690146 0.17325976 0.12343690 +H -1.62426927 -0.24716084 0.61018977 -0.87725905 -0.01190133 0.30437151 +H 0.34420985 1.03831975 0.99453792 -0.81440353 0.32403629 -0.05713857 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.677585232732 pbc="F F F" +C 0.49158198 0.08609781 -0.31822000 -1.78160561 -1.61616931 0.07412128 +C -0.69618975 1.09027995 -0.40663488 0.87422016 -0.35526358 -1.04670036 +O 0.15480733 -1.06714756 0.63171344 0.61746308 1.76091033 -1.08939004 +H 0.62634236 -0.32797914 -1.35668159 0.40560796 -0.07638370 0.54890433 +H 1.36061295 0.61783466 0.04155841 1.01440153 0.23255266 0.09642807 +H -0.68959625 1.72240104 -1.43021869 0.25826653 -0.86959896 2.29286373 +H -1.59795751 0.45921043 -0.45998185 -0.37679314 0.10726656 0.16476221 +H -0.63635434 1.62721372 0.56619305 -0.63587547 0.55146674 -0.51208648 +H 0.91677425 -1.17877667 1.24914558 -0.37568509 0.26521925 -0.52890268 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.544706151182 pbc="F F F" +C -0.29478774 -0.48334699 0.13933959 2.38104026 2.50964184 0.03178419 +C -0.87788257 0.89541246 0.21445323 0.26077932 1.47949667 -0.31936763 +O 1.09151521 -0.45318226 -0.29550247 -1.28777684 -3.69562430 1.26317148 +H -0.45200219 -0.92379323 1.14229735 0.45629846 -0.62854268 -0.04980743 +H -0.92500922 -0.92111732 -0.60449959 -0.48263896 -1.45354806 -0.93878685 +H -1.91213610 0.70857035 0.16336154 -2.45530855 -0.09716408 0.60683650 +H -0.68718408 1.59524691 1.07277265 0.30387354 -0.53755322 -0.33412304 +H -0.82097581 1.45311617 -0.75265568 0.76575176 0.01857818 0.14871888 +H 1.44393901 0.36979694 -0.54648341 0.05798107 2.40471565 -0.40842610 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.883757593963 pbc="F F F" +C -0.05012511 0.55199144 -0.14130052 0.83395574 -2.22796438 0.33452419 +C -1.29919998 -0.33876896 0.27344225 0.30534524 0.78927289 -2.26824078 +O 1.24372755 -0.15794128 -0.17868702 -1.08230079 0.34877129 -0.38060022 +H -0.07144613 0.96356942 -1.15892644 -0.58643530 0.15223543 -0.26415826 +H 0.05740063 1.38641856 0.56134239 -0.30044436 0.48673694 0.40193786 +H -1.16364853 -0.78560011 1.21635193 0.65355701 -0.85000545 1.99480171 +H -2.19955437 0.26620466 0.41096748 -0.34356938 0.65946741 -0.05251377 +H -1.65727249 -1.17904521 -0.39357612 0.79524664 0.58192934 -0.07420947 +H 1.37006396 -0.68676529 0.62559301 -0.27535485 0.05955649 0.30845869 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.605840388043 pbc="F F F" +C 0.25048161 0.46652787 0.25534502 0.11148518 -1.73341947 -1.11010939 +C -0.96476606 0.64597121 -0.71714136 -0.53113137 -1.01115125 1.39773761 +O 0.69843786 -0.98429513 0.44073492 3.32503288 5.60153137 -0.06575583 +H 1.12843778 0.86394421 -0.27987701 0.19175983 0.25315121 -0.00568409 +H 0.15825266 1.10410602 1.17121364 -0.17964227 -0.74684360 0.25735219 +H -1.20331962 1.71748814 -0.93433048 0.38668582 -0.32927250 -0.12249382 +H -0.73554985 0.03844330 -1.61531483 -0.12624080 0.35373619 -0.24697599 +H -1.94741085 0.21621350 -0.28792945 1.06815658 0.36679679 -0.27066331 +H 0.02351637 -1.57425412 0.45309660 -4.24610585 -2.75452875 0.16659258 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7369356125355 pbc="F F F" +C 0.27691334 0.34670435 0.45674257 -0.92114126 -0.67466860 -0.83711080 +C -0.49767881 0.84819105 -0.76684375 1.10172461 -1.34652899 0.53433651 +O 0.19576813 -1.06453273 0.24058915 0.78861520 -0.97040043 2.69518109 +H 1.32227152 0.69611012 0.55832997 0.30654224 0.26272215 -0.29958998 +H -0.21416686 0.53257727 1.43113811 -0.23717725 0.70179539 0.07843940 +H -0.08974897 0.26921911 -1.63054524 -0.59223288 -0.37716363 0.25332641 +H -1.56420799 0.73755195 -0.59091462 -0.59854356 -0.27088340 -0.29192181 +H -0.26869090 1.81121709 -1.08866389 0.34135530 2.81792518 -0.23867358 +H 0.33671526 -1.38893538 1.19688851 -0.18914234 -0.14279768 -1.89398728 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542195095982 pbc="F F F" +C 0.15824069 -0.43662680 -0.41486485 0.73658006 4.88771355 0.53622689 +C -1.29528271 0.18218067 -0.26530093 0.88108079 -2.18475050 -3.29943913 +O 1.07103858 0.22907215 0.60256369 0.43371692 -0.44869329 -4.40233117 +H 0.27172336 -1.48963203 -0.47779564 -0.19021850 -1.87950913 0.42316387 +H 0.63667078 -0.03487884 -1.34150486 -0.49644383 -0.22927748 -0.09017093 +H -1.28266552 1.25238898 -0.18864989 0.35622019 1.11712249 0.34119399 +H -1.81222721 -0.01879322 -1.30496061 0.40069720 0.13984641 1.63080089 +H -1.89478471 -0.26944020 0.51013166 -0.49522816 -0.39084612 0.75720279 +H 0.62839823 -0.04528891 1.34297979 -1.62640461 -1.01160597 4.10335286 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.618898773071 pbc="F F F" +C 0.08678738 -0.03414473 -0.57822866 -0.61035223 -2.10385956 1.11255250 +C 0.53534722 1.10876847 0.18011858 -0.16309130 2.29813022 2.36569071 +O -0.58406490 -1.02582883 0.29656113 -0.38910646 0.74476857 -2.86551467 +H -0.58667719 0.50442522 -1.24657183 -0.77930801 -1.06425503 -1.13536935 +H 0.94974151 -0.49545020 -1.06402532 0.16312580 -0.52925081 -0.71830610 +H 0.92962336 0.83995069 1.20283591 0.40295021 0.27541857 -0.58957272 +H 1.19351460 1.77877730 -0.39957994 0.44724164 -0.03642169 0.14166855 +H -0.37595671 1.72834572 0.37366808 0.28802150 0.06464259 0.36140786 +H -0.25356863 -0.87950223 1.17016389 0.64051884 0.35082720 1.32744322 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.585015886448 pbc="F F F" +C -0.03720627 0.08288148 0.58085278 3.53159578 -0.61477854 -0.27173927 +C -1.14514512 0.49277283 -0.27805520 -2.34697467 1.94009334 0.75098025 +O 1.09473490 -0.49988377 -0.22216480 -0.93829834 0.39316120 0.17544196 +H 0.56898126 0.90812501 1.03677787 -0.89207509 -0.13366080 0.45733235 +H -0.32619366 -0.67397306 1.29510105 -0.29534236 -0.55211029 1.02461000 +H -2.19840411 0.76583996 0.26428964 2.20762068 -0.80118718 -0.91678185 +H -0.81062419 1.44138447 -0.74934499 -0.40001802 -0.33555931 -0.76058718 +H -1.26509549 -0.36918769 -0.93529143 -0.68847373 -0.04680695 -0.87161527 +H 0.74222114 -0.99839747 -0.99319112 -0.17803435 0.15084847 0.41235906 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.575107734912 pbc="F F F" +C 0.33549576 0.02572453 -0.38721599 1.67469380 2.02076297 -0.46531059 +C -0.68128870 1.08815019 -0.13478284 -2.29767097 1.10608638 -0.39161154 +O 0.28279122 -1.01840645 0.48294722 1.83370836 -2.08839169 3.24507565 +H 0.06779768 -0.49389058 -1.25288008 -0.25381744 -0.07057681 -3.30684473 +H 1.38683858 0.52517126 -0.48891316 -1.11675132 -0.63736759 0.01487132 +H -1.72544224 0.63150265 0.05016489 1.13819834 0.41454229 -0.16271345 +H -0.48684582 1.78794636 0.68709641 0.29994361 -0.15813359 0.73767726 +H -0.82645593 1.83925811 -0.98860097 0.31449991 -1.06909956 0.32072882 +H 1.21476864 -1.39897740 0.54731823 -1.59280429 0.48217760 0.00812736 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.249180941363 pbc="F F F" +C 0.21652320 -0.04325636 0.58325190 3.64568734 4.35364202 -3.17154208 +C -1.20267032 0.34047116 0.34312272 0.89353429 -1.44796866 -2.23288974 +O 0.92190792 -0.29235771 -0.78117855 -0.68123597 -0.76291645 1.87036593 +H 0.89854763 0.88553494 0.94772078 -1.36076051 -1.95744135 0.18856539 +H 0.29072849 -0.93720867 1.16595384 0.51157555 -0.93069369 0.79183797 +H -1.68736900 0.72942905 1.18821236 -1.10526800 0.93102479 1.65346420 +H -1.31996157 0.97046895 -0.59429818 -0.05843513 -0.30769898 0.91691036 +H -1.51340461 -0.69741784 0.16823497 -1.53414718 0.00940705 -0.55649469 +H 0.44770265 0.14675693 -1.51465111 -0.31095035 0.11264526 0.53978267 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542697746252 pbc="F F F" +C -0.01417718 0.41444192 0.45649645 -1.88972182 -2.81990216 -1.83297246 +C -0.30070216 0.73070872 -1.05657307 -0.33528436 -1.80664440 2.96570797 +O 0.25107066 -1.01671572 0.52574466 -0.69926815 0.20162053 -0.42734798 +H 0.84279889 0.89616320 0.84886088 1.11566493 1.47101593 0.64349756 +H -0.98546309 0.61183161 0.97290304 0.50574665 0.36398256 0.55564983 +H 0.06549729 1.67617483 -1.20508456 0.65046865 3.15983060 -1.15482387 +H 0.20749116 0.01132456 -1.62299195 1.75321162 -1.30385210 -1.19101098 +H -1.31111205 0.51724050 -1.34809059 -1.36463989 0.47479318 0.01652906 +H 0.94659165 -1.22124844 1.15963069 0.26382237 0.25915592 0.42477091 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.973450234401 pbc="F F F" +C -0.09413739 -0.50565849 0.25985917 1.01731562 0.98630070 -1.31742198 +C -0.96249546 0.71398158 0.44731863 -0.80298947 -1.14972681 2.44537329 +O 0.99374409 -0.17701223 -0.60963817 0.55933149 -0.33020375 0.14458655 +H 0.32183117 -0.92779611 1.19198429 0.11086868 0.37920128 0.38241881 +H -0.65829429 -1.32098945 -0.15207826 -0.89937785 -1.06967919 -0.59249293 +H -1.75177381 0.30276648 1.17370203 0.19592008 0.97679158 -0.64874431 +H -0.38014458 1.47057452 0.99987131 -0.04306394 0.31812198 -0.06587575 +H -1.43233612 1.15586501 -0.43889466 -0.03909004 -0.13214297 -0.39486892 +H 0.71659362 -0.35453665 -1.52436696 -0.09891459 0.02133723 0.04702529 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718974896817 pbc="F F F" +C 0.31455458 -0.06631580 -0.42566228 1.31430894 -0.96587040 -1.88452428 +C -0.56254678 1.12626514 -0.23036715 0.88015344 0.69599128 0.04293523 +O 0.29564001 -0.96698702 0.60336403 -1.14116359 -0.93006716 2.80389390 +H -0.00927591 -0.74732175 -1.27752875 0.16056128 1.37439477 -0.69265275 +H 1.41229195 0.14789971 -0.56226062 -0.49973433 0.36175372 -0.25681838 +H -0.49891266 1.85710231 -1.02153476 0.77169193 0.83550139 -0.85537700 +H -1.56216652 0.83677628 -0.42479471 -2.06645390 -0.66671602 0.59490745 +H -0.40903006 1.67257634 0.72536138 -0.13677158 -0.34299505 0.01119834 +H -0.67160137 -1.04964240 0.80064304 0.71740780 -0.36199258 0.23643754 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.921585432316 pbc="F F F" +C -0.27070871 -0.45208692 0.19830155 0.51798814 -0.09099163 0.86822512 +C -0.90371037 0.89906510 0.04215270 -0.04497776 0.01193481 0.62991457 +O 1.06921634 -0.44642424 -0.17597533 1.92410164 -0.03320411 -0.49317817 +H -0.31206967 -0.91183360 1.27261476 0.09716727 1.01358156 -1.16799579 +H -0.84292572 -1.15460845 -0.38286210 -0.78934930 -1.07082852 -0.84639500 +H -1.85040499 0.87998608 0.58807480 -0.54395907 0.49565425 0.16063687 +H -0.21817435 1.65996976 0.42611263 0.10590326 0.41665214 0.58189144 +H -1.07664984 1.19268289 -0.99673345 -0.21403459 -0.19140543 -0.61821106 +H 1.32165286 0.09232765 -0.97915943 -1.05283954 -0.55139311 0.88511202 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.787358480773 pbc="F F F" +C 0.45573065 0.10509353 -0.21322112 1.60548493 -0.52629970 -2.26452245 +C -0.71552540 1.01931872 -0.43882242 0.11296002 -0.07771131 0.87231620 +O 0.30757338 -1.01728126 0.63072761 -1.24250078 0.72581557 0.73753939 +H 0.62370084 -0.37763097 -1.23803149 0.49102359 0.84364022 0.30056268 +H 1.35063172 0.71064957 0.05477001 0.15692960 -0.40153214 0.18456531 +H -0.65676885 1.65978823 -1.32315060 0.64275374 0.52000605 -0.18249059 +H -1.45638902 0.31906923 -0.76106315 -1.85778058 -0.62905747 0.05792780 +H -0.98420241 1.60119482 0.46424776 -0.33840182 -0.01845143 -0.07826420 +H -0.66444942 -1.16548728 0.56126472 0.42953126 -0.43640979 0.37236580 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5771800153225 pbc="F F F" +C -0.01580612 -0.16545404 -0.53854926 0.24755407 -1.32459156 2.60339710 +C -0.31316150 1.26452886 -0.20562122 -1.79543156 -1.32154644 1.68741923 +O 0.32617247 -0.97120989 0.66809550 0.45279739 1.22771323 -0.14929203 +H -0.82403119 -0.68889703 -0.97989632 -1.70550689 -0.39416362 -1.04849813 +H 0.77422834 -0.21527387 -1.25109697 1.54077584 -0.14142080 -0.95841029 +H -0.28629427 1.93770460 -0.99952891 -0.55711443 1.13271675 -2.65874644 +H -1.26591092 1.38840206 0.36967140 0.18500929 -0.07313253 -0.33089590 +H 0.40963044 1.76403041 0.37382518 1.83156452 0.23868124 1.71313047 +H -0.06605980 -1.86776726 0.74970135 -0.19964828 0.65574368 -0.85810402 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.890987946174 pbc="F F F" +C -0.26705423 -0.27842954 -0.43570585 -2.18719202 2.06363782 -0.25188443 +C -0.91200166 0.26058989 0.88270885 -0.46533018 0.58891200 -0.86877009 +O 1.08531274 -0.03080226 -0.47249482 1.42414954 -0.30243244 0.03066216 +H -0.53365901 -1.29857980 -0.70958794 0.02491878 -1.07123306 0.44510305 +H -0.72402873 0.29278252 -1.29322199 -0.19731434 0.01025428 0.18009802 +H -2.00946792 0.20235506 1.07204506 0.02820126 -0.36907957 -0.73695673 +H -0.50172577 -0.25945650 1.72297749 0.80797381 -0.63836317 1.17734335 +H -0.72121510 1.35979863 1.02189355 0.30282659 -0.40673652 -0.23888997 +H 1.31127338 0.40311433 0.35945050 0.26176652 0.12504066 0.26329458 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.750075549509 pbc="F F F" +C 0.18812592 -0.31263587 -0.37373050 -0.92156725 1.99009396 1.54370778 +C -1.35626494 -0.04843808 -0.24112898 1.77404358 -0.37592246 -2.63645496 +O 1.02981183 0.34914981 0.61829847 -0.53787039 -0.22186746 -0.82160298 +H 0.47171465 -1.32933576 -0.35414255 -0.19690214 -2.35623152 0.16376544 +H 0.49523966 0.00131449 -1.36153638 0.06550947 0.64291516 -1.14056638 +H -1.61411914 1.00380762 -0.46260294 0.05747374 0.09091866 0.39071042 +H -1.79645097 -0.63256153 -1.09460702 0.13898195 0.26977304 0.03859896 +H -1.88887479 -0.46312675 0.57272893 -0.42513724 -0.34145444 1.94260217 +H 1.90456726 0.17880744 0.21240098 0.04546823 0.30177511 0.51923955 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.57104279754 pbc="F F F" +C -0.10056440 -0.49212230 0.23412483 1.47505621 -0.73016943 -0.71902878 +C -1.06166684 0.65298715 0.45585735 -0.95894452 -1.05704823 1.93784558 +O 1.08120042 -0.16963154 -0.56815111 0.04896148 0.54956701 1.02598868 +H 0.46220607 -0.80455855 1.19257948 -1.39633785 -0.24060237 -0.86889957 +H -0.63575587 -1.28221092 -0.36901819 0.11182528 -0.25102542 1.04879668 +H -2.13890329 0.51267786 0.78257906 0.75849749 -0.98578335 0.03002072 +H -0.72283907 1.38247742 1.15848726 0.86516756 1.02479877 0.80474898 +H -1.21790372 1.12207499 -0.44353408 -0.20535248 1.71993474 -3.04925137 +H 0.93916501 -0.15621694 -1.52451050 -0.69887313 -0.02967167 -0.21022087 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.654315328211 pbc="F F F" +C -0.29557033 -0.19632812 -0.38714056 2.02380967 -0.10337648 1.34278525 +C -0.12373091 1.30025979 -0.21643277 -2.23157545 0.52607210 0.15203653 +O 0.39984912 -1.03339249 0.51979994 0.60132724 -0.39443291 -0.18959794 +H -1.26629695 -0.59568537 -0.54236407 -2.10987095 0.00890348 -0.18256592 +H 0.25043326 -0.43687577 -1.25268515 0.77568851 -0.42110663 -2.22150258 +H -0.29306233 1.71898545 -1.22576771 0.93937471 0.32989810 -0.27972069 +H -1.04588405 1.78380489 0.22987772 0.73886881 -0.32389550 0.68454308 +H 0.81397436 1.58669640 0.31285146 -0.21507733 0.01186153 -0.45878569 +H 0.18932509 -0.80955422 1.41934527 -0.52254517 0.36607641 1.15280797 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.686374245325 pbc="F F F" +C -0.30595113 -0.27913824 -0.40944640 -0.65991149 -0.23473918 2.97631656 +C -0.88734246 0.59124892 0.82144790 0.43742666 -0.31541060 -0.86401786 +O 1.07127659 -0.27282037 -0.40054554 0.61081029 1.63070715 -1.72684217 +H -0.75828190 -1.27633171 -0.58824011 -0.10973379 -0.39192866 0.57803340 +H -0.64540759 0.25567972 -1.24752026 -0.34605322 1.31188573 -1.93637110 +H -1.90314543 1.00411030 0.47422189 0.89203647 -0.43802038 0.93444729 +H -0.85267123 0.13396262 1.88113035 -0.37249543 0.26668777 -1.33997144 +H -0.12491611 1.42981001 0.82704408 -0.74189772 -0.26250936 0.14007472 +H 1.49805761 -0.93729153 0.10192438 0.28981824 -1.56667252 1.23833055 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.818190583056 pbc="F F F" +C -0.15980809 -0.53163218 0.02858949 1.09949963 -0.04361117 1.85904237 +C -1.06347897 0.60423334 0.39701799 0.17417219 1.47677263 1.54843290 +O 1.12776190 -0.14135204 -0.38797059 0.48094188 0.52747012 0.13262634 +H -0.01822165 -1.15558865 0.92473161 0.00615733 -0.46887507 0.26950060 +H -0.51317320 -1.15979713 -0.74666271 -1.49047122 -1.13716399 -1.23074384 +H -1.97795456 0.36292418 1.01202465 0.11913103 -0.20409516 -1.06214354 +H -0.59544439 1.37915388 1.11538017 0.19226371 -1.04400877 -0.68039100 +H -1.20653386 1.19275182 -0.50981479 -0.96703825 0.41434576 -0.48963617 +H 0.98575589 0.75766667 -0.70883553 0.38534365 0.47916571 -0.34668767 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.637452811205 pbc="F F F" +C -0.42408020 0.15183479 -0.37143678 -0.51974554 -2.54503967 1.22897307 +C -0.56495617 0.15629326 1.20097715 0.37426672 -1.74972278 -1.23606037 +O 0.91259635 -0.25350852 -0.72654279 -0.95271345 0.37682718 0.91244543 +H -1.30797086 -0.60930274 -0.82716400 1.97792148 2.00411512 0.80808283 +H -0.60017618 1.20080653 -0.53794972 -0.37860921 1.10056087 -1.40263732 +H -1.51241389 0.70783730 1.40944398 0.33490209 -0.36342741 0.51181420 +H -0.51306436 -0.92303609 1.54666693 -0.65322981 0.70888670 0.05085618 +H 0.34157262 0.57420908 1.67626823 -0.11390366 0.64699133 -0.12376817 +H 0.89053080 -0.59966130 -1.61946076 -0.06888857 -0.17919140 -0.74970586 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.60676123661 pbc="F F F" +C -0.27689866 0.01423385 -0.51864560 1.33946426 1.12399808 4.31443500 +C -0.90357440 0.34210673 0.92367277 0.58500145 3.85637806 -1.72054209 +O 1.08466979 -0.29806209 -0.39763740 1.21307743 0.22030340 -0.34990078 +H -0.83049504 -0.75133165 -0.88008267 -2.20265906 -3.31411350 -1.74111961 +H -0.41898743 0.83908591 -1.19638966 0.09263081 1.09846537 -0.48068584 +H -1.91768881 0.81885292 0.80088733 0.23153784 -0.40565090 -0.09778495 +H -1.00821605 -0.41127862 1.66492179 0.17846146 -1.58898641 0.75369292 +H -0.30825079 1.23323404 1.40236705 -0.54989066 -1.42503672 -0.62303893 +H 1.33190790 -1.24499939 -0.30619891 -0.88762353 0.43464272 -0.05505567 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.969592214558 pbc="F F F" +C -0.42334786 0.10540076 0.38697192 2.66478066 0.62507154 0.28144709 +C 0.13572748 1.14688696 -0.66878024 -1.07344889 0.27038373 1.97194058 +O 0.29199050 -1.12708356 0.28734753 -0.86672287 -0.95116420 -0.53670511 +H -0.26302277 0.49927143 1.45819308 -0.03850814 -0.26735888 -1.04247902 +H -1.48460533 -0.05361893 0.29958006 -1.24182715 0.05812644 -0.34834300 +H 1.22686300 1.33103488 -0.63405242 0.06951432 -0.42516280 0.32795440 +H -0.11074273 0.81399425 -1.67706230 -0.33054725 0.12183835 -0.59461784 +H -0.33475901 2.12952642 -0.36154621 0.09666539 -0.37830433 -0.79995747 +H -0.24228491 -1.75346747 -0.28823235 0.72009399 0.94657025 0.74076032 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.627550980414 pbc="F F F" +C 0.51971808 -0.29283340 -0.07763386 -2.63624660 2.06474617 2.74613708 +C 0.22413886 1.10350399 -0.68070120 -0.50242340 -1.09394465 0.98594584 +O -0.66687590 -0.77987425 0.65973933 0.87325378 0.19305027 -0.55384178 +H 0.67771423 -0.86946885 -0.90490508 0.28619761 -2.78646989 -2.41244768 +H 1.36922607 -0.37726240 0.58885909 0.98154791 0.25892797 0.37594524 +H 0.81640177 1.87528664 -0.18676531 -0.42037921 0.78470450 0.54899694 +H 0.58799591 1.10807772 -1.69479676 0.01915930 0.12025023 -1.18640896 +H -0.91823766 1.13162528 -0.64064443 1.16327298 0.68592654 -0.14427035 +H -0.81238816 -0.15055022 1.40235511 0.23561762 -0.22719108 -0.36005633 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.909778446852 pbc="F F F" +C -0.00830577 0.02233836 0.56982034 0.26204235 -2.82927800 -0.08246883 +C -1.17597707 0.52319954 -0.26906140 0.21390413 0.34204359 -0.10938510 +O 1.06508123 -0.44490596 -0.28984571 -0.79877219 1.21884256 -0.57606907 +H 0.40566876 0.67677254 1.32107754 0.15587112 1.26318593 0.59621630 +H -0.30453205 -0.92097870 1.17440806 -0.26577276 1.11841200 -0.38047568 +H -1.85871139 1.27326284 0.20507996 0.03942839 -0.72102442 0.34295895 +H -0.80514155 1.10498315 -1.13028158 0.40311013 -0.06836226 -0.25743632 +H -1.69100689 -0.36723892 -0.68413561 -0.32327638 0.30317405 0.02926292 +H 1.45832683 -1.20682292 0.13080901 0.31346520 -0.62699339 0.43739689 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.644087469445 pbc="F F F" +C 0.15610233 0.47185855 -0.20163670 0.60910925 1.01772299 -1.68839959 +C -1.33825485 0.00422549 -0.28242479 -0.92014285 -0.51497352 1.27360528 +O 1.11149567 -0.39942181 0.48100563 -1.70530820 -0.54695543 -2.08450228 +H 0.48318742 0.74092510 -1.28057586 0.05808983 -0.70265609 0.82718340 +H 0.26013161 1.50134113 0.25235133 -0.32344160 -0.74098457 0.27279038 +H -2.09597816 0.29895677 -1.09407517 1.54167064 0.15491905 0.19301422 +H -1.45947643 -1.13989596 -0.22743748 0.35751171 1.13217995 0.13383769 +H -1.81987684 0.45809357 0.63144416 -0.02330089 -0.73727647 -0.20019701 +H 1.07447776 -1.19381095 -0.14876660 0.40581206 0.93802416 1.27266790 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.405886085398 pbc="F F F" +C -0.36780238 -0.20232027 -0.50110931 2.05761218 1.43144109 3.85053419 +C -0.84850653 0.59000731 0.94210159 1.52549912 -2.53982357 -1.63542343 +O 1.10779283 -0.39406207 -0.38002598 -1.61755786 0.44899298 -1.22129539 +H -0.88911747 -1.16067245 -0.69531401 0.00795782 -0.08957372 0.49767992 +H -0.62860756 0.47278906 -1.28406259 -0.15325724 0.90111535 -1.35082566 +H -1.87918322 0.74898765 0.80705806 -2.18926675 0.80906098 -0.21682588 +H -0.83636490 -0.21327949 1.71479925 0.47878647 0.40167515 0.14906860 +H -0.32645438 1.53527115 1.27430853 -0.01221084 -0.82044557 -0.64149699 +H 1.46797986 0.25078293 -1.03940002 -0.09756286 -0.54244268 0.56858464 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.514684739595 pbc="F F F" +C 0.09499284 -0.57676080 -0.03971700 -1.12509065 2.16984818 5.30006788 +C -1.28558116 0.18164632 0.16980192 -0.09427318 -4.30642143 -1.37136534 +O 1.13646182 0.33198196 -0.12664830 1.31182222 0.67501616 -1.23350737 +H 0.34110476 -1.06705574 0.99791139 -0.71346784 0.02624778 -1.22508458 +H -0.03855067 -1.41404675 -0.68171680 0.25621988 -0.88118482 -1.97169550 +H -1.96442461 -0.76806312 0.29875140 0.25893943 1.72287794 -0.00901599 +H -1.39729540 0.83242261 1.01807885 0.25872711 0.63768733 0.82808298 +H -1.59003213 0.64363656 -0.78217846 -0.14176389 0.36200019 -0.12623082 +H 0.79588813 1.21015348 -0.39061472 -0.01111313 -0.40607138 -0.19125121 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734200086688 pbc="F F F" +C -0.35215084 0.06547707 0.51438417 0.22250561 -1.17730350 -3.54337843 +C 0.82635736 0.96758348 0.13096050 -0.67930173 0.29021265 0.58767457 +O -0.48967859 -0.92755216 -0.58377812 -1.30307106 0.82036000 1.03014985 +H -0.17851231 -0.45088886 1.49176628 -0.51622395 0.43373517 0.02439664 +H -1.32557880 0.61066306 0.31939302 0.63742770 -0.10957048 1.19162676 +H 0.77699138 1.37730395 -0.91558451 -0.22301566 -0.16012013 0.67842395 +H 0.69734306 1.71701393 0.90519023 0.39261550 1.48106838 0.17745770 +H 1.84064127 0.58791513 0.32174228 0.15249958 -0.63872436 -0.09208892 +H 0.31028765 -1.43017156 -0.54596661 1.31656400 -0.93965779 -0.05426212 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.816888504341 pbc="F F F" +C -0.25465424 -0.46738401 0.02780233 1.32330374 0.80373663 -2.91105818 +C -0.97892083 0.76468829 0.43447672 -0.93289224 0.45033093 0.98363442 +O 1.10716265 -0.27768679 -0.49223919 -0.18961702 -0.12586901 1.31580424 +H -0.28913460 -0.98629030 0.93385308 0.37042194 -2.11320465 1.79982512 +H -0.80276921 -1.01376721 -0.77894374 0.16153254 -0.05100582 0.25899147 +H -1.93733103 0.39233057 0.90992115 0.36968450 0.48208823 -0.26530405 +H -0.37778776 1.19202748 1.25572116 -0.08501299 0.50405733 0.17222376 +H -1.23115666 1.55328688 -0.28908057 0.15225728 0.01276142 -0.41460739 +H 1.76217967 -0.27396714 0.27346455 -1.16967781 0.03710489 -0.93950939 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.576545060456 pbc="F F F" +C 0.08940412 -0.39347957 0.44892158 -2.66923546 -0.45636917 -0.41698505 +C -1.10200216 0.61867429 0.32991484 -1.00169694 -3.48772247 -2.18775268 +O 0.91795929 -0.22035924 -0.71321361 -1.00886080 -1.04017263 0.69597524 +H 0.59492332 -0.26144993 1.44246052 0.17817679 -0.26275958 -0.44277106 +H -0.56417699 -1.42081821 0.46924946 2.13253256 1.41484430 -0.22257693 +H -2.01203282 0.21449372 0.86821956 0.67367646 0.89706226 0.31650280 +H -0.79226238 1.61719023 0.44945345 0.14683771 2.02312854 0.57138488 +H -1.45287492 0.47107267 -0.77986527 0.59034302 0.51484183 1.39893241 +H 1.72053700 0.19241422 -0.40909936 0.95822671 0.39714692 0.28729038 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.537378115105 pbc="F F F" +C 0.03206268 -0.51997457 0.33491935 -2.46684952 -0.06482828 -2.40123350 +C -1.23938711 0.19382072 -0.25415573 0.41289756 0.54820520 -0.82613229 +O 1.15032226 0.23011972 -0.04402878 0.45845752 0.16529530 -0.13854512 +H -0.09117295 -0.53960885 1.39131699 0.01679250 -0.58708595 1.79381382 +H -0.14986075 -1.55093824 -0.13780505 1.52627328 0.62295598 0.59135701 +H -1.60068445 0.98962158 0.48579151 -0.14409758 -0.70228051 -0.99167632 +H -0.78533753 0.68898265 -1.19723395 -0.83333904 -0.23751232 0.95040788 +H -2.03917745 -0.50559129 -0.69365537 0.52536063 0.80947739 0.99509897 +H 0.79234044 1.14973701 -0.11191537 0.50450466 -0.55422688 0.02690948 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.566144859094 pbc="F F F" +C -0.10105893 0.49103511 0.07064392 1.82961897 0.52878344 0.70884186 +C -0.88834935 -0.22544226 -1.02089511 -0.36989090 -0.77899819 -0.94266871 +O 0.91677394 -0.26236192 0.83815462 -0.53972539 0.11499798 0.39832361 +H 0.48708435 1.32818205 -0.51671443 -1.12552182 -0.59193685 1.27156721 +H -0.82892576 0.84167397 0.84931841 0.18701002 0.52085965 -0.60387803 +H -1.79302702 0.42631202 -1.23339912 0.19443007 -0.83002782 0.46348218 +H -0.44345083 -0.25711037 -2.04702117 0.62570197 0.19656651 0.41839602 +H -1.10734434 -1.33105317 -0.86136386 -0.34034141 1.00217290 0.45789414 +H 0.92226105 -0.00976527 1.82812065 -0.46128152 -0.16241762 -2.17195823 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.530069362327 pbc="F F F" +C -0.32538361 -0.47348358 -0.13468486 0.88545660 1.57309128 -3.56835121 +C -0.86257726 0.64201611 0.65444970 -2.19390091 3.25290585 0.24807601 +O 1.07681185 -0.24870881 -0.45146002 -0.47123097 0.28401130 0.08842490 +H -0.23719549 -1.41880524 0.27175368 -0.57760212 -2.62825931 1.70504877 +H -0.90260679 -0.58122550 -1.12678298 0.23309876 -0.02317583 0.88990533 +H -1.97539604 0.78775374 1.00604067 1.39677561 -0.85630249 -1.06771605 +H -0.34204174 0.87279858 1.54071709 1.30419499 -0.52854396 2.13777607 +H -0.58553085 1.66346659 0.18769929 -0.68193948 -1.07897898 -0.41132373 +H 1.10499790 0.61410936 -0.90680058 0.10514751 0.00525215 -0.02184009 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.761316698623 pbc="F F F" +C 0.15729351 -0.37800393 -0.34095989 -0.90846654 0.13710762 1.75348390 +C -1.29504212 0.15728685 -0.33241961 1.09764108 0.33792025 1.98289976 +O 1.05681350 0.13366939 0.63423123 -0.91291183 2.90697558 -0.27274760 +H 0.19037004 -1.42173156 -0.12394184 -0.12787329 -1.68300937 -0.24353585 +H 0.54447011 -0.16191894 -1.29855081 0.74396129 0.04819329 -2.14253236 +H -1.11726808 1.25421136 -0.45589393 -0.79359743 0.04534656 0.50094476 +H -1.81613810 -0.14096879 -1.20622426 -0.74238407 -0.64491604 -1.55945229 +H -1.95600297 -0.17106185 0.55373193 0.98904695 0.78197198 -0.71868297 +H 0.93590345 1.14827029 0.48754309 0.65458385 -1.92958992 0.69962260 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.867676568714 pbc="F F F" +C -0.23923857 -0.47756476 0.06751785 1.33020623 -0.15736648 -0.82112434 +C -0.99411296 0.77871197 0.46445067 1.21939885 0.37391746 -0.16927362 +O 1.08568822 -0.29448818 -0.51496383 -1.13590471 0.13328012 -0.86565648 +H -0.15796996 -1.22346494 0.89446746 -0.44720909 -0.02438713 -0.13383388 +H -0.73228943 -0.86139850 -0.83034906 -0.55634259 -0.84168901 -0.00672889 +H -2.05427963 0.64574923 0.69083369 -0.51377966 -0.43932964 -0.02855196 +H -0.51781670 1.09392147 1.40534701 0.01268007 0.89038304 0.12287728 +H -0.90509171 1.52219116 -0.37938875 0.06222807 -0.16742582 0.72498932 +H 1.82965571 -0.09247627 0.05431605 0.02872283 0.23261750 1.17730257 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.554644162406 pbc="F F F" +C -0.04226733 -0.29472499 0.57110165 -1.20586604 2.35762331 -1.67065342 +C -1.02481279 0.64128801 -0.17088895 -0.73799088 -0.21909113 1.96144425 +O 0.97535737 -0.39547698 -0.32748620 2.80070377 -0.74193686 -2.33714842 +H 0.41013120 0.05873553 1.48245703 -0.45278073 0.65227464 1.58757313 +H -0.58276473 -1.19881792 0.71364584 -0.25908763 -1.86075915 0.37940486 +H -1.76171042 1.13576919 0.46659454 -0.87897639 -0.18069287 0.45155858 +H -0.44234213 1.49458576 -0.42895852 0.90748531 1.26530575 -1.03608916 +H -1.52139265 0.16664420 -1.03133594 0.17281825 -0.07640740 -0.12443912 +H 1.13030426 0.48945891 -0.77306387 -0.34630560 -1.19631630 0.78834930 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.685625316491 pbc="F F F" +C -0.21762755 -0.42209022 0.31727403 -0.00716654 0.70114156 -0.02616901 +C -0.94188438 0.87931846 -0.05370753 2.09751397 0.81666029 0.27108677 +O 1.07941234 -0.42881418 -0.18218600 0.84453640 0.21878177 -2.31293870 +H -0.22969155 -0.61329235 1.40188057 0.33254629 0.12472878 0.36475708 +H -0.69607673 -1.28902024 -0.14142384 -1.17875879 -0.50804784 -0.05551260 +H -1.77907608 0.91048531 0.59731960 -2.05339598 0.24529644 0.31432508 +H -0.36051470 1.88466206 0.22742124 -0.59724417 -2.02237232 -0.70256055 +H -1.13129243 0.80228897 -1.14785937 -0.45848189 0.60294297 0.23460430 +H 0.87859990 -0.33827095 -1.18611435 1.02045062 -0.17913175 1.91240764 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.706176829392 pbc="F F F" +C 0.08092329 -0.28120530 0.43135613 0.60002302 -0.94238254 1.23233402 +C 0.80274174 1.01957915 0.21781462 0.65928193 2.79517353 -1.71369925 +O -0.85834857 -0.68274479 -0.54453862 -1.42709330 1.05253337 2.76469294 +H 0.94515390 -1.00682925 0.58369406 -0.87365565 -0.23217327 -0.02504744 +H -0.44779287 -0.21054428 1.42995622 -0.02416190 -0.32567743 -0.73099609 +H 1.84230428 0.88028205 -0.19381979 -0.36729486 -0.11441356 0.17742088 +H 0.27406841 1.57448700 -0.67041026 0.50892572 -0.37561387 1.50121566 +H 0.97076730 1.75971715 1.10578474 -0.68918639 -1.16895085 -1.05077618 +H -0.49043835 -0.95968181 -1.34711915 1.61316142 -0.68849543 -2.15514460 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.749892635694 pbc="F F F" +C 0.00822983 0.51094768 0.09216145 1.44661759 0.19159399 1.07235329 +C -0.89497373 -0.05698301 -0.97189428 -0.52099181 1.53294421 -2.23651593 +O 0.77697663 -0.41961125 0.85500142 -2.05049917 0.83511711 1.51594032 +H 0.68908334 1.36016321 -0.32532720 -0.79082218 -0.95164819 0.20418911 +H -0.51781325 0.94360148 0.95036463 -0.93385327 0.75822650 -0.26261287 +H -1.23695954 0.92309296 -1.52914065 -0.12875019 -1.48824022 0.74259105 +H -0.33414212 -0.56386899 -1.83414397 -0.36750055 0.05924538 1.05336363 +H -1.80589052 -0.66114936 -0.66458961 0.87901470 0.42521376 -0.03937435 +H 1.43801575 -0.75217898 0.31405900 2.46678493 -1.36245261 -2.04993420 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.856726983366 pbc="F F F" +C -0.30247389 -0.19920482 -0.39170065 1.25293874 -0.35590472 0.49973320 +C -0.13582491 1.32139255 -0.25323297 -0.06920723 0.52176401 -0.69625780 +O 0.42004311 -1.00280212 0.58283282 -0.11704730 0.96518268 0.15713400 +H -1.34742321 -0.49965683 -0.42659338 -0.76640441 -0.10418664 -0.18112667 +H 0.18955044 -0.42443280 -1.33914633 -0.12014008 -0.34432256 -0.90152472 +H -0.01250202 1.83334241 -1.28542117 -0.19241160 -0.68785142 1.26009402 +H -0.92005582 1.85966409 0.29828821 -0.61519490 -0.08886373 0.01032761 +H 0.73812755 1.56457935 0.35206038 0.87025022 -0.10759284 0.05147638 +H -0.09337747 -1.78923768 0.83437867 -0.24278334 0.20177520 -0.19985603 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539038977537 pbc="F F F" +C 0.11769738 -0.21561439 0.51779775 -2.33148408 0.92358453 -0.07354982 +C -1.27023648 0.29375702 -0.02757906 0.48686765 1.03482746 2.36588041 +O 1.08844448 -0.11352254 -0.42455547 2.65039410 -0.52757502 -2.77437839 +H 0.48319916 0.42188725 1.34009765 -0.43942523 0.48039171 0.60130893 +H -0.04304365 -1.21521388 1.06949729 0.36181573 0.24964510 -1.15210837 +H -1.82965483 0.53290281 0.91536260 -0.37063606 -0.38047352 -0.30931415 +H -1.22435624 1.34233150 -0.46154657 0.28960798 -0.98130330 -0.30895924 +H -1.85279786 -0.43900897 -0.60096444 0.04145036 -0.04857875 -0.40391201 +H 0.92214258 0.22643159 -1.36481065 -0.68859041 -0.75051828 2.05503265 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.948537699898 pbc="F F F" +C -0.23380333 -0.24170992 -0.44561337 2.11781680 0.87917488 -1.31117672 +C -0.03557191 1.29582378 -0.27104284 -2.20410572 -0.13004896 0.26907113 +O 0.25744456 -1.00917290 0.60463356 0.13788281 -0.62300149 0.80584828 +H -1.28671394 -0.39267305 -0.70802137 -0.66066755 -0.43762186 -0.10008840 +H 0.43421123 -0.62793351 -1.29964780 -0.99809425 0.59509668 0.33116766 +H -0.03093877 1.90338700 -1.21801428 -0.23239875 -0.45073094 0.36895790 +H -0.88931445 1.66453785 0.41569283 0.77648298 -0.12623103 -0.88576544 +H 0.84944686 1.54771552 0.27518930 1.40833550 0.03671459 0.50798629 +H 0.04570694 -0.63847533 1.47696910 -0.34525186 0.25664807 0.01399930 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.69347899769 pbc="F F F" +C -0.32903124 -0.30541053 -0.27689477 1.51213606 2.59031434 -0.97631459 +C -0.88122406 0.68071424 0.74261422 -0.69154959 -1.89843781 0.83535931 +O 1.12202863 -0.39617055 -0.46344963 -1.38617001 0.09591601 0.06419713 +H -0.62295812 -1.26186765 0.03248700 -1.06086318 -2.18890849 0.09651246 +H -0.85872317 0.08476900 -1.19977935 0.66935217 -0.97496861 -0.13979370 +H -1.92844763 0.76879442 0.44688923 -0.78585574 0.04037543 0.04558994 +H -0.93202351 0.24345213 1.78239035 0.52245019 0.74747306 -0.33968475 +H -0.54048980 1.68842798 0.64226011 0.95115371 1.23250011 0.23251795 +H 1.49278919 0.29133255 0.10270492 0.26934639 0.35573595 0.18161621 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.66433433409 pbc="F F F" +C 0.17299433 -0.51277277 -0.24351318 -0.98889315 -0.91990621 1.67765134 +C -1.20435377 0.12288365 -0.37270622 -1.11539733 -2.12096311 -0.53716585 +O 0.95899466 0.36600147 0.48667150 1.69775496 1.29505913 0.26477934 +H -0.09992563 -1.44870175 0.30373553 0.64368479 -0.31767662 0.07880907 +H 0.77622489 -0.86288752 -1.09479935 -0.30407141 0.32852734 -0.80540333 +H -1.11662418 1.16304065 -0.49848680 0.20062032 2.10534288 -0.72469200 +H -1.87165751 -0.33936898 -1.18539920 0.56012180 0.44803575 0.87849524 +H -1.68407349 0.01653745 0.63863577 -0.07826631 -0.11276122 -0.53285930 +H 1.06236216 0.30615732 1.45412300 -0.61555372 -0.70565801 -0.29961440 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.44228596921 pbc="F F F" +C 0.42292834 -0.07323516 -0.45909328 -5.97735788 -0.24094027 0.56137300 +C -0.61945195 1.15229112 -0.23837830 1.47486672 0.41174421 0.04715112 +O 0.26264811 -1.03458095 0.63321755 -1.30815690 2.03557443 -0.36262553 +H 0.06661973 -0.43802242 -1.46025912 -0.17812521 -0.75163799 0.27005123 +H 1.38606487 0.14748853 -0.69977102 3.84183466 1.25589958 0.09329081 +H -0.79422776 1.79458920 -1.14010809 0.27681293 -0.49673915 -0.10964149 +H -1.64769070 0.74900239 -0.00482697 0.65699725 0.09296423 0.20457251 +H -0.25813554 1.94205296 0.50949672 -0.48556169 -1.06299560 -0.17631315 +H -0.58093687 -0.63245312 1.05530642 1.69869012 -1.24386943 -0.52785846 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.800984027018 pbc="F F F" +C 0.28050573 0.01252346 0.55949975 -0.98821088 -2.10113594 -0.93131029 +C -1.18467454 0.22844776 0.26098225 -0.01596501 3.41765572 1.35401357 +O 0.89536324 -0.24915306 -0.72302597 1.58872632 -0.43155688 1.92461689 +H 0.70271889 0.83656014 1.20124915 0.14192628 -0.17037405 -0.58605740 +H 0.27100783 -0.96078502 1.19961967 0.68501333 1.07182159 -0.74601848 +H -1.70345941 0.36511897 1.22182948 -0.41334097 0.11036032 0.32056551 +H -1.34191661 1.23936663 -0.27422075 0.11880943 -1.08125137 0.29260218 +H -1.71851523 -0.53253437 -0.24701611 -0.37808162 -1.46139141 -1.03608674 +H 0.35090103 0.13423729 -1.40154021 -0.73887693 0.64587198 -0.59232519 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.636290660248 pbc="F F F" +C 0.19082221 0.49850805 -0.32421522 -0.33634478 0.05586690 3.31152954 +C -1.34559891 0.00098235 -0.22650630 2.83028181 0.51138858 -0.56914735 +O 1.05155413 -0.39270306 0.51182632 -0.78212532 2.08975201 -0.52121143 +H 0.55439368 0.56180087 -1.34960365 0.04474035 -0.07551836 -0.75589307 +H 0.38245001 1.50898409 0.18065494 -0.32921069 -0.81087479 -0.59893236 +H -2.15418706 0.65011318 -0.58599562 0.10758055 0.22425781 -0.68230884 +H -1.11724154 -0.88234108 -0.82850417 -1.36189221 -0.84741907 -0.27844964 +H -1.60739622 -0.25376621 0.79403384 0.16223450 -0.33064449 0.76885164 +H 1.00970774 -1.30474250 0.22745354 -0.33526415 -0.81680859 -0.67443849 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.59310652318 pbc="F F F" +C -0.11205458 -0.24332424 0.54185203 1.75557549 1.81777873 0.71189500 +C -1.04273954 0.76730114 -0.21032460 -2.00924720 -2.74166218 2.04542721 +O 1.00822765 -0.48225790 -0.31132522 1.43418636 0.02755843 -0.53172067 +H 0.39526460 0.13262223 1.51818958 -1.51791786 -0.32667481 -0.65347478 +H -0.56662069 -1.22050399 0.67192555 -0.84764507 -0.52159766 0.54518729 +H -2.17007534 0.79987332 0.06278679 1.43783902 -0.07500666 0.44878482 +H -0.67730894 1.74505668 -0.25263839 1.00189903 2.06769076 -0.28712105 +H -1.11320389 0.26997357 -1.14613112 0.19027445 -0.14579569 -1.95661428 +H 1.88761552 -0.31722010 0.13713712 -1.44496427 -0.10229091 -0.32236353 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.644401429983 pbc="F F F" +C 0.16861793 -0.36146600 -0.32947840 1.68709660 -1.47938009 0.09122431 +C -1.25220936 0.10560236 -0.36956695 -0.97666631 -1.02209932 -2.41971244 +O 0.99866140 0.19910212 0.64284567 0.96172702 2.20562298 1.56353310 +H 0.21990080 -1.46162143 0.02519036 -0.34424692 0.89220189 -0.86149762 +H 0.73102659 -0.33126118 -1.35784975 -1.16505404 0.02126792 0.86437787 +H -1.29428752 1.19204403 -0.66878902 -0.39251801 -0.64857529 -0.14691720 +H -1.79478673 -0.66136483 -1.10222402 0.75205868 1.84895634 0.54500458 +H -1.87229341 -0.06864952 0.50116556 0.11400769 0.13663541 1.23280170 +H 1.06950270 1.21782526 0.72826727 -0.63640466 -1.95462985 -0.86881431 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.568625343165 pbc="F F F" +C 0.12184541 0.26432694 0.51825630 1.03113335 2.68692826 -0.02384000 +C 0.01001655 0.89299784 -0.86232598 -0.53249416 0.37935863 -0.91829336 +O -0.17625960 -1.05435708 0.30160682 -1.45849800 -0.91380585 0.41964758 +H 1.16798948 0.48264858 0.91558405 -0.30483889 -0.64616297 -0.36830330 +H -0.46229703 0.91537224 1.25310076 -0.42212828 -1.08806824 -0.13306147 +H 0.62554204 1.80679609 -0.92490517 0.13712737 0.23536061 -0.12718609 +H 0.49579290 0.06429485 -1.52304189 -1.12717936 1.45904636 0.25035982 +H -1.09033787 1.25842867 -1.12146621 1.82674776 -1.17192218 0.08673234 +H 0.48887598 -1.58362739 0.71317713 0.85013020 -0.94073452 0.81394443 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.887104732445 pbc="F F F" +C 0.28138457 -0.48862961 0.08234814 -1.27704876 3.09935478 2.20475822 +C -1.22665463 -0.34094260 0.34543286 0.74504635 -0.28848183 0.28531305 +O 0.83356706 0.78003641 -0.39521594 -1.75477562 -1.22500514 0.46970610 +H 0.69434621 -0.68995734 1.11163641 0.24587144 -0.35027045 -0.47823013 +H 0.42850603 -1.30957995 -0.55331193 0.72595750 -1.68246497 -1.62345093 +H -1.80286038 0.04169410 -0.49140200 -0.11852471 0.46388466 -0.78419043 +H -1.63171353 -1.36092219 0.50903463 -0.11004819 0.12994195 0.53367928 +H -1.35560149 0.34959564 1.20569389 -0.33706187 -0.27866484 -0.00950625 +H 1.69873895 0.47112055 -0.60571938 1.88058391 0.13170588 -0.59807896 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7748841670755 pbc="F F F" +C -0.23101230 -0.47660295 0.24881311 -0.12777677 -1.62486385 -0.06564466 +C -0.95448342 0.80378966 0.11254848 -0.42401763 2.63896930 -0.71468202 +O 1.08355085 -0.29371347 -0.29353141 0.42001329 -0.64004771 -0.24194716 +H -0.26685125 -0.70946051 1.36852963 0.73728156 -0.22506211 -0.76254965 +H -0.77136871 -1.35298274 -0.25768051 0.36039674 0.72961541 0.37200430 +H -1.93272122 0.92907249 0.64734981 -0.15740458 -0.74435652 -0.71882469 +H -0.41289113 1.59393402 0.71997252 0.27689402 -0.36195730 -0.77996642 +H -0.95982848 1.13698639 -1.01011194 -0.34416377 -0.25651648 1.69316544 +H 1.26954235 -0.83561370 -1.11474405 -0.74122286 0.48421931 1.21844491 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.786044079841 pbc="F F F" +C 0.02638145 -0.37576412 0.43527886 0.87185778 -0.74216090 -1.18151286 +C -1.17898770 0.55574419 0.26140133 2.31957174 0.58452245 2.13408839 +O 1.04411017 -0.12156542 -0.60954074 -1.11112482 -0.08428254 0.71569889 +H 0.62031582 -0.18318108 1.29943523 0.21697213 0.65579186 1.77160550 +H -0.14676833 -1.49973719 0.53782573 -0.45172354 0.78964122 -0.43017152 +H -1.93281566 0.47393255 1.06172063 0.07187012 0.05103935 0.35870876 +H -0.69291909 1.58575801 0.25415913 -0.91094596 -0.64002770 -0.19407295 +H -1.66220425 0.31649152 -0.62798008 -1.14329010 -0.22654790 -2.42624715 +H 0.97441544 -0.90976967 -1.15139893 0.13681261 -0.38797590 -0.74809712 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.661617967813 pbc="F F F" +C -0.30889587 -0.36920710 -0.20054464 -1.55283587 -1.23702680 1.86022452 +C -0.76870048 0.73874758 0.77592090 -2.15150901 -3.20910827 0.87027763 +O 1.02642854 -0.38064815 -0.51811009 0.94103379 2.00339408 -1.18021532 +H -0.51217052 -1.37372380 0.24314901 -0.05766261 0.11663855 0.08763711 +H -0.97574624 -0.31751930 -1.06494811 -0.39705282 -0.00541788 -0.85659339 +H -1.25718191 1.49203096 0.23591880 -0.11177926 2.44893427 -0.96854646 +H -1.70969125 0.37723849 1.37514326 1.25776208 0.02174074 -0.68420991 +H -0.05838241 0.94585780 1.54655098 1.07628122 0.82221485 0.60789302 +H 1.06003889 0.51330662 -0.96789634 0.99576242 -0.96136953 0.26353287 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.633677165936 pbc="F F F" +C -0.30535797 0.34755542 0.30535089 -0.71623641 0.94196767 2.11849351 +C 0.40808411 0.83646964 -0.89869798 -1.13588255 -1.64087844 -2.78828334 +O -0.10752401 -1.07609096 0.50711747 0.82952301 0.41641292 1.27877063 +H 0.04942875 1.12731374 1.13370432 -0.70641428 -1.81572071 -0.50059617 +H -1.40483812 0.45958078 0.20356246 -0.14004716 0.42804064 0.00540004 +H 0.02078126 1.68915166 -1.52033409 -0.44742800 -0.34680080 0.69892583 +H 1.40060880 1.09317877 -0.69043242 2.35887163 0.35274421 0.48739463 +H 0.42537593 -0.07476048 -1.58727139 0.17940423 0.85753498 0.17572447 +H -0.00967147 -1.32372429 1.48148535 -0.22179043 0.80669952 -1.47582960 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.87048843871 pbc="F F F" +C 0.20759601 -0.28825749 -0.44848687 -0.85376538 0.78938751 -0.58968065 +C -1.32262016 -0.05284359 -0.16377295 0.51475395 0.88055942 0.66428252 +O 1.04953720 0.30720694 0.49987415 0.21542396 -0.47851275 1.69531905 +H 0.41724563 -1.40390795 -0.58525216 -0.04338712 0.82762101 -0.32883402 +H 0.45643604 0.37898438 -1.34131677 -0.24439377 -1.30048036 0.13468209 +H -1.40886023 0.83693304 0.51170429 0.36289385 0.02591118 -0.21684645 +H -1.86989158 0.30259219 -1.06724569 -0.12621642 -0.73087340 0.07981828 +H -1.84042304 -0.81863039 0.45558778 -0.00038495 -0.34405280 -0.63338387 +H 0.87154041 -0.10928960 1.38757833 0.17507594 0.33044019 -0.80535694 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.687729837722 pbc="F F F" +C -0.13185866 0.10273930 -0.53409286 -1.36403635 -0.39569759 1.84223491 +C 0.84472670 0.98618329 0.24504105 1.44558483 -2.38202278 -1.99969380 +O -0.60832919 -1.01514453 0.26361141 2.61212605 -0.09239540 -0.96129445 +H -1.01960571 0.66152643 -0.94987206 0.54799951 0.06685580 0.14839636 +H 0.39906814 -0.31081492 -1.35477353 0.71546323 -0.85342918 -1.47974035 +H 0.31488262 1.72600703 0.70407020 -1.67904807 2.25073933 2.73677281 +H 1.59906646 0.37765483 0.84738641 -0.90493493 0.71901685 -0.37240200 +H 1.36295119 1.58703297 -0.50962207 0.76212840 0.05502492 -0.42714014 +H -1.49571731 -0.90484198 0.52277699 -2.13528261 0.63190805 0.51286661 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.666635050365 pbc="F F F" +C -0.38822650 0.38480149 0.28776752 2.22234755 -0.35813093 -0.30602216 +C 0.97975301 0.76318943 -0.44765661 -0.02881303 1.81293759 4.21320523 +O -0.51817757 -1.03563507 0.18866162 -1.53317792 -0.54145816 -0.92644669 +H -0.36355950 0.63196846 1.39157812 -0.06265883 0.14312801 -0.67243580 +H -1.10634480 1.00018687 -0.25042236 -1.15332163 0.08443377 -0.01798534 +H 1.77756407 0.10631842 -0.01555655 -0.04427205 0.53703030 0.02393739 +H 0.87392494 0.44525205 -1.42040637 -0.30955223 -0.56242088 -3.18508501 +H 1.25169033 1.92347722 -0.35669967 -0.42489628 -2.17134811 -0.23215156 +H -1.25772316 -1.34924826 -0.43793584 1.33434442 1.05582840 1.10298399 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.421091175546 pbc="F F F" +C -0.44786309 0.25337177 -0.29347760 2.12631543 -3.01134260 -2.41040381 +C -0.51831960 0.08953464 1.15549197 -0.09911472 0.75691020 2.67950100 +O 0.87160115 -0.27174414 -0.75636811 -0.08956353 0.59715094 0.73078706 +H -1.20329130 -0.42221756 -0.76072206 -0.36901215 0.85834421 -0.40505188 +H -0.36489012 1.30068607 -0.61146236 -1.08095029 0.39825414 -0.05542992 +H -1.62144928 0.41844761 1.41929859 1.95872367 -0.16709950 0.37405630 +H -0.26742177 -0.92625142 1.67414582 -0.60795688 1.08332898 -1.35248053 +H 0.35194173 0.77155578 1.48297577 -1.37712872 -0.39582039 0.61570069 +H 0.78199439 -0.91632908 -1.46996599 -0.46131273 -0.11972593 -0.17667897 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742564287529 pbc="F F F" +C 0.35822880 -0.28903290 -0.34958591 1.78055598 -0.52652935 2.17316552 +C -1.06988721 -0.17208813 -0.65096522 -1.89152750 -0.38619042 -2.03186016 +O 0.70087758 0.40456459 0.89829719 -0.37873041 -0.47084690 0.08482766 +H 0.81144839 -1.34887957 -0.39152574 -0.63400865 0.79272897 0.27785587 +H 0.92242981 0.28146813 -1.06577408 0.62123304 0.47604958 -1.01905446 +H -1.32300850 0.84773346 -0.25457505 -0.58578430 -0.47533918 -0.40488620 +H -1.20632490 -0.20230659 -1.80639210 -0.00914403 0.32243887 1.35488338 +H -1.76524306 -1.00621091 -0.31748219 0.56056362 0.77204850 0.35031837 +H -0.08539388 0.49965169 1.49940320 0.53684230 -0.50436006 -0.78525003 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.69443040076 pbc="F F F" +C 0.16544274 0.30466088 0.45470961 -0.69501884 -1.42591383 2.28360698 +C -0.02038259 0.99102458 -0.87375830 1.96247115 0.68372248 -0.50575766 +O -0.11505651 -1.18241448 0.33241591 -0.24346941 1.65438157 0.50328857 +H 1.16569232 0.41727033 0.91018872 0.76477834 -0.16971009 -0.65189751 +H -0.38290747 0.79841730 1.36274020 -0.23588229 -0.65089242 -1.45528998 +H 0.56834599 1.98353639 -0.95309476 -0.37312911 -1.14346756 0.36523520 +H 0.41587919 0.31930172 -1.69262230 -0.79581882 0.62798218 0.63299470 +H -1.03920577 1.32399531 -1.02779238 -0.93349784 -0.32895188 -0.49267285 +H -0.63100859 -1.51462374 1.11744164 0.54956680 0.75284960 -0.67950747 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7809061897515 pbc="F F F" +C 0.50440697 0.12198232 -0.27104966 -0.73270886 -0.17031492 0.54479010 +C -0.72576589 1.09629943 -0.30079702 -0.04890821 -3.01967571 -0.27284098 +O 0.22771368 -1.07485509 0.54774903 0.18320453 1.16360327 -1.02135498 +H 0.89994272 -0.13485552 -1.34291229 -0.31295972 0.39609688 1.59559955 +H 1.22362868 0.64700850 0.38105452 0.73330103 0.17553493 -0.55688468 +H -1.47903090 0.79168224 -1.03746659 -0.03778680 0.15663299 -0.81272192 +H -1.29983796 0.89962224 0.60045338 0.01024117 0.21645893 1.05343609 +H -0.45956980 2.11520951 -0.37920255 0.44578861 1.76277942 -0.26719849 +H 0.13702764 -1.77574987 -0.10237244 -0.24017176 -0.68111575 -0.26282468 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.609312076854 pbc="F F F" +C -0.47025557 0.00427256 -0.31681430 0.01533988 2.00106363 1.08193379 +C -0.43735136 0.20467728 1.18200626 2.75523077 -0.31765615 0.99685997 +O 0.77259108 -0.24090225 -0.85646615 2.36125798 0.84265903 0.84017962 +H -1.02952053 -0.81209001 -0.67485811 -1.97871873 -1.21262589 -0.36342905 +H -0.80213104 1.00000770 -0.59827856 -1.10361098 0.60048618 -1.33283714 +H -1.30754468 0.42907245 1.77602302 -1.19025816 0.27549632 0.02291918 +H 0.01347512 -0.69539674 1.60789440 0.08465550 -0.68338037 0.53439405 +H 0.36957458 0.99553983 1.49294202 -1.13685473 -0.63915564 -0.73597668 +H 1.30665938 0.41543171 -0.31842455 0.19295848 -0.86688711 -1.04404374 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.396141264944 pbc="F F F" +C 0.29364894 -0.28206980 -0.51003209 1.87769121 1.85914733 4.30288709 +C 0.46451735 1.22430346 0.12344355 2.16887260 -1.95255008 -0.49853661 +O -0.74309826 -0.82447771 0.29015490 -0.24350078 -1.76439659 0.19511728 +H 0.07233294 -0.24495222 -1.53465471 -0.64503333 -0.25467968 -2.20551001 +H 1.33838687 -0.74903215 -0.31392287 -1.30933082 0.12586264 -0.51651942 +H 1.58927344 1.48586644 0.07017926 -1.26977480 0.25482649 -0.39658899 +H -0.19182373 2.01435053 -0.33483071 0.20771965 -0.46217420 0.73234936 +H 0.38114061 0.89908348 1.20150593 -0.66982700 1.13938043 -0.47833308 +H -0.42920384 -1.54731777 0.91261063 -0.11681667 1.05458372 -1.13486562 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.545772142599 pbc="F F F" +C 0.23375502 -0.41800645 -0.25871010 -1.53516590 -1.88863568 -0.71940164 +C -1.25421351 0.01577551 -0.38841264 1.63133733 -0.77306820 -2.20065098 +O 0.94131482 0.30922314 0.65813618 0.88415871 1.98748326 0.91040094 +H 0.34842456 -1.57545334 -0.20471605 0.10984543 1.37466833 0.95638277 +H 0.58906899 -0.26832126 -1.28140586 0.52042750 0.26638479 -0.85250580 +H -1.00476302 1.04805311 -0.66281322 -1.20401459 0.87363323 0.20456588 +H -1.55770880 -0.46588467 -1.36184392 -0.33668093 0.28334590 0.46632330 +H -2.02875053 -0.16539004 0.34860332 -0.10027347 0.09889541 0.87353429 +H 0.87077697 1.31010279 0.42650998 0.03036597 -2.22270714 0.36135119 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.953419408027 pbc="F F F" +C -0.33699108 -0.16338668 -0.46319155 -0.24759228 0.52901463 1.41337702 +C -0.82735535 0.48453912 0.84704663 -1.09944645 -0.30747375 -0.21955609 +O 1.06789088 -0.25016450 -0.39791694 0.25147835 -1.68802086 0.29006399 +H -0.81967000 -1.16062572 -0.54776559 -0.09579085 -0.03189444 -0.50334725 +H -0.55033702 0.46504257 -1.30787761 -0.60398602 0.57418343 -1.03711364 +H -1.84779293 0.97446643 0.74253064 0.58781038 -0.52183395 0.19493154 +H -0.85541809 -0.30898370 1.65177803 -0.02852707 0.69193012 -0.23483734 +H -0.10729247 1.27258109 1.10068233 0.18339263 0.21110914 0.26466657 +H 1.10295173 -1.09990851 0.10288292 1.05266136 0.54298570 -0.16818486 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.775000239667 pbc="F F F" +C 0.16378709 -0.56839745 -0.00499789 1.43158862 2.56874401 -2.47890748 +C -0.88511811 0.09190140 -0.93165844 0.64524710 0.11353738 0.29564724 +O 0.65756819 0.45659544 0.82453285 1.58052100 -0.40225601 2.47006016 +H -0.41280493 -1.25110870 0.51683351 -1.13448793 -2.46772282 1.62781353 +H 0.97233265 -1.06993400 -0.67267396 -0.73170345 0.29176822 0.90224062 +H -0.53369652 0.87627923 -1.64577086 0.18494625 -0.23657947 0.37139371 +H -1.30224844 -0.72620728 -1.49516751 -0.58021894 -0.68511700 -0.87116399 +H -1.70171352 0.50046496 -0.31748355 -0.10992071 0.25885361 0.15513270 +H 1.13476404 0.09926730 1.68742872 -1.28597198 0.55877207 -2.47221654 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539074322523 pbc="F F F" +C 0.33600460 0.30884979 0.37805711 -0.44217503 -1.64752865 -1.85133333 +C -1.12231617 -0.02123694 0.71406099 -0.66005773 0.99565710 -0.77578986 +O 0.77725599 -0.32661379 -0.95479703 -0.36501198 0.90532229 2.79363715 +H 0.16516045 1.37720630 0.22523614 1.18803467 0.81232757 0.07444236 +H 1.04044404 0.06973196 1.20042336 0.27988406 -0.05705388 -0.41407276 +H -1.35515224 0.58246498 1.64243018 -0.15792158 -0.54280351 -0.39146144 +H -1.62373947 0.56235854 -0.15926565 -0.25828596 -1.22796674 1.18478371 +H -1.50146778 -1.08432309 0.80688665 0.52302195 0.69092574 -0.14830061 +H 0.30585400 0.24830172 -1.57364196 -0.10748840 0.07112003 -0.47190516 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.657215687779 pbc="F F F" +C -0.32817543 -0.09817077 -0.40393564 -0.92512776 -1.66324190 -2.16996881 +C -0.81906366 0.45338361 0.87845539 -4.27694136 -2.01181270 -0.34875206 +O 1.07035851 -0.27129104 -0.45188147 0.45723933 -1.78651312 0.55478799 +H -1.01133471 -1.08464699 -0.61921283 1.57550478 1.52952762 -0.00516653 +H -0.45849781 0.58617097 -1.30661211 -0.67612965 -0.24812686 0.88850521 +H -1.95001177 0.71734549 0.70012329 1.56267193 -0.02922785 0.39672264 +H -0.87271087 -0.26975805 1.73556866 0.49751547 0.24140517 -0.34782142 +H -0.27618736 1.29445534 1.07373066 1.70518447 3.03383251 1.25043942 +H 1.24816150 -1.17151187 -0.06513614 0.08008279 0.93415717 -0.21874639 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.354895144196 pbc="F F F" +C -0.24515732 -0.20498999 -0.63670295 -1.36047229 1.76255383 5.07384276 +C -0.08838776 1.26835144 0.04228190 -2.48238186 -1.42665384 -1.80652079 +O 0.26128353 -0.97985301 0.53173775 0.28594055 -0.60319083 -1.50363388 +H -1.32337251 -0.48176818 -0.92562046 0.94447059 0.35726570 0.77035856 +H 0.33014328 -0.49787789 -1.43307220 2.03361458 -0.18243161 -2.90128351 +H -0.90899944 1.30302581 0.79294689 0.45519021 -0.23925542 0.30994834 +H 0.86978107 1.45064800 0.49489036 0.95639917 -0.11021793 0.33510387 +H -0.37413886 2.10606600 -0.59011915 0.14738859 0.63283946 -0.84730630 +H 1.23270036 -0.99913592 0.30367952 -0.98014959 -0.19090931 0.56949096 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.515007128454 pbc="F F F" +C 0.21076639 -0.38234217 -0.31720437 -2.47134499 -1.83069837 0.69029885 +C -1.26750931 0.12285079 -0.36504816 0.59761909 -2.91905473 -0.78684931 +O 0.99765925 0.18898632 0.62435273 0.71661153 3.31596840 2.13517833 +H 0.04915371 -1.46437295 0.11794846 0.78974443 0.98535726 -1.73905193 +H 0.74660843 -0.14769259 -1.22921215 -0.12091825 -1.16659773 -1.74636425 +H -1.39602977 1.12946707 -0.66055077 -0.14541578 1.85186992 -0.65668763 +H -1.83610195 -0.58071377 -1.08230587 0.43928156 0.96809096 0.71996698 +H -1.67188725 -0.02045567 0.63129955 -0.47626097 0.00135158 0.71063608 +H 0.86329754 1.17454044 0.44202173 0.67068339 -1.20628735 0.67287284 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718994524475 pbc="F F F" +C 0.19015651 -0.10474244 -0.44993333 0.41020546 -2.26714539 -1.47966245 +C 0.56302344 1.25519381 0.10683445 -1.49349221 -0.18154874 1.35707771 +O -0.71956693 -1.03977004 0.27246526 1.34025878 1.14153934 0.70046593 +H -0.18367768 -0.02069009 -1.52512014 -0.60393295 0.08478185 1.11313697 +H 1.11607795 -0.68185903 -0.71701951 0.12231344 0.06845575 0.48225293 +H 1.55087626 1.33884656 0.57466405 0.32210899 -0.22738633 0.24350268 +H 0.47108967 2.07985304 -0.60233583 -0.08212420 0.24382448 -0.53864635 +H -0.22544632 1.43276497 0.89211006 0.45366956 0.30106008 -0.16120149 +H -0.28291737 -1.35464361 1.14115669 -0.46900686 0.83641891 -1.71692604 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.316413556696 pbc="F F F" +C -0.38274557 0.18392526 0.45783225 4.06457717 1.01864910 0.20792611 +C 0.08234688 0.98317275 -0.80297872 -0.25860807 1.92383229 0.94546746 +O 0.29547425 -1.06691733 0.34299314 1.80911066 1.23187986 2.30634002 +H 0.16482141 0.82850240 1.28567235 -1.39016443 -1.33881645 -0.57220044 +H -1.43694847 -0.03159575 0.70321334 -0.41902352 0.76479212 -0.32284093 +H 1.12913933 1.57474832 -0.67942584 -1.89910012 -1.76664255 -0.15463268 +H 0.03158057 0.38292836 -1.73764465 0.05585389 0.22767316 0.10888461 +H -0.65217317 1.81751198 -0.80287180 -0.01057212 0.29614928 -0.82345494 +H -0.34800292 -1.54526735 -0.10060376 -1.95207351 -2.35751681 -1.69548920 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.612575144564 pbc="F F F" +C 0.02697146 0.49812258 0.17572203 2.54732631 0.24975021 -2.71292345 +C -1.19566559 -0.20243896 0.44545428 -3.98117724 1.06878697 -1.66001434 +O 1.09972380 -0.22119834 -0.59619356 -1.70310862 1.44874451 0.46220778 +H -0.12616686 1.40779203 -0.44503125 -0.09637413 -0.02292155 0.24014934 +H 0.40417449 0.77510058 1.11820175 1.24522080 0.95848172 1.86115757 +H -2.02185685 0.39914151 0.92503348 0.82129840 0.41254799 0.10622599 +H -1.78194753 -0.50165950 -0.43565760 0.25888992 -0.35282644 -0.72582123 +H -1.18816492 -1.03040119 1.05495239 0.71397893 -2.73331812 1.93959295 +H 1.18291476 -1.06370305 -0.15589112 0.19394558 -1.02924529 0.48942539 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.659692206305 pbc="F F F" +C -0.20204063 -0.37132930 0.33470228 0.30948523 -2.38574707 -2.88317394 +C -1.00449002 0.89864810 0.00732360 1.28227257 -0.52630988 1.69349999 +O 1.06758854 -0.44128339 -0.32874086 1.49054033 0.86168587 -0.31788410 +H -0.12035164 -0.69611181 1.35998607 -0.12703018 0.32874712 1.32274288 +H -0.69046547 -1.27474913 -0.21076596 -0.52862932 0.98002253 1.02984909 +H -1.93337585 0.78721523 0.58427025 -0.30624765 0.41733055 0.27271670 +H -0.40428663 1.80332573 0.31236092 -0.57878724 -0.31940717 -0.21320032 +H -1.29162881 0.92454871 -1.02938025 0.04007976 0.17140085 -1.08234141 +H 1.87001949 -0.82465279 0.12614291 -1.58168350 0.47227720 0.17779123 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.499112071635 pbc="F F F" +C 0.41076648 -0.01487847 0.43315514 -1.43970950 -1.46677073 -0.76046639 +C -1.18379113 0.06810819 0.69965276 2.72482545 2.25731035 -4.87572238 +O 0.74557702 -0.09663689 -1.01096894 -0.44755825 0.50346680 2.12200523 +H 0.95092256 0.77488579 0.99423836 0.08554449 0.31435264 -0.26550742 +H 0.68711209 -0.98233854 0.93935484 0.39602340 0.36511534 -0.66552904 +H -1.49366028 -0.77610179 1.16985673 -1.47107105 -2.76374086 2.09902033 +H -1.37397135 1.02095911 1.10880807 -0.76749497 1.37052690 1.46786905 +H -1.71365128 0.13530091 -0.33373190 0.69135080 -0.41042220 1.16773374 +H 0.31887095 0.72545704 -1.32968326 0.22808968 -0.16983824 -0.28940316 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.179239734538 pbc="F F F" +C -0.29579186 -0.47953310 0.04515960 2.63380472 -0.85588526 3.23091643 +C -0.88000964 0.93491943 0.37716338 -2.90097750 -0.39156876 -1.40749819 +O 1.08669579 -0.37338556 -0.38699242 -0.39423885 -0.04723082 -0.18011216 +H -0.27666607 -1.14854849 1.14394063 -0.41622179 1.36115301 -2.64247639 +H -0.90806954 -1.03376726 -0.70707992 -0.14600235 0.18794596 0.28099591 +H -1.56831505 0.87257917 1.28296797 0.37576495 -0.20837636 -0.80077050 +H -0.43574639 1.94802626 0.50453236 1.28233124 -0.79313278 -0.11051634 +H -1.57128365 1.11086413 -0.54654341 0.51340140 0.13756003 1.34355633 +H 1.52052406 -1.25019123 -0.56738250 -0.94786182 0.60953492 0.28590492 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77479442586 pbc="F F F" +C 0.16409666 -0.14499964 -0.44531201 1.51869957 0.16479455 -2.22406695 +C -0.46596899 1.26806948 -0.23695377 -0.08959948 -1.99486645 -3.19354554 +O 0.24294911 -1.06753582 0.62672401 -0.28436009 0.64636573 -0.27323040 +H -0.35381312 -0.72727170 -1.33711742 0.60167110 1.05597413 1.50858459 +H 1.24827286 0.13473874 -0.88849362 -1.47589815 -0.81915662 0.68988450 +H -0.52190069 1.71968553 -1.28793277 0.43240936 -0.12927269 0.94251156 +H -1.49548650 1.16667709 -0.01259655 -1.75716356 -0.03008819 1.01103241 +H 0.05406375 1.91118821 0.41426209 0.98719771 1.13183866 1.31225987 +H 0.80859127 -0.64372894 1.29359694 0.06704349 -0.02558907 0.22657001 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.246289421416 pbc="F F F" +C -0.30104990 0.00427702 -0.53015006 -0.83627334 -1.40688031 -0.47919630 +C -0.85269323 0.34294348 0.91716044 -0.93451445 5.41655103 -6.16732441 +O 1.03622897 -0.31243809 -0.29452272 1.13851073 -1.13012271 0.14912367 +H -0.89407349 -0.89710594 -1.09021199 0.87185197 1.50407565 1.14711555 +H -0.19155391 0.83823931 -1.32423248 -1.48788767 -0.17343716 1.09316242 +H -1.90029533 0.73462493 0.79551921 0.25403942 -0.43727008 0.33841812 +H -0.74822630 -0.28095967 1.69213307 0.72436069 -3.31875064 3.08055220 +H -0.26517672 1.29277318 1.03585719 -0.16842320 -0.40254141 0.89353743 +H 1.29799814 -0.86713733 -1.04564735 0.43833580 -0.05162448 -0.05538873 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.135749778308 pbc="F F F" +C 0.40583215 0.03863944 -0.35230106 0.36735070 -2.10640593 -1.46513587 +C -0.69513628 1.04324270 -0.36347692 3.12977645 1.50580518 0.63960203 +O 0.26523883 -1.02624490 0.61333002 0.54545185 1.83317861 0.36477425 +H 0.23220201 -0.56817295 -1.26730787 0.80411268 0.33165170 -0.52158265 +H 1.39396930 0.67450175 -0.49490663 -0.75901444 -1.58951169 0.91841014 +H -0.01589852 1.82075176 -0.92237569 -2.63173365 -0.10679045 0.43474562 +H -1.64210007 0.65810495 -0.62581351 -1.57453526 -0.30758817 -1.42303064 +H -0.84062462 1.29433137 0.68715978 0.04895927 1.10391267 0.72859715 +H 0.10860299 -0.48285771 1.41690466 0.06963239 -0.66425193 0.32362003 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.709689938213 pbc="F F F" +C -0.22693559 -0.48388420 0.14034024 -1.27844687 1.01676911 -2.52878237 +C -0.98707343 0.92996101 0.26574320 -0.90825911 -1.98740670 -0.96770653 +O 1.14178186 -0.37156980 -0.31422940 -0.74447778 -1.02186514 -1.09932649 +H -0.27403852 -1.12636590 1.01284679 -0.07717302 0.03488525 1.24385940 +H -0.89482752 -1.05387895 -0.59733977 0.77501673 0.26321595 0.24579467 +H -2.11022298 0.78721871 0.44160906 1.07715647 -0.25907786 0.55000481 +H -0.52236322 1.47706726 1.05820244 0.30967997 1.08222397 0.88292376 +H -1.08839786 1.52721972 -0.68313273 0.97363550 -0.37544577 0.26006157 +H 1.23117630 -1.03018758 -1.08323298 -0.12713194 1.24670119 1.41317123 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625445396605 pbc="F F F" +C -0.07848785 -0.08772414 0.55916107 3.52162288 -0.46048129 1.42184166 +C -1.09083781 0.61251760 -0.19105729 0.56556982 -1.89211068 -4.07295192 +O 1.01235263 -0.45610686 -0.34987964 -2.49918567 1.14298887 -0.78465709 +H 0.30926905 0.52716075 1.44707071 -0.11334116 -0.26770916 -0.67748689 +H -0.45628733 -1.00390171 1.00339699 -0.53181456 -0.77468779 0.51715886 +H -1.79565831 1.07686314 0.43567269 -1.89307952 0.59889312 0.73123782 +H -0.57780403 1.31987289 -0.85238433 0.11111026 0.81065553 0.08338306 +H -1.37081675 -0.20114458 -1.01129155 -0.71145529 1.50302047 1.45516723 +H 1.75465049 -0.73388395 0.14494643 1.55057319 -0.66056913 1.32630725 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.679253983066 pbc="F F F" +C 0.21287180 -0.15128975 -0.45021568 -0.44720153 0.91471237 -2.57785986 +C 0.46409015 1.18361557 0.13186935 1.39009624 0.79846119 0.19428445 +O -0.55748026 -0.99505364 0.33333292 -0.68952742 -0.71599107 0.27705394 +H -0.42687137 0.27152520 -1.30342710 0.51808970 -1.36938836 -0.27371809 +H 1.14707328 -0.62078369 -0.88359333 -0.56716241 -0.06492156 0.36203310 +H 1.27200717 1.21129884 0.86817027 0.09749868 0.17453760 0.72015220 +H 0.73600891 1.87918929 -0.67961055 0.28638736 0.17599901 -0.13951428 +H -0.48813062 1.53589711 0.48844421 -0.76113735 0.56026733 0.89191876 +H -1.45872571 -0.78506053 0.01234366 0.17295673 -0.47367655 0.54564978 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.798802742474 pbc="F F F" +C -0.50894237 0.07675584 -0.32621923 0.48380079 -0.32187235 0.17845632 +C -0.36732361 0.15949230 1.21447334 -1.53053905 2.19600381 -1.85714845 +O 0.76109644 -0.25797910 -0.83126956 -0.10465802 -1.40990650 -1.37852283 +H -1.26847557 -0.71475085 -0.58335759 0.55440259 0.13235776 -0.23490373 +H -0.81152237 1.01808940 -0.87507622 -0.48795081 -0.11169118 0.84933640 +H -1.40541852 0.40305962 1.59023699 0.80040674 -0.48994881 0.54291320 +H 0.16078149 -0.72810240 1.57583486 -0.11643898 -0.20072398 0.38666587 +H 0.22222588 1.10673126 1.26052333 0.19368425 -0.34276869 0.99122390 +H 1.46191899 0.19331613 -0.35762841 0.20729238 0.54854988 0.52197922 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.551626722879 pbc="F F F" +C 0.01550539 0.46338033 0.20721811 -0.34577611 0.11833414 1.43922572 +C -1.33213810 -0.20577817 -0.07400174 0.32318433 -0.43589526 -1.74297024 +O 1.19544546 -0.26329839 -0.17614746 -0.73628511 0.06198875 0.90853710 +H 0.16622919 1.48925166 -0.09632159 -0.55726474 1.12742032 -1.20102152 +H -0.07127242 0.69418813 1.32605256 0.56474830 -0.80023957 -0.31203253 +H -1.25739628 -1.25018576 0.36143663 -0.62426684 0.77056667 -0.34137813 +H -2.19773524 0.40099893 0.20324139 -0.17043005 0.23967626 1.55948222 +H -1.71654227 -0.21514215 -1.14605762 1.27970527 -0.71123530 0.12593160 +H 1.78909424 -0.01078901 0.56028383 0.26638499 -0.37061601 -0.43577416 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.704388842786 pbc="F F F" +C 0.12764446 0.44388355 0.36246837 0.37358738 -1.14153774 -2.46267440 +C -1.30560078 -0.13960012 0.29228865 1.24025034 -2.14253205 0.81392612 +O 1.04925118 -0.20882639 -0.61611108 -1.65110130 1.67137045 -0.05565201 +H 0.21637389 1.51834240 0.12928046 -0.34936974 0.21389693 0.02365683 +H 0.56316824 0.25054582 1.31016026 0.46601903 0.09933548 1.83860297 +H -2.09596054 0.54306496 0.68503542 0.16412478 -0.50814868 0.21360557 +H -1.52841715 -0.43734046 -0.72957715 -0.21836993 0.46897308 -0.94129049 +H -1.24584155 -1.26195891 0.74510269 -0.52005721 2.39908102 -0.16559170 +H 1.47116959 -0.92524402 -0.16238641 0.49491665 -1.06043849 0.73541710 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.389278569677 pbc="F F F" +C -0.42958611 0.23223506 -0.33567825 1.14887382 -2.01243789 -0.44192686 +C -0.52430070 0.10323686 1.17170443 -1.68610333 1.15522368 0.38589047 +O 0.89217922 -0.32540566 -0.70996278 -1.51814236 0.20714820 -0.55116202 +H -1.28338648 -0.29371675 -0.80774868 -0.03708190 -0.80314703 -0.17035930 +H -0.46792716 1.16867484 -0.88460839 -0.27702931 1.54428828 0.72717584 +H -1.52619892 0.50043736 1.57060279 0.12532733 -1.33906086 -0.69717316 +H -0.26679617 -0.96202096 1.56556674 -0.11542246 1.85226011 -0.46043022 +H -0.06743563 1.01947610 1.55458160 1.79120436 -0.35537579 0.80978048 +H 0.81546600 -0.26658018 -1.69105543 0.56837391 -0.24889866 0.39820478 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.784527854264 pbc="F F F" +C -0.16498952 -0.22536813 -0.51502535 2.09169705 -0.16175900 -1.25435342 +C -0.22932972 1.31951376 -0.16335412 0.13057681 -0.98311433 0.36864263 +O 0.31991012 -0.96747260 0.64881741 -1.43616595 1.74302166 -0.37782754 +H -1.06789047 -0.65035282 -1.09101969 0.25597074 0.34729959 1.25110729 +H 0.66234268 -0.35235562 -1.36552745 -1.16625536 0.41634412 1.15178328 +H -0.92052210 1.90755334 -0.81988585 0.43952525 -0.32887732 -0.05327713 +H -0.60775055 1.48769215 0.88732382 0.20819679 -0.33432349 -0.50112412 +H 0.82853232 1.71460827 -0.20383318 -0.77255104 -0.01302403 0.00836514 +H 0.72499083 -1.78953294 0.37765482 0.24900572 -0.68556730 -0.59331614 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.296026590356 pbc="F F F" +C 0.28118987 0.53917188 0.10756745 -0.57536516 -4.28884166 3.90128799 +C -1.20195220 -0.10092651 0.75702929 1.05061142 0.20448515 -2.54779250 +O 0.90079524 -0.39326931 -0.77680030 0.99561890 1.36133690 2.06877479 +H 0.03087316 1.51785065 -0.20922883 0.01319866 1.75328119 -1.05113284 +H 1.00368546 0.52334680 1.00910260 -0.95451759 0.63997191 -0.88881940 +H -1.51603648 0.56388440 1.56039478 -0.18561268 0.35503116 0.57437204 +H -2.08169918 -0.04030362 -0.07368961 1.83509511 -0.45619603 1.57998914 +H -1.01915631 -1.15571635 1.17275664 -0.31173911 1.07487225 -0.67828352 +H 0.25457557 -0.39022426 -1.43150991 -1.86728955 -0.64394082 -2.95839570 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.45006640651 pbc="F F F" +C 0.04684691 -0.59283804 0.17827264 -1.05399021 2.63473238 3.53850892 +C -1.31533504 0.19899816 -0.25678495 2.05084391 -0.79723776 -0.21923331 +O 1.19370330 0.29466231 0.01828380 -0.93448535 -0.40363880 0.04834370 +H -0.11895736 -0.77451548 1.33120472 0.18294346 0.44711581 -1.05664472 +H 0.30521509 -1.64581532 -0.02414806 -0.14873914 0.12507511 -1.48066148 +H -1.20002852 1.30106920 -0.11100950 0.44475482 -0.30701594 -0.15798920 +H -1.52716823 -0.00648635 -1.29761362 -0.15432563 0.16522141 -1.01757926 +H -2.23319016 -0.00601843 0.27198993 -0.60941187 -0.83841939 0.83427009 +H 0.94046519 1.14601357 0.47491054 0.22241006 -1.02583282 -0.48901463 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.647448997338 pbc="F F F" +C -0.00191313 -0.50777484 0.24566197 -3.74959502 -0.05458279 -1.07610170 +C -1.15276844 0.56034101 0.24663691 1.66564388 -1.60527497 0.08222751 +O 1.04076372 0.00221907 -0.42460628 1.52280681 1.55160647 -1.76883066 +H 0.29591391 -0.91212835 1.16531025 0.36521170 -0.49739725 2.71356710 +H -0.61470716 -1.34878353 -0.19970183 0.83960821 -0.37113830 -0.55347935 +H -2.01688308 0.08795633 0.71346451 -0.48125617 0.40939072 0.83295317 +H -0.73537797 1.49638917 0.60322653 -0.38467923 0.77084856 0.59251843 +H -1.42548989 0.64686637 -0.79764489 -0.11555205 0.42172832 -0.86860399 +H 1.73441745 -0.63340719 -0.61099991 0.33781191 -0.62518076 0.04574956 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.701592747808 pbc="F F F" +C -0.12057772 0.33010151 -0.49584892 0.45446485 -3.19129921 0.42345271 +C -1.12713828 -0.08135186 0.56005055 0.68589769 -1.23160542 -0.52642738 +O 1.13321848 -0.21214270 -0.13055458 0.90918352 -0.02939039 -1.67606934 +H -0.20917277 -0.06561458 -1.50271676 -0.91224442 -0.21254119 -0.82887324 +H -0.06390525 1.36413636 -0.56297491 -0.05325044 3.02331485 -0.18686825 +H -0.73947290 0.49214987 1.38685231 -0.27013808 0.21633352 1.44251149 +H -2.16600125 0.09297670 0.40126375 -1.42642538 0.97157393 -0.41345950 +H -1.14042516 -1.18399475 0.78179592 0.61697894 0.41746430 -0.08570554 +H 1.19788859 -0.29785753 0.80308820 -0.00446673 0.03614957 1.85143905 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.59595700704 pbc="F F F" +C -0.04432710 -0.48160577 0.33838654 -0.38920041 2.00124726 -1.26702608 +C -1.03833194 0.73211749 0.37236218 0.34787865 -2.56683718 -1.96090334 +O 1.00993072 -0.20162085 -0.58220912 0.16558290 -0.42129730 -0.09512283 +H 0.36931678 -0.55974904 1.32663853 0.73867284 -0.32296553 1.14128845 +H -0.61474292 -1.39446791 0.12726042 -0.07457539 -0.52621316 -0.16553637 +H -1.60404258 0.68215099 -0.57727657 -1.06227210 -0.73149771 0.12172388 +H -1.63451325 0.59075695 1.26142319 -0.74536604 0.88592460 0.62631565 +H -0.58295643 1.63455855 0.02951930 1.26355401 1.62896230 1.23394497 +H 0.93600829 -0.73946757 -1.39528976 -0.24427453 0.05267673 0.36531568 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.897532080166 pbc="F F F" +C 0.46284602 -0.01988161 0.24679096 1.76423759 0.30118720 0.59888947 +C 0.20611737 0.94317867 -0.92607055 -1.90686311 0.65745454 0.39178514 +O -0.63535708 -0.83482233 0.59479440 -0.38727290 0.32654446 -0.49964249 +H 1.40183041 -0.63656423 -0.01035018 -0.78787467 0.29521494 0.21971503 +H 0.80606072 0.66311961 1.10353346 -0.29170543 -0.70563132 -0.30641060 +H 0.18067120 2.04255154 -0.62143270 -0.18555339 -0.98143129 -0.10931522 +H 0.91720192 0.89059325 -1.72693474 1.13878784 -0.28786379 -0.71126765 +H -0.76917820 0.69951318 -1.44364285 0.35208344 0.15605547 0.51856772 +H -0.42374545 -1.41136101 1.35179233 0.30416053 0.23846974 -0.10232135 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525889149954 pbc="F F F" +C -0.15085455 -0.21529046 0.50319442 1.48534819 -2.04734505 -1.97513111 +C -1.06461023 0.69807199 -0.25242388 -2.58460557 1.82774628 0.76489939 +O 1.08092873 -0.44561553 -0.24762076 1.58157340 0.44040472 0.41140704 +H 0.12541452 0.20861288 1.45420408 -0.20389529 -0.10064998 1.32287462 +H -0.56235065 -1.27476427 0.42539023 -0.41881048 0.89531334 1.39441791 +H -1.61256181 1.49862115 0.44358253 0.94955484 -1.47828213 -0.92462110 +H -0.59270459 1.34155331 -1.00968708 0.47641956 -0.16589617 -0.22503521 +H -1.91802502 0.13992610 -0.72831025 0.50419237 0.29717993 0.00477979 +H 1.88484477 -0.59489758 0.35719185 -1.78977709 0.33152900 -0.77359136 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.828814057164 pbc="F F F" +C -0.06161311 -0.09568522 0.57265283 1.43616693 0.82736734 -0.71219864 +C -1.11461761 0.64715149 -0.23630251 1.89655144 0.98514561 0.87964246 +O 1.04483470 -0.54327006 -0.28725336 -2.59651806 -1.87985094 1.31253256 +H 0.30966321 0.52913595 1.45658523 -0.28712511 -0.80472013 -0.47070209 +H -0.55808129 -1.01105614 0.82809970 -0.15836499 -1.11025610 1.14045994 +H -2.00602598 0.85631133 0.35199941 -0.49898485 0.36327592 0.23576823 +H -0.60681132 1.54781233 -0.65036393 -0.63830846 0.12928714 -0.09524963 +H -1.30794720 -0.05182227 -0.99910507 -0.82948737 -0.89644031 -1.83484129 +H 1.59923717 0.18032320 -0.43551708 1.67607053 2.38619146 -0.45541148 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.560460074153 pbc="F F F" +C 0.17322118 0.44118517 -0.33786576 2.30634135 2.05336852 0.46776054 +C -1.25316053 -0.03894820 -0.26867458 -0.54238602 0.28651514 -0.81267672 +O 1.00334954 -0.32743597 0.51417988 0.32143521 -2.14417185 1.06854909 +H 0.72867273 0.54728562 -1.38053201 -1.32905160 -0.72221896 1.20151286 +H 0.43179434 1.46765164 0.12692454 -1.35812446 -0.24692256 -0.92824523 +H -1.12063432 -1.13187888 -0.42136851 -0.45981537 -0.16104521 0.32184227 +H -1.69228176 0.21304077 0.75425467 0.15299139 -0.38331130 -1.01396810 +H -1.92551017 0.27982992 -1.14092673 0.54999011 0.06334763 1.04853165 +H 0.51908659 -0.97300896 1.12746995 0.35861939 1.25443852 -1.35330642 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.786359838888 pbc="F F F" +C -0.11832312 0.26015993 0.51149901 -0.66053601 -1.27165648 -0.59684035 +C -0.17064127 0.95945050 -0.81275284 -1.77609547 -0.94320381 0.01865393 +O 0.30788424 -1.08488326 0.27967339 2.28283951 1.90632950 -1.42523115 +H 0.58505126 0.76861630 1.16851388 0.33728931 0.32386963 0.79048043 +H -1.15278449 0.22839001 0.91316722 0.11444354 0.37979048 0.55041043 +H 0.59082603 0.63750922 -1.45792208 1.80848691 -0.87303426 -1.18568946 +H -1.11267806 0.75290932 -1.34105851 -0.29966937 -0.29327334 -0.16706114 +H -0.10883883 2.00210240 -0.80581730 0.18390639 2.53322375 0.53564504 +H -0.24639950 -1.70326203 0.67352552 -1.99066480 -1.76204552 1.47963221 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.761216992323 pbc="F F F" +C 0.24415866 -0.08664318 -0.55159744 -0.43193946 -1.89567130 1.89451631 +C -0.49823567 1.18000439 -0.21935020 -1.09566297 -1.43228163 -3.36611120 +O 0.17998014 -0.99586326 0.68790245 0.03613548 1.20156274 -1.63892810 +H -0.19506905 -0.71080273 -1.36038444 -0.07659730 0.34344880 -0.10455662 +H 1.28967895 0.10023589 -0.78335149 0.74657549 0.12735084 -0.28106831 +H -0.54624666 1.89346961 -1.07219010 -0.06756352 -0.25763167 -0.25275593 +H -1.51633103 0.88988521 0.02394153 -0.61143775 0.23036958 0.63139702 +H 0.03440370 1.68889985 0.48415363 1.39848833 1.67953776 3.05512706 +H 1.10328792 -1.08407303 0.97518252 0.10200182 0.00331487 0.06237977 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.63534496836 pbc="F F F" +C 0.08343556 0.43009738 0.31597706 3.18502670 -1.58638394 0.78250965 +C -0.80842881 0.65031584 -0.83537497 -0.22759577 -0.32023173 -0.50178268 +O 0.60893068 -1.01329862 0.45885924 -4.67358959 1.71229219 -2.48127685 +H 1.03016305 1.07578780 0.26174245 -0.72687903 -0.34993708 -0.47159360 +H -0.30452931 0.78654231 1.26415080 -0.94839363 -0.17303268 0.87917313 +H -1.25372090 1.63356837 -0.78653067 -0.53033823 0.86780690 0.25109243 +H -0.26738492 0.65329862 -1.76519354 0.75852449 -0.15275860 -0.99581168 +H -1.60594906 -0.08223894 -0.98897577 -0.40163597 -0.40770094 0.41106359 +H 1.37373490 -0.85829621 0.92035664 3.56488104 0.40994583 2.12662596 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.346630321377 pbc="F F F" +C -0.07061950 0.38361611 -0.41883666 -0.91578524 2.24477658 2.03687453 +C -1.27436393 -0.38875321 0.28360057 -0.54213379 2.18472335 0.29067416 +O 1.22763199 -0.03221231 0.09460611 -2.35249154 -2.21408160 -1.75344497 +H -0.29658394 0.22453285 -1.51941104 1.14013125 0.21086534 0.46743427 +H -0.26080040 1.51972923 -0.15737993 0.52592241 -1.46867206 -0.74799170 +H -1.51150965 -1.12710807 -0.43944960 -0.93219048 -1.49300088 -0.73906900 +H -0.88324710 -0.87241060 1.16270423 0.31564966 -0.48917882 0.94069024 +H -2.29008812 0.19158187 0.61042115 2.31922469 -0.81458201 -0.93103822 +H 1.78152745 0.63470646 0.45288279 0.44167304 1.83915005 0.43587068 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.53796557839 pbc="F F F" +C -0.24253829 -0.41921454 0.02317792 0.19262984 0.39163658 -2.43534357 +C -0.98218193 0.82269447 0.47724361 0.50127921 0.61648940 0.52846210 +O 1.13152436 -0.34726015 -0.49043186 -0.82421558 -0.07208152 1.45588431 +H -0.43041494 -1.27891161 0.62892026 0.35739266 -0.97262443 1.57454123 +H -0.90210896 -0.69279883 -0.81416760 0.31157647 -0.46062717 -0.94426876 +H -1.94307167 0.50099892 0.89010429 -0.15102932 -0.46515237 1.19520676 +H -0.34033249 1.40904571 1.20162888 -0.88823972 0.08834673 -0.42824674 +H -1.48925784 1.39846616 -0.33577781 1.29237274 0.47018057 -0.22058633 +H 1.73696876 -0.63401502 0.25103004 -0.79176634 0.40383225 -0.72564907 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.61657654883 pbc="F F F" +C 0.52416099 0.10030431 -0.23681813 -2.46872802 1.17852888 1.74578102 +C -0.75157956 1.10399329 -0.31613812 0.80309895 -1.00074979 1.90621766 +O 0.18441092 -1.12108565 0.46515899 1.10418269 0.89701053 0.47722226 +H 0.65784147 -0.14506845 -1.25908912 1.01276734 -0.44006348 -1.64378692 +H 1.35008230 0.67256030 0.24634798 0.19890014 -0.40663460 -0.37150376 +H -0.79602501 1.53950540 -1.29958002 -0.66359311 -0.25692451 -1.35081239 +H -1.63431949 0.48747744 0.07765491 0.59437364 0.86155505 -0.87428120 +H -0.66577288 2.06155573 0.26271477 0.12823196 -0.64028625 0.56196143 +H 0.86992176 -1.17264241 1.17738721 -0.70923370 -0.19243582 -0.45079810 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.56882016074 pbc="F F F" +C 0.28354404 -0.17128139 -0.51217075 -4.00495897 1.59060456 3.00201222 +C -0.56632875 1.21391148 -0.24215820 0.77946726 -2.20078581 -0.20197236 +O 0.29910496 -0.92927426 0.68186774 0.38506741 -0.30165288 0.26924555 +H 0.05288537 -0.81234531 -1.30953895 -1.25481951 -0.92939723 -2.06439568 +H 1.19034592 0.21255382 -0.75562519 4.00293567 1.12040064 -0.40709905 +H -0.41520054 1.95253530 -1.03275831 0.26202743 0.44703205 -0.22410380 +H -1.64014145 1.09246584 -0.09572977 -0.68342943 -0.43771102 -0.18593067 +H -0.21249326 1.53265107 0.75338411 0.36480361 0.35721315 -0.09531345 +H -0.35450063 -1.65272102 0.60538120 0.14890647 0.35429654 -0.09244281 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.557710079437 pbc="F F F" +C 0.39109087 0.30104411 0.31978143 -2.12385976 0.13988354 1.41373775 +C -1.17694809 0.04493669 0.63997585 2.11621711 1.44762793 3.07028475 +O 0.76056526 -0.33379322 -0.86677863 1.31066353 -0.93539089 0.02799387 +H 0.54136979 1.42281422 0.31381802 0.13782115 -0.39800166 -0.06664960 +H 0.95282710 -0.09711893 1.27993974 -0.32005134 0.26915942 -1.99188412 +H -1.75017830 0.69241685 -0.02448882 -0.75602147 -0.28466765 -0.41243954 +H -1.32450623 -1.03098608 0.67891585 -0.53443169 -0.61404572 -0.72392900 +H -1.42617977 0.35504207 1.79045203 0.51503538 -0.23798417 -2.33692397 +H 0.29729039 -0.16798370 -1.71649336 -0.34537286 0.61341914 1.01980980 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.736883232835 pbc="F F F" +C -0.47596553 -0.06326963 0.27433818 0.89554901 -1.27576547 1.24506402 +C -0.27196309 1.17776708 -0.56442848 1.18915978 0.57732043 -0.83336470 +O 0.65644297 -1.02140125 0.22863010 -0.61165732 1.12086884 -0.74865057 +H -0.62683390 0.16206486 1.39074820 -0.28440159 0.10970356 -1.13527356 +H -1.35276024 -0.62166427 -0.11018114 -0.29388619 0.07210502 0.13051510 +H 0.16338580 2.05114650 -0.07949087 -0.29043818 0.56745197 1.07622748 +H 0.55325635 1.11093714 -1.29755611 0.13705203 -1.06270579 -0.32230172 +H -1.08880651 1.53326411 -1.20882390 -0.65990558 -0.16755602 0.28397865 +H 0.84319222 -1.30462089 1.13291565 -0.08147196 0.05857746 0.30380535 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.443115415224 pbc="F F F" +C 0.44023751 -0.18734497 -0.29656922 2.47114161 0.33657310 -0.05242044 +C -0.87815031 0.00489746 -0.91475396 -1.08856729 2.55835552 0.56030491 +O 0.37893653 0.21423326 1.08004612 1.76807229 -2.53482621 0.85777733 +H 0.75405003 -1.21535414 -0.29162993 -0.04644669 -1.54894450 -0.23291508 +H 1.38367685 0.23180388 -0.86877394 -1.47545175 0.27482963 0.64384512 +H -1.49571306 0.39224434 -0.04762161 0.03038906 -0.45852730 -0.62891539 +H -0.87692662 0.85553073 -1.61367007 -0.09920312 0.01341936 -0.47280834 +H -1.37045351 -0.83580599 -1.34398775 -0.49571400 -1.25798207 -0.64637689 +H 0.80758592 -0.65646159 1.45594803 -1.06422007 2.61710252 -0.02849118 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.678913081045 pbc="F F F" +C -0.27307780 -0.44344397 0.00945915 -1.49579309 -0.14337818 -0.40495686 +C -0.95205757 0.94326792 0.32780909 0.98064684 -0.65558422 -3.91595753 +O 1.09486883 -0.48434962 -0.33390206 -0.63165171 -0.00058287 -1.49859673 +H -0.42817038 -1.14340331 0.87431078 -0.43206951 0.00016090 -0.28189096 +H -0.89249560 -0.77717215 -0.91612851 1.15795306 -0.27412921 1.08920333 +H -2.08486497 0.91094105 0.31322630 0.89841780 -0.03029722 -0.06638138 +H -0.58248148 1.22883168 1.25526702 0.69491774 1.36424204 2.41277010 +H -0.49967832 1.62029773 -0.54507837 -1.15301212 -0.70858892 1.70999573 +H 1.70626737 -0.10868208 0.29963478 -0.01940906 0.44815773 0.95581425 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.261793734358 pbc="F F F" +C 0.28502530 0.01072244 -0.53881091 0.30624790 -1.83171545 -0.15933224 +C -0.59349565 1.23179657 -0.05804812 2.96198301 -1.81498039 1.10092289 +O 0.27453213 -1.15916050 0.44959803 -0.74847517 2.38581140 -0.48279965 +H -0.02026502 -0.46803066 -1.55074568 -0.02729381 0.67245766 1.24553304 +H 1.40817264 0.17783618 -0.68256108 -1.03303093 0.81585291 0.13639913 +H -1.61582077 1.06954585 0.12384950 -2.34130924 -0.35252711 -1.00156812 +H -0.35920811 1.24909990 1.00568408 0.70221824 -0.02810628 1.21371064 +H -0.27381098 2.24532117 -0.24259963 -0.00117032 0.78933958 -1.27729774 +H 0.17795353 -0.68145810 1.32196256 0.18083032 -0.63613233 -0.77556793 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827483060276 pbc="F F F" +C 0.09054171 -0.08059375 -0.56081274 0.86506837 -1.14185548 -1.20327998 +C 0.56623011 1.15184457 0.16222778 -0.08303982 -0.09328444 1.85850722 +O -0.54951649 -1.00368200 0.32151823 0.55244546 0.01633258 -0.26820970 +H -0.54471541 0.16594194 -1.42504140 -0.55783979 0.35365073 -0.27194650 +H 0.93324447 -0.63908865 -1.06157624 -0.26001488 0.01476066 0.47368072 +H 1.30196546 0.84299544 0.96633391 -0.17695294 0.26480726 -0.63633138 +H 0.90681197 2.12294495 -0.30930093 -0.44907983 -0.93345752 -0.11481538 +H -0.36876238 1.25507707 0.75632560 0.11497782 1.31645463 0.27889238 +H -1.33300699 -0.58267702 0.71925547 -0.00556438 0.20259153 -0.11649734 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.649301545666 pbc="F F F" +C 0.34783227 -0.29051323 -0.28578786 1.57241868 -0.40790247 -0.81309607 +C -1.08439370 -0.15707760 -0.66762375 0.33899287 0.34721834 -3.40369791 +O 0.68684770 0.44237014 0.85471685 0.19138532 -1.34304067 3.57066392 +H 0.59235320 -1.43902623 -0.27555273 0.10712150 1.50053822 0.12856672 +H 1.01525566 0.22262121 -1.05398101 -0.48435589 -0.75787374 0.12580582 +H -1.51608624 0.81465969 -0.49305582 -0.35872563 0.84168042 0.82151777 +H -1.16951627 -0.19463483 -1.82820558 0.10843338 -0.38323853 1.26885105 +H -1.63037695 -0.97959258 -0.29670046 -1.51796907 -1.13594508 0.84748494 +H 0.58172648 -0.11389940 1.74119775 0.04269889 1.33856345 -2.54609629 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.902298551744 pbc="F F F" +C -0.32968389 0.16902674 0.34482876 -1.80297225 -0.99239396 1.71711198 +C 0.08091423 1.06956226 -0.75586612 0.40943032 0.65038534 -1.03494172 +O 0.26753774 -1.10516724 0.40518191 1.02630256 0.12531885 0.39103309 +H -0.14620249 0.62382435 1.32524451 0.32129195 0.29933981 0.51569662 +H -1.47134760 0.03029682 0.38726450 0.71767540 0.31523926 -0.43606917 +H 1.11958183 1.54047284 -0.64694116 -0.80763859 -0.80099553 -0.13989907 +H 0.02654013 0.36484068 -1.64836645 0.10642962 1.27902779 0.00798184 +H -0.64026296 1.94905071 -0.76933243 0.42791481 -0.73481048 -0.50961411 +H -0.17166174 -1.72639543 -0.18151292 -0.39843386 -0.14111109 -0.51129941 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.856523191473 pbc="F F F" +C -0.27750008 -0.48430287 0.11073024 1.52847455 -0.88049771 2.03132882 +C -0.87777921 0.83389185 0.26236225 -1.27590030 3.22823621 -0.07612926 +O 1.06242077 -0.28585156 -0.33061345 0.36230142 -2.71057578 -1.22407712 +H -0.28982341 -1.05278856 1.10840844 0.08719339 0.53957045 -0.31854621 +H -0.88701959 -1.15650141 -0.46851090 -0.53686514 -0.51319982 -1.45165937 +H -1.97448904 0.81855926 0.38801698 -0.27471367 -0.34007669 0.03999825 +H -0.54584423 1.47016563 1.13971925 0.26992854 -0.65801540 -0.51683557 +H -0.73240143 1.50019313 -0.65930425 0.09290880 -0.77682324 0.68905557 +H 1.33080310 -1.20943435 -0.70618362 -0.25332764 2.11138194 0.82686490 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.880038028928 pbc="F F F" +C 0.27165411 0.50868204 0.15600787 -1.76285238 -2.61623128 0.68177960 +C -1.13701029 -0.01234215 0.63813383 -0.65732938 2.13578069 -0.82436218 +O 0.83374791 -0.44377127 -0.69239813 1.48781861 -0.61827781 -0.46827245 +H 0.23940650 1.52223107 -0.20562329 -0.02199256 1.20120139 -0.53928691 +H 0.90261685 0.42403798 1.04787215 0.38778594 0.55144602 0.38135042 +H -1.00038926 -0.99717594 1.13136666 -0.32421586 0.11596307 -0.16185609 +H -1.56779338 0.77722207 1.34155157 0.27959543 -0.87814449 -0.15034952 +H -1.92643348 -0.00968696 -0.22655071 1.21675848 -0.43702732 1.03778778 +H 0.42887726 -0.58841377 -1.56098882 -0.60556828 0.54528967 0.04320941 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.79221448687 pbc="F F F" +C 0.10198988 -0.37599449 -0.42640758 -0.06774751 1.34130754 -0.10745770 +C -1.21022944 -0.36198956 0.38285026 2.02356737 -0.09547476 -0.37394209 +O 0.99550064 0.65892346 -0.00257729 0.43315919 0.10981977 -0.14256633 +H 0.61373793 -1.35569027 -0.56487818 -0.17723129 -0.13322901 0.21346041 +H -0.21953597 -0.01838728 -1.43532477 0.43405080 -0.27947037 -0.01881133 +H -1.23847735 0.61416216 0.81507075 -0.05592239 1.41211471 0.57076237 +H -2.00510977 -0.36265052 -0.32427152 -1.57008412 -0.80052054 -0.50170261 +H -1.18807361 -1.04482487 1.21247343 -0.58451448 -1.05775580 0.60545098 +H 1.44040238 0.50043926 0.85687331 -0.43527763 -0.49679145 -0.24519380 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.605193940934 pbc="F F F" +C 0.18472593 -0.14542283 -0.50880493 -3.38348955 3.41154338 -1.79066936 +C 0.48297220 1.18468548 0.17172264 1.98312406 -0.71126785 1.65947348 +O -0.63547522 -0.93415035 0.27665796 0.60008828 -2.07938434 1.31376649 +H -0.52070374 0.27637859 -1.33553913 0.68955005 -0.93410184 0.32173181 +H 0.90122749 -0.69221322 -1.05038771 2.05894962 -0.85666569 -0.72218178 +H 1.21269472 1.02895118 0.99847401 -0.06846747 -0.27687211 0.42289848 +H 1.01919174 2.01744192 -0.31204734 -0.54278289 0.05139061 -0.96830431 +H -0.44144526 1.46459575 0.68014122 -0.42428971 0.53494874 -0.03870324 +H -0.04117221 -1.65248792 0.64456780 -0.91268233 0.86040916 -0.19801167 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.455078349073 pbc="F F F" +C 0.16710085 -0.45894082 -0.32236052 0.96427292 1.17929574 -2.55065558 +C -1.23330846 0.16343332 -0.30504621 -0.38849181 0.56452461 -0.30424177 +O 1.03132864 0.26971330 0.55901366 0.92375505 -0.59979286 -2.59117952 +H 0.25375659 -1.62076292 -0.23510166 -0.52029951 1.40158841 0.19193405 +H 0.52053294 -0.21159974 -1.37410579 0.28304940 -0.49475487 0.63896249 +H -1.38454336 1.31310329 -0.38082435 1.08127729 -1.24925754 1.06955048 +H -1.81158118 -0.00565542 -1.20618747 -0.33140096 -1.11967467 -0.92401941 +H -1.77832499 -0.33445588 0.48774475 -0.91609141 0.32910923 0.89729463 +H 0.53353635 0.09790559 1.31127906 -1.09607090 -0.01103806 3.57235462 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.797875331854 pbc="F F F" +C 0.15713252 -0.58834543 -0.01851079 -2.63277556 0.70948433 1.48272643 +C -1.26646320 0.05001763 -0.30707264 0.22321178 -1.44337224 0.56769504 +O 1.06780199 0.46390938 0.25260689 -0.29656955 0.21707358 0.69012423 +H -0.01225206 -1.35579438 0.80537921 0.51460879 0.54912030 0.01653220 +H 0.38745716 -1.21877877 -0.86852471 1.01116405 0.04122971 -0.91412549 +H -1.64074373 0.53441130 0.65251529 0.32299875 0.05310477 -0.82861448 +H -1.02809006 0.78462625 -1.12850179 -0.96108419 -0.30120849 0.36004754 +H -2.06851471 -0.78843783 -0.51070899 1.21232425 1.44322235 -0.24296321 +H 0.63042306 1.09343057 0.91979970 0.60612163 -1.26865431 -1.13142220 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4664241760365 pbc="F F F" +C 0.10976311 -0.06474892 -0.51501078 0.01424798 -0.17165760 0.40502494 +C -0.38716318 1.35302118 0.02011937 2.12531707 0.00275597 1.15071329 +O 0.21424639 -1.16731159 0.47511505 -0.99267827 1.30329083 -0.60256913 +H -0.61561725 -0.20882560 -1.37752951 -0.10780793 -0.81195296 0.79499385 +H 1.04888684 -0.11520579 -1.06029925 0.92557483 0.83619862 -0.26626847 +H -1.30750633 1.09713201 0.58674337 0.02897588 0.49068785 0.08902072 +H 0.35097765 2.06978480 0.68033496 -1.36540017 -2.02973386 -1.04523869 +H -0.61498100 2.01919621 -0.83665986 -0.27393632 -0.31411471 -0.15053048 +H 1.04196289 -1.68558173 0.36290427 -0.35429299 0.69452585 -0.37514598 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.437407957614 pbc="F F F" +C -0.33532751 -0.12448322 -0.50332857 0.86889237 -0.12965790 0.05334696 +C -0.85767773 0.11381920 0.90368936 -3.31448811 5.32603773 -2.79617647 +O 1.07127900 -0.01378961 -0.43058777 0.92735382 0.52550111 -1.69577269 +H -0.62111466 -1.10586483 -1.02861813 -0.11757803 0.67044083 0.67370125 +H -0.58415008 0.73914113 -1.20616817 -0.47599260 -0.84125573 0.56020269 +H -1.96636380 0.10680995 1.09778442 0.20947196 -0.35934449 -0.63272993 +H -0.48447427 -0.36477744 1.69622152 2.35236597 -2.92205412 3.32329620 +H -0.65352738 1.25797218 1.13527233 -0.01319460 -1.73357363 -0.30982169 +H 1.51979125 -0.28882021 0.36965132 -0.43683078 -0.53609386 0.82395364 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.75585621921 pbc="F F F" +C -0.14409405 0.33670978 0.39168887 -0.28893249 -1.81109396 0.25940696 +C 0.75104126 0.86117387 -0.72745671 -3.32457980 2.36434325 0.96060432 +O -0.53028159 -1.09299613 0.35932811 0.93865095 1.23578213 -0.08372975 +H 0.39625208 0.31421669 1.34555081 0.02501345 0.83819205 0.45303887 +H -1.07556080 0.89647918 0.41792036 -0.57825960 0.76494099 0.41872846 +H 0.23546078 0.73436765 -1.67061809 -0.07099358 -0.42577498 -1.00174306 +H 0.84496204 1.99991167 -0.63882199 0.27699450 -1.10915998 0.17032088 +H 1.62529919 0.35100418 -0.61898052 3.45598666 -1.48702126 -0.35925929 +H -0.84248439 -1.22203746 -0.53775846 -0.43388003 -0.37020818 -0.81736739 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.598566585306 pbc="F F F" +C -0.04623956 -0.50178017 0.21445199 2.11043222 1.30033648 1.73405139 +C -1.11411315 0.52149135 0.32657567 -2.44824830 0.84582123 1.63659801 +O 1.05972880 -0.09907016 -0.54141343 1.00301375 2.46694069 -0.22472406 +H 0.41896368 -0.72763752 1.22604921 -1.07105206 -0.11555025 0.05974022 +H -0.28497967 -1.42139274 -0.19379137 -1.38714970 -2.54523487 -1.11304893 +H -2.12504045 0.15707255 0.73998446 1.17788739 0.02834560 -0.10408595 +H -0.82752187 1.36931843 0.98141672 0.31716080 -0.24041304 0.68408280 +H -1.45639570 1.15966951 -0.48231539 0.21704689 -0.38403640 -1.71705300 +H 1.27938529 0.79916630 -0.12422258 0.08090899 -1.35620945 -0.95556053 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.535023401931 pbc="F F F" +C -0.18798305 0.55367421 -0.18050438 2.91574664 0.23045551 0.76707459 +C -0.65621004 -0.19149553 1.09118616 -1.21519941 1.62158950 1.27933755 +O 0.79062923 -0.28727368 -0.81394116 -1.12008733 -1.48622242 -2.23901951 +H -1.00160722 0.91408918 -0.87258285 0.12866350 -0.28681874 0.46808240 +H 0.54140680 1.46243568 0.03840331 -1.80372877 -0.93636518 0.13658712 +H -1.47108533 0.50530043 1.61274655 0.94317449 -1.73215803 -0.75404305 +H -0.94790936 -1.22967415 0.84336455 -1.01209304 0.15599068 -0.37785773 +H 0.06794102 -0.47895316 1.91749737 0.27334147 1.05539887 -0.83795808 +H 0.31979593 -0.93045047 -1.47120624 0.89018250 1.37812976 1.55779666 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.355523503158 pbc="F F F" +C 0.03692443 0.57929606 0.05907946 2.98677354 0.33636998 2.26649238 +C -0.78295889 -0.02567427 -1.03054885 -2.89872640 1.45878581 1.69178455 +O 0.66722764 -0.52890801 0.83421253 -2.02187224 -0.83332109 -1.04515271 +H 1.03872144 0.95208122 -0.24508316 -0.59711742 1.13643863 -1.18456321 +H -0.41457794 1.48838382 0.72375089 0.21403032 -2.07008934 -1.24523237 +H -1.21376542 0.79568427 -1.61568562 0.28701692 0.32219631 -0.76471843 +H -0.36406019 -0.79731090 -1.63502817 0.89256370 -0.84536548 -0.62197074 +H -1.75868020 -0.38696152 -0.56744294 0.81799022 -0.35157770 -0.18453734 +H 1.01003584 -0.25483179 1.67384175 0.31934135 0.84656290 1.08789788 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.580825024272 pbc="F F F" +C -0.13021609 -0.59530235 0.18654570 0.42246067 3.76411260 -3.48034756 +C -1.04499267 0.69562244 0.45439825 0.94246842 -0.25727552 -0.22409475 +O 1.05694862 -0.07598046 -0.56724692 -0.34720754 0.00581697 1.03904407 +H 0.12373209 -1.11267950 1.08381512 0.31285477 -0.75495955 1.27830438 +H -0.59340498 -1.18224160 -0.60319721 -0.92552788 -1.03638571 0.27138147 +H -1.68300332 0.45183667 1.27607664 -0.97935265 -0.47837864 1.24593439 +H -0.45170529 1.56837325 0.85860972 -0.00975497 -0.57432859 -0.54545103 +H -1.78495321 1.08318531 -0.31953699 1.13124890 -0.61483957 0.03310852 +H 1.61490280 -0.79933154 -0.92919297 -0.54718971 -0.05376194 0.38212046 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.772967239665 pbc="F F F" +C -0.04842807 0.01239413 0.53555806 2.78759135 -1.62364613 2.17875068 +C -1.12824355 0.51058793 -0.26926256 -0.98971929 -0.84619245 -1.70165929 +O 1.08458846 -0.41890368 -0.20975035 0.32816847 -0.05357178 -0.03028349 +H 0.49795810 0.72858257 1.16097034 -0.56414486 0.88864241 0.49925112 +H -0.41133921 -0.77255779 1.28040989 0.19785381 0.23796761 -0.41028902 +H -1.82551421 1.06177227 0.35027408 -0.61730732 0.89295687 -0.12773286 +H -0.65734687 0.92996890 -1.17171817 -0.36302081 1.11422043 -0.00043405 +H -1.65265805 -0.37737977 -0.68108351 -0.41060079 0.00843286 0.00725375 +H 0.85316272 -1.15437452 -0.78260883 -0.36882061 -0.61880982 -0.41485674 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.561269231895 pbc="F F F" +C 0.45047933 0.17994559 -0.18599566 0.71019575 -3.43264901 0.04355347 +C -0.70265978 1.04311861 -0.30174503 -2.35507807 2.23235747 1.32179995 +O 0.21950393 -1.13317629 0.40198175 0.26471789 -0.15047633 1.78910187 +H 0.82214482 -0.08865210 -1.18163319 0.17688666 0.03164217 -0.62814046 +H 1.27883452 0.67524110 0.25740607 1.30518481 0.80306583 1.13693958 +H -1.27598870 0.99849528 -1.22175028 -0.69604332 -0.92799603 -0.58112438 +H -1.44000477 0.97490258 0.61239175 1.21679159 0.30955589 -1.33840358 +H -0.31251235 2.07763761 -0.44418149 -0.15245634 0.21468785 0.65454231 +H 0.44727533 -1.22594175 1.40892411 -0.47019893 0.91981211 -2.39826881 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.706894306753 pbc="F F F" +C 0.37324403 0.37327936 0.09340239 1.22374458 -0.00491904 -1.44605570 +C -0.85260301 0.65138897 -0.82415634 2.13262651 -0.96365509 -1.03661628 +O 0.38445704 -0.92435943 0.68452175 0.96146106 -1.30934239 -0.36523566 +H 1.31457229 0.64260340 -0.59034315 -1.23376535 -0.70634182 1.25679519 +H 0.38336665 1.01504833 0.95384357 0.08010691 1.58432978 0.64251519 +H -1.00650852 -0.25325148 -1.43965191 -0.17315604 -0.27491535 0.03411269 +H -1.77196159 0.92267541 -0.38245232 -1.54306778 0.30915988 1.20530858 +H -0.62374539 1.42398327 -1.59106086 0.18050755 0.15156381 0.32564894 +H 1.31274328 -1.28990021 0.89172778 -1.62845743 1.21412021 -0.61647289 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.55198837824 pbc="F F F" +C -0.28045402 -0.46328921 0.00371974 2.09278252 -0.58255648 -0.11569176 +C -0.99513597 0.81175266 0.49990380 0.73839105 -0.83258967 0.21321657 +O 1.12946779 -0.30263919 -0.52400655 -1.28617160 0.24818713 1.20292696 +H -0.34703046 -1.26060564 0.83189729 0.42206195 0.70751996 -0.72267127 +H -0.55110565 -0.96903655 -0.91170882 -1.87313357 -0.13734123 -0.53950931 +H -1.57405758 0.48781322 1.36243946 -0.57265598 -0.09272959 0.61216434 +H -0.21407495 1.47923103 0.94715964 -0.38419390 0.16891624 -0.57441009 +H -1.73364791 1.27638326 -0.17483967 0.45040215 0.35422563 -0.36121420 +H 1.69051284 -0.36370367 0.26157812 0.41251739 0.16636802 0.28518876 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.325107342747 pbc="F F F" +C 0.27618346 0.32673903 0.39542265 1.87335082 0.22789531 -0.83529565 +C -0.51883326 0.89906250 -0.74545397 2.73817380 -2.73918558 -3.11679674 +O 0.17783025 -1.07635618 0.31414401 0.92561725 -1.29238190 0.78589379 +H 1.32242513 0.69618445 0.50830041 0.53310999 -0.14415538 -1.08880178 +H -0.01654587 0.72035560 1.31543996 -1.78821813 0.69231697 2.59928688 +H -0.22257583 0.10879323 -1.61310188 -0.69012772 1.33043290 1.37840358 +H -1.52114866 0.68065374 -0.59228856 -2.79033816 -0.19142708 0.38763137 +H -0.36917409 1.81236272 -1.32123395 0.37856154 0.97070639 0.74181853 +H 0.87470158 -1.54121161 0.88736472 -1.18012940 1.14579842 -0.85213998 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.173211766009 pbc="F F F" +C 0.45486011 0.07233457 -0.35033234 -0.05109601 0.07761047 2.63278631 +C -0.76807491 1.00144572 -0.35684882 2.31466926 1.93311187 1.47943007 +O 0.32497307 -0.96914933 0.60837182 -1.95067184 -3.31127953 0.76465467 +H 0.87927130 -0.18182161 -1.34405011 -0.46061514 -0.36127657 -0.35908846 +H 1.32197936 0.51373068 0.22557403 -0.33808203 0.77158924 -0.97488330 +H -0.30359099 2.06507488 -0.31574391 -1.04237540 -0.90951026 -1.28080519 +H -1.50875073 0.72370001 -1.06785617 -0.91118729 0.24236996 -1.48165485 +H -1.29978377 1.09744003 0.61077853 0.22844532 -0.84712890 0.35832371 +H -0.51623608 -1.63122117 0.66122116 2.21091313 2.40451372 -1.13876301 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.653844508304 pbc="F F F" +C 0.38606845 -0.34870794 -0.19488723 -0.78766656 -0.65023653 -0.07212615 +C 0.26640723 1.12442526 -0.68417947 -0.10428408 -1.67890995 1.62669674 +O -0.58018162 -0.74256233 0.74746667 -1.52758310 1.35961344 2.81368775 +H 0.09822807 -1.18619406 -0.96105903 1.34217960 1.46745207 0.28765466 +H 1.40696294 -0.47096397 0.24615314 0.16374565 -0.29545369 -0.39334565 +H -0.02043806 1.71771342 0.22389762 0.50504068 0.09427920 -0.36280684 +H 1.23265656 1.38578240 -1.10379821 0.39001118 0.70534876 -0.40521757 +H -0.55701540 1.19021963 -1.36123113 -0.87475798 0.39792242 -1.11926941 +H -0.72690478 -0.09460887 1.56626061 0.89331462 -1.40001561 -2.37527347 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4157535709755 pbc="F F F" +C -0.27983367 0.38141843 0.34803133 -0.81059608 -2.10123194 1.00013149 +C 0.91614042 0.72914780 -0.45598025 1.15423637 5.51037046 1.14491844 +O -0.60904851 -1.03124032 0.15476308 -0.31560317 1.36814801 2.98772727 +H -0.13948107 0.38336853 1.49306408 0.12133045 0.53302262 -1.28763476 +H -1.08415520 1.10747862 0.11017449 -0.59118197 -0.26309881 -0.00166829 +H 1.79263405 0.87065986 0.19407451 0.47338345 -0.45658812 0.09437021 +H 1.20194309 0.17306904 -1.27511764 0.44913850 -2.25376238 -2.19545812 +H 0.90991695 1.84784452 -0.94698285 -0.49567790 -2.04156387 1.01950795 +H -0.59648355 -1.24826925 -0.74549485 0.01497036 -0.29529598 -2.76189414 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.792824002758 pbc="F F F" +C -0.22529026 0.23811641 0.51390053 -1.35176026 0.42728227 -1.45461733 +C -0.00330416 0.96315176 -0.85280816 1.97217363 0.74057309 1.48318826 +O 0.21092345 -1.09558879 0.27566248 -0.13892405 0.82483280 -0.28502853 +H 0.20681136 0.76502491 1.37249724 1.06839369 0.11231523 0.28073180 +H -1.32490951 0.30895603 0.82593310 0.35479611 -0.34851315 -0.59666387 +H 1.14930611 1.15760869 -1.03617646 -1.97249640 -0.65651635 -0.00482411 +H -0.51465366 0.41273708 -1.61077236 0.05075982 -1.41935829 -1.17738377 +H -0.51292331 1.91254221 -1.01978789 -0.16254304 0.94708679 0.77757107 +H 0.37126568 -1.48210294 1.13106764 0.17960056 -0.62770245 0.97702652 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.571854226862 pbc="F F F" +C -0.44263964 0.06259603 -0.29595417 -1.44720612 1.82775384 -2.76936479 +C -0.48663509 0.15960109 1.22080049 0.62891107 1.04150817 1.20072656 +O 0.85927033 -0.24344288 -0.80181569 -0.14575717 0.17053110 -1.41218192 +H -1.31098666 -0.64323805 -0.77647287 1.56920022 0.99668812 1.17827825 +H -0.63535015 1.13741208 -0.84724263 -0.48628082 -1.76749189 1.61599483 +H -1.47649924 0.29587958 1.72355036 -0.12951026 -0.02580365 -0.82197142 +H -0.10510546 -0.75749978 1.71632763 0.29829435 -0.06713209 -0.23760395 +H 0.11802977 1.05866728 1.65206305 -0.45230039 -1.24431588 -0.84528382 +H 0.84272853 0.12381650 -1.76126062 0.16464918 -0.93173766 2.09140616 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.785698166624 pbc="F F F" +C -0.00876123 -0.23114187 0.59622799 -1.78394870 -0.03442040 -1.31994218 +C -1.09938974 0.56984157 -0.17000764 -0.00387949 2.57699150 2.76377424 +O 1.01461358 -0.28271548 -0.38323958 -0.08314446 1.23153014 0.33466981 +H 0.31899352 0.32879341 1.53074965 -0.32634118 -0.68434037 -0.35486368 +H -0.48665196 -1.27160292 0.79116379 0.92251017 1.02101811 0.29757639 +H -2.08140527 0.69096391 0.38787950 0.62885759 -0.25876671 -0.21349270 +H -0.68869832 1.65462185 -0.23052559 -0.56622668 -1.26502052 -0.35364636 +H -1.31295514 0.19934218 -1.15078375 0.02339304 -0.62554231 -1.11789587 +H 1.34921843 -1.15194734 -0.32406002 1.18877972 -1.96144940 -0.03617965 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.668551434444 pbc="F F F" +C -0.38155532 0.31609626 -0.25772237 1.83318828 -0.94656727 -1.66842319 +C -0.56909309 -0.03636035 1.22151020 -1.48974318 1.92633778 -1.16563912 +O 0.85085367 -0.25990338 -0.90318307 -3.59805065 0.44288681 -1.42421736 +H -1.22642424 -0.17921666 -0.84453223 0.60369440 0.68867587 0.37883793 +H -0.34115723 1.42999054 -0.49650719 -0.40201983 -0.68494885 0.49347889 +H -1.61585931 0.46033425 1.32702700 1.18063596 -0.71272485 0.77949426 +H -0.71081728 -1.13646698 1.27994001 0.46325047 0.20108929 0.61551284 +H 0.17948796 0.52175890 1.87223886 -0.59842071 -0.98955032 -0.21827043 +H 1.53587820 -0.30571617 -0.28619034 2.00746527 0.07480154 2.20922623 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.73942654627 pbc="F F F" +C -0.34351805 0.37937810 -0.28211849 0.29973180 -3.64402415 1.16573301 +C -0.50160644 -0.02660437 1.19633154 -2.58482524 0.92143602 -0.96533607 +O 0.74882229 -0.32910527 -0.86251075 -1.92375953 -0.51902337 -1.13659053 +H -1.25717178 -0.05535222 -0.76062494 0.32592816 0.46700598 -0.32667224 +H -0.37732474 1.43222408 -0.28660635 0.33583319 2.24805633 -0.77520802 +H -1.62220052 0.26537102 1.39466042 1.70913580 -0.43787136 0.53037217 +H -0.37178831 -1.09396286 1.30833119 -0.09311557 -0.93153099 0.04182795 +H 0.20154674 0.46006880 1.85065833 0.50598217 0.70518164 0.77712118 +H 1.61019593 0.01047707 -0.70931181 1.42508928 1.19076996 0.68875259 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.609504180119 pbc="F F F" +C -0.38050199 0.17026558 0.37058339 0.88288087 -1.67336768 -1.50414687 +C 0.04465892 1.06834814 -0.78061191 0.44161879 -3.40327065 -0.38285369 +O 0.31250840 -1.10631740 0.42756625 0.15914429 0.76575428 0.59384168 +H -0.12005000 0.71465760 1.23759156 0.98724682 0.56663574 1.86549991 +H -1.43367482 0.02820129 0.53311479 -1.54509910 -0.17129616 -0.46891070 +H 1.10732262 0.84161067 -0.94150548 0.47405399 0.76615768 0.16617390 +H -0.40991404 0.89358994 -1.74026992 -0.70000410 -1.06694030 -1.11322891 +H -0.27524788 2.03325455 -0.66432657 -0.20383420 3.56995877 1.02227009 +H 0.17194991 -1.71126174 -0.32558465 -0.49600736 0.64636835 -0.17864535 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.589905787382 pbc="F F F" +C -0.06125556 -0.55915071 0.20072229 -0.17221610 2.46410142 -0.14201930 +C -1.21220718 0.58390333 0.32764547 0.66773449 -3.62796421 0.23597444 +O 1.17215903 -0.07796166 -0.52275914 -2.62987325 -3.78330003 0.27564642 +H 0.01604276 -0.89139967 1.26285546 1.10461473 0.21208739 0.14383980 +H -0.41921835 -1.49679477 -0.25643043 0.02108691 0.20268620 -0.83281356 +H -2.07197003 0.15660183 0.92985480 0.32921414 0.23724379 -0.75935706 +H -0.86556010 1.38890607 0.90224007 1.08662338 1.67741989 1.41133562 +H -1.48615528 1.00988302 -0.60786791 -0.73980680 0.24004295 -1.50090131 +H 1.39445512 0.77386287 -0.22878092 0.33262244 2.37768255 1.16829496 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.687958584421 pbc="F F F" +C 0.01288039 -0.17717999 -0.48515027 -1.53802152 -0.83807306 1.73942963 +C -0.31246183 1.33375086 -0.24656165 1.09185594 -0.43122361 -2.97181450 +O 0.33164586 -1.04574138 0.65688678 0.81465642 0.98656347 0.05019998 +H -0.89591011 -0.67227526 -0.88386406 0.07836185 0.31031328 -0.92925474 +H 0.88602328 -0.30020451 -1.12803527 0.23412201 0.11229101 -0.57989071 +H -0.56858198 1.87044453 -1.27440327 0.89598214 -1.01715750 1.38596746 +H -1.19081558 1.56016312 0.27398204 -2.01478499 -0.08755998 1.61806981 +H 0.50186233 1.86271406 0.23858542 0.67252738 0.37640845 0.20416607 +H -0.42806481 -1.50470520 1.06587356 -0.23469927 0.58843788 -0.51687300 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.727517394624 pbc="F F F" +C -0.34149490 -0.41056090 -0.20692350 3.30906683 0.66051796 2.47375139 +C -0.88194159 0.71200931 0.62746547 -2.07113192 0.87583404 0.71938138 +O 1.10949855 -0.35737039 -0.40203059 -0.23915001 0.54049867 0.29463700 +H -0.50059318 -1.37972722 0.25998795 -0.29706243 -0.64502963 0.39354768 +H -0.79646453 -0.43376733 -1.12342567 -1.68694568 0.04696893 -3.23035608 +H -2.01834416 0.88827429 0.45025054 1.34867282 -0.39863420 0.31710964 +H -0.70991996 0.72911446 1.72188171 -0.10500764 -0.97651745 0.20158381 +H -0.44394353 1.69152918 0.45303942 0.46170241 0.72385618 -1.10981993 +H 1.43537496 0.58366204 -0.39136983 -0.72014438 -0.82749451 -0.05983494 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.616630325373 pbc="F F F" +C -0.49183797 0.02309105 0.27513950 -0.34739390 2.83253697 0.99752481 +C 0.15311940 1.16573741 -0.62685651 -4.10826747 -0.35078950 -0.36700679 +O 0.30912253 -1.09820870 0.36018705 -0.22195282 -0.78995264 -0.16294079 +H -0.43258431 0.47789454 1.34642151 -0.56810878 -0.63336206 -1.23229535 +H -1.59776237 -0.07077104 -0.03099305 0.82206290 -0.51592283 0.44083245 +H 1.15722964 0.97710472 -0.46723561 3.03324610 -0.02284796 -0.18631099 +H -0.21536934 1.18201982 -1.74844571 0.83718952 -0.03306959 1.82772201 +H -0.15119194 2.08328796 -0.06887694 0.23069509 0.20156911 -0.76152085 +H 0.36807412 -1.38495066 -0.55716059 0.32252932 -0.68816150 -0.55600443 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6203135887245 pbc="F F F" +C 0.51478206 -0.34084758 -0.16724206 -0.86049669 0.63086393 0.98243731 +C 0.35866941 1.28085387 -0.08583725 -0.11609625 -2.46547973 -1.36491603 +O -0.76181238 -0.92531413 0.22051065 -0.81506908 2.63957911 0.64667149 +H 0.69269673 -0.84419470 -1.15832504 0.54407246 0.98778510 0.06952126 +H 1.36312917 -0.67981694 0.55944924 -0.98397663 0.47303522 -0.82485609 +H 1.17106430 1.77203976 -0.58356757 1.17984200 0.57887353 -0.49601780 +H -0.54515346 1.67441080 -0.60934764 -0.05583589 -0.49019651 0.03107066 +H 0.33202808 1.62913975 0.93063250 -0.02109205 0.09641542 1.18312730 +H -1.33035057 -0.06642547 0.37662726 1.12865214 -2.45087612 -0.22703810 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.608417945085 pbc="F F F" +C -0.53541751 0.15598751 0.15824707 0.79190297 -0.67886963 -2.67628944 +C 0.61850422 1.15931695 0.12706512 1.05292680 -0.11367345 2.39754556 +O -0.03939027 -1.20262292 -0.24490635 -2.01070121 0.41059719 0.81939800 +H -1.14365038 0.13653254 1.10804025 0.26954380 0.17640242 -0.56313272 +H -1.04492915 0.59765431 -0.76452228 -0.95704771 -0.76657683 0.97345274 +H 1.20979543 1.17440101 1.12893422 -0.09551302 -0.37978868 -1.51923719 +H 1.24282138 1.12798441 -0.79730885 0.03217798 -0.59032857 0.43585474 +H 0.24102690 2.18132109 0.11449364 -0.71235990 0.60123293 -0.02139899 +H -0.87086554 -1.80300174 -0.30195367 1.62907033 1.34100461 0.15380730 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.427548169268 pbc="F F F" +C 0.08765458 -0.37761304 0.42071132 -3.38313772 -0.76951925 -2.36298437 +C -1.15937544 0.50437983 0.22770359 2.36115431 3.02785747 1.76167173 +O 1.00739590 -0.13276074 -0.56753041 2.08716666 1.46348074 0.98495396 +H 0.35814239 -0.06124545 1.39511886 1.53558684 0.13238738 1.50550914 +H -0.30783584 -1.42863300 0.45627118 0.56320692 -0.05965352 0.18398301 +H -1.60427889 0.66323792 1.19994981 -1.06833059 -0.42295983 0.83880994 +H -0.79330265 1.59424564 0.10613061 0.15879457 -1.00102670 -0.09270995 +H -1.87374437 0.49315678 -0.53075455 -1.65262036 -1.16869971 -1.95438333 +H 0.99998508 -0.66546642 -1.34466627 -0.60182063 -1.20186654 -0.86485008 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.662999119762 pbc="F F F" +C -0.00551098 0.15279012 0.59048324 -1.05000361 -1.45499039 -2.42349926 +C -1.24466505 0.06997702 -0.36736946 -0.66572542 -1.44083029 4.01485860 +O 1.15184756 -0.23014198 -0.21434641 -0.91294099 0.01161702 1.24530519 +H 0.02371081 1.16814933 0.94317311 0.56082011 1.06179588 0.71960178 +H -0.28664299 -0.57415905 1.44553334 0.86914027 0.75656356 -0.73295681 +H -1.37664559 -0.99264094 -0.55381617 -0.17331000 -0.75014665 -0.43330744 +H -2.13806026 0.33736016 0.27085120 0.24089167 -0.09444092 -0.30689896 +H -1.38790396 0.56784683 -1.27070262 0.62194215 1.65481958 -2.11736757 +H 1.77806104 0.49055875 -0.09128298 0.50918586 0.25561222 0.03426443 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.879239398865 pbc="F F F" +C -0.19896634 -0.10726324 -0.52540918 -0.40301295 -0.84590284 1.68021993 +C -0.04401290 1.27717436 0.01370345 1.49792274 -0.52208021 1.51673818 +O 0.16245680 -1.08616831 0.44331170 -1.06663567 -0.65152357 0.42828556 +H -1.25518006 -0.23369988 -0.86383603 0.11094936 -0.47115512 0.31429885 +H 0.43091253 -0.34609459 -1.34619749 0.86997779 0.40342299 -1.97911854 +H -0.52652367 1.38730399 1.03124108 -0.15597489 0.00029064 -0.88274974 +H 1.05936171 1.46482081 0.22638199 -0.73936940 0.23460044 -0.43331917 +H -0.43928189 1.89616376 -0.75897306 -0.37183672 1.66806596 -0.60096276 +H 1.04634766 -0.86960968 0.77206441 0.25797974 0.18428162 -0.04339232 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.269299890719 pbc="F F F" +C 0.33630467 -0.22205026 -0.38351243 -0.35793542 1.05328501 2.95300657 +C 0.28188967 1.34298319 -0.00340383 0.47562874 -1.46377647 -2.11047712 +O -0.56083275 -0.98651617 0.37428246 -1.15897919 -0.11787982 2.63554495 +H 0.07572865 -0.63000266 -1.30151868 0.21002634 0.65907444 -3.60535202 +H 1.37168641 -0.44726275 -0.14707336 1.02083346 -0.74401148 0.09045309 +H -0.03897816 1.64029451 0.99297422 -0.27468539 -0.49916406 0.66592772 +H 1.31741056 1.70893291 -0.15734189 -0.01320128 0.11983242 0.11809595 +H -0.31894792 1.87451542 -0.74288858 -0.54743911 0.42070703 -0.21992545 +H -0.87204261 -1.84577945 0.02525367 0.64575180 0.57193289 -0.52727374 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.72607045573 pbc="F F F" +C 0.16708153 0.54545863 -0.15190166 -1.05905966 -0.48399480 0.73097259 +C -1.28501034 -0.06174801 -0.29963400 0.30455684 0.54065931 0.20451955 +O 1.05320860 -0.39768128 0.40885881 0.44323201 -0.37460317 0.88750876 +H 0.73951929 1.01684616 -0.94455539 -0.44457294 0.15311830 -1.76245294 +H 0.04665442 1.45208202 0.49913033 0.17784908 -0.59002595 0.62147014 +H -1.58460812 -0.53781276 -1.27115012 0.48362894 -0.08657154 0.42239413 +H -1.38244979 -0.75957296 0.58390550 0.10358952 0.07786640 -0.72027438 +H -2.08086785 0.68811062 -0.08686709 0.20243603 0.16745138 -0.22081510 +H 0.86413410 -1.31255054 0.11010935 -0.21165976 0.59610003 -0.16332280 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.514208154276 pbc="F F F" +C -0.38619691 0.29321201 -0.28002312 2.04833230 1.03558388 -0.12914054 +C -0.52895184 -0.00778885 1.24546256 -1.78930827 1.06400101 -2.72059074 +O 0.79288475 -0.28216798 -0.88999004 1.19102070 0.09344102 0.19834592 +H -1.03081969 -0.27895018 -0.91152101 -1.94408277 -0.42494544 -0.11169385 +H -0.53003214 1.38587087 -0.60229889 0.22231941 -0.65702095 0.61915394 +H -1.18802969 0.68979834 1.76033440 -1.00188082 0.39118011 -0.06668102 +H -0.96770009 -0.98473012 1.24809358 0.01002566 -1.28621083 0.88030725 +H 0.34289645 0.17942548 1.78122313 2.58741481 -0.34663984 1.04754060 +H 1.69193799 0.08491388 -0.65295369 -1.32384095 0.13061106 0.28275850 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.541907741249 pbc="F F F" +C -0.01581971 -0.03112976 0.49486642 0.19950934 -0.84742689 0.42052998 +C -1.21265310 0.55860204 -0.29498146 -0.99309212 -0.41412341 4.84506834 +O 1.07980368 -0.50736964 -0.24938030 0.53636506 -0.10777796 -1.48563466 +H 0.36902807 0.72817958 1.15548552 0.12988719 1.12255245 0.80324519 +H -0.26041395 -0.87713052 1.16620572 -0.96798580 -0.02160144 0.29604499 +H -1.72990052 1.26264410 0.54245599 0.91091136 -1.03372369 -1.84248014 +H -0.77259795 1.15192725 -1.03701485 0.21701002 1.14962500 -2.09775750 +H -2.02123429 -0.18071229 -0.47600066 0.40780307 0.11025604 -0.89216266 +H 1.91259907 -0.31814968 0.22552654 -0.44040801 0.04221989 -0.04685354 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.820409366587 pbc="F F F" +C 0.19952481 -0.01915631 0.55785175 -0.62849373 -0.77381490 -3.31759837 +C -1.23253862 -0.56923025 0.13047841 1.25422897 1.83953345 -0.18223759 +O 0.99116139 0.55057694 -0.57412367 -1.57163727 -0.79511798 0.18262274 +H 0.07398897 0.74264753 1.28081864 -0.08526120 1.37239090 1.31466272 +H 0.75854081 -0.85732613 0.96978510 0.51534402 -0.41275769 0.46186140 +H -1.58489781 0.06401320 -0.75392732 -0.05151125 -0.53423238 0.90172948 +H -1.17808179 -1.60531113 -0.16161301 0.06623102 -0.94292793 -0.50237686 +H -1.93439047 -0.51189148 0.98334174 -0.16020359 0.19166855 -0.07975868 +H 0.44026585 0.43812390 -1.40733187 0.66130302 0.05525791 1.22109526 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.925312077702 pbc="F F F" +C 0.09812365 0.55020507 0.08290387 0.11360696 -0.47229952 1.30978832 +C -1.27917403 -0.02932895 -0.31398383 0.19467803 2.20716045 -0.78184147 +O 1.07649696 -0.45427489 0.25973939 0.41732443 -0.13875467 0.07038228 +H 0.40218601 1.35664594 -0.59675667 0.28510278 0.31269351 -0.55467476 +H 0.14217240 0.99724355 1.10623962 -0.68808652 0.28877165 -0.26295807 +H -1.66424158 0.55741274 -1.22232576 0.04443521 -0.74270952 0.91931290 +H -1.11654013 -1.05695254 -0.58573961 -0.10237889 -1.10546664 -0.28859182 +H -1.99411763 0.04609403 0.51461275 -0.35218998 -0.12854821 0.10515507 +H 1.21542031 -0.89787729 -0.58539990 0.08750794 -0.22084704 -0.51657244 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.577545796911 pbc="F F F" +C 0.19692459 -0.44276315 -0.36066298 0.35395608 6.95238141 -1.03790384 +C -1.28232240 0.11552765 -0.35046765 1.09647333 0.11912830 -1.23634401 +O 1.00290068 0.24890114 0.67794087 -0.49955924 -0.92536189 -1.01177788 +H 0.24298002 -1.42057017 -0.17211310 -0.11941169 -4.76207958 1.55246192 +H 0.68811609 -0.40479600 -1.40689891 -0.45423993 0.51031119 0.84848377 +H -1.48529798 1.23105374 -0.69094687 0.75140562 -1.74185983 0.99326217 +H -1.81507600 -0.48103047 -1.10221509 -0.47301804 -0.24471917 -0.29507748 +H -1.68367528 -0.18199407 0.62397205 -0.41847793 0.53447766 0.41679242 +H 1.06624891 1.20430452 0.46089264 -0.23712825 -0.44227802 -0.22989702 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.683517331359 pbc="F F F" +C -0.27492823 0.27676597 0.43687247 0.65442378 -0.93506888 0.50464874 +C -0.90107145 -0.01178519 -0.92372145 -0.56734593 0.00005836 0.89915807 +O 1.06904196 -0.18733611 0.42095325 0.13279043 2.46503930 -2.40374285 +H -0.14863208 1.38613445 0.71123100 -1.01193214 -0.92278862 -0.35426044 +H -0.87540174 -0.32846419 1.17221054 0.11837018 0.80505479 0.28891830 +H -1.88015680 0.48329899 -0.95832615 -0.07784239 0.72678879 -0.68919868 +H -0.13943174 0.19707596 -1.65041582 0.33715895 1.00753103 -1.21498215 +H -1.16242941 -1.05547318 -1.15879554 0.19597418 -0.60809783 0.68849163 +H 1.24908243 -0.86795148 1.00348579 0.21840295 -2.53851693 2.28096744 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.803521079493 pbc="F F F" +C 0.23148858 0.42357573 0.20794025 1.22910384 1.38635066 0.69312887 +C -1.13747686 -0.04881687 0.72659677 0.63862244 0.32410931 -2.21257910 +O 0.87386362 -0.34258748 -0.79935335 0.36059677 -0.23488583 1.14395545 +H 0.03684522 1.49277629 -0.10840751 0.31470678 -0.25234424 -0.15635028 +H 1.11659925 0.50835844 0.93403363 -1.32722591 -0.07429442 0.03736467 +H -1.71761062 0.50083121 1.44906348 0.03639475 1.17251728 0.69771978 +H -1.73777434 -0.05400867 -0.20789832 -0.39861332 -0.12308055 0.08116019 +H -1.13150871 -1.03805014 1.07521542 0.22186586 -2.26585845 0.69222039 +H 0.35713797 -0.43904985 -1.58960250 -1.07545127 0.06748618 -0.97661998 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.413253258724 pbc="F F F" +C -0.24451593 -0.48846805 0.11157854 0.06930303 -0.75575551 -1.85446596 +C -1.00540690 0.82380449 0.49262555 0.06276409 -0.33617314 -0.68313823 +O 1.12605613 -0.29482973 -0.57684800 -3.86139618 0.03718151 0.12501536 +H -0.22162558 -1.32874439 0.91786360 0.29419071 1.46958449 -0.55985014 +H -0.94341888 -0.95581669 -0.64722881 0.88733541 -0.00704287 -0.06559606 +H -2.16136171 0.62075424 0.58410017 1.89459745 0.11909580 0.77537129 +H -0.38611829 1.18157857 1.35397667 -1.15568401 0.66154882 0.10932905 +H -1.03366992 1.60955917 -0.35024320 0.66234550 -0.94644453 0.77371534 +H 1.76509306 -0.44478905 0.09830253 1.14654394 -0.24199468 1.37961935 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.71956815172 pbc="F F F" +C 0.11779255 -0.62971776 0.05027127 0.21317090 1.08661150 -0.28031539 +C -1.01746664 0.06028507 -0.73217225 -0.85810813 -0.55602773 2.26397095 +O 0.83075195 0.45674184 0.65438087 0.07462120 0.67970195 -0.65818042 +H -0.19160047 -1.23354144 0.91024393 -0.44483905 -0.56263973 0.02525595 +H 0.78643753 -1.21110545 -0.58819147 0.40107217 -0.58940560 -0.47284598 +H -0.49775208 0.82873706 -1.31454687 -0.20978322 0.74472157 -0.13718522 +H -1.69881845 -0.44758114 -1.43984621 0.14043375 -0.58620493 0.15240918 +H -1.62437009 0.40953587 0.19593131 0.34694601 0.48137989 -1.80784845 +H 0.75887919 1.18783381 -0.02522650 0.33648635 -0.69813697 0.91473932 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.568397314711 pbc="F F F" +C 0.19481336 0.39642955 0.22866787 3.29791873 -0.64558509 -0.97101539 +C -1.09501922 -0.08112261 0.67818379 -2.30497013 1.04871929 3.37340588 +O 0.86258134 -0.32630382 -0.80822948 -0.00851087 -0.23532009 -0.95387769 +H 0.07776841 1.43403501 -0.03031707 0.04909611 1.35166451 -0.57938487 +H 1.00128858 0.40849390 1.06112848 -1.23055615 -0.08572081 -0.57481808 +H -1.47007332 0.89262102 1.18988439 0.03354936 -1.32659882 0.09822193 +H -1.96314745 -0.29475501 0.07339631 -0.19372251 -0.20712850 -1.57237127 +H -1.12137264 -0.88244719 1.45327357 0.35369573 0.06778047 -0.12721365 +H 0.50940916 -0.13713286 -1.72416648 0.00349974 0.03218904 1.30705318 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.703758879306 pbc="F F F" +C -0.06092577 0.37953721 0.48355354 2.20799611 -1.88237170 -1.64418297 +C -1.06438344 -0.66756606 0.15428012 0.82434269 -0.93510025 -0.38114298 +O 1.05753157 0.24404594 -0.51617033 -1.66384704 1.39061596 -0.33623279 +H -0.52246493 1.28405673 0.35436046 -1.30621906 3.42290576 -0.36290305 +H 0.31557915 0.39786025 1.51195746 0.56830316 -0.51457680 0.26454598 +H -1.81268633 -0.81477004 0.91267040 -0.78620654 -0.29387693 0.85155156 +H -1.56958705 -0.41952245 -0.78267056 -0.29386521 0.11088375 -0.46668757 +H -0.46937398 -1.58486115 -0.03733331 -0.39919522 -0.27055152 0.17889001 +H 0.68024043 0.69408269 -1.36610503 0.84869115 -1.02792821 1.89616181 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5380341740665 pbc="F F F" +C 0.13783153 0.51506637 0.02975921 -0.26786970 2.62219387 1.27757964 +C -0.88016428 -0.01439904 -1.05027476 -0.60524113 0.51646384 2.52615342 +O 0.70656375 -0.45015325 0.86986328 0.25363900 -1.40692797 0.47689917 +H 1.11184069 1.03737134 -0.40490297 -1.93428532 -0.53668783 0.20196547 +H -0.41158952 1.27797915 0.74743521 0.77714813 -0.50172262 -1.34101978 +H -1.32860056 0.79229936 -1.72458393 0.57454796 -0.79888604 0.63391295 +H -0.18684262 -0.68587537 -1.53151656 -0.29442900 -1.14077047 -1.19157122 +H -1.73677784 -0.55523382 -0.40975487 1.51214166 0.75671685 -1.58926188 +H 0.18113717 -0.68858897 1.67621669 -0.01565154 0.48962038 -0.99465777 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.426981429963 pbc="F F F" +C -0.05138274 0.22299083 0.54883471 1.26587906 1.77017515 -2.97553052 +C -1.28721684 -0.03275392 -0.30229571 -1.75966571 -2.19275558 -0.24980898 +O 1.24650127 -0.20667265 -0.13284714 -2.55271215 0.99405952 -0.69539792 +H -0.06719516 1.35688546 0.57283752 0.37918529 -0.41542310 0.33630380 +H -0.04656730 -0.08798898 1.55288185 0.17611029 -1.11784337 1.84802710 +H -1.69187092 -1.12806201 -0.49222196 0.96534327 1.33192398 0.86387558 +H -2.26600419 0.55397819 -0.07794137 1.61413073 -0.33591711 -0.17160150 +H -0.87621675 0.18187004 -1.28614527 -0.45597774 0.69511947 -1.03191039 +H 1.11156307 0.13552821 -1.09845946 0.36770696 -0.72933896 2.07604278 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.685448132416 pbc="F F F" +C 0.48538968 0.21889715 0.30070343 -2.57189367 -1.35483869 -1.81570302 +C -0.36170266 1.03691403 -0.75721705 2.26141126 -1.84144450 -1.24318829 +O -0.07008260 -1.14770581 0.43010552 0.81457893 0.75910458 0.50817203 +H 1.47291294 0.08819988 -0.16122790 0.27056437 -0.44538505 -0.02407947 +H 0.66677510 0.81993888 1.19537499 -0.28448037 0.00534281 0.94952846 +H -1.18430427 1.62053837 -0.40894459 -0.83598609 1.00783617 0.74349783 +H 0.47060407 1.62274130 -1.25764438 -1.15979705 0.28417724 0.01345510 +H -0.80519765 0.32462825 -1.55962055 0.80733371 0.69622494 1.02095178 +H -0.98319782 -1.22394738 0.80469596 0.69826897 0.88898251 -0.15263441 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.65336185936 pbc="F F F" +C 0.35067824 0.35289991 0.06658995 -1.96935040 0.27535218 2.08422836 +C -0.83129435 0.60739524 -0.92264195 0.37787495 -0.02571001 -0.56318424 +O 0.48781992 -0.90848725 0.74729756 -1.57988007 -0.18207294 0.90235236 +H 1.30235061 0.66387266 -0.33039840 1.02992972 -0.34505049 -0.85166859 +H 0.21216795 1.12239246 0.84861586 -0.05789787 0.31818940 0.38606371 +H -0.41719440 0.61331627 -1.94571612 -0.15455996 -0.59931720 -0.40628853 +H -1.70973262 -0.10530126 -0.87308039 0.70211519 0.45343939 0.15574617 +H -1.18556741 1.67213526 -0.87830591 -0.09454582 -0.44882909 0.53669817 +H -0.21929418 -0.99012521 1.51754718 1.74631427 0.55399877 -2.24394750 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.607289964266 pbc="F F F" +C 0.03710770 -0.03030627 -0.55089561 -1.38029057 -0.68097922 0.33033879 +C 0.80242488 0.99382924 0.24697366 1.77742489 1.67545048 -1.69359337 +O -0.77126630 -0.92714053 0.25342158 1.35253056 -0.70857282 -2.29807356 +H -0.57121957 0.38028130 -1.40162458 0.02309314 0.39005870 0.38854380 +H 0.74231569 -0.63415618 -1.04776330 1.32811207 -1.55023442 -0.92882609 +H 1.00153411 0.63254050 1.28997898 -0.03980820 0.43119055 -0.41575590 +H 1.85566752 1.28004642 -0.31820018 -2.07417164 -0.87466758 1.39559840 +H 0.25428322 1.96203746 0.12273099 0.15360747 -0.10828991 1.02896509 +H -1.04492089 -0.38683198 0.95378504 -1.14049773 1.42604424 2.19280284 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.56161956299 pbc="F F F" +C 0.26214749 -0.31879208 -0.51871192 0.75737181 0.26214401 3.82684898 +C -1.08096121 0.32556353 -0.46508923 -0.50756298 2.61264232 -2.98513369 +O 0.74896646 0.01990407 0.86034105 0.22977761 1.99270286 -1.98893774 +H 0.27680978 -1.39593173 -0.61599050 -0.48143887 -1.09367726 -0.19523797 +H 1.02378854 0.02069132 -1.22324096 0.01969250 0.69144392 -0.59928270 +H -1.01213249 1.49467832 -0.66900953 0.06397292 -1.88134711 0.61783110 +H -1.72475794 -0.00477011 -1.29964315 -0.26597279 -0.18662014 -0.22710932 +H -1.62889015 0.19356507 0.45377935 -0.13189964 -0.38490060 0.89028041 +H 0.93262968 -0.70636683 1.42065628 0.31605944 -2.01238811 0.66074103 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.505344385917 pbc="F F F" +C 0.04808275 0.47743391 0.26525022 1.58529729 1.35032126 -0.57109558 +C -1.29673313 -0.01740136 -0.29972529 0.08264331 -1.39658298 1.04190072 +O 1.11446257 -0.45439104 0.01774738 1.22645473 1.31262379 -0.31961826 +H 0.49984213 1.59156826 -0.09724441 -1.78952311 -2.23965272 0.45206894 +H -0.02915149 0.56895864 1.37402532 -0.41861456 0.33945232 0.02189866 +H -1.82648910 -0.72120171 0.40749909 0.72580920 0.16783056 0.10901687 +H -2.02964479 0.75479314 -0.33198317 -0.83217109 1.45919554 -0.42075459 +H -1.35148225 -0.62653805 -1.22450090 0.72998354 0.53073763 -0.35118396 +H 1.92469029 0.16184704 0.00130133 -1.30987924 -1.52392545 0.03776731 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.139087717134 pbc="F F F" +C -0.32957257 -0.44903980 0.12709718 3.73605980 1.21775138 0.46210401 +C -0.89458589 0.92760769 0.43529321 2.98724221 -1.42843212 -0.40468087 +O 1.07664458 -0.48114264 -0.51289189 -2.18673982 -1.80800292 0.82672040 +H -0.39661022 -1.02474024 1.10869955 0.40736253 -0.22964870 -1.05649225 +H -0.86133762 -0.84389181 -0.70356006 -1.22664653 -1.11527942 -0.69989370 +H -1.83688073 0.60846891 0.71942891 -3.23017703 0.47064882 0.34613930 +H -0.39542290 1.38782377 1.26492801 0.54146206 0.43549082 1.14907534 +H -0.64236392 1.50758238 -0.42126284 -0.86700693 1.21245440 -1.32364169 +H 1.62883126 0.29795342 -0.52840566 -0.16155630 1.24501769 0.70066951 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.732039907084 pbc="F F F" +C -0.28666650 -0.50138656 0.09546543 0.30820369 -1.47709124 1.25462492 +C -0.85999582 0.84088270 0.29606665 -2.60630774 2.63489204 -2.35640121 +O 1.03964300 -0.29545797 -0.38562761 -0.71887992 0.15250632 -0.25594322 +H -0.42457148 -1.11873588 1.05144654 0.95980784 0.63393012 -0.10829917 +H -0.88033819 -1.21029704 -0.52289036 -0.15029188 0.52432535 -0.93455065 +H -1.99536223 0.91120392 0.49208643 1.05649662 -0.57429470 -0.31127652 +H -0.46108132 1.47574050 1.09120855 0.77761432 -0.09543763 0.39858072 +H -0.72031742 1.46613667 -0.72030965 -0.18827079 -1.05498713 1.83812223 +H 1.64177535 -0.88110134 0.06413658 0.56162785 -0.74384318 0.47514285 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7056683435285 pbc="F F F" +C 0.25748276 0.06904561 0.46434331 1.80923145 1.62803510 0.01424186 +C -1.22718572 0.27632096 0.39165586 0.77410255 2.09696447 -3.16705787 +O 0.88394787 -0.38801910 -0.73332075 -0.32869863 0.43143681 -0.70546662 +H 0.79607127 1.08403553 0.70648225 -0.73826810 -1.43025406 0.50941397 +H 0.53453651 -0.72480972 1.15055662 0.07498352 -0.24931101 1.07645091 +H -1.82978647 0.34606526 1.23319413 -1.13475419 -0.71062600 2.67471788 +H -1.44453608 1.32193418 -0.01318048 0.31672166 -0.70369539 -0.22421919 +H -1.59214222 -0.40436333 -0.37355181 -0.63137794 -0.63609864 -0.17808747 +H 1.05870434 0.41938905 -1.26339227 -0.14194037 -0.42645128 0.00000653 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740017095599 pbc="F F F" +C -0.23632578 0.43699638 0.25044183 0.32069098 -1.11229745 0.00148409 +C -0.53215421 0.06059550 -1.19414278 -1.82659463 -0.98203066 2.38760125 +O 0.72842697 -0.40718653 0.89316856 -0.09465797 -2.06176261 -0.36835549 +H 0.21984153 1.42233545 0.29744020 0.43192321 0.79336506 -0.16872233 +H -1.18973356 0.59773171 0.82058141 0.00433138 -0.60744163 0.09441696 +H -1.34525214 0.64293354 -1.53043377 -1.42474860 1.60138407 -0.71494150 +H 0.25051473 0.21788401 -1.84676874 2.44447592 0.08480581 -1.80145643 +H -1.01501084 -0.93097885 -1.30222076 0.58883383 -0.47224825 0.16390073 +H 0.67333748 -1.41733330 0.62903268 -0.44425407 2.75622563 0.40607271 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.631791405638 pbc="F F F" +C -0.46929274 0.19707092 -0.35455181 4.10717861 3.22012011 -0.76735325 +C -0.49582346 0.14634200 1.11556435 -2.77298146 -2.37454904 0.98714217 +O 0.86721703 -0.34430588 -0.67243777 -0.53340515 0.49115631 -0.62552909 +H -1.20919566 -0.32360040 -0.87928883 -1.88686115 -1.43323705 -0.88150045 +H -0.53651892 1.33990017 -0.75912611 -0.00427071 -1.97525741 0.84717091 +H -1.51836581 0.30515939 1.49376068 -0.56748950 0.14515080 -0.02239545 +H -0.27158311 -0.86988556 1.55063158 0.16969775 0.31870336 -0.63510250 +H 0.05332616 0.82488126 1.68190854 1.88027728 1.84762359 0.73116691 +H 1.21610327 0.09520007 -1.48232641 -0.39214571 -0.23971061 0.36640073 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.39985935379 pbc="F F F" +C -0.41185849 -0.29785352 -0.37260279 2.12143598 -1.13123049 1.65367981 +C -0.87038375 0.61032790 0.72997409 1.72843728 0.44206781 1.23724930 +O 1.14740528 -0.30588512 -0.26941247 -3.50017216 -0.24745133 0.16908583 +H -0.87602701 -1.31736042 -0.55670119 0.55381087 0.14905754 1.07978527 +H -0.74754438 0.18382631 -1.23201233 -0.15328470 1.44073799 -2.68330279 +H -1.95497017 0.86822108 0.72712035 0.33253024 -0.11427992 0.17688440 +H -0.43979641 0.26996334 1.73128750 -0.99579126 -0.01545480 -0.57903258 +H -0.18926002 1.51524936 0.55882597 -1.11176580 -0.35465248 0.07673733 +H 1.27273468 -0.38944523 -1.21050497 1.02479954 -0.16879437 -1.13108656 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.348119606859 pbc="F F F" +C -0.26818087 -0.53183548 0.19691384 -0.08048234 -0.76370727 0.04983915 +C -0.86533915 0.86679414 0.33399368 0.82309365 0.71079986 -2.35819096 +O 1.02084661 -0.29155940 -0.47550302 -1.64647599 0.24825603 0.15108635 +H -0.02169559 -1.05592652 1.17118452 -0.37458034 0.50509812 -0.21273598 +H -1.12428289 -1.23911373 -0.25555965 1.88202362 0.98500790 -0.12880619 +H -1.93074707 1.07319449 0.34862333 -1.15202713 -0.84574760 -1.02702591 +H -0.72236186 1.41707657 1.20395736 1.58804734 0.88820614 2.76624573 +H -0.34570853 1.53739932 -0.46057523 -0.94760368 -0.97178271 0.71033701 +H 1.44665796 -1.09749764 -0.78613695 -0.09199513 -0.75613053 0.04925083 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.587313495479 pbc="F F F" +C -0.29961133 -0.45495267 -0.01047614 -1.74158102 -1.44242381 -0.05690547 +C -0.88210950 0.91635279 0.30278135 -1.05349753 0.61952171 -3.37794141 +O 1.07775474 -0.43862536 -0.31434615 -1.81890631 -0.90263148 -2.61315192 +H -0.58415978 -1.17685174 0.86584048 0.61673741 0.79856172 -0.70258416 +H -0.96529329 -0.93265779 -0.85787966 1.58038391 0.67797406 0.71332103 +H -2.00892287 0.78293744 0.53357800 1.29932856 0.58965798 -0.40519268 +H -0.37388374 1.30217245 1.13968980 0.76843825 1.00673357 1.83345454 +H -0.63121320 1.71727086 -0.63635553 -0.96531175 -1.99397263 2.24785691 +H 1.53637631 -0.22999446 0.46172411 1.31440849 0.64657888 2.36114315 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518001684505 pbc="F F F" +C 0.05917815 -0.63087518 0.09162677 -0.58678559 1.03703892 0.60585840 +C -1.25835592 0.21553160 -0.01192060 -1.33846652 -1.20912847 2.22253185 +O 1.10870396 0.34951162 -0.04019722 -0.43206966 -1.14960607 3.55254216 +H 0.12899635 -1.08413352 1.16398966 0.04161589 0.36825147 -1.56048516 +H 0.10556821 -1.45894366 -0.69696154 0.03213037 0.60024532 0.71106427 +H -1.66279932 0.50474869 1.03515214 0.19369762 -1.07276832 -0.85329132 +H -1.08726838 1.22866299 -0.26810246 0.93210306 1.48993087 -1.33323622 +H -2.11828279 -0.15155361 -0.61811825 0.25617699 -0.25279167 0.15449291 +H 1.32343934 0.36106325 -0.92768010 0.90159784 0.18882790 -3.49947699 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.538803866854 pbc="F F F" +C 0.40977302 0.00043784 0.42612847 -1.41596972 0.99952754 -1.65090076 +C -1.17395421 0.06479157 0.68573414 0.72622972 1.58302417 -1.68128647 +O 0.74410276 -0.10321241 -0.99709116 -0.60555136 0.74076479 1.58828028 +H 1.06561621 0.74709927 0.96888469 -0.75177961 0.10054606 -0.33080370 +H 0.62962998 -0.90702138 0.86419694 1.28487689 -2.76073334 1.03006588 +H -1.56083801 -0.86214651 1.14438720 0.03646093 0.28204266 0.60898311 +H -1.36279577 1.05576731 1.18570726 -0.50298318 -0.87584741 0.28084385 +H -1.76540892 0.11122597 -0.30853947 0.93830930 0.03574251 0.88705496 +H 0.28744126 0.71462412 -1.27649508 0.29040702 -0.10506703 -0.73223716 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5739727005175 pbc="F F F" +C -0.34133177 -0.54593279 0.00214668 3.68570750 2.57426839 0.08898766 +C -0.86411619 0.80617228 0.45782422 0.04019520 -0.74542111 0.43528766 +O 1.06038060 -0.29225054 -0.46995740 -1.36160687 -1.79112718 -0.94351290 +H -0.25269107 -1.16434999 0.86045674 -0.28517457 -1.51197845 1.22243820 +H -0.71209462 -1.06284774 -0.84951523 -1.39006868 -0.49703945 -1.02258906 +H -1.92619701 0.77497481 0.65761674 -1.30379467 0.43161998 -0.78569972 +H -0.57960539 1.00429736 1.51184872 0.87953391 0.06593632 -0.09507362 +H -0.44042416 1.56647297 -0.22174689 -0.67248419 0.34030428 -0.03381953 +H 1.44243628 0.41791584 0.02009251 0.40769236 1.13343722 1.13398127 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525129321352 pbc="F F F" +C 0.01185108 0.03494774 0.55671798 -2.13780404 -5.14659133 -2.52867259 +C -1.17879387 0.51542607 -0.27061424 1.68231101 2.64596342 -1.81930915 +O 1.04451215 -0.50257437 -0.28110846 -0.56125432 0.33341805 -0.52712883 +H 0.44433396 0.70847648 1.19335726 0.84130571 2.50398484 2.44859334 +H -0.51332357 -0.90450602 1.10508540 1.13535645 1.73676241 -0.03880408 +H -1.79224743 1.12306734 0.37050957 -1.22047434 0.01004643 0.92682346 +H -0.92934105 1.39582986 -1.05568649 0.09221568 -1.87079849 1.08290341 +H -1.71639506 -0.27043520 -0.82091251 -0.08820337 -0.15290243 0.13475393 +H 1.83145195 -0.63468768 0.26054729 0.25654723 -0.05988292 0.32084051 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699725955892 pbc="F F F" +C -0.22085450 -0.17451419 -0.53226484 1.75066592 -2.02445985 -0.87473752 +C -0.20615082 1.24357171 -0.11956307 -0.00839579 1.49693245 1.01502328 +O 0.37013079 -0.93958834 0.62260107 -0.09169267 -1.31332050 -3.13106200 +H -1.20897326 -0.58768281 -0.88527819 -0.15266126 0.40642259 0.85499617 +H 0.36796830 -0.40065198 -1.49819291 0.05597669 0.43707236 0.92627375 +H -0.72069296 1.18344986 0.86869048 0.02164206 0.64818366 -0.04793433 +H 0.78275700 1.77722225 0.05186752 -0.31758267 -1.10629130 -0.07106146 +H -0.71802949 1.97823498 -0.76380858 -0.56381519 -0.27737600 -0.25661115 +H 0.70899230 -1.77662495 0.11118487 -0.69413705 1.73283654 1.58511330 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.569226626082 pbc="F F F" +C -0.42981995 0.03119252 -0.33200147 -2.60936010 0.46852519 0.26346108 +C 0.45454255 1.20943323 0.00569052 -1.91934227 1.53241086 -2.29084078 +O -0.08098938 -1.15913590 0.32619044 1.99297663 -0.05928328 -0.84451383 +H -1.53062288 0.00584059 -0.09037315 0.27522918 1.18001298 0.18221661 +H -0.48481378 0.15198043 -1.45315706 0.35902213 -1.27073243 -0.14510298 +H 1.31644643 1.00352874 -0.60302750 1.37700289 0.18324927 -0.48361521 +H 0.02396627 2.22435106 -0.39112919 0.51611309 -1.47371497 0.49299357 +H 0.75757906 1.35969848 0.99166929 0.45176087 0.12183763 2.55919288 +H 0.90743311 -1.13091504 0.25662709 -0.44340247 -0.68230519 0.26620867 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5735294810465 pbc="F F F" +C -0.46220881 0.25376084 -0.33033370 0.69758084 -2.03210699 -2.25095082 +C -0.51086728 0.03995866 1.16781543 1.19417513 -0.71624243 1.50116989 +O 0.84629061 -0.25015138 -0.72780660 0.33233926 -0.74114897 1.87707779 +H -1.22539415 -0.52048790 -0.86781315 0.66803371 2.16009814 0.89380164 +H -0.40630186 1.29834295 -0.73389875 -1.28201772 -0.07397658 0.49360071 +H -1.33740986 0.47283688 1.79745269 0.10633202 -0.14002294 -0.80927973 +H -0.46034040 -1.09914169 1.37532892 -0.18690111 1.34470669 -0.27225503 +H 0.46515610 0.43706156 1.63588379 -0.96732770 -0.26764926 -0.59406870 +H 1.12507957 -0.11935475 -1.63371784 -0.56221437 0.46634222 -0.83909574 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.379717776012 pbc="F F F" +C 0.04033745 0.39746144 0.43032821 -0.96046306 -1.25984699 -1.36285539 +C -1.31162702 0.00220172 -0.34565755 -0.34960736 -0.47329752 3.26998482 +O 1.16409863 -0.37438505 -0.00067837 -0.19377300 -0.64241317 2.74465057 +H 0.17525814 1.34787980 0.02950801 0.46778240 2.86785428 -0.83283418 +H 0.01565766 0.60431706 1.52055015 0.08778880 -0.95129445 0.08934576 +H -1.89063258 0.89700517 -0.62577957 0.09121799 0.04591082 -0.35341409 +H -0.84428361 -0.54038041 -1.11724201 0.14424752 -0.77284050 -2.19132677 +H -2.05738999 -0.73638223 0.13857562 1.02044615 0.79189032 -0.17331103 +H 1.27103448 -0.39360953 -0.94378712 -0.30763938 0.39403727 -1.19023975 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.741887922991 pbc="F F F" +C 0.27924851 -0.08623706 -0.41162630 1.54986598 0.82385100 -0.80652520 +C -0.61543954 1.13816783 -0.29390866 0.63294256 0.33960016 -1.22999601 +O 0.25039534 -1.02171300 0.60761678 -1.37195062 -1.54392596 -1.03928488 +H 0.34479760 -0.65325019 -1.38644957 -0.80792136 0.42446300 0.32370863 +H 1.23070153 0.49617056 -0.44093203 0.77810540 -0.61544224 0.13536863 +H -0.12091364 1.94048719 -0.91283076 -0.63029772 -0.36893594 -0.15114739 +H -1.66630796 1.05106252 -0.54878163 -0.79203338 -0.10880835 -0.02975076 +H -0.46320512 1.54863765 0.69189202 -0.27923393 0.18888816 1.20097452 +H 0.70540298 -0.70148181 1.35939423 0.92052312 0.86031023 1.59665252 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.75725119343 pbc="F F F" +C 0.04582905 -0.11223945 -0.59368656 0.94011761 2.27879166 -0.68122769 +C 0.81309570 0.97691491 0.23211744 -2.00598328 -0.54148973 1.26397382 +O -0.76298326 -0.84779738 0.29584430 -1.17635795 0.98656686 -0.18092952 +H -0.45934305 0.37287335 -1.49644688 -0.32292671 -0.39751073 0.68879116 +H 0.88391946 -0.65443319 -1.10965588 -0.61415731 -0.81670492 0.63606429 +H 0.17555173 1.79714713 0.72831506 0.24570339 -0.68038015 -0.91651888 +H 1.04999923 0.33650755 1.10769163 0.93067579 0.37251929 0.08831336 +H 1.65017596 1.45070504 -0.25805542 0.85034998 0.21847103 -0.34824632 +H -1.42520187 -0.15044990 0.64059559 1.15257847 -1.42026331 -0.55022017 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.819863407643 pbc="F F F" +C -0.07115058 -0.45191163 0.18688550 0.63508481 -0.92601119 -1.85264788 +C -1.21213238 0.52028113 0.36811507 -1.50853687 -0.50555439 -2.01982266 +O 1.16689644 -0.09934203 -0.53755201 -0.61493697 1.75589179 1.80467602 +H 0.21839791 -0.82995930 1.13554354 0.46053466 -0.82945605 1.70061074 +H -0.44537624 -1.31551689 -0.42902971 0.07781868 0.21386726 0.44321020 +H -2.08304868 0.15977806 1.01470318 0.93521976 -0.17895650 -0.60713074 +H -0.92720861 1.44759401 0.80137354 0.63767535 1.55399219 0.63844365 +H -1.63272178 0.72923558 -0.68165722 0.19192042 0.10846655 1.13368760 +H 1.63810498 0.56956383 0.07839150 -0.81477988 -1.19223966 -1.24102692 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.692652743628 pbc="F F F" +C 0.09077175 0.60665987 0.08170889 -0.62128261 -1.75932740 0.15983494 +C -0.79720421 0.01299442 -1.01463692 1.76538461 -2.70803270 0.57133778 +O 0.65164052 -0.54748320 0.80228989 -0.59963612 0.49364976 -1.98295725 +H 0.86593935 1.19234824 -0.36730253 1.14919248 1.04583791 -0.21157636 +H -0.58421414 1.17126765 0.72511749 0.07187305 0.78440872 0.59769016 +H -1.16917506 0.52281429 -1.89642307 0.21985495 1.00006043 -0.40250320 +H -0.13202600 -0.91078194 -1.35636115 -1.54008314 1.30103587 0.25598668 +H -1.66257292 -0.33311696 -0.44434087 -0.54333840 -0.73876129 -0.18750383 +H 0.75524157 -0.33748446 1.72112052 0.09803512 0.58112865 1.19969102 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.626504796905 pbc="F F F" +C -0.10493690 -0.52547105 0.16533178 1.38065705 0.83601247 0.81147021 +C -1.08515076 0.61828260 0.33020228 -1.53412625 -1.64058955 4.49322597 +O 1.08897075 -0.04497682 -0.47215232 -0.82997994 1.23071474 0.32611344 +H 0.19428858 -1.00985660 1.19370457 -0.87613244 0.48010395 -1.29003083 +H -0.51487285 -1.23991606 -0.52892329 -0.82741840 -1.24610881 -0.27673096 +H -2.14133586 0.23516634 0.53288209 0.74904966 -0.48156259 -0.03274995 +H -0.97800939 1.20150699 1.31596361 0.51840255 -0.12966762 -1.33908384 +H -1.34057239 1.20728383 -0.47713836 0.34204091 1.95035596 -2.58189686 +H 1.67506932 -0.78770168 -0.44666890 1.07750692 -0.99925855 -0.11031713 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.630725549952 pbc="F F F" +C 0.06540543 0.47880388 0.29542056 0.90765788 3.15334154 0.50700670 +C -1.23277978 0.01312625 -0.30906834 1.20592441 -0.84072839 1.82741358 +O 1.04080134 -0.45137775 0.07676529 1.80059599 -1.77439489 1.04549451 +H 0.44199828 1.48866187 -0.15701634 -0.88105564 -0.69713398 0.17900726 +H 0.07904055 0.78472173 1.43116068 -0.33455118 -0.96420443 -1.41424189 +H -1.54426999 -0.87663775 0.30264484 -0.50511879 0.47805530 -0.69358745 +H -1.89406701 0.81081428 -0.48965132 -1.89557262 1.30799796 0.33279270 +H -0.91318004 -0.24293394 -1.28825504 0.13643476 -1.04897481 -1.67055371 +H 1.21900248 -0.66312418 -0.85477806 -0.43431480 0.38604171 -0.11333169 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.821811649 pbc="F F F" +C -0.32566584 -0.02149746 -0.47837140 -1.36619629 1.32754447 2.75612078 +C 0.32606136 1.30273075 0.14163216 0.92806787 -1.20595701 -4.13103090 +O -0.02623792 -1.16137368 0.34674589 -0.55628052 1.28649669 0.15845184 +H -1.47284156 0.17285655 -0.37031986 1.24150797 -0.40759167 -0.59679875 +H -0.05960923 -0.10370965 -1.54310125 0.16036418 -0.22382936 -0.22102743 +H 1.43258968 1.14483424 0.16901707 -0.24087866 0.16846671 0.19292264 +H 0.13556471 2.11208275 -0.63743095 0.21003611 -0.41471713 0.60891611 +H -0.02326233 1.67748949 1.05561992 -0.94200397 0.22999719 2.06560868 +H 0.39834059 -1.83743105 -0.16519548 0.56538331 -0.76040988 -0.83316297 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.561262664806 pbc="F F F" +C -0.20179985 -0.54048121 0.02288041 -1.72236505 1.85822286 -0.78361209 +C -0.98989290 0.83877434 0.48722594 1.13217687 -3.12295258 -1.49652684 +O 1.06928975 -0.27420056 -0.49490403 2.51835300 -0.18834998 1.84122807 +H -0.41239794 -1.43412349 0.69218472 0.74944175 0.62376840 0.04305473 +H -0.71769978 -0.77026235 -0.92299705 -0.54187493 -0.53338782 -0.05500610 +H -1.82144660 0.49050905 1.06384930 -1.36082453 -0.08611743 0.56792736 +H -0.33058043 1.33853210 1.15103904 0.95366748 1.31655464 0.80223732 +H -1.29485506 1.36796379 -0.43765648 0.17341855 0.27398091 0.40450208 +H 1.80307735 -0.19612022 0.23090181 -1.90199313 -0.14171900 -1.32380449 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.50886510865 pbc="F F F" +C -0.31580224 -0.44445192 -0.20578087 0.38704325 4.10925215 0.53882313 +C -0.88355210 0.76466548 0.68312507 4.18002766 1.04426768 -0.93523189 +O 1.08592255 -0.37284471 -0.42125063 -0.00877616 -0.39871607 0.28495916 +H -0.66129010 -1.38694731 0.08239370 0.12355574 -2.35257016 1.59862203 +H -0.88440534 -0.35879369 -1.08914894 -0.83018028 0.37808954 -2.43442702 +H -1.78543918 0.65580146 1.20653262 -2.10246386 -0.62806929 0.78773125 +H -0.06733578 0.91925718 1.50551171 -1.08917860 0.02457569 -1.00138496 +H -0.94334458 1.77379674 0.06319961 0.17247614 -1.71674416 0.92915097 +H 1.39519010 0.49799328 -0.76989820 -0.83250384 -0.46008539 0.23175731 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.729264356597 pbc="F F F" +C -0.16968443 -0.39145879 0.48229039 2.38352194 0.28867940 -0.23046353 +C -0.99387034 0.77559128 -0.04668477 -2.20199006 -2.36336741 0.55452461 +O 1.07691989 -0.41315535 -0.36182112 -1.09527654 -1.97264733 2.17720338 +H 0.18123706 -0.15525519 1.53125723 -0.34978184 -0.21794843 -0.33500056 +H -0.59721408 -1.45359327 0.52365230 -0.06507989 1.15704397 -0.39809638 +H -2.00109337 0.84033115 0.44050590 0.13918703 -0.17980024 -0.25913828 +H -0.59796438 1.73365248 0.08561112 1.52679989 1.98757675 0.67385089 +H -1.13765873 0.68471437 -1.12152896 -0.34458178 -0.32768063 -0.74707269 +H 0.92238045 0.32946021 -0.90689283 0.00720125 1.62814391 -1.43580749 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.761355874105 pbc="F F F" +C 0.29999042 -0.07783288 -0.36749944 0.84736297 1.95410344 -0.52957755 +C -0.58642912 1.23298008 -0.26928494 0.72350826 -2.18532879 -0.62563862 +O 0.31035419 -1.06048590 0.60800546 -0.83165440 -0.52209497 0.64941635 +H 0.02175862 -0.35698544 -1.41808863 0.34172821 -0.94837342 0.14366527 +H 1.39524914 0.21665224 -0.34345329 -0.67410357 0.16260886 -0.60380152 +H -0.42190941 1.68025243 -1.24223863 0.33609724 0.68733206 -0.74183761 +H -1.63978054 0.92370971 -0.37424184 -0.40795065 0.27978014 0.85435206 +H -0.27097272 1.94242229 0.47808058 -0.33206230 0.50670074 1.03045494 +H -0.59847139 -1.33890481 0.83682646 -0.00292571 0.06527190 -0.17703327 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763473262922 pbc="F F F" +C -0.28569989 -0.47411751 0.24970042 0.96417656 0.13584377 -0.74314178 +C -0.88902522 0.89980058 0.11049510 1.21311059 2.53346379 -0.11090303 +O 1.07158867 -0.36416697 -0.29772778 -1.86116348 2.14719042 1.35420918 +H -0.34427563 -0.81285789 1.32169359 0.32845725 -0.09952631 -0.31727784 +H -0.91213459 -1.17641007 -0.37068840 0.35532323 0.03554474 0.25640967 +H -1.89676228 0.82782044 -0.23888909 -1.57881589 -0.03506436 0.04569577 +H -0.83881504 1.64226656 1.02118627 0.03834113 -1.34628057 -1.29533831 +H -0.39180630 1.44079089 -0.79473067 -0.32529937 -0.72483685 1.29292142 +H 1.37121178 -1.21503083 -0.50475075 0.86586993 -2.64633464 -0.48257514 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.476779651582 pbc="F F F" +C -0.17300712 -0.10757160 -0.42779597 -1.31588760 -0.19709497 0.51637827 +C -0.06246792 1.46870187 -0.03437062 1.63202201 -3.82518280 0.14673502 +O 0.17017549 -1.23118503 0.41852201 -0.09397632 0.88846634 0.64600516 +H -1.23249794 -0.36110658 -0.82072225 0.90089212 0.42132049 0.90552772 +H 0.38636634 -0.22525408 -1.32373279 1.22926649 0.08422304 -1.61765201 +H -0.64353962 1.60085270 0.86042245 -0.61839700 0.57623193 0.88328022 +H 1.06534229 1.58261138 0.21733408 -1.50133028 0.69410352 -0.70984968 +H -0.53409041 1.90467358 -0.92403298 0.46453751 0.84906767 -0.05644345 +H 1.06211337 -1.17957294 0.85459559 -0.69712688 0.50886468 -0.71398119 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.654764926577 pbc="F F F" +C 0.01240690 -0.54437539 -0.32449721 -0.93881822 2.88597346 0.84403257 +C -1.24275639 0.21693231 0.23454673 -1.97576834 -1.35504351 -1.31636351 +O 1.14041078 0.29905497 0.10823566 -0.45696412 -1.16218072 -1.19452938 +H -0.01305717 -1.47577309 0.23341339 0.40653850 -0.98248164 0.08103122 +H -0.02483928 -0.71446190 -1.43698004 0.09201477 0.05456567 0.51974688 +H -1.18310172 0.23512130 1.31343480 0.53782035 0.77181206 0.92729325 +H -1.68505250 1.15026149 -0.22123623 1.31176915 -0.04618963 0.22455745 +H -2.20611405 -0.38727099 0.17459577 0.71300278 -0.37509590 -0.36724539 +H 1.66996926 0.34545415 -0.70943418 0.31040507 0.20864021 0.28147691 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.659598839064 pbc="F F F" +C -0.34355786 -0.45858108 -0.10188899 2.47720474 -1.09780362 0.00913426 +C -0.91936465 0.81748082 0.49953796 1.69161686 -2.49747378 2.49493374 +O 1.11516183 -0.28071867 -0.35361650 -1.10388284 1.00620727 0.77308300 +H -0.41696754 -1.25959955 0.69545557 -0.33178935 0.12716778 -0.51938867 +H -0.65891781 -0.88674084 -1.10364641 -1.04152879 0.61177292 0.81592099 +H -1.81444624 0.57775034 1.09673559 -0.26468986 0.26255184 -0.15626240 +H -0.13551982 1.25815966 1.20434737 -0.57261665 -0.72194971 -0.34623186 +H -1.02519438 1.55398001 -0.18796259 -0.98774746 2.82345182 -2.77133071 +H 1.39777907 -1.06578007 -0.83026489 0.13343331 -0.51392446 -0.29985835 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.587785499789 pbc="F F F" +C 0.50006659 0.25308457 0.02425759 -0.91810890 0.37885069 1.59591302 +C -0.76845057 0.93688436 -0.52510390 -1.36215631 -1.85623087 -0.39385092 +O 0.20839986 -1.06449132 0.46849653 1.19697913 -1.27457119 -0.79831891 +H 1.25764865 0.45626061 -0.67729194 1.68077452 -0.86083993 -2.23667297 +H 1.03817760 0.78354244 0.84448153 -0.84445372 0.54298837 0.68888048 +H -0.87666662 0.83383625 -1.68547852 0.27395885 0.16566328 1.62508944 +H -1.68457085 0.35258445 -0.07945417 1.24212591 1.04389081 -0.55924325 +H -0.84121421 1.99051980 -0.23756722 -0.03156688 0.40761718 0.01987654 +H 0.99571585 -1.70095634 0.36682144 -1.23755259 1.45263161 0.05832663 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6163242631055 pbc="F F F" +C 0.09304243 -0.18316531 -0.56925199 2.65888574 -0.72899073 -0.46448892 +C -0.37125652 1.20702515 -0.20190643 -1.07386438 -0.38599255 1.87094396 +O 0.31920833 -0.92094711 0.68381146 1.33433619 1.12150411 -1.83962591 +H -0.65001557 -0.66263756 -1.22897420 -0.22829558 -0.41078246 -0.02777265 +H 1.10651913 -0.33031539 -1.14545018 -1.33398298 0.83791046 0.73225259 +H -0.34737430 2.09796264 -0.80343367 0.67908581 0.53088768 -1.39875346 +H -1.50574788 1.10259047 -0.05222035 1.03383209 0.20890045 0.60701267 +H 0.18870188 1.44909625 0.75793868 -0.81269822 -0.00270521 -0.55139743 +H -0.54475972 -1.24006870 0.80694076 -2.25729873 -1.17073170 1.07182910 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.308632960863 pbc="F F F" +C -0.40728836 0.12683183 -0.36339612 0.12339458 -1.64989931 0.91646669 +C 0.95431093 0.78734642 -0.41837699 -1.23942044 3.57846490 -1.02455220 +O -0.52703406 -0.79525248 0.75464767 -0.00784377 -1.36044735 -0.91092051 +H -1.33763731 0.78941204 -0.37938077 1.04543414 -0.32957214 0.08259451 +H -0.26166613 -0.34755958 -1.32352778 -1.49330648 -1.26186217 -0.89928652 +H 1.72561950 0.47443863 0.23934424 0.76910741 -0.70812164 1.43769694 +H 1.37869515 0.68207314 -1.45479958 -0.13553863 0.42358677 0.43643627 +H 0.68042267 1.88993739 -0.20780312 1.26574032 -0.84583574 -0.32904804 +H -0.33898697 -1.75989544 0.46304457 -0.32756714 2.15368668 0.29061287 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.67699525944 pbc="F F F" +C -0.12396652 -0.21314370 -0.47462252 -1.26270611 0.84214934 1.24403172 +C -0.11119714 1.33333643 -0.25480444 2.07696756 -0.95613800 -0.94446334 +O 0.17054817 -1.04157556 0.71176585 -0.07652588 1.23375476 -1.87293837 +H -1.14604584 -0.52725193 -0.80331480 0.06876834 0.33759321 0.02898627 +H 0.50246442 -0.37879694 -1.36312560 0.65430047 -0.62556925 0.01650345 +H -0.18991496 1.79896931 -1.22994568 -0.27620635 0.23130418 -1.08359184 +H -0.92386531 1.71524687 0.27068734 -2.04180288 0.63730568 1.65502964 +H 0.80915467 1.85984655 0.12599229 -0.13005817 -0.93856008 0.22512895 +H 1.04227475 -1.28451783 0.39350141 0.98726302 -0.76183988 0.73131352 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.725627378356 pbc="F F F" +C -0.30249242 -0.43988928 0.16878711 1.29941962 -1.47993206 -0.77862013 +C -0.92648422 0.91166976 0.12606167 -1.67651312 0.43817634 1.15864638 +O 1.12749330 -0.38127312 -0.28955550 -0.76054759 -2.30389346 0.67544425 +H -0.30306683 -0.83528264 1.20007702 -0.02838957 0.03212924 0.37795918 +H -0.95482090 -1.18610066 -0.41404293 0.75953529 0.52553536 0.14630821 +H -1.96718694 0.88932195 0.64499923 1.50580821 -0.06093573 0.19778151 +H -0.23943832 1.66289613 0.58241168 -0.42931040 0.01524989 -0.14800946 +H -1.33845322 1.22518051 -0.82850823 0.67964466 0.30381615 -1.17204950 +H 1.54945558 -1.32720483 -0.10215994 -1.34964712 2.52985427 -0.45746044 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.640951171125 pbc="F F F" +C 0.33011418 0.07328478 -0.54858228 1.34745824 -2.83449420 1.79232798 +C -0.66977481 1.07783715 -0.09338796 -1.93573676 -0.06015000 -2.06633507 +O 0.27874733 -1.06086427 0.53263560 0.57852263 1.70940073 -1.37568520 +H 0.32704151 -0.49690969 -1.51818471 -1.04685802 0.60906292 0.26775806 +H 1.37696471 0.40325132 -0.51393806 0.38479235 0.59444573 -0.00458973 +H -1.55955513 0.44973212 0.17747410 0.13861141 0.48411585 0.04144136 +H -0.36439620 1.63600921 0.79017408 0.30016375 0.35576114 0.35868614 +H -1.02965328 1.77314688 -0.93641107 0.51964743 -0.40340041 0.92784310 +H 0.87137638 -0.64411197 1.19593894 -0.28660097 -0.45474176 0.05855335 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.481780184002 pbc="F F F" +C 0.10096401 0.47446343 -0.09235438 -1.45012967 1.99487370 3.19485454 +C -1.07269121 -0.18725146 -0.83979257 0.30642834 0.50964398 0.46598088 +O 0.89150151 -0.30218004 0.81522133 -0.44489793 -1.60938540 -1.32315755 +H 0.69530861 1.07172459 -0.78429331 0.75260550 0.13231045 -0.53675725 +H -0.50086046 1.29657092 0.55200665 1.20701163 -0.96964442 -1.08759212 +H -1.19170314 0.36481267 -1.80087858 -0.56902615 0.46520662 0.51019060 +H -0.89925220 -1.15948328 -1.25042679 0.59943018 -1.60735253 -0.03020677 +H -1.97807960 -0.24166930 -0.17881507 0.22624708 0.09829413 -0.64677274 +H 1.30165354 0.04071584 1.62964444 -0.62766892 0.98605341 -0.54653958 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.784630353623 pbc="F F F" +C 0.15020049 0.41807518 0.37132881 -0.19556964 -1.76698261 0.15411352 +C -0.44890576 0.76590270 -1.00468076 -2.26757831 -0.67654494 1.41938631 +O 0.27047940 -1.06740783 0.52953866 -0.11455724 1.54923699 0.06779122 +H 1.14204271 0.89678385 0.34953406 0.56525043 -0.01364845 0.39263160 +H -0.38479900 0.73826538 1.29989286 -0.13066392 0.58251005 -0.55712724 +H -0.07697073 1.76205239 -1.30295020 -0.52234611 0.20663382 -0.12705697 +H -0.01326743 0.03331198 -1.67618577 0.25654394 -0.48875315 -0.67748180 +H -1.64240300 0.60092910 -1.03415839 2.34192559 0.65052424 -0.09445917 +H 0.24038772 -1.19787086 1.50538325 0.06699536 -0.04297590 -0.57779742 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.380713411092 pbc="F F F" +C 0.09718718 0.18493310 0.59767981 -0.28762941 -3.57648839 -3.50100397 +C -1.29348646 0.39932785 -0.15256864 2.51570589 1.87337592 0.10250138 +O 1.06920970 -0.49636288 -0.40768689 -1.55318317 2.37472537 0.14795737 +H 0.56936591 1.10918463 0.80123130 0.60247082 1.40972307 1.07250555 +H 0.06918663 -0.61438926 1.34861302 -0.34888514 0.58808821 1.01255430 +H -2.16873971 0.39216395 0.48053466 -0.78707403 -0.82661344 0.52160023 +H -1.24546017 1.50384027 -0.39553196 -0.17741039 -0.63982181 -0.51252768 +H -1.28637512 -0.18841612 -1.09948002 -0.34055965 -0.00946598 0.47877845 +H 1.34428248 -1.28703818 0.03201290 0.37656503 -1.19352295 0.67763442 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.429692913783 pbc="F F F" +C -0.01786441 0.33837294 0.53996040 -0.01051448 -4.35020337 -2.77681086 +C -0.19093040 0.93617752 -0.87518053 -3.33525620 -0.34384845 3.24009558 +O 0.23788253 -1.14145875 0.35406864 -0.22796714 0.80061619 0.13527463 +H 0.90165131 0.65640626 1.00004713 0.53150582 0.75398639 0.82113123 +H -0.94485934 0.37645837 1.14466915 0.11297066 0.78371565 0.19587570 +H 0.61930414 1.00087409 -1.49947432 2.93889532 0.09176265 -1.55671345 +H -1.02310778 0.41845888 -1.44917055 0.31130197 0.62737638 0.60656638 +H -0.47130908 1.89914480 -0.44916519 -0.63551464 1.37348125 -1.22528009 +H -0.37064766 -1.42170391 -0.37265524 0.31457869 0.26311331 0.55986094 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614062615835 pbc="F F F" +C 0.28688747 -0.29791175 -0.47761097 0.94372420 3.21245930 0.73880721 +C 0.48987559 1.23827786 0.12568670 -0.12618367 -2.30470716 -1.25398662 +O -0.74309284 -0.83464204 0.27609928 -1.78192129 0.66182105 -1.68403992 +H 0.04747818 -0.14693160 -1.55221850 -0.14058781 -0.67905156 -0.04639130 +H 1.27526209 -0.79656722 -0.33329305 -0.22561577 -0.19544134 -0.28242477 +H 1.52336701 1.55934389 -0.01845870 0.44685870 0.42348140 -0.16768766 +H -0.24236931 1.96315519 -0.31609056 0.22293256 -0.35778512 0.54032862 +H 0.34810507 0.93338728 1.16422832 -0.27580151 0.89813297 0.70599015 +H -0.41342353 -1.47079328 0.86676775 0.93659453 -1.65890959 1.44940426 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.818247547604 pbc="F F F" +C -0.02554560 -0.16075592 0.52881514 0.39762381 -0.49220691 -0.46060064 +C -1.13113925 0.58949452 -0.13809979 -1.38810950 0.11563160 -0.96849457 +O 1.07539434 -0.44356103 -0.33155289 -0.60220198 -2.18423525 1.41731508 +H 0.31440914 0.28859111 1.48786738 0.05985710 0.67545978 -0.04415110 +H -0.56481700 -1.05238826 0.93004183 0.80829628 -0.72215864 -0.49595645 +H -1.86697232 0.72660277 0.69924080 -0.26861095 0.30174405 -0.79113570 +H -0.82388871 1.56154671 -0.54930101 0.16528800 0.61308901 0.24613899 +H -1.61977168 0.09892161 -1.09570939 0.73653959 0.18126073 1.82881678 +H 1.27308048 0.30714599 -0.86507734 0.09131775 1.51141569 -0.73193233 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.523771519636 pbc="F F F" +C 0.03124018 0.01907058 0.51929136 -0.07202279 3.50482956 -0.34096748 +C -1.22873069 0.55600636 -0.25244898 -0.81167466 0.32159328 -0.95241062 +O 1.11263323 -0.51473310 -0.25919106 -1.17546757 1.40089976 -0.43244556 +H 0.33732583 1.04347414 1.03902562 0.10682773 -1.82583759 -0.19201540 +H -0.20035923 -0.72649608 1.26599346 -0.72555563 -0.36389324 0.84442374 +H -2.21646285 0.74865356 0.31751684 1.30553042 -0.85610113 -0.15172203 +H -1.13778017 1.55994147 -0.75585781 0.84331400 -0.12878789 0.59986618 +H -1.44612162 -0.01350290 -1.18206625 -0.24048112 -0.70823220 0.35869760 +H 1.27057522 -1.29569017 0.24990581 0.76952964 -1.34447061 0.26657356 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.446275485853 pbc="F F F" +C 0.00404084 0.49120746 0.19867962 0.80478076 0.10915936 1.43907053 +C -1.25411697 -0.21081865 -0.10615110 -3.60094216 -0.02816038 -1.52280085 +O 1.15771539 -0.30569563 -0.06125455 1.84975863 1.75425502 -2.30509684 +H -0.05016826 1.55277268 -0.19667553 0.46579926 -0.68228678 -0.11296259 +H 0.04652815 0.58869486 1.30415384 -0.26860257 0.47235490 0.28305737 +H -1.43695361 -1.28887281 0.23338902 0.62370160 1.05131559 -0.47834393 +H -2.11019690 0.37796180 0.30148099 0.22330841 -0.04844171 1.19064259 +H -1.73485135 0.01392368 -1.13483600 1.44217940 -1.15089553 0.17311989 +H 1.80382823 0.26530089 -0.63777428 -1.53998322 -1.47730043 1.33331382 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.331824741038 pbc="F F F" +C 0.22899228 -0.45618728 -0.39248833 -0.26870696 1.14308498 3.00352197 +C -1.25670504 0.09188974 -0.31559611 1.13645662 1.50407837 -4.69458785 +O 0.96462017 0.26452207 0.67380105 0.27203926 -4.00539112 -0.01164036 +H 0.36326594 -1.52764045 -0.11177941 -0.43449426 0.12046497 -0.18172851 +H 0.80707811 -0.28478742 -1.31660268 -0.62399260 0.02255264 -0.68488863 +H -1.24328158 1.26645943 -0.80556464 -0.18803368 -2.88281851 1.49257032 +H -1.91813428 -0.48768269 -1.02442045 0.41588698 0.33901004 -0.16765871 +H -1.87084408 0.04140084 0.55434635 0.14304286 0.11281840 1.87901960 +H 0.79547216 1.13289563 0.44612587 -0.45219827 3.64620033 -0.63460776 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.722533756616 pbc="F F F" +C -0.06638052 0.40825230 -0.35367792 1.66505381 0.79860049 1.71792630 +C -1.15237845 0.04141577 0.72120988 0.06552453 0.47269958 0.20450613 +O 1.14133342 -0.38006108 -0.36222930 -0.98909698 -0.57710065 0.12652007 +H -0.48827003 0.53522384 -1.36629935 -0.38436812 -0.25900849 -0.23837497 +H 0.37701143 1.39675136 -0.08290615 -0.47405111 0.18165920 -0.17434914 +H -1.57298464 1.00491645 1.18406620 0.26762498 -0.88135867 -0.63175836 +H -1.96311529 -0.42356274 0.09582424 0.02878094 -0.28288330 1.09532225 +H -0.79434405 -0.55586926 1.67331508 -0.39927178 0.58302628 -1.88435201 +H 0.84674797 -1.28439493 -0.13374462 0.21980368 -0.03563437 -0.21544026 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553916594949 pbc="F F F" +C -0.22261692 -0.23021163 -0.54783727 0.96739455 -1.02193893 0.24442524 +C -0.16325036 1.29458868 -0.22619750 1.69470702 -1.33044745 -1.64852901 +O 0.36887960 -0.94448729 0.68661555 -1.79230515 0.23694873 -1.31859497 +H -1.22315394 -0.67745791 -1.04935391 1.62615352 0.82451691 1.50531086 +H 0.59136932 -0.42740298 -1.31511326 -0.69864070 0.02380858 0.30777293 +H -0.33929817 1.93373942 -1.14261719 0.02526043 -0.38991934 0.53690406 +H -0.88772306 1.49810325 0.52571977 -0.81548678 0.69375761 1.25332996 +H 0.92926080 1.43109747 0.11512746 -1.42799221 0.23578315 -0.09239761 +H -0.32877692 -1.45059624 1.19080275 0.42090942 0.72749075 -0.78822141 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.792190907599 pbc="F F F" +C -0.15212985 0.42770808 0.22461783 1.52992743 0.47040904 -1.77070155 +C -0.68696232 0.04578475 -1.22798499 1.13935863 1.79312364 1.67456355 +O 0.75418923 -0.48450670 0.88863570 -0.95783159 0.14839929 -0.46129833 +H 0.51240094 1.34604537 -0.02353887 -1.28630000 -0.31397705 0.70032904 +H -1.06908443 0.62501444 0.82354672 0.19354798 0.38754128 0.23058602 +H -1.27377059 0.98029229 -1.51385338 0.38415349 -0.96285666 -0.08864730 +H 0.14206157 -0.13636407 -1.93739797 -0.02103024 0.04612391 -0.03451373 +H -1.31776036 -0.80796415 -1.16397456 -1.05706849 -1.25519062 -0.15528646 +H 1.03233718 0.04004655 1.66578855 0.07524279 -0.31357282 -0.09503124 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4965789638045 pbc="F F F" +C 0.23528368 -0.58917099 -0.07800367 -2.27083348 -0.13619745 2.46464952 +C -0.91882467 0.05241317 -0.95008557 1.21116704 -0.70081169 1.79648001 +O 0.57484429 0.49965905 0.90912297 -2.84646768 -1.01817185 -2.20259612 +H -0.13819782 -1.59163864 0.49472577 0.51407888 1.86738638 -0.87713805 +H 1.15965330 -0.89918397 -0.55782466 0.49119796 -0.04767043 -0.88148569 +H -0.45059764 0.35954901 -1.86591654 0.05735552 0.64495425 -1.12766895 +H -1.84107212 -0.53397876 -1.13378277 0.28051311 -0.19611980 0.09088662 +H -1.12279166 0.91379926 -0.27894215 -0.46351915 0.15133261 -0.58979604 +H 1.41243668 0.21473474 1.16169932 3.02650785 -0.56470207 1.32666875 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.892580011074 pbc="F F F" +C -0.13866691 -0.19022194 -0.50344785 -1.97966150 0.22206209 -0.63001752 +C -0.19995973 1.33655125 -0.06973800 1.86952723 -1.93454948 -0.56428030 +O 0.27193607 -1.07134686 0.50305780 -0.85195985 -0.31100789 0.59890824 +H -1.29214442 -0.41597550 -0.68206597 1.95019835 -0.09006516 -0.10492053 +H 0.46265280 -0.49484478 -1.43461396 -0.69364957 1.09516361 0.32070532 +H -0.88994698 1.41304867 0.75063578 -0.66305868 0.12502297 0.90495766 +H 0.81356064 1.65336685 0.26897580 -0.13783288 0.17271952 0.01524855 +H -0.51325213 1.98985953 -0.87363519 -0.26061826 0.43674146 -0.71616766 +H 1.13670460 -0.80083375 0.81561543 0.76705521 0.28391283 0.17556630 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.903674692933 pbc="F F F" +C -0.01244820 -0.50845710 0.24094499 -0.14859423 1.31684631 2.15604819 +C -1.08972105 0.52830991 0.33172636 -2.39628613 -1.30927117 0.02123146 +O 1.01977083 -0.07021836 -0.54697687 2.16143707 0.86135173 -0.42312824 +H 0.24278540 -0.81200100 1.31714214 0.23033590 -0.09903450 -0.76522725 +H -0.48518018 -1.32284513 -0.24069100 -0.33325643 -1.80605984 -0.85126544 +H -2.06073682 -0.03855145 0.63559712 1.00638457 1.12987727 -0.06741167 +H -0.90395734 1.37623370 0.97397372 0.20743636 0.64095155 0.81573001 +H -1.27053337 0.91755801 -0.67249797 -0.17108101 0.22542530 -0.56696562 +H 1.42298199 0.75613960 -0.15516149 -0.55637611 -0.96008670 -0.31901138 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4122891339475 pbc="F F F" +C 0.20093077 0.48524336 -0.13452113 -2.71763454 1.70804966 -4.97533893 +C -1.28521512 -0.02946221 -0.24084878 0.06545820 1.49930769 -0.57398560 +O 1.04591036 -0.37275105 0.39910850 1.58780329 -2.15157189 1.88399442 +H 0.52011611 0.64905079 -1.33265957 -0.59964522 0.45516064 2.25808003 +H 0.10736057 1.41930736 0.39784602 0.67686391 1.12009623 0.34995251 +H -1.78401189 0.32697561 -1.18585924 0.43897467 -0.14851777 0.26419503 +H -1.24202865 -1.11429714 -0.31400983 -0.42771221 -0.82724239 0.26134655 +H -1.95976688 0.39000499 0.54450533 0.28861501 -0.71300870 0.24353431 +H 0.67565009 -1.18685573 0.02792237 0.68727693 -0.94227348 0.28822174 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.620295719493 pbc="F F F" +C 0.18699691 0.52219663 -0.26908570 -0.25731187 -0.73265764 1.18184278 +C -1.35734034 -0.00951823 -0.25508280 1.74644051 2.47259388 1.96319343 +O 1.06161885 -0.41929000 0.49236006 -1.21576125 2.94317605 0.33839755 +H 0.57248673 0.69075290 -1.29570340 -0.04110326 -0.16415306 -0.18493334 +H 0.31283169 1.50634447 0.28693341 -0.19754188 -0.77225496 -0.41879469 +H -2.05160654 0.32237287 -1.04109413 0.18436353 0.29790925 -0.32801364 +H -1.12760617 -1.04343212 -0.36144808 -0.59643649 -1.74680103 0.18055270 +H -1.79219604 0.31782313 0.78315474 0.49974472 -1.03719951 -1.51573365 +H 1.17955048 -1.24893802 0.05878322 -0.12239396 -1.26061292 -1.21651114 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.758690149835 pbc="F F F" +C -0.00026256 -0.09191000 -0.58711635 0.89304907 0.26493751 2.08155461 +C -1.27833579 0.02922577 0.26463244 0.55329495 1.29385781 -2.07566905 +O 1.15327228 0.08528432 0.28559055 0.35280911 -1.26264811 -0.33655860 +H 0.10093652 -1.04245172 -1.13804070 -0.23462980 -0.01529113 -0.39748296 +H 0.06723112 0.78896779 -1.21824952 -0.12345583 0.25691716 -0.99233514 +H -1.90322613 -0.82789830 0.25984139 -0.88583574 -1.39145291 0.41833811 +H -1.03144460 0.44988918 1.21778347 0.37189148 -0.06133055 1.31436412 +H -1.82808785 0.84848975 -0.21524191 -0.73569884 0.13872829 -0.13628466 +H 1.52317759 -0.82529528 0.40337024 -0.19142445 0.77628187 0.12407351 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553524524543 pbc="F F F" +C -0.02062253 0.29278497 0.46679842 4.03539832 -2.15160229 -1.95796277 +C -0.24172599 0.98389237 -0.82808283 1.36949054 0.51183441 -2.55297533 +O 0.21636612 -1.16370749 0.40585371 0.00756002 1.60473334 1.43097037 +H 0.92227654 0.78415423 0.83801843 -0.14105421 -0.36926479 0.26132881 +H -0.68261926 0.43858670 1.21712572 -3.24159222 0.68639936 2.67117531 +H 0.79998390 1.08399900 -1.38732581 -1.54200041 0.14900093 0.98685061 +H -0.79448754 0.41806364 -1.63021789 -0.48357052 0.22151331 0.71820140 +H -0.67009485 2.01733634 -0.69463924 0.18297030 -0.55316974 -0.19859038 +H 0.11566126 -1.48468320 -0.48012922 -0.18720178 -0.09944449 -1.35899802 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.511699772514 pbc="F F F" +C 0.20530893 -0.41353026 -0.32566439 -0.25588733 1.16968912 -0.37955872 +C -1.33481501 0.16450482 -0.37467628 4.55630400 -2.27603354 0.61573026 +O 1.04918935 0.19660851 0.65701093 -0.62939490 -1.38614214 0.32215280 +H 0.17698660 -1.50642623 -0.12511162 -0.18416479 0.09769398 0.11931337 +H 0.79546466 -0.29357113 -1.27934010 -0.89603598 -0.13956498 -0.26900572 +H -1.50234782 1.14336201 -0.68058261 -0.05369324 2.59141174 -0.38359885 +H -1.77709793 -0.46672204 -1.05706769 -1.59138047 -1.77016296 -2.31176078 +H -1.72855032 -0.13934729 0.54722579 -1.05488418 0.07784778 2.14957857 +H 0.83968162 1.10777430 0.51122144 0.10913684 1.63526104 0.13714907 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.818096151604 pbc="F F F" +C 0.11041826 -0.13544889 -0.49278679 -0.00786079 1.06400877 -1.65118131 +C 0.84964317 0.97129816 0.20455522 0.51875294 0.17689566 2.36374130 +O -0.83736080 -0.84034529 0.25813318 -1.63914958 0.81793237 0.45432565 +H -0.32185811 0.43542123 -1.34860675 -0.68091412 -0.31298029 -0.24609235 +H 0.81653283 -0.79212476 -1.04661196 -0.11198233 -0.59277138 0.53745058 +H 0.12964244 1.44744198 0.91247002 0.11259991 -0.17428748 0.22123023 +H 1.76462931 0.68322066 0.80918248 -0.64818731 0.01749127 -0.30541451 +H 1.12067584 1.83252802 -0.39496280 0.42630468 0.30589026 -0.99904330 +H -1.65905237 -0.22893137 0.40567894 2.03043664 -1.30217919 -0.37501625 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.955502700616 pbc="F F F" +C 0.21765281 -0.38251462 -0.35244156 0.49260821 -0.75268680 1.47836882 +C -1.21264528 0.01742485 -0.38960004 -0.89699947 1.08103447 -1.02201385 +O 0.92669914 0.29817431 0.70243368 -0.08065985 -1.71552453 -0.39845176 +H 0.20509123 -1.46133105 -0.02355880 0.38157811 0.38669178 -0.27883320 +H 0.65188739 -0.35568295 -1.39622940 0.21752579 0.18919922 0.58596644 +H -1.41861271 0.95967874 -0.97416955 0.09995918 -0.45869915 0.16448407 +H -1.72232129 -0.81965705 -0.84810766 -0.84149175 -0.43916581 -0.79130956 +H -1.71407860 0.14316874 0.57067529 0.21517750 0.02534533 0.78737608 +H 1.14362682 1.14973466 0.36363536 0.41230229 1.68380544 -0.52558704 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6658516599055 pbc="F F F" +C 0.04563288 0.42680475 0.41360987 1.72953319 -0.90699880 1.23687032 +C -0.69600139 0.56652236 -0.84459586 -1.47984634 0.86120688 -0.44427361 +O 0.60729699 -0.88388433 0.45604705 0.24540797 -1.77165996 -2.10500642 +H 0.86431086 1.21817525 0.56344481 -0.37158650 -0.47450589 -0.68093006 +H -0.49737186 0.55353822 1.38282398 -0.62162539 -0.05748850 -0.39867117 +H -1.12308634 1.57997093 -0.87185034 0.19231961 0.49593815 -0.80619301 +H -0.09140944 0.24598280 -1.70747544 0.47342638 0.69042093 -0.29963723 +H -1.58777904 -0.06325525 -0.96575498 -0.33652795 -0.55635626 0.59192811 +H 0.54434685 -1.34226475 -0.50452337 0.16889906 1.71944346 2.90591315 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4962206048585 pbc="F F F" +C -0.31467112 -0.09219817 -0.50895378 0.94933759 0.82947688 1.85578057 +C 0.92772910 0.94178167 -0.36220445 1.49706888 -2.85738489 -0.69134139 +O -0.62610459 -0.82603793 0.76988750 1.81204480 2.71891495 -0.87966391 +H -1.20815808 0.46255954 -0.86337195 -0.12171123 0.28191163 0.20940095 +H -0.10121056 -0.77872916 -1.32987817 0.33794350 -0.75222657 -0.13991809 +H 1.92542873 0.51023895 0.12650169 -1.87726523 -0.11897815 -0.63347715 +H 1.34108842 1.14159306 -1.39984337 -0.64752278 0.50249128 0.66137805 +H 0.79963135 1.81193772 0.26423904 -0.76821112 1.04480849 0.08639018 +H -0.12463377 -0.16080871 1.36244377 -1.18168445 -1.64901357 -0.46854910 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.772186526263 pbc="F F F" +C -0.14319085 0.07906010 -0.53508311 -1.45449237 0.60845455 0.70302561 +C -1.06623698 -0.61651353 0.56602360 -0.46830433 2.44884243 -1.28016154 +O 1.10221869 0.48120368 0.02117390 0.10811256 0.66184121 -1.01983083 +H 0.07200098 -0.66832495 -1.31100492 -0.24183614 -0.35207722 -0.55096898 +H -0.71190207 0.98225195 -1.04327216 0.66654468 -1.24819264 0.67410290 +H -1.97273965 -0.01957105 0.91942354 1.21297972 0.10688717 -0.00698862 +H -1.58228704 -1.44410658 0.13875846 -0.32245090 -1.54180825 -0.74666111 +H -0.44923636 -0.93987767 1.37875234 0.63418024 -0.35641765 1.04583508 +H 1.55890119 0.85414779 -0.78744790 -0.13473346 -0.32752965 1.18164743 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.496906903052 pbc="F F F" +C -0.01955418 -0.52664476 0.11866445 3.46387635 0.17471331 -2.13441348 +C -1.27287353 0.18127951 -0.00240062 -3.55674864 0.58248933 0.01478740 +O 1.20018365 0.29603706 -0.05104860 -0.82633813 0.54457475 -2.45183879 +H 0.20274633 -0.86050509 1.07780532 -0.08884743 -1.07555509 2.57922404 +H 0.09183334 -1.40706590 -0.54318911 -0.30036625 -0.26459232 -0.18457940 +H -1.98698971 -0.07251185 0.82135595 0.56863164 0.62490066 0.57687907 +H -1.15429789 1.26691805 -0.12398729 0.07732601 0.30438817 0.42276838 +H -2.02508207 -0.10985807 -0.76641119 0.74544281 -0.22330126 -0.95912274 +H 1.22052724 0.59782031 -1.04067054 -0.08297637 -0.66761755 2.13629553 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553693449716 pbc="F F F" +C 0.47430104 0.31283576 0.18984500 -2.80333844 -2.69191748 -1.93887994 +C -0.72180840 0.93560590 -0.68951450 1.43360693 1.91012939 2.17024197 +O 0.28609934 -1.14131705 0.48415844 -1.09855253 1.24083080 -0.63568063 +H 1.35998662 0.26355563 -0.37746262 1.88345825 0.81815112 -1.03821824 +H 0.60839832 0.76562182 1.12334331 0.22027533 1.47145965 1.90895362 +H -0.59727928 0.77244516 -1.77406603 -0.19356711 -0.35318855 0.00879204 +H -1.70667250 0.59631447 -0.25552549 0.43142632 0.18250720 -0.48200570 +H -0.65669705 2.12639450 -0.52843919 -0.30801327 -2.17046786 -0.36261658 +H -0.60076554 -1.28582762 0.08103109 0.43470448 -0.40750425 0.36941350 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.535117743912 pbc="F F F" +C -0.10411275 -0.58970773 0.23734172 2.45898826 0.42615854 -1.23123549 +C -1.10287033 0.52132209 0.22499528 -1.55806374 0.16388906 0.61132745 +O 1.09754377 0.03159366 -0.38288295 -0.01190658 -1.00103030 -0.53864696 +H 0.15827370 -0.63278106 1.27489625 0.77668687 -0.27579318 1.35373785 +H -0.18407355 -1.72486992 -0.01324064 -0.79997485 1.60469010 -0.42605981 +H -1.91316432 0.35340504 0.99799701 0.33021805 0.30314900 -0.48244967 +H -0.55190501 1.48342496 0.41774442 -0.17852029 -0.67798820 0.39479858 +H -1.57508560 0.72214756 -0.73007466 -0.57557969 -0.16866005 -0.89800411 +H 1.02576674 0.11056477 -1.37892902 -0.44184798 -0.37441497 1.21653206 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.638860969808 pbc="F F F" +C 0.55636676 -0.10981070 -0.04559138 -2.20567610 -1.94309110 0.15846115 +C 0.11382536 1.32354087 -0.30962143 -0.46854185 -1.85646854 2.22424158 +O -0.59419828 -1.09758337 0.36314912 2.72513126 2.40486997 1.44527352 +H 0.98719280 -0.63509563 -0.91061848 0.40358625 0.29340066 -0.45231258 +H 1.29057995 -0.14687357 0.75538307 0.31068136 -0.17424789 0.63510764 +H -0.15911358 1.77051050 0.67470401 -0.86111761 -0.15309161 -0.32585278 +H 0.96690163 1.89670915 -0.50685354 1.91983150 1.24298281 -1.25070497 +H -0.63587333 1.32528666 -1.07906018 -0.82755344 0.57990855 -0.64850597 +H -1.00481719 -1.25260866 -0.46520715 -0.99634143 -0.39426286 -1.78570770 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.530843182674 pbc="F F F" +C 0.02295934 -0.04291165 -0.57105200 -1.54473961 0.59008555 -1.35208561 +C 0.54120938 1.11208521 0.25212491 2.59503525 1.47167727 -3.06179543 +O -0.47731187 -1.01789196 0.26946944 1.00663567 -2.23768033 0.23878512 +H -0.88850195 0.28437018 -1.16759937 0.73623158 0.33179378 -0.36726864 +H 0.69355207 -0.54708640 -1.26461150 0.78772205 0.13985695 -0.46275877 +H 1.64118873 0.92348272 0.44360476 -0.62618673 0.35534123 0.18939431 +H 0.46639266 2.13407326 -0.35134774 0.01887031 -1.60857668 1.37641607 +H 0.03298677 1.07407293 1.17910999 -0.91445953 0.57947491 1.58411021 +H -1.09274476 -0.45340625 0.68381968 -2.05910903 0.37802737 1.85520279 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548227693932 pbc="F F F" +C 0.25750151 -0.21141262 0.50299866 0.37931158 -0.32560235 -3.37312702 +C 0.41760886 1.25263773 0.03402667 -1.62511567 0.59372171 2.09308915 +O -0.65596532 -0.96037845 -0.43096149 0.98202233 0.75935228 1.77944994 +H 1.37005062 -0.53332075 0.36063343 -1.60162981 -0.72294015 1.01650336 +H -0.23735457 -0.32260963 1.46009383 0.29827404 -0.14027378 0.91295765 +H -0.04879013 1.42532638 -0.93051759 -0.41083090 -0.08548263 -0.70247139 +H -0.13429739 1.95563642 0.78192032 1.07978317 -0.56655033 -1.03787952 +H 1.47870977 1.44590705 -0.06846921 0.67034688 0.76391476 0.16608756 +H -0.06160352 -1.13532969 -1.16209172 0.22783838 -0.27613950 -0.85460973 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2932634044 pbc="F F F" +C -0.23761201 -0.47894446 0.28807244 0.18137180 -2.02631300 1.30195242 +C -0.89544322 0.81048218 0.03869726 -3.16145600 1.58993700 0.74545058 +O 1.03710600 -0.25367058 -0.32061455 1.68664018 -4.66763188 0.96360058 +H -0.20807245 -0.79241491 1.43999916 0.50084582 1.16415060 -1.31390872 +H -0.86945985 -1.43326152 0.00253010 0.89757499 1.28510063 -0.74900086 +H -1.89214526 0.85032585 0.63939577 1.49021395 0.44131201 0.03603438 +H -0.17088326 1.67266433 0.20199498 -0.86292185 -0.64833278 0.21836536 +H -1.40346247 0.96320299 -0.94138397 0.85345320 -0.37005674 -0.46292111 +H 1.58225541 -1.18604318 -0.14712013 -1.58572209 3.23183411 -0.73957257 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.84124353835 pbc="F F F" +C 0.01980199 0.16278305 0.55172642 -1.26499743 0.90836180 -0.84236706 +C 0.09976508 1.14370978 -0.71275416 0.36787979 -1.04964288 1.46531759 +O -0.14017165 -1.18199775 0.13836733 0.86198695 -0.64976869 0.15202763 +H 0.90029637 0.37145451 1.24253186 -0.64531600 -0.28110307 -0.39392821 +H -0.96442080 0.37885622 1.08869680 0.90974526 0.27802217 -0.04882089 +H -0.60372024 0.87731586 -1.51205860 0.16430939 -0.90478010 -0.38348207 +H -0.35349038 2.10174397 -0.45283047 0.55866121 0.92900478 0.51360641 +H 1.17443192 1.17969684 -1.03047263 -0.64422482 0.35888432 -0.30441136 +H 0.64613841 -1.71656654 0.38659832 -0.30804433 0.41102163 -0.15794210 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827140680922 pbc="F F F" +C -0.02487803 0.52127081 -0.00678041 -0.30997030 2.04742254 -3.51160607 +C -1.24474656 -0.29523732 0.21520564 -0.06130510 -1.81127142 -0.54814138 +O 1.14483262 -0.24505723 -0.15180774 1.25075634 0.35117548 0.64816607 +H -0.26769600 1.02725787 -1.05729456 0.46578902 -0.47746081 1.14596683 +H -0.06211777 1.43992837 0.61972670 0.76367914 -0.21134300 0.74704415 +H -1.32210797 -0.68417920 1.23901868 -0.10648454 -0.25868803 0.33494852 +H -2.14607122 0.27675350 -0.03490956 -0.27017989 0.28582228 0.10300748 +H -1.21927795 -1.17405031 -0.51601946 -0.07312096 0.60239800 0.74974077 +H 1.97289120 0.30923798 -0.32443516 -1.65916382 -0.52805509 0.33087363 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740610974976 pbc="F F F" +C -0.33029038 -0.41578148 -0.20028209 1.31467465 -1.06049263 1.42880622 +C -0.87012884 0.68565465 0.65616730 -3.42863238 -1.32822720 -1.72777877 +O 1.10905523 -0.29723012 -0.38976521 -1.24965560 -0.98619878 0.60901397 +H -0.58292500 -1.39535718 0.27160590 0.65683563 -0.05337741 -0.10017124 +H -0.85147493 -0.41442433 -1.11991855 -0.84292108 -0.11816059 -1.96651406 +H -1.91823023 0.48603530 1.08971915 1.00661572 0.11651637 -0.64846566 +H -0.23788740 0.81268079 1.43675073 2.47041471 0.94904391 3.05306422 +H -0.93364010 1.50292841 -0.02852912 -0.11020719 1.76097532 -0.19347820 +H 1.22302849 0.50884730 -0.89511005 0.18287548 0.71992101 -0.45447647 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6776828785305 pbc="F F F" +C 0.10235143 -0.35541970 -0.33009284 4.40879734 -1.72608009 -1.68812340 +C -1.23013317 0.15147201 -0.34755782 -3.37630270 0.12545553 3.30581819 +O 1.02626931 0.13894541 0.65137564 -0.13241798 1.10928628 -0.47825816 +H 0.21543631 -1.50053703 -0.26629541 -0.54557933 1.06823114 0.25197771 +H 0.49656015 -0.18341532 -1.42660125 -0.05729628 -0.07485569 1.23453766 +H -1.26228752 1.22101367 -0.56088464 -0.07410199 0.68580868 0.10928627 +H -1.76679645 -0.33108203 -1.15032615 -0.75916037 -0.49669164 -0.62438099 +H -1.81566812 -0.07111424 0.71066662 1.10568611 0.62433615 -2.29827601 +H 1.28016307 1.08836171 0.42886098 -0.56962486 -1.31549031 0.18741867 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.537166755506 pbc="F F F" +C -0.21533298 -0.46146250 0.18569651 0.24474720 0.87068376 -1.44531461 +C -0.89926517 0.88797424 0.35678310 -0.62456735 1.31652641 0.54887908 +O 1.02642092 -0.35898968 -0.47664532 0.30413255 2.45856377 0.78451722 +H -0.17504535 -0.89451880 1.13504277 0.60936564 -1.26625094 2.47178151 +H -0.83862047 -1.10620071 -0.37150774 -1.50077163 -1.23095246 -1.19590235 +H -2.03637147 0.90279172 0.35139956 0.69254872 -0.70056301 -0.44392584 +H -0.77540726 1.32808894 1.43404016 0.69357372 -0.09660857 -1.78251135 +H -0.57838569 1.50919905 -0.54767378 -0.14289091 0.02386334 1.25193771 +H 1.39173451 -1.12483675 -0.89956960 -0.27613801 -1.37526231 -0.18946142 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.505764429636 pbc="F F F" +C -0.26957773 -0.18767748 0.50124305 -1.08569953 0.30998865 -1.24069093 +C -0.86047066 0.00402694 -0.93613526 -4.64954205 -0.26585442 1.61455995 +O 1.02895473 0.23624560 0.40275648 1.17895543 1.86220324 0.06850300 +H -0.85022682 0.26179876 1.37240860 0.17896956 0.25953943 -0.75531513 +H -0.35412687 -1.24780894 0.69068865 0.11405577 -1.24859075 0.27841113 +H -1.62568157 -0.84862385 -1.09715635 0.33409939 0.87508734 0.36955671 +H -1.51978439 0.93816385 -1.18274750 1.48287715 -0.98746531 0.42822247 +H -0.19345262 -0.27677863 -1.69554825 1.93410478 0.14551996 -1.35830382 +H 1.67506265 -0.38986829 0.70146727 0.51217945 -0.95042809 0.59505668 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553934476944 pbc="F F F" +C -0.42757165 0.13203239 0.37528670 1.07344611 1.06907997 -3.63830457 +C 0.87749036 1.01614863 0.15391104 -2.87786461 -0.98713420 -1.76437952 +O -0.42467330 -1.00882933 -0.48840742 0.15529746 -1.04572817 -0.01942942 +H -0.69692016 -0.16583901 1.32241610 -0.04991197 -0.70973352 3.42118574 +H -1.26774510 0.80854149 0.09341736 -0.21999934 -0.40493989 -0.34094413 +H 1.58406578 0.29113279 -0.19504297 1.43452225 -0.55737504 0.12006506 +H 0.70078101 1.70270702 -0.73720295 0.12666894 -0.35748085 0.90950573 +H 1.06695636 1.53646163 1.04809044 0.98499710 1.13770320 1.51573190 +H -0.00840263 -1.84281152 -0.08497440 -0.62715593 1.85560851 -0.20343079 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.731306558568 pbc="F F F" +C -0.32920422 0.18110232 0.45428952 1.08273006 -1.13095636 -1.49950849 +C -0.38656019 0.87332259 -0.91584628 0.59002729 0.14823628 -0.41172698 +O 0.67671083 -0.94026416 0.44451455 -0.15533171 3.17810266 -0.06271170 +H -0.05618997 0.99230921 1.14342051 0.23562569 -0.31415040 0.80637525 +H -1.32758894 -0.18279784 0.65173860 -0.78627297 -0.51679710 0.65560546 +H -1.25169414 1.49104027 -1.20017087 -0.93629144 -0.36350495 0.46531111 +H 0.35621014 1.66998415 -0.97290751 1.03235437 0.09683595 -0.09178137 +H -0.19699882 0.17219314 -1.74496256 0.00219984 -0.20122818 -0.07652156 +H 0.26270470 -1.78369065 0.56689018 -1.06504117 -0.89653796 0.21495823 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.517228261661 pbc="F F F" +C 0.19804475 -0.42966354 -0.34905247 -1.04786785 2.90268147 -0.94930051 +C -1.34259943 0.16963561 -0.31854594 2.77248077 -0.24489396 -1.87629716 +O 1.06382654 0.20890058 0.57642535 0.95116389 -0.41267485 -1.85271628 +H 0.30454627 -1.50599193 -0.53743034 -0.33717551 -0.85787776 0.99678387 +H 0.68340475 -0.05523375 -1.27916674 -0.52015003 0.03843091 -0.37693151 +H -1.28382473 1.26377663 -0.15687187 0.28725768 0.16003976 -0.57051276 +H -1.93593109 -0.07266138 -1.26045815 0.47458040 0.10679744 0.94206383 +H -1.81096570 -0.12455053 0.57045192 -1.36357258 -1.28409250 1.75543351 +H 0.79388621 0.27572084 1.46882521 -1.21671682 -0.40841046 1.93147701 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.54556605597 pbc="F F F" +C -0.43465410 -0.15450642 -0.28757029 0.95118703 -0.51560046 0.61169542 +C 0.06986774 1.26732945 -0.30528330 -0.47339414 1.61480492 -3.57545352 +O 0.31452858 -1.02278764 0.61646526 -0.70888634 0.29864911 -1.18928001 +H -1.46923069 -0.06573896 0.09266472 -0.26035282 -0.49309091 -0.17346432 +H -0.43584250 -0.49166630 -1.37074966 -0.09906783 -0.48219411 0.86273046 +H -0.22558085 1.55806448 -1.45785364 0.56280002 0.09207499 2.32987683 +H -0.57730943 1.91156783 0.31101781 0.43712671 0.33095333 0.36602689 +H 1.16894380 1.53791810 -0.27530276 -0.70770549 -0.62065510 0.40648286 +H 0.89222919 -1.47705839 -0.02066028 0.29829286 -0.22494178 0.36138538 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.301729661789 pbc="F F F" +C 0.08441762 -0.13981116 0.60984403 0.30754292 -2.74774140 -4.46192803 +C -1.24416898 0.27852149 -0.04742831 -0.13578114 0.53199798 -0.07733099 +O 1.11697622 -0.14680572 -0.45732575 -1.53449546 2.13553129 -1.31649844 +H 0.34019137 0.42603036 1.48118289 0.35841982 0.98995311 0.99507593 +H 0.11788422 -1.25402407 0.80983861 -0.68010618 0.71340660 0.80377109 +H -1.93455618 0.13665158 0.75540739 -1.39586523 0.96633906 1.36917141 +H -1.21555421 1.34867046 -0.48407911 -0.10910249 -1.07828462 0.86612334 +H -1.84215245 -0.34857575 -0.77416562 1.49332977 -0.20360362 -0.20919058 +H 0.62272361 0.36716392 -1.23067952 1.69605803 -1.30759841 2.03080626 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.47730217368 pbc="F F F" +C -0.37876207 -0.27744116 -0.37429356 3.09832609 2.54199090 -2.64748387 +C -0.85267884 0.60765899 0.78787300 -0.16853947 0.91260350 -2.55292350 +O 1.09604451 -0.31528715 -0.30463173 -0.32453354 0.23926154 1.22054885 +H -0.68300015 -1.29163170 -0.52084860 -1.19222022 -1.28972456 0.34212925 +H -0.50899034 0.29540404 -1.45613442 -0.82343016 -1.07244621 2.25207260 +H -1.92368301 0.75835392 0.72022344 -1.10308045 -0.45368889 0.17195215 +H -0.57759570 0.36626195 1.80431000 0.54311127 -0.37174842 0.60216295 +H -0.55300434 1.63851675 0.44979368 0.53640393 -0.38971427 0.82871234 +H 1.52132546 -0.69864120 -1.09006167 -0.56603740 -0.11653359 -0.21717072 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763499750656 pbc="F F F" +C 0.21961402 -0.04060097 0.51213909 1.73738364 0.79696995 -2.43394684 +C -1.22998860 -0.33050013 0.36734845 0.21034238 -1.04680469 -0.80634605 +O 0.87119344 0.33208048 -0.80760117 -1.32909335 -0.14146338 1.44009465 +H 0.34696009 0.80920535 1.19787569 0.25047716 0.15971112 0.54001412 +H 0.83999473 -0.90441463 0.80131232 -0.34239449 -0.36259684 0.77560824 +H -1.43115774 -0.86957177 -0.58219386 0.29368431 -0.81151391 0.26067082 +H -1.47870612 -0.92647120 1.26875507 -0.77412770 0.17355425 -0.21653926 +H -1.83619532 0.53635912 0.14323813 -0.49039223 1.05985444 0.73552519 +H 1.76905400 0.50423078 -0.48968837 0.44412022 0.17228901 -0.29508083 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.638978223865 pbc="F F F" +C -0.34312712 0.20465997 0.38672742 -0.54781922 -0.29365062 1.23162007 +C 0.04060309 1.04607715 -0.81001213 -0.21965209 0.24724436 -0.53062301 +O 0.32439700 -1.13769055 0.43364513 -1.84354026 1.35241224 -0.51381776 +H -0.20053247 0.67377927 1.43120347 0.53073537 -0.33080534 -1.22906131 +H -1.48306969 0.31493992 0.32649751 0.54865056 -1.50150064 0.18934623 +H 0.94371081 1.61964035 -0.76785239 1.75976716 0.05077041 0.29815278 +H 0.07281124 0.40773905 -1.71901300 -0.06043586 0.09926740 0.02883874 +H -0.64118601 1.90018799 -1.00671192 -0.66950618 -0.36149527 0.08338656 +H -0.23709279 -1.76270028 -0.10363407 0.50180042 0.73775748 0.44215780 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.782613862582 pbc="F F F" +C 0.05815509 -0.39641818 0.44559008 0.96556747 -0.55141301 -0.14006670 +C -1.06768048 0.60885201 0.28987192 -2.39740790 -2.44650175 0.38774378 +O 0.87875987 -0.18568760 -0.68711745 1.37420744 -0.01796055 -0.46560318 +H 0.75418727 -0.35658100 1.32736309 -0.77823015 0.82420977 0.38554286 +H -0.19613604 -1.48598983 0.50612572 -0.87711157 0.15745477 -0.21561284 +H -1.90879396 0.44561585 1.03019701 0.79367235 0.49472207 0.19269360 +H -0.67794968 1.60129607 0.26460399 0.29804099 1.34312711 0.06226659 +H -1.69296824 0.39421760 -0.64301179 1.12999750 0.22906233 0.30359509 +H 1.80138653 -0.18395159 -0.34224036 -0.50873613 -0.03270074 -0.51055925 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.749322846944 pbc="F F F" +C 0.16737817 0.07484832 0.58635485 0.65374542 0.50102158 -1.41295634 +C -1.28418135 0.20904073 0.05909077 1.65620299 0.42077336 1.07303793 +O 0.96403713 -0.27465724 -0.60912513 -0.62733627 0.79501067 1.32251148 +H 0.67196867 1.01071560 1.15245422 -1.35100821 -1.33239696 -1.05350700 +H 0.27424090 -0.77742227 1.26605841 -0.25439424 -0.36081835 0.67982299 +H -1.93415203 0.19302524 0.93714843 -0.78933243 -0.25414201 0.01179695 +H -1.37066064 1.16440191 -0.43806791 -0.22595088 0.92781636 -0.37232101 +H -1.45353867 -0.53822439 -0.72862295 -0.20694929 -0.53162579 0.28221996 +H 1.81656206 -0.07710795 -0.21129007 1.14502298 -0.16563890 -0.53060506 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.567538808752 pbc="F F F" +C 0.24842963 -0.03615575 -0.56621123 1.68635875 -0.42284917 1.07746794 +C -0.61030858 1.17445019 -0.07375337 -1.61940710 -2.31651290 -1.20020118 +O 0.35079664 -0.97159820 0.58401561 -0.05443531 -1.19247733 -0.45016936 +H -0.27721337 -0.58642886 -1.35476141 -0.07599767 0.17408704 -0.74208161 +H 1.35903616 0.22091728 -0.88757672 -1.79030699 -0.15188597 0.19306672 +H -1.47536538 0.56930922 0.34805237 0.38134121 0.88938926 0.12937672 +H -0.16697596 1.75572211 0.69352321 0.88711394 0.70774333 1.32462976 +H -1.08613320 1.88911328 -0.80373178 0.68467755 -0.60915569 -0.14750881 +H 0.38952011 -1.99161461 0.36007449 -0.09934443 2.92166141 -0.18458018 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.707771089678 pbc="F F F" +C 0.26753153 -0.07557777 -0.48154100 -1.42768769 1.09749031 0.10038300 +C -0.67144123 1.15310426 -0.10020622 2.10665239 -0.04856173 -2.54311679 +O 0.33379772 -1.02469160 0.52818545 0.94590125 -0.31249260 0.46318336 +H -0.17642392 -0.54573208 -1.34900479 -0.81356694 -0.60179369 -0.67410152 +H 1.21479105 0.23037864 -0.95913943 0.80439124 0.35847932 0.61110921 +H -1.61125947 0.92700903 -0.61927223 -0.50906831 0.52718904 0.20300188 +H -0.80001148 1.40476427 0.93626427 -0.09358027 -0.27025589 1.20117023 +H -0.13449636 2.04435760 -0.56008493 -0.93431015 -0.31957908 0.12779786 +H 1.02094073 -0.63687189 1.09930646 -0.07873152 -0.43047568 0.51057277 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.907619838433 pbc="F F F" +C -0.31444585 0.33868705 -0.26287661 -0.53577972 -0.00504461 -0.80810993 +C -0.55798006 -0.02142158 1.23136842 -0.99383044 1.20902886 -0.00206784 +O 0.77171889 -0.33320566 -0.92464306 -0.98280529 0.17935893 0.39592220 +H -1.20657307 0.05271258 -0.97311897 0.88349629 0.56585284 1.50054943 +H -0.20305571 1.49589354 -0.27715562 -0.13688224 -1.18674156 -0.29301207 +H -1.53577078 0.48444806 1.52130256 0.48721475 -0.57367543 -0.19044584 +H -0.60104443 -1.06900153 1.52760674 -0.25712568 -0.79422530 -0.43238056 +H 0.13916619 0.40347956 1.98173996 0.51305692 0.31997528 -0.43398786 +H 1.55241516 0.13950002 -0.64380945 1.02265539 0.28547097 0.26353246 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.315584502989 pbc="F F F" +C 0.36707825 -0.07076848 -0.45245911 0.76816957 -0.71126873 0.42387926 +C -0.53841000 1.07164122 -0.28926603 2.90511307 1.70910628 2.81159718 +O 0.20191703 -0.91897789 0.64612441 -0.88018008 -1.75745209 0.91945195 +H 0.19069470 -0.61492428 -1.35908424 -0.07280477 -0.67993232 -1.52656664 +H 1.47130128 0.20504299 -0.42760099 -0.86802729 0.16361925 -0.26770855 +H -0.54997039 1.87023768 -0.94356832 0.28039062 1.96819484 -2.51108809 +H -1.47999888 1.05277133 0.12159799 -3.48372280 -1.59262061 0.49611607 +H -0.12961210 1.55784504 0.65230699 0.21708119 0.14823896 -0.45079707 +H -0.66690270 -1.41168683 0.53864032 1.13398055 0.75211452 0.10511583 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.461662261495 pbc="F F F" +C 0.34811696 -0.08556860 -0.47801690 0.59008946 1.31086160 2.52551825 +C -0.63515927 1.28101543 -0.23710155 1.60752690 -2.79176363 -2.15246026 +O 0.29205260 -1.06376447 0.67111091 0.75784669 2.07802228 -1.93821906 +H 0.25820720 -0.51057284 -1.49305421 -0.74606600 -0.42595763 -0.06328510 +H 1.43086971 0.21880314 -0.46118310 -0.46626828 0.15055850 0.12247752 +H -0.55584833 1.89387566 -1.22975816 -0.51253257 -0.82751225 1.44045563 +H -1.60901024 0.71392692 -0.09818617 0.29414273 1.36982036 0.11012188 +H -0.22813349 1.88184722 0.60083186 -0.44450203 -0.25423565 0.10691247 +H -0.51251073 -1.55890566 0.54997412 -1.08023702 -0.60979353 -0.15152133 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.436230992776 pbc="F F F" +C 0.19849875 0.43331988 -0.33793097 -1.23474206 -0.54032502 0.07622485 +C -1.29533487 -0.08768482 -0.30141161 1.80962226 2.26904625 4.58831291 +O 1.00822693 -0.33848662 0.53379397 0.55617480 0.22639018 -0.86441716 +H 0.37379827 0.24018893 -1.39564532 1.44528057 -0.20229678 -0.51486476 +H 0.30380092 1.54949649 -0.24001272 -0.09278955 -0.35935591 0.39972630 +H -1.40151437 -0.73675125 -1.09588665 -1.07936269 -1.48436690 -2.37135629 +H -1.28323442 -0.73841356 0.67045981 -0.65157263 1.07164598 -1.24305742 +H -1.87022408 0.87471802 -0.20387761 -0.68187222 -1.14440221 -0.34764983 +H 0.94242387 0.06356586 1.41031696 -0.07073843 0.16366440 0.27708140 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.771816846616 pbc="F F F" +C -0.01628524 -0.52093950 0.19819289 -0.19198331 1.42288126 2.23129288 +C -1.19024629 0.57648112 0.37399220 -0.31092114 -1.63877635 0.00937589 +O 1.09691453 -0.08066876 -0.54867815 -0.94912352 -0.72391388 -0.71485105 +H 0.29036503 -0.97441867 1.21942017 -0.24377537 0.55732022 -0.86929403 +H -0.46118946 -1.32140114 -0.34878186 -0.55038431 -1.19808408 -0.78655281 +H -2.11287665 0.15266950 1.04563092 2.07111284 1.09040676 -1.30349014 +H -0.83251826 1.60716442 0.63601946 -0.12237504 -0.55146916 0.48453870 +H -1.53160179 0.67600826 -0.67947478 -0.44223164 0.17385296 0.15789150 +H 1.61224062 0.47712345 0.01834807 0.73968148 0.86778227 0.79108901 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.985702966676 pbc="F F F" +C 0.12451712 0.50366051 -0.12080586 0.02718927 0.70426998 -0.62969963 +C -1.02756101 -0.23757466 -0.75475573 -1.81359652 1.25664463 0.33419627 +O 0.85958776 -0.20277382 0.84287495 -0.13561982 1.23674763 0.65662449 +H 0.77187259 0.88160678 -0.92909255 0.62676996 -0.22528265 -0.59605642 +H -0.24719827 1.49994742 0.23774975 -0.06846953 -0.48442701 0.70181596 +H -1.42312800 0.37152349 -1.61189622 0.02733747 -0.09354643 0.37880482 +H -0.85342729 -1.19861015 -1.19919993 0.82496033 -1.22187420 -0.36951460 +H -1.89413601 -0.39324247 -0.04539086 0.47770645 0.13969636 -0.26176642 +H 0.76122602 -1.11472436 0.60183499 0.03372245 -1.31222830 -0.21440452 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.594447943747 pbc="F F F" +C -0.14007292 0.29303595 -0.46155801 3.71057136 4.01020263 2.12634001 +C -1.16190240 -0.06763640 0.51123856 -0.16961069 -3.79107551 0.14641034 +O 1.15320818 -0.20370393 -0.02553275 -1.79558717 -0.99963296 1.32908425 +H -0.38439612 -0.09958488 -1.40469997 -0.55959426 -0.25414304 -2.29078453 +H 0.01552533 1.49745619 -0.39535803 -0.76742323 -1.94111176 -0.94489472 +H -0.88397526 -0.02860901 1.55118417 0.47209692 0.75240845 0.94612998 +H -2.10541918 0.39025959 0.32742745 -1.31220850 0.66331825 -0.22554568 +H -1.27096292 -1.21178897 0.37733281 -0.38501172 1.04617637 0.19222695 +H 1.83739417 -0.00164664 -0.64259340 0.80676730 0.51385761 -1.27896659 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.574899760438 pbc="F F F" +C 0.08983278 0.51106861 0.09881344 -0.30594786 -0.44301089 1.70622053 +C -1.22400730 -0.20884349 0.42542931 0.82844602 -0.66831324 2.63148075 +O 1.02638242 -0.22564247 -0.52440165 2.48378214 -2.97335490 -2.41215606 +H 0.06957407 1.37966509 -0.51661530 -1.16180072 1.42159998 -1.07611492 +H 0.61773679 0.92257655 0.96299630 -0.54362210 0.36762530 1.55905670 +H -1.81339687 0.37255189 1.18468660 0.38566843 -0.24424609 0.04408240 +H -1.94116491 -0.32899963 -0.34549833 -0.71772138 -0.34191236 -1.80238650 +H -1.01299490 -1.28656039 0.89056950 -0.27890627 1.90981366 -0.73618931 +H 1.30203484 -1.08036898 -0.09904166 -0.68989843 0.97179849 0.08600646 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.314988045795 pbc="F F F" +C -0.38511034 0.37299036 -0.29917237 -0.66286368 0.40048535 -0.72173641 +C -0.47791357 -0.05008979 1.17623193 -2.63246718 3.76974424 -0.32926335 +O 0.77695250 -0.31401719 -0.86158053 -0.36403470 1.01380781 1.90756883 +H -1.36513338 0.01896182 -0.77640347 1.08941246 0.39925888 -0.07771825 +H -0.22950243 1.48253632 -0.51508207 -0.54135973 -0.59430715 0.40056855 +H -1.36632216 0.33778165 1.81555038 0.66258919 0.14216771 -1.19208539 +H -0.76771012 -1.02265909 1.04580005 0.30891923 -3.76345126 0.55860948 +H 0.33554238 0.33102294 1.74042655 1.79163183 -0.42925554 0.92800318 +H 1.34315300 -0.01234515 -0.08522614 0.34817269 -0.93844999 -1.47394668 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.696068979944 pbc="F F F" +C 0.43887194 0.31621525 0.21457848 0.88735336 -0.99496908 0.76528392 +C -0.70095898 0.90710747 -0.66642774 0.64912082 -2.29829354 1.88514170 +O 0.27593449 -1.11817757 0.45150627 0.36395762 1.34644337 0.45250521 +H 1.50098830 0.44567832 -0.26557954 -1.40229474 0.23647909 0.50022968 +H 0.47990006 0.79596429 1.30221966 -0.11648366 -0.40921100 -1.95868443 +H -0.92737359 0.41169461 -1.61441076 0.09937883 -0.62171296 -0.25660333 +H -1.59118576 1.03690368 -0.06413686 -0.88630167 -0.20723710 0.32061642 +H -0.38986219 1.84952100 -0.89943435 0.96739532 3.54836627 -1.04868520 +H -0.33041319 -1.36923995 -0.24130744 -0.56212587 -0.59986510 -0.65980402 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.988800006548 pbc="F F F" +C -0.23845185 0.44624142 0.23952146 0.65676893 -1.42801545 0.79685065 +C -0.54561243 0.05633819 -1.19733372 -0.03077596 0.36625217 0.26641986 +O 0.73781819 -0.41531892 0.89894605 -0.18011859 0.08346020 -0.16697871 +H 0.20545098 1.44700357 0.36312747 0.22561186 0.28416932 -0.45313965 +H -1.18753336 0.54940276 0.82905845 -0.02514416 -0.47303702 -0.03278991 +H -1.32862143 0.70764626 -1.55805793 -0.83591513 0.76864214 -0.34434575 +H 0.28139207 0.23385608 -1.90132911 0.41207686 -0.40270339 0.00998421 +H -1.00238667 -0.94605605 -1.30649912 0.38286521 -0.26697532 0.13203946 +H 0.66202912 -1.38962578 0.71777457 -0.60536901 1.06820728 -0.20804011 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.886650983688 pbc="F F F" +C -0.01677444 0.51316344 0.16646396 1.11701028 0.73103831 -0.23718085 +C -0.75533318 0.02694905 -1.10555227 -0.04653719 -1.25852647 0.06652644 +O 0.73515678 -0.44493797 0.86526167 1.40609715 0.69174304 -0.49656719 +H 0.84290557 1.24323178 -0.07005919 -1.29306761 -0.28187497 -0.37755151 +H -0.66535990 1.07272420 0.87636509 -0.48428076 0.03922625 -0.14192715 +H -1.42436748 0.76838473 -1.57227980 0.06704858 0.31110066 0.02168968 +H -0.05380167 -0.36005314 -1.85982860 0.59724705 0.50208802 -0.31962032 +H -1.36746341 -0.93511703 -1.04814064 0.07196124 0.83549707 0.91865763 +H 0.19818646 -1.16403465 1.12958577 -1.43547875 -1.57029186 0.56597322 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.681109739753 pbc="F F F" +C 0.08112668 0.29832957 0.51822314 -1.01096448 1.00529921 1.12057723 +C 0.10285892 0.84623788 -0.83759937 1.85117402 0.31517550 -1.25258110 +O -0.18448818 -1.02273932 0.25560619 -0.28523782 -1.38053832 0.12671321 +H 0.98157464 0.54481751 1.09530917 1.02992154 -0.41139032 0.04218991 +H -0.67725152 0.82624571 1.20524191 -0.11991115 -0.46299500 -0.69485063 +H 0.03030314 1.92290941 -0.75631228 0.32009613 1.00248344 -0.73987005 +H 1.00394305 0.39154830 -1.41780633 -0.85577532 1.13951485 0.77510060 +H -0.72796267 0.43004034 -1.37626251 -1.19510484 -0.09183968 -0.50865869 +H 0.12446426 -1.52151097 0.99821423 0.26580192 -1.11570966 1.13137952 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.507172885442 pbc="F F F" +C -0.28433695 -0.42217653 0.28520194 2.66452247 -3.28952254 0.21631151 +C -0.94098981 0.85357972 -0.04149750 -0.67460432 -0.00977205 2.25417010 +O 1.09540772 -0.36348398 -0.19462977 -0.27408123 1.39313503 1.28063159 +H -0.04450617 -0.55794041 1.35829343 -0.87859078 0.44338648 0.48027298 +H -0.67504209 -1.53298887 0.03988528 -0.21051804 2.34593769 -0.10510617 +H -1.84344023 1.00485159 0.56234672 -0.39372026 0.14659777 0.26754163 +H -0.25398748 1.67381990 0.14892312 0.56416507 0.39649067 0.53970543 +H -1.20143460 1.00083388 -1.02649178 -0.86446292 -0.03691663 -3.19115055 +H 1.23071370 -0.96099983 -0.89753035 0.06729006 -1.38933643 -1.74237657 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.152865182792 pbc="F F F" +C -0.09988888 -0.12348080 0.63547731 5.32736992 -1.06628436 -0.53255093 +C -1.11571828 0.50006249 -0.18557110 -1.65602569 2.06184525 0.71399873 +O 1.03996233 -0.37121986 -0.40924914 0.09898936 -0.03462701 0.50046956 +H 0.40067286 0.66812599 1.34491922 -1.19084077 -1.65917498 -0.20208698 +H -0.31574837 -1.23276790 0.99728329 0.10579903 2.22454204 0.10779554 +H -1.90852693 0.76859277 0.61478761 0.20460316 0.05341402 -1.41783748 +H -0.66745955 1.44941251 -0.69210612 -0.87680139 -1.31764829 0.67332396 +H -1.50210310 -0.21779727 -0.91730433 -0.30770521 0.03025459 -0.37605821 +H 1.96975369 -0.03193769 -0.21253987 -1.70538847 -0.29232126 0.53294580 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.940666663627 pbc="F F F" +C 0.31294416 0.34482919 0.27049014 -0.02942104 0.09638210 0.89294453 +C -1.09303903 -0.07087836 0.72439043 1.35906507 -0.39002651 -0.24873215 +O 0.68442610 -0.23272039 -0.92119050 0.00268490 -0.16570236 -1.75236840 +H 0.25975716 1.42920333 0.09422053 -0.02116816 0.59100261 0.03381521 +H 1.10447149 0.24998754 1.04981619 -0.11583986 -0.30528173 0.23158839 +H -1.24729726 0.38569827 1.68306654 -0.47633425 0.19659330 1.28706794 +H -1.73310964 0.43405516 0.03697259 -1.28344793 0.33596030 -0.93278178 +H -1.30489110 -1.16098993 0.70936081 0.20106301 0.11968829 0.16446257 +H 1.35161242 -0.90982050 -0.80612582 0.36339830 -0.47861605 0.32400364 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.633949399406 pbc="F F F" +C -0.30895504 -0.48478859 -0.01982604 0.27912204 -0.76640976 -0.92504842 +C -0.80744107 0.84903078 0.47347126 -3.12641411 -2.26907803 -2.09247954 +O 1.00881422 -0.25614397 -0.41269704 2.10978600 -1.66672235 0.02157475 +H -0.47588892 -1.25080674 0.75822777 0.48629779 -0.14566394 0.93902453 +H -0.76893337 -1.06545497 -0.86861072 -0.98079813 1.01424593 -0.16456197 +H -1.87941781 0.57377482 0.72528661 0.30779735 1.11222191 -0.26501177 +H -0.34256769 1.01036138 1.38287053 1.50582780 0.96322232 2.30278937 +H -0.67126582 1.61897161 -0.29648441 -0.17313403 0.36511498 0.09523909 +H 1.42688007 -1.16282067 -0.55607444 -0.40848477 1.39306895 0.08847390 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.85521142863 pbc="F F F" +C -0.21713529 0.32058852 0.40878209 -0.37141418 -1.23424481 1.15918097 +C 0.38550252 0.89311597 -0.81436224 -0.25291421 -0.48650235 -0.06720563 +O -0.09557728 -1.10149637 0.41893703 -0.95870875 -0.71461759 -0.69324699 +H 0.23802919 0.75404242 1.33653632 0.06849869 -0.37370966 -0.14399160 +H -1.31485188 0.49532086 0.50733832 0.07217315 0.81067548 -0.18652748 +H 0.16352845 1.91753162 -0.76203528 0.22159420 2.51496500 -0.15916435 +H 1.43493300 0.66172826 -1.00976288 0.46520615 -0.00245890 0.27682604 +H -0.19118881 0.56901883 -1.65792663 -0.54702105 -0.63171831 -1.23203706 +H -0.82058444 -1.37729503 -0.23116236 1.30258594 0.11761119 1.04616619 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.406010029348 pbc="F F F" +C 0.19838677 0.08455086 -0.47886051 0.06734133 -2.64992961 2.49213206 +C -1.32053861 -0.00572671 -0.33869122 0.71729468 -0.38851984 2.97391566 +O 1.06579446 -0.04636833 0.70370514 -0.63766434 0.77111590 -0.66750746 +H 0.61617793 -0.53776459 -1.26229035 0.00273046 -0.81957340 -0.71637149 +H 0.27412113 1.04454839 -0.81076661 1.30285179 3.53922831 -0.96989768 +H -1.81040162 0.92869080 -0.43420900 -0.50240216 1.84390793 -0.69107934 +H -1.81965598 -0.67329788 -0.97239738 -0.88448385 -1.68421589 -1.34056634 +H -1.65076319 -0.20068217 0.72408707 0.43551355 -0.53383812 -0.40776645 +H 0.84344578 -0.76624857 1.32742445 -0.50118140 -0.07817529 -0.67285895 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.603071502226 pbc="F F F" +C -0.11934938 -0.16266489 -0.43840644 -0.40731985 -1.63981590 -0.47496483 +C -0.17602092 1.30582717 -0.20053667 -0.02764081 -0.48606490 -3.38602003 +O 0.23989908 -1.01438933 0.63270603 -0.55081656 0.31755187 1.07096916 +H -1.13334624 -0.37727485 -0.92659938 0.56886829 -0.70519568 0.60286723 +H 0.63686295 -0.35326998 -1.19210223 0.32549092 0.11930874 -1.19668911 +H -0.83131213 1.59193441 -1.11290237 1.01851036 0.57341127 1.21153255 +H -0.62810930 1.60335360 0.67427091 -1.66297173 0.75188400 2.65817637 +H 0.81113471 1.73171588 -0.23320489 0.93172413 0.76277401 -0.13337890 +H 0.85543299 -1.71820704 0.36106505 -0.19584475 0.30614660 -0.35249235 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.684502552204 pbc="F F F" +C 0.15878372 -0.38060333 -0.38045391 1.77250277 1.61815229 0.35973504 +C -1.22770553 0.15283878 -0.35938066 -1.56591137 -2.22185205 -2.97409620 +O 0.96759275 0.16174810 0.72263495 0.39158670 0.48477009 -0.42624267 +H 0.19803998 -1.49400391 -0.47425024 0.12604750 0.19987680 0.82660861 +H 0.62822030 -0.02827326 -1.30177920 0.30143675 -0.00186575 -0.80908288 +H -1.35365821 1.18204123 -0.70210359 0.14523087 0.61416677 0.29107402 +H -1.79049995 -0.49017608 -1.22524877 0.72553368 1.24137047 1.71238943 +H -1.72114572 -0.07811975 0.56633089 -0.66357238 0.05621405 1.01280688 +H 1.41646577 1.05360683 0.48233467 -1.23285451 -1.99083269 0.00680772 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.243142286485 pbc="F F F" +C 0.51875496 0.24810104 -0.03886957 -1.83355651 -1.58894327 1.58063428 +C -0.77671469 0.97475347 -0.38146767 0.96479049 1.86502724 2.59889648 +O 0.29824774 -1.07565132 0.42400224 -1.38483854 -1.78021479 0.74923884 +H 0.94189921 0.05130744 -0.97440182 2.02937015 0.71781630 -2.14757280 +H 1.18734564 0.50945237 0.78464672 0.47763621 1.64590592 -0.21010949 +H -1.07975746 0.49677436 -1.23483975 -1.52184661 -1.90101467 -2.73389271 +H -1.63270161 0.90328239 0.39412178 1.23810538 0.63179554 -0.74217617 +H -0.49584465 1.97072051 -0.83690179 -0.59780791 -0.01142650 0.96312683 +H -0.58225525 -1.43047063 0.14580729 0.62814730 0.42105423 -0.05814521 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.745151120473 pbc="F F F" +C -0.05513924 -0.49480564 0.22501742 -0.12758857 0.20171206 -2.10607405 +C -1.14942649 0.52437518 0.34180163 1.10853808 -0.39301228 0.31317353 +O 1.09156173 -0.07602083 -0.55998515 -0.06877410 0.70738543 1.66072988 +H 0.19496579 -0.62052304 1.23797892 1.04074434 -1.21997740 2.05471290 +H -0.47140703 -1.42440345 -0.23160437 0.38542361 0.03826307 0.14163960 +H -2.05573161 0.09712172 0.69176635 -1.30681623 -0.65301260 1.12834392 +H -0.80611192 1.35371735 0.93063270 0.07403530 0.94039899 0.93573120 +H -1.40956468 0.91237167 -0.57844982 -0.59968050 1.18184072 -2.92461705 +H 1.57381116 0.53456877 0.08426046 -0.50588200 -0.80359800 -1.20364003 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.71921859751 pbc="F F F" +C -0.37958935 -0.44173153 -0.17645315 2.06291200 0.60163839 0.60066179 +C -0.85029918 0.74938495 0.66255124 -0.12180348 -1.67367971 0.63629976 +O 1.12218157 -0.32307323 -0.43821439 -2.68113216 -2.64952131 1.63675233 +H -0.46365445 -1.36540094 0.46282145 0.21913134 0.36226187 -0.47574310 +H -1.11127741 -0.59144511 -1.00617555 0.79497112 0.03735706 -0.65830728 +H -1.94056620 0.77456990 0.66545152 -0.69927324 0.15739990 -0.00551867 +H -0.54856564 0.56938710 1.70834213 0.19486310 0.32080354 0.17906325 +H -0.48030587 1.70050745 0.34060122 0.48592395 1.11319795 -0.55819687 +H 1.38604012 0.37311623 -1.00749033 -0.25559258 1.73054225 -1.35501121 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.875770710464 pbc="F F F" +C -0.29591476 -0.42196494 -0.23629286 -0.19927568 -0.33083902 0.93508128 +C -0.88001645 0.73841000 0.67110709 0.00192905 -2.08010482 0.71537956 +O 1.07966789 -0.32847045 -0.40111922 0.89439206 -1.21375224 0.46481684 +H -0.39276738 -1.37649780 0.34446190 -0.39572402 0.24125343 -0.11402749 +H -0.76528291 -0.66053291 -1.25091505 -0.42545766 0.76465009 0.77180321 +H -1.85385148 0.36566629 1.05204787 -0.15486783 0.10458310 0.04061357 +H -0.26349177 0.93076460 1.62271430 -0.28665290 -0.31469367 -1.26085492 +H -1.11190728 1.66152577 0.17715176 0.08463164 1.14161837 -0.74098092 +H 1.26084647 0.52071874 -0.75963267 0.48102533 1.68728471 -0.81183103 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.698631810018 pbc="F F F" +C 0.10459869 -0.22821307 0.51332146 0.87498136 0.12601377 -2.89212725 +C 0.69721512 1.09526797 0.05687605 -1.01004541 0.37717453 1.13797486 +O -0.70937558 -0.85463933 -0.49817711 -0.71475484 2.03699954 -0.32214375 +H 0.97433899 -0.80157030 0.70682245 1.37893199 -1.89734838 -0.15222720 +H -0.30393197 -0.22552176 1.47353682 -1.81732390 0.62359069 2.24515802 +H -0.19049908 1.64959335 -0.23706633 -0.48355921 1.04084745 -0.43390754 +H 1.13727129 1.67196307 0.91848495 0.11793932 -0.33138060 -0.57490436 +H 1.34671225 1.02077869 -0.82103564 0.40335876 -0.14909699 -0.11193502 +H -1.25918540 -0.08264172 -0.92751768 1.25047192 -1.82680006 1.10411224 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.449791508716 pbc="F F F" +C -0.32062448 -0.47028959 -0.19537446 0.07746870 2.30645150 -0.83323522 +C -0.82663447 0.70648466 0.71593335 -4.39227569 -1.57797597 -4.99869356 +O 1.06763874 -0.25145432 -0.41194409 0.06625761 -2.05440087 0.97161276 +H -0.51885211 -1.50240804 0.10979278 0.42750179 -0.39014493 0.98230850 +H -0.98040251 -0.44053389 -1.11269268 0.53372006 0.17240358 -0.11462028 +H -1.89320412 0.31563418 0.97782156 1.19041088 1.10357112 0.29133360 +H -0.19524200 0.82411330 1.51239744 1.88446103 0.82173251 2.65510925 +H -0.98526690 1.60945305 -0.06128034 0.56683922 -1.32214813 2.05749031 +H 1.29579530 0.36914667 -1.09012443 -0.35438355 0.94051119 -1.01130531 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.657830856152 pbc="F F F" +C -0.06388029 0.44275737 -0.37338588 -1.64889571 1.47235717 1.41522765 +C -1.13184529 -0.23275059 0.45542329 -2.05231514 -0.60543741 -3.04721197 +O 1.07515538 -0.22419120 -0.09352515 4.08070683 -0.27229725 0.74363322 +H -0.22113522 0.46591156 -1.43554340 -0.85339314 -0.09607126 -1.47415278 +H -0.11401225 1.51930724 -0.05192439 0.45852385 0.03905672 -0.04480581 +H -1.02762273 -0.16020515 1.46612479 1.38861436 0.49813284 3.70455287 +H -2.16413650 0.18355813 0.39047955 0.05995599 -0.01253413 -0.83005625 +H -1.18389639 -1.31998904 0.27810274 -0.06050404 -0.19601372 -0.37092449 +H 1.89184872 0.36612706 -0.14024524 -1.37269295 -0.82719297 -0.09626244 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.676878881836 pbc="F F F" +C -0.36266926 -0.37434914 -0.20753849 1.14600159 1.88146873 -0.69073399 +C -0.77258348 0.77229755 0.73114687 0.25277218 -1.14710809 1.64391213 +O 1.01379459 -0.41045183 -0.52847098 1.15272441 0.15121213 0.38741396 +H -0.63655047 -1.34528900 0.19156220 -0.74156677 -0.71059242 0.14682984 +H -0.77712538 -0.12480875 -1.16981311 -1.26148442 -0.53679741 -1.01101590 +H -1.68624948 1.31635540 0.45284052 -0.35069514 -0.13428208 -0.17028494 +H -0.96080170 0.18042725 1.68500473 0.01615517 1.33613149 -0.13144903 +H 0.00107701 1.57387812 0.89651701 -0.11673661 -0.58592257 -0.13949756 +H 1.49409851 0.17120095 0.09313897 -0.09717045 -0.25410972 -0.03517450 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.378093369745 pbc="F F F" +C 0.16632088 0.53192914 -0.14735808 1.78418540 -1.19490080 -3.24754427 +C -1.05616300 -0.16167697 -0.73576409 -2.03257919 1.74904566 1.53248655 +O 0.81778143 -0.34315885 0.76223496 -0.63056733 -0.28195400 -0.04090020 +H 0.95575986 0.69607150 -1.02709431 -1.38190846 0.40419499 1.18930526 +H -0.12292395 1.42833030 0.32428215 -0.22264995 2.04813900 0.72912669 +H -1.63807710 -0.04167588 -1.65871943 0.93087762 0.84548175 -0.83549440 +H -0.75955142 -1.13161487 -0.66437727 0.87237462 -3.93843201 -0.28325848 +H -1.92098238 -0.15069255 -0.02278309 0.35751952 0.21886014 0.34836130 +H 1.10727774 0.23321039 1.47281778 0.32274776 0.14956518 0.60791754 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.557065974522 pbc="F F F" +C -0.47698549 0.27693250 0.01379192 1.23943196 -1.60823915 -1.20588929 +C 0.88947264 0.99873212 0.17972724 -4.25940921 0.27071031 4.05016366 +O -0.41980299 -1.16556308 -0.23128821 0.57060023 0.92514524 -0.23208502 +H -1.11932648 0.34519918 0.85122815 -0.80684119 0.88728790 1.96068280 +H -1.09757084 0.69010767 -0.79977668 0.28789531 0.15898869 -0.47773509 +H 0.69172223 2.05095021 0.21300240 -0.19824246 1.44828177 -0.44207090 +H 1.37560294 0.89050940 1.16920918 -0.30039597 -0.63935963 0.39334400 +H 1.62384538 0.79382108 -0.44895815 3.51084497 -1.22771138 -4.08585254 +H 0.27319141 -1.47160866 0.38062630 -0.04388360 -0.21510376 0.03944243 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.522795103854 pbc="F F F" +C 0.05102361 -0.25557490 0.46829111 0.89832899 1.03701948 -3.54552104 +C -1.19289946 0.59971822 0.29604521 -0.57983970 -0.69156713 -2.30846652 +O 1.03114681 -0.37963967 -0.67456864 -1.11675076 1.02192695 0.92442662 +H 0.60543089 0.01086558 1.32312084 0.87521934 0.45411600 1.90227821 +H -0.22363461 -1.25583127 0.45422847 -0.95521071 -2.61710555 0.89280199 +H -1.93043366 0.27029756 -0.54722466 0.69481515 -0.42059997 1.62840390 +H -1.63900267 0.83734510 1.24859966 -0.84509865 -0.30796129 0.85812407 +H -1.04349798 1.56706867 -0.13271735 1.11411599 1.63506039 -0.31688405 +H 1.46906984 0.49407202 -0.74622985 -0.08557966 -0.11088889 -0.03516314 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539533154967 pbc="F F F" +C -0.01317670 -0.53152276 0.15595716 -2.73493807 0.75459533 0.55576039 +C -1.19285265 0.57504014 0.35820926 5.37743950 -0.36705369 -3.13411765 +O 1.08290529 -0.08127257 -0.52257151 1.23611184 0.76571520 -1.07317317 +H 0.27463078 -0.75781473 1.14969578 0.42440937 -0.75898600 2.07683319 +H -0.43116494 -1.50330857 -0.23578109 0.32863651 0.62374140 -0.39038985 +H -1.83999895 0.25864628 1.03368066 -3.69788564 -1.84890369 3.65578803 +H -0.67908218 1.45382621 0.76690228 -0.05781241 0.57059566 -0.17509018 +H -1.65517626 0.71890070 -0.59508204 -0.62842904 0.69423804 -1.05795681 +H 1.51160073 0.59976224 0.04870164 -0.24753206 -0.43394225 -0.45765389 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.60063049756 pbc="F F F" +C 0.27296957 0.35385312 0.39021190 -0.40846461 -1.02768190 -1.20249728 +C -1.22989649 -0.04736175 0.38346269 1.00109345 0.07829958 3.03554523 +O 0.86294462 -0.32921026 -0.68571054 0.11505068 -1.65109832 -0.18536601 +H 0.34702459 1.40480075 0.09415817 -0.33679627 0.90201086 0.67230915 +H 0.85933608 0.20921081 1.34545258 -0.57969623 -0.13414468 -0.11789366 +H -1.54163301 0.13988533 1.43775730 -0.52495583 0.33999452 -0.16227251 +H -1.74182614 0.60124208 -0.26297321 -1.15936495 1.42667652 -1.25281914 +H -1.66519396 -1.04202788 0.19938950 1.07016878 -0.64949893 -0.30463310 +H 1.44629171 0.25888588 -1.14842348 0.82296494 0.71544225 -0.48237269 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.82676875892 pbc="F F F" +C 0.16166103 -0.12093555 -0.52305014 1.00393832 -0.76076500 1.89195842 +C -0.40942991 1.19993102 -0.16531513 -2.66733727 2.60927407 -0.37020859 +O 0.22338086 -1.05043468 0.58846331 -1.22375466 -0.95065188 -1.92981325 +H -0.35813111 -0.64636260 -1.33928141 -0.10581862 0.10396506 -0.18806109 +H 1.19524127 0.08023342 -0.77421894 1.04400214 -0.01183567 -0.98723952 +H -0.36876378 1.96774460 -1.00094727 0.53219503 -0.65116321 0.14154879 +H -1.55304424 1.17863339 -0.09161354 0.89292710 -0.26343547 0.58121169 +H -0.01235777 1.81474546 0.71552911 -0.06904165 -1.14513297 -0.53482995 +H 0.50269577 -0.57996398 1.35225869 0.59288965 1.06974501 1.39543354 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.596373026738 pbc="F F F" +C -0.07902402 -0.26738329 0.54874038 -1.86281629 2.25797380 -0.97375510 +C -1.05527386 0.72313906 -0.20775190 0.95008645 0.38476402 0.73479212 +O 1.05604763 -0.36969526 -0.29741769 0.47199130 -1.35581211 1.01226176 +H -0.08250943 0.26028805 1.58277604 1.28020494 -1.08026669 -0.68470706 +H -0.58079138 -1.25494088 0.60503391 -0.11883226 0.01095321 0.45626694 +H -1.95954598 0.84970884 0.46320508 0.52393994 0.57537781 -0.63726094 +H -0.48021937 1.69806367 -0.57029849 -1.13661788 -1.48717938 1.14190299 +H -1.35928081 0.23449304 -1.12189560 -0.46212623 -0.35918236 -0.89725936 +H 1.21471923 -1.35163010 -0.30104945 0.35417004 1.05337165 -0.15224134 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614283638716 pbc="F F F" +C 0.32337506 -0.07307029 -0.44476757 0.29123584 0.73729987 1.92042203 +C -0.57664479 1.22734527 -0.23287643 -0.58980232 -2.97865549 -3.36501020 +O 0.31413371 -1.03334432 0.65229491 0.40695327 0.84660300 -0.44674557 +H -0.04311420 -0.57392615 -1.32227045 -0.76645573 -0.36637122 -1.20135849 +H 1.38243673 0.17297881 -0.76015199 -0.33244499 -0.17976640 0.94939497 +H -0.55281199 1.75788667 -1.21811127 0.39376304 0.33123364 0.36277167 +H -1.57107093 0.73549531 -0.38413490 -0.28357267 0.54899555 0.79724645 +H -0.58780260 1.91655436 0.57544424 0.55349211 0.59319916 1.44088239 +H -0.59700136 -1.36227735 0.82997326 0.32683134 0.46746178 -0.45760324 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.645904095824 pbc="F F F" +C -0.12773604 -0.42583428 -0.33820646 -2.02493006 2.39507725 0.73794460 +C 0.51421120 0.92461392 -0.90055856 -0.02197394 -0.81563329 4.00980658 +O -0.30558669 -0.43957845 1.12946264 0.48277862 -0.04787689 -1.19201911 +H -1.15876354 -0.59165096 -0.76626445 0.48126784 0.29384233 -0.17567418 +H 0.48238034 -1.17984166 -0.74251832 1.32259571 -2.10903190 -0.26691217 +H 1.62169661 0.87334128 -1.01495827 -0.19844048 0.00442610 0.46884576 +H 0.15691795 1.24613055 -1.81801118 -1.29683032 0.37702294 -2.63569407 +H 0.19064709 1.74073621 -0.17373339 0.63615778 -0.52609910 -0.45421345 +H -1.04844972 -1.05612749 1.34834317 0.61937485 0.42827250 -0.49208401 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.592954969869 pbc="F F F" +C -0.18440395 -0.08760169 -0.42726485 1.53655450 -3.41113288 0.34589896 +C -0.17797570 1.30978286 -0.11328845 0.24932819 2.03662354 0.24094551 +O 0.28942246 -1.15299761 0.49889215 0.42548650 2.30919780 0.13534574 +H -1.18904675 -0.30709922 -0.64708688 -1.96988982 -1.10428795 -0.51577031 +H 0.38445712 -0.21123090 -1.32780149 0.67980536 -0.39748034 -1.38719676 +H -1.01410164 1.51504372 0.56310143 0.28043561 0.72413751 0.85461102 +H 0.84366462 1.66976461 0.11416441 -0.14969616 0.38609570 0.69755364 +H -0.42879054 1.82353495 -1.06520041 -0.09839312 0.12727855 0.00936478 +H 1.12686674 -0.75317723 0.88500523 -0.95363102 -0.67043199 -0.38075258 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5255626840135 pbc="F F F" +C -0.12858642 -0.12957799 -0.58959079 -0.48952890 -1.11217743 1.42337250 +C -0.12439814 1.19628404 -0.00099841 2.27842703 0.78765839 0.13631464 +O 0.15598962 -0.98140917 0.52877678 0.79436969 -1.04188160 -0.84078922 +H -1.03039559 -0.51503039 -0.97315507 -2.45098616 -0.33616110 -0.37685674 +H 0.42925720 -0.16033329 -1.50281855 1.85927624 -0.43460055 -0.87098350 +H -0.66003472 1.21380532 0.92100514 -0.84513629 0.26089522 1.06441146 +H 0.97106308 1.30850982 0.22411798 -0.31965780 0.38865246 0.47078823 +H -0.29868698 2.01814063 -0.64042365 -0.85905903 1.51532382 -1.20199329 +H 1.12631345 -0.99928707 0.61531897 0.03229517 -0.02770920 0.19573594 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.471352092566 pbc="F F F" +C -0.07910110 -0.10506327 0.54015037 1.36782827 -0.46102965 -0.04780443 +C -1.12910510 0.68310684 -0.22070734 -2.54785806 -5.99162123 0.23758919 +O 1.07280325 -0.54229711 -0.31951318 -0.48085338 1.34966856 1.43706553 +H 0.34006677 0.64359459 1.29789496 -0.35562364 -1.17948158 0.04503685 +H -0.48317376 -1.11260156 0.94757467 0.16827228 1.57278990 0.13757793 +H -1.99097023 0.92830071 0.44819046 0.20491704 -0.12744207 -0.11336640 +H -0.77420816 1.54315715 -0.62225435 1.44008123 3.13976920 -1.91925562 +H -1.53818183 -0.14562425 -1.01298018 0.60487279 2.28217956 1.10082374 +H 1.81356939 -0.13826356 0.20681324 -0.40163648 -0.58483258 -0.87766678 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.69427375715 pbc="F F F" +C -0.48479267 0.10813953 -0.35964863 0.46196214 -2.78594780 -0.13304980 +C 0.43784533 1.16164988 0.01548451 -0.26809221 2.35303656 2.94078585 +O 0.07421104 -1.14963852 0.30929398 -0.78000339 2.56296330 -0.95630919 +H -1.48591623 0.41038130 -0.02262920 -0.58286620 -0.42364595 0.37859049 +H -0.58982591 0.01594598 -1.47485981 0.32911865 -0.44078483 0.20924462 +H 1.46200792 0.89290844 0.19365589 1.10735404 -0.67168710 -0.31784086 +H 0.40066666 2.05213264 -0.58299117 -0.01312595 0.80599288 -1.10747622 +H 0.11457970 1.59209476 1.03663804 0.39085121 -0.55631636 -0.78430531 +H -0.52105176 -1.84725112 0.04173927 -0.64519835 -0.84361086 -0.22963960 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.801366415802 pbc="F F F" +C -0.02821509 -0.07589263 0.58047626 -0.23912548 1.98200805 -2.15945454 +C -1.07774970 0.59811415 -0.30415880 -0.57863961 -0.02915668 1.93353343 +O 1.02216509 -0.53333431 -0.20878611 0.80052594 -1.91243119 -0.26756395 +H 0.37595862 0.63030405 1.26673677 0.29692981 1.22132080 1.56816129 +H -0.52913337 -0.84203022 1.13723516 -0.12022853 -1.38673987 0.50444989 +H -1.98672179 0.90782702 0.21407994 -0.51479288 0.02811744 0.87618613 +H -0.84685357 1.50302462 -0.81349382 1.17823943 1.21324547 -0.86875728 +H -1.44583366 -0.10592128 -0.98892594 -0.51627250 -1.50558962 -1.75604143 +H 1.38516630 0.14826948 -0.79411659 -0.30663614 0.38922566 0.16948646 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.897123198696 pbc="F F F" +C -0.15647501 0.21382569 0.54868059 0.31376370 -2.37149426 -0.75544847 +C -1.10246633 -0.42447907 -0.51007545 1.82541953 -0.44786097 1.23545092 +O 1.11364743 0.18472380 -0.05408761 1.02116287 -0.05440220 -0.33050149 +H -0.34334002 1.23884615 0.84411462 -0.97587061 0.75714015 0.42207799 +H -0.19962247 -0.52870726 1.42133399 -0.03994514 0.97866735 -0.08262150 +H -0.91729423 -0.03545196 -1.48884148 -0.13370589 1.02002994 -1.12226675 +H -0.84462907 -1.49913242 -0.63444422 0.04969852 0.02927269 0.33760175 +H -2.10138047 -0.36848994 -0.16831862 -1.89141108 0.19623926 0.20779231 +H 1.72959805 0.76941072 0.42468599 -0.16911195 -0.10759201 0.08791530 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827488331912 pbc="F F F" +C -0.28396554 -0.50356941 -0.02755871 -1.56026055 -0.98588825 0.35523988 +C -0.86836500 0.81996939 0.46059812 1.21689773 -1.34570361 1.53210433 +O 1.05528945 -0.25547058 -0.33875593 0.38469877 -0.87892764 -0.73078670 +H -0.48032795 -1.48265802 0.58142932 0.52202010 1.38405739 0.28853552 +H -0.87892090 -0.82619988 -0.91318183 0.05335961 0.35508381 -0.55203249 +H -1.94351326 0.79119574 0.56813724 -0.82324236 0.11175216 0.31944296 +H -0.31660752 1.13929655 1.39436908 -0.65361933 -0.15421564 -0.33131966 +H -0.55918765 1.50163285 -0.29580770 0.10630883 1.24107279 -1.08723685 +H 1.15784326 -0.83983892 -1.11788443 0.75383726 0.27276910 0.20605306 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712541862862 pbc="F F F" +C -0.29991694 -0.48363050 0.07664488 -0.63612893 -0.24649899 -1.33512583 +C -0.92647471 0.92290095 0.12013078 -0.21350088 -0.83670667 -2.50972021 +O 1.10981781 -0.36875509 -0.14126729 -0.23697305 0.44439281 -0.72418523 +H -0.34508824 -0.87429873 1.06267583 -0.76550586 -1.11644608 1.62486560 +H -0.94015053 -1.19512309 -0.66697230 1.53063850 1.17401881 1.25887131 +H -1.71116638 1.05870857 0.86348680 -0.27649864 0.03649271 0.43736989 +H -0.09953546 1.61053558 0.21264399 0.57235064 0.78157423 0.54247580 +H -1.34956814 1.13203577 -0.91729562 0.09613445 0.10305520 0.86931593 +H 1.44176460 -1.11435850 -0.65694708 -0.07051613 -0.33988206 -0.16386726 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.526921048107 pbc="F F F" +C -0.48038955 -0.21600333 -0.44324239 2.62278327 -0.80217109 2.47023113 +C 0.07354764 1.21933841 -0.26645627 -0.38143794 -1.77252678 2.06575199 +O 0.37144351 -0.86902828 0.61112789 -0.17235895 0.79941903 -0.63550503 +H -1.54122118 -0.45355440 -0.33021242 -0.81951797 0.70095377 0.69978901 +H -0.27852659 -0.71765394 -1.38045145 0.66563744 -0.00902627 -1.21890154 +H -0.46094983 1.90236472 -0.82496634 -1.68434460 2.16672207 -1.61243622 +H -0.01078419 1.48293580 0.84361567 -0.03543871 -0.23880286 -1.08168177 +H 1.12205960 1.34895682 -0.53276293 0.58590421 -0.48135742 -0.19542283 +H 0.12033778 -1.72597301 0.98095147 -0.78122682 -0.36321040 -0.49182474 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.716729268239 pbc="F F F" +C 0.16703037 -0.04635564 -0.54540895 0.32072954 2.04828088 -1.85727659 +C -1.19807382 -0.27967338 -0.08123327 -1.62940118 -0.46754730 0.77755446 +O 0.94022560 0.32900364 0.53810255 1.65448873 -0.96064016 1.28689146 +H 0.72263932 -0.79139091 -1.16590412 -0.64331141 -0.25093225 -0.10273659 +H 0.03288925 0.87086398 -1.15753862 0.64236093 0.08238517 -0.55106118 +H -1.47592878 0.52593046 0.61394851 0.18096829 0.56911635 0.04496439 +H -2.02201095 -0.27099698 -0.81746791 0.09025943 -0.66095150 -0.24725480 +H -1.15196615 -1.11659448 0.60542086 -0.71497333 -1.24739616 0.24151115 +H 1.25484623 -0.55671749 0.84716560 0.09887900 0.88768498 0.40740773 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.641436438648 pbc="F F F" +C -0.42044034 0.27429013 -0.30513164 2.14415950 0.83313315 0.11133271 +C -0.49536898 -0.01020053 1.20015414 -0.31792077 1.65800950 1.59266371 +O 0.80328689 -0.28580201 -0.88570037 -0.30388886 1.35268138 2.10204719 +H -1.21619048 -0.07173700 -0.89017186 -1.98213624 -1.35457644 -0.93450345 +H -0.48265453 1.39328207 -0.55130276 0.29699954 -0.54291803 0.68944350 +H -1.24393669 0.77986036 1.65890484 1.04805770 -1.37126614 -0.45785943 +H -0.77808868 -1.03332864 1.58314472 -0.01620222 0.43779330 -0.74461713 +H 0.52137152 0.20274646 1.74228894 -1.22652610 -0.05952836 -0.90576395 +H 1.36050625 0.11740175 -0.14898350 0.35745746 -0.95332830 -1.45274320 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.621462017683 pbc="F F F" +C 0.33542237 -0.16436908 -0.41866879 -1.33282248 -3.09080458 -2.72887181 +C 0.37722672 1.19834465 0.11666744 0.41138662 1.19646187 -1.47203594 +O -0.61087028 -0.90386684 0.33738010 -0.32350258 -0.65286918 1.15129462 +H -0.20751250 -0.16227755 -1.45901359 1.25484115 0.69948140 0.67210953 +H 1.23669913 -0.84157482 -0.61924455 0.03866035 1.14284355 0.48366961 +H 1.00048782 1.45321506 0.95970877 0.18288165 -0.27491802 1.16580562 +H 0.72669805 1.89163729 -0.67146970 0.07504317 0.08584536 -0.20150822 +H -0.69173725 1.38229608 0.20826034 -0.48115322 0.67925473 0.78081879 +H -0.86104512 -1.69832964 -0.17492468 0.17466528 0.21470493 0.14871775 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9425035650775 pbc="F F F" +C 0.28048776 -0.06201440 0.49805035 -1.41675664 -1.42400334 -2.23996419 +C -1.20104292 0.43276918 0.42197948 1.32041289 1.17407594 -1.06961471 +O 0.83055986 -0.37453208 -0.81802429 -0.48103104 -0.55289000 0.98749781 +H 0.89121469 0.53572345 1.14953172 0.83614884 1.01963378 0.46433866 +H 0.24378793 -1.06387167 0.96251907 0.03774360 -0.15864221 0.24335973 +H -1.64585880 0.32286330 1.40411916 -0.54630752 -0.02696970 0.70871192 +H -1.23397330 1.53830588 0.12956527 -0.07617868 -0.89619215 0.26024617 +H -1.78699820 -0.12597035 -0.34785748 0.27765954 -0.01410492 0.32364466 +H 1.31647302 0.31858787 -1.27623397 0.04830904 0.87909256 0.32177994 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.829818449987 pbc="F F F" +C -0.41875259 0.03073286 0.36138488 1.10213537 -1.63855617 -0.68315751 +C -0.30006959 1.04969078 -0.79385736 -0.74683414 0.69612652 0.82840344 +O 0.66589398 -0.94489114 0.42591262 0.01056497 0.08873965 -0.70596603 +H -0.27737575 0.37417947 1.36481632 -0.34926124 1.75895510 0.98767712 +H -1.33177093 -0.56292752 0.42529100 -1.01854111 0.05627000 -0.44613473 +H -1.16840475 1.80763175 -0.83316548 0.96448370 -0.67580168 0.44270390 +H 0.66604709 1.57286382 -0.62517109 -0.18378812 0.19584079 -0.27148745 +H -0.30030677 0.63885765 -1.81753854 0.14522295 -0.56890197 0.00526583 +H 0.40639053 -1.70792418 -0.12151939 0.07601757 0.08732775 -0.15730457 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.760870849851 pbc="F F F" +C 0.07292582 0.53754428 0.07575246 0.61682976 -0.00146599 0.62118280 +C -0.76610503 0.02078806 -1.06608906 -1.31959852 1.45668794 2.45969732 +O 0.60236647 -0.54388938 0.86325491 1.08325724 0.76752109 -0.04542853 +H 0.82675765 1.21291502 -0.36947053 0.63271106 0.18863136 0.33997236 +H -0.60240927 1.15722891 0.73038970 0.22723973 0.04772581 -0.22220401 +H -1.32673696 0.98502452 -1.31130296 0.03835270 -1.36496005 -0.64348995 +H -0.25016819 -0.50242294 -1.83975324 0.66410676 -0.37397053 -1.12110328 +H -1.36435425 -0.67459958 -0.44898383 -0.89874155 -0.32553895 -0.84115437 +H 1.41432204 -0.19942755 1.33729658 -1.04415713 -0.39463068 -0.54747228 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.450814672638 pbc="F F F" +C 0.18775040 -0.38449192 -0.31186913 -2.45961433 -1.58490093 -0.52821085 +C -1.32736028 0.16272449 -0.37853946 1.96842177 -0.95801254 4.21615527 +O 1.05148196 0.15608671 0.65543335 -0.76749445 -1.90358629 0.93493210 +H 0.01601374 -1.57714698 -0.33038447 1.04387292 2.03869945 1.01714953 +H 0.60081877 -0.24738003 -1.28418265 0.69377375 0.40352660 -1.72267724 +H -1.23450663 1.23550218 -0.41648736 -0.27557463 1.25936661 0.49429722 +H -1.89458385 -0.07249773 -1.22391449 -0.94793243 -1.16077155 -2.05836732 +H -1.89444853 -0.23933987 0.59319914 0.86510287 1.14082807 -1.72503515 +H 1.29484942 1.06434053 0.48480518 -0.12055547 0.76485064 -0.62824361 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.529651212929 pbc="F F F" +C 0.13665152 -0.36260860 -0.31117347 2.68299405 -1.34052273 -1.84074336 +C -1.26115980 0.09304988 -0.40844114 -1.44242926 0.28862684 -1.77188555 +O 1.05449189 0.20388522 0.67857783 -1.83057573 1.77254437 -0.94163641 +H 0.07089667 -1.49283174 -0.08831101 0.39713736 1.17476165 -0.05883756 +H 0.54432849 -0.30798541 -1.40963718 0.22459576 -0.05133574 1.35540300 +H -1.49039022 1.14640526 -0.76792167 0.60759184 -0.51030841 0.38313893 +H -1.80953704 -0.58075903 -1.23120534 0.70002303 0.94427986 1.97581482 +H -1.53173387 -0.01274191 0.62525130 -1.76142316 -0.10558100 0.97556460 +H 0.87684931 1.22215288 0.67549979 0.42208606 -2.17246479 -0.07681847 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.65639123911 pbc="F F F" +C -0.07465584 0.46933365 0.38984153 1.74782901 -0.91879333 -2.18655048 +C -1.22982501 -0.05639942 -0.55996380 2.28371055 -1.37352455 1.50674661 +O 1.15761375 -0.39622281 0.19257699 -1.38092285 0.83087911 0.39318495 +H 0.23735826 1.52347322 0.05218998 -0.60333064 -0.81941152 0.85003286 +H -0.30869795 0.36025111 1.47176922 -0.21090926 0.44738491 -0.21858935 +H -1.73575867 0.68939260 -1.07710129 -1.08761362 2.10188711 -1.34715448 +H -0.87910372 -0.82960150 -1.28611420 0.31703523 0.40281137 0.22956169 +H -1.96653109 -0.55722108 0.03265188 -0.99961794 -0.69002200 0.80204084 +H 1.82082421 0.18103498 -0.22304886 -0.06618042 0.01878891 -0.02927264 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.363077771737 pbc="F F F" +C 0.29879239 0.01578209 0.50155191 -1.37661389 -3.20525403 1.61030457 +C -1.27936499 0.26517043 0.33429287 1.89974197 2.28962933 -2.50883899 +O 0.96612272 -0.25166786 -0.71964816 -1.22818184 1.40469764 -1.25517509 +H 0.81616422 0.72953873 1.27292471 -0.54795935 -0.68212151 -1.47320317 +H 0.34017343 -1.11616190 0.95955373 -0.20313763 2.38242819 0.28872758 +H -1.77920796 0.50230279 1.25557097 -0.58688828 -0.35469882 1.05391241 +H -1.52549997 1.23176508 -0.33349945 0.81801840 -1.36260800 1.09406771 +H -1.72333746 -0.52534887 -0.29852698 -0.15195898 -0.43110159 0.53390065 +H 0.21968726 -0.17663455 -1.39278325 1.37697960 -0.04097126 0.65630428 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.787174748358 pbc="F F F" +C -0.34749582 -0.09621969 -0.49815576 1.90482787 -1.88790430 1.28202127 +C -0.89724929 0.14360526 0.92852532 -1.22252860 -1.98946574 -1.12729218 +O 1.12121620 0.00000819 -0.45751877 -1.17402318 0.23588064 -0.14980425 +H -0.60823306 -1.12935106 -0.81877562 -0.20754661 -0.19649771 -0.01549903 +H -0.56318239 0.50067209 -1.36322257 -1.03100161 1.29366256 -0.38044878 +H -1.99552364 0.04992342 1.11554181 0.07605809 -0.09539259 -0.63680806 +H -0.47528192 -0.55530806 1.68765669 0.32161637 -0.01595149 -0.39599856 +H -0.66562622 1.10838841 1.20268874 0.89146286 2.95086756 1.05914532 +H 1.34187369 -0.54060553 0.31015285 0.44113476 -0.29519894 0.36468432 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712419044947 pbc="F F F" +C 0.30828011 0.23316775 0.33334655 1.07872876 -1.33526066 -0.39113722 +C -1.12160474 0.12301645 0.65756998 -3.15296493 0.68752818 -0.36739462 +O 0.76520754 -0.37454892 -0.86942422 -0.43567255 0.02838540 -0.81680699 +H 0.61898921 1.24204823 0.18357322 0.47523773 1.68823612 1.04618290 +H 0.82722912 -0.30538204 1.11634979 0.90553312 0.04882912 0.86485136 +H -1.34459417 0.06036256 1.76848790 0.23540401 -0.08926832 -0.78860245 +H -1.69465136 1.04174363 0.28038588 0.32488332 -0.77286168 0.33718574 +H -1.60951661 -0.74004925 0.10517597 0.45537862 0.32317806 0.61627420 +H 0.74678220 0.40080686 -1.46113115 0.11347197 -0.57876616 -0.50055287 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.83827173048 pbc="F F F" +C 0.40069158 -0.00456094 -0.40088868 -0.49796084 -0.80772693 0.91189218 +C -0.65970571 1.03072978 -0.34461087 -2.33986279 0.24585961 1.00807363 +O 0.27664086 -0.98508538 0.62159479 0.28023280 -0.32593978 0.24355642 +H 0.28466440 -0.63654525 -1.28454585 0.46370766 0.19359303 -0.91741774 +H 1.33630606 0.58718278 -0.39541904 0.72549706 -0.46767251 0.04036788 +H -0.28293483 1.96167974 -0.73617487 -0.09939035 0.85236495 -1.21112791 +H -1.70750487 0.71800148 -0.71213302 1.25334493 0.47766850 0.14553549 +H -0.82348971 1.38223815 0.71427714 0.07018559 -0.48351581 -0.07747837 +H -0.11281703 -0.60535326 1.43063122 0.14424593 0.31536900 -0.14340158 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.838529793647 pbc="F F F" +C -0.02749335 0.31093926 0.48084232 0.80599113 -1.38322810 0.06182389 +C 0.27972984 0.92905155 -0.87616857 -0.89033558 1.17692621 1.43773268 +O -0.22962342 -1.12212517 0.31532085 0.42311841 1.60130107 -2.16058140 +H 0.81953278 0.44043751 1.20431294 -0.14797886 0.32470658 -0.09044095 +H -0.92190674 0.74669823 0.92004833 -0.68467184 0.49093792 0.38625017 +H -0.33124547 1.84141663 -1.06297511 -0.26291395 -0.48329161 -0.26851006 +H 1.27494219 1.29298750 -0.96121591 1.70313109 0.31569620 0.03582926 +H 0.17145680 0.14463292 -1.57663979 -0.55009856 -1.03099050 -1.54354945 +H -0.37454395 -1.43160756 1.18200815 -0.39624184 -1.01205771 2.14144581 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.774815742095 pbc="F F F" +C 0.12284118 -0.13490471 0.56041110 -0.77269708 1.23333767 -2.86676408 +C -1.37587258 0.26686962 -0.00063001 1.02726466 0.02141390 2.01840475 +O 1.14321444 -0.17910010 -0.49695400 -0.47832938 0.53112345 0.13149145 +H 0.47314242 0.64054912 1.21155309 -0.00698029 0.69740292 1.45335975 +H 0.14340653 -1.12180743 1.03207734 -0.21198346 -0.31922149 0.21245624 +H -2.20297305 0.10757541 0.77251287 0.92805527 0.19453261 -0.26552280 +H -1.48665760 1.33508100 -0.35227606 0.40573775 -0.69969125 0.08213083 +H -1.63036578 -0.43885823 -0.76887974 -0.14658713 -0.54190285 -1.18814656 +H 1.48702804 0.74637610 -0.67705477 -0.74448035 -1.11699496 0.42259036 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763634709179 pbc="F F F" +C -0.22730969 0.42065937 0.28209860 1.60740935 0.49381128 -0.69494155 +C -0.70390042 0.03835556 -1.19440341 -0.27856925 0.47145172 2.11297109 +O 0.80706308 -0.46911128 0.84360001 0.77278126 1.56815512 -0.53820118 +H 0.28262416 1.44173971 0.16376664 -0.76813749 -0.61873454 0.16616197 +H -1.04797367 0.57440606 1.04492449 0.21820173 -0.44476860 -0.58484497 +H -1.63455458 0.61073657 -1.38052376 0.28775781 0.63280419 -0.35141474 +H 0.12035374 0.25208494 -1.90376359 -0.31889455 -0.17604828 -0.13198624 +H -1.12164367 -0.97333555 -1.27042753 0.53954078 -0.69044890 0.04626702 +H 1.68577769 0.06958142 0.82635533 -2.06008960 -1.23622199 -0.02401139 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.589584717079 pbc="F F F" +C -0.03725689 -0.54175247 0.23665434 -1.07512309 -0.20443640 0.09465915 +C -1.08938893 0.52152438 0.27237106 0.58474444 1.81547692 -1.39331922 +O 0.99802389 -0.03212046 -0.49062649 1.42745726 -0.77120353 -2.23456749 +H 0.22478987 -0.78918211 1.29048120 0.01856414 -0.45602325 -0.00771851 +H -0.43224576 -1.40853530 -0.29586925 0.10764297 -0.91360258 -0.13956462 +H -2.06019899 0.21382617 0.61806577 -0.87629391 -0.09133688 1.05729896 +H -0.46716111 1.21940775 0.89023616 -1.46810400 0.80639037 0.06359739 +H -1.29520379 1.01774138 -0.77779087 0.65614251 -0.89773794 1.52213030 +H 1.61224138 0.49614137 -0.00281990 0.62496972 0.71247324 1.03748403 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.382154704302 pbc="F F F" +C -0.00541020 0.49555456 0.26353696 1.27498524 0.80635134 -4.59034871 +C -1.25829420 -0.18617284 -0.18625681 -1.55409617 -2.54505366 2.47418390 +O 1.18008887 -0.21834393 -0.05533527 0.92002294 0.79323696 1.64306742 +H 0.16642327 1.55195414 -0.18143886 -0.77338048 -0.81360859 0.39578845 +H -0.05324057 0.62258469 1.27743407 0.04122040 0.34404324 3.53503165 +H -1.17028585 -1.29893594 0.18632394 0.54747310 0.98065790 -1.34489757 +H -2.04126376 -0.09529750 0.65461273 0.02392772 1.09423488 -1.41698942 +H -1.64747575 -0.15192348 -1.23305544 0.18941246 0.19097611 0.47730207 +H 1.07128228 -0.85064834 -0.74639656 -0.66956516 -0.85083818 -1.17313779 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740153052101 pbc="F F F" +C -0.05864685 0.45592976 -0.25270012 2.04818276 -0.05157979 -0.07029373 +C -0.99598985 0.14560675 0.88392412 2.61727859 -2.10186901 -0.92809728 +O 0.91170748 -0.55234416 -0.59249507 -1.29381349 -0.80895027 -0.35644917 +H -0.64938395 0.56902449 -1.16160081 -0.27995929 0.46574680 -0.61985590 +H 0.52787862 1.37624214 -0.00295029 -0.52567749 0.26682481 -0.37147234 +H -1.24622302 -0.90668685 0.81332533 -0.29363638 -0.89604616 -0.01278173 +H -0.48310875 0.28520148 1.80409663 0.22161210 0.46764567 1.63192323 +H -1.85306739 0.67004003 0.70094950 -2.95023044 2.06755855 0.13312102 +H 1.79819121 -0.39572179 -0.27064918 0.45624370 0.59066940 0.59390595 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.985044246794 pbc="F F F" +C 0.03051055 0.47113859 0.30571516 0.51081368 -0.74704790 0.70681928 +C -1.26765106 -0.01626935 -0.30983113 -0.44306926 1.42393840 -0.33479605 +O 1.15639346 -0.40394533 0.06571134 -0.33643297 0.76933356 1.20765517 +H 0.21490380 1.54027739 0.04211369 0.21661603 -0.09165204 -0.50536392 +H -0.04824147 0.52297767 1.42821871 -0.06021793 -0.17717180 -0.39721526 +H -1.79206787 -0.84274357 0.14832249 -0.05199359 -0.81720516 0.61068637 +H -2.02298469 0.79415307 -0.43913547 0.09379799 0.14555632 0.57338422 +H -1.13151201 -0.24536905 -1.35568200 0.48375482 -0.59918417 -1.08738885 +H 1.16493027 -0.77908502 -0.81785126 -0.41326877 0.09343274 -0.77378096 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639320787604 pbc="F F F" +C -0.33109146 -0.38061759 -0.11509299 1.25354475 0.13987012 -1.56938997 +C -0.79848800 0.71322448 0.78158112 2.41343951 2.54592953 -1.11676701 +O 1.04375127 -0.32736712 -0.57621080 -0.74574744 -0.78750572 1.75614273 +H -0.47807553 -1.28727759 0.48147470 0.19786682 -0.72167630 0.00868550 +H -1.02285353 -0.45431957 -0.98075479 -0.00751719 -0.12543167 -0.22445970 +H -0.49730603 1.83368069 0.56265030 -0.97532363 -1.77453121 -0.38338442 +H -1.80794763 0.47009812 0.85011741 -2.80406189 0.39393057 0.57471631 +H -0.33550282 0.57694172 1.71575497 0.73538501 -0.34028644 2.12455067 +H 1.03301728 0.09242206 -1.42476806 -0.06758594 0.66970112 -1.17009407 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.762874662097 pbc="F F F" +C -0.22651560 -0.13939897 -0.35440659 0.63188790 -2.84595742 -1.92065703 +C -0.12822160 1.31585778 -0.26041480 -1.51425681 1.14955403 -0.32628179 +O 0.38792570 -1.07208371 0.55484273 -0.80824224 0.77810144 0.48130625 +H -1.27080350 -0.42802509 -0.56796006 -0.47290923 -0.09787674 0.40911855 +H 0.24032794 -0.38741365 -1.34701984 0.01724851 -0.08240214 0.15251054 +H -0.95623348 1.69398350 -0.94312893 0.99288844 0.04456597 0.14002047 +H -0.43661673 1.69606152 0.68535416 -0.38840594 0.53831298 1.68089978 +H 0.82994145 1.75552879 -0.47797959 0.93836211 0.33922072 -0.42734917 +H -0.33821219 -1.33284338 1.16977744 0.60342727 0.17648120 -0.18956765 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.59728309113 pbc="F F F" +C 0.16901653 -0.36947223 -0.42487818 0.13924045 -0.05173020 2.11227278 +C -1.28458172 0.16684992 -0.32117305 1.61395111 1.89531299 -3.59001744 +O 1.02494531 0.12709511 0.68017076 -1.16203047 -2.57679748 -0.55444645 +H 0.14852607 -1.42810803 -0.13434929 0.07349131 -0.60035310 -0.79572836 +H 0.71252542 -0.13732945 -1.35280484 -0.25256762 -0.34332749 -0.59720874 +H -1.22894978 1.29594269 -0.72728957 -0.69560618 -1.95376941 1.18230080 +H -2.09139959 -0.39125514 -0.86335864 0.64323078 0.14340729 -0.46071762 +H -1.55982129 0.02175992 0.66654548 -0.69469328 0.43749212 2.90713637 +H 1.04196956 1.03452762 0.50466859 0.33498395 3.04976528 -0.20359128 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.811062574529 pbc="F F F" +C 0.07234955 0.54041603 0.31915837 -0.14604077 -2.03268250 -0.81300917 +C -1.13637607 -0.36636880 0.28304926 -3.09794037 2.22181014 1.85459030 +O 0.95118706 -0.16836568 -0.56394912 -0.76546971 -0.21635167 0.15813416 +H -0.21075900 1.48103267 -0.10469398 -0.09318206 1.67439237 -0.26329566 +H 0.48082977 0.64010816 1.35065008 -0.03164124 0.10476323 -0.00913873 +H -0.78763167 -1.32532967 0.52568432 0.49913238 -2.23503944 0.09207334 +H -1.90341519 -0.11815782 1.14607576 1.15543219 -0.16263848 -1.15994659 +H -1.79145843 -0.33531093 -0.63357493 0.88024086 -0.08209175 0.20409779 +H 1.79193731 0.25472543 -0.50832878 1.59946870 0.72783810 -0.06350545 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8886072774385 pbc="F F F" +C -0.24268517 0.24516558 0.34250713 0.21841431 -0.34453833 2.50239482 +C -0.93073556 0.02920066 -0.94296049 0.31677277 1.71396567 -0.50052145 +O 1.04801577 -0.30896918 0.56010096 0.52362349 0.38968897 -0.94194988 +H -0.23430309 1.30319714 0.61597649 0.04228515 0.90348251 -0.12728477 +H -0.76658390 -0.18914759 1.19126278 -1.05863218 -0.40491520 0.40973515 +H -1.87849751 0.59921434 -0.95697091 -0.12277916 0.04600235 0.04114348 +H -0.25770876 0.53387319 -1.66540550 -0.24705307 -0.51693867 -0.75004283 +H -1.16200839 -0.99418800 -1.13062382 0.02646664 -1.40224563 -0.61830892 +H 1.64515780 0.38055974 0.21012769 0.30090206 -0.38450172 -0.01516555 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.604444951447 pbc="F F F" +C 0.23943071 0.50375819 0.20109769 1.34416141 -0.21970835 -0.96616880 +C -1.01529303 -0.08928133 0.73086312 -0.95211597 -4.06658890 -1.77359631 +O 0.67840962 -0.36557910 -0.83614688 0.02071132 -0.52601811 -0.62995875 +H -0.05844414 1.50890491 -0.28432365 0.90558099 -0.36970239 1.07148812 +H 1.08845459 0.45779558 1.02671329 -1.47029659 1.00760117 -0.93148338 +H -1.28314708 0.37995072 1.60718334 -0.94548036 1.38438973 2.77113993 +H -1.95745212 -0.11056280 0.05725765 1.39249729 0.38204935 0.38599054 +H -0.86110095 -1.25110660 0.97203626 -0.07000006 2.07170965 -0.28583143 +H 1.54729908 -0.12245330 -1.21172718 -0.22505809 0.33626781 0.35842013 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.429932335049 pbc="F F F" +C 0.45523213 0.35777417 0.14604414 -2.07486640 -2.46229810 4.40492207 +C -0.70786557 0.85125366 -0.58819931 0.58084238 4.33700050 -0.36512300 +O 0.19426448 -1.08686288 0.41019507 -0.24078945 0.97398002 -0.16347779 +H 1.32391504 0.36490147 -0.41652853 2.60094689 0.83365678 -1.25521628 +H 0.49888243 0.90814626 1.19246396 0.51796017 -0.70589620 -1.55554817 +H -0.55715812 0.71474279 -1.63108596 0.30127683 -0.08295852 -1.81455250 +H -1.63457163 0.36686453 -0.43379566 -1.57597688 -0.63896044 1.14051038 +H -0.74244529 2.05107335 -0.41473012 -0.42093056 -2.37039306 -0.43071603 +H 1.03715922 -1.56193675 0.46125910 0.31153697 0.11586901 0.03920126 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.806645702929 pbc="F F F" +C -0.48915039 -0.14350346 0.13149475 -1.13258326 -0.02716438 0.91031419 +C -0.19501879 1.13876912 -0.62774340 -0.24188407 -0.40685742 1.27706717 +O 0.66410701 -0.85914270 0.43333975 0.67808205 -2.90676485 0.74755986 +H -1.06858471 0.09870709 1.07745246 0.08792898 0.02599978 -0.33192711 +H -1.19929343 -0.69871818 -0.49402087 -0.33649005 -0.68345308 -0.35219544 +H -1.17495943 1.46162548 -0.99600839 -0.17509054 0.23840243 -0.65708729 +H 0.07062515 1.91430258 0.12848761 0.78586273 0.01380909 -0.65461275 +H 0.52501115 0.85074846 -1.41834891 0.09584623 0.73238248 -0.04209900 +H 0.45721791 -1.85035104 0.73721956 0.23832787 3.01364600 -0.89701968 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.465543772226 pbc="F F F" +C -0.24099211 -0.42938620 0.28080750 1.20659058 0.64651609 -3.71371973 +C -0.95188234 0.85087572 0.08321434 1.19283862 3.04905818 -0.53731107 +O 1.09552352 -0.46998031 -0.32821428 -2.36722232 -3.75805858 -0.27354007 +H -0.05218652 -0.61520025 1.25688020 0.09068850 -0.82055839 4.20469303 +H -0.94234002 -1.17587967 -0.10521667 0.39207850 -0.90629787 -0.48049203 +H -1.98666860 0.74694663 0.21502051 -2.30188640 -0.31798484 0.61693857 +H -0.64748948 1.73129869 0.72190426 0.09772859 -0.66770883 0.13351445 +H -0.90947003 1.34961857 -0.92635302 0.35267999 -0.87482519 -0.02331883 +H 1.36191522 0.39937964 -0.29008565 1.33650389 3.64985942 0.07323569 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742279897993 pbc="F F F" +C 0.13965162 0.05500841 -0.55118712 0.52849594 -0.51395768 -0.15050626 +C -1.27953062 -0.33418331 -0.09079412 0.15451662 0.76780592 -0.33692894 +O 1.04778052 0.30006702 0.53352445 0.00549522 2.34414558 -2.07608413 +H 0.48169780 -0.83808188 -1.06033717 0.60001150 -0.82948177 -0.88875302 +H 0.28815828 0.88593993 -1.34117157 -0.57760109 -0.56307749 1.26924911 +H -1.51589655 0.44385987 0.62403091 -0.91038994 0.80435925 0.49049553 +H -2.11049659 -0.44387910 -0.87845848 1.10791984 0.03379727 0.80257007 +H -1.16734309 -1.22051934 0.56092896 -0.22775035 -0.45214608 -0.32518588 +H 0.97398434 -0.26522090 1.27608246 -0.68069763 -1.59144505 1.21514357 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.205927337825 pbc="F F F" +C 0.18335939 0.41841601 -0.36482392 0.60651393 -1.20114051 0.79524356 +C -1.32095775 -0.04523008 -0.24770314 0.56978365 0.87533751 -1.48322780 +O 1.05439202 -0.34022162 0.57613311 -0.99190864 0.75960934 -1.68802806 +H 0.68780332 0.66328377 -1.34477377 -0.44089061 -1.23533887 -0.18784378 +H 0.09736686 1.44484060 -0.05605172 0.61815918 0.97468903 1.32307147 +H -1.71970177 0.94547551 -0.07895223 -1.13592302 0.61362000 0.68128847 +H -1.89405426 -0.25703663 -1.22925741 0.85986070 -0.94338605 1.27768485 +H -1.43134669 -0.61888839 0.71586783 -0.22535969 -0.10731367 -1.01908968 +H 1.07791374 -1.22562867 0.14692121 0.13976444 0.26392326 0.30090093 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542150782773 pbc="F F F" +C -0.23482059 -0.43733731 0.00130882 2.11306149 0.07391677 2.52420169 +C -0.98642509 0.78823407 0.45790319 -0.34046770 -0.70917261 -1.89812156 +O 1.11561883 -0.31365155 -0.47749300 0.61400098 0.39323391 2.88216612 +H -0.35340510 -1.27748654 0.76647705 0.64070282 0.78507777 0.37395196 +H -0.74553201 -0.95412155 -0.70212021 -2.16049882 -1.39576614 -3.66482530 +H -1.91593275 0.40426672 0.82648460 -1.10518449 -0.23880239 1.08907822 +H -0.46069180 1.38455047 1.14604484 0.90845503 0.99870309 1.68037893 +H -1.33455837 1.45731326 -0.34108310 0.36913978 0.20112492 -0.61541149 +H 1.65297431 -0.21863300 0.41160779 -1.03920904 -0.10831532 -2.37141852 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.462347311556 pbc="F F F" +C -0.02436725 0.09189046 0.56688843 0.47483612 0.52852566 -1.15519606 +C -0.72671591 1.04488138 -0.57886894 -1.05362300 -3.15581674 3.89890607 +O 0.66542720 -1.04700020 0.05987805 -0.09593684 -0.09067754 -2.61677409 +H 0.77386079 0.63159620 1.07146286 0.21685170 1.13698540 0.64839058 +H -0.69848905 -0.29024394 1.36297498 -0.35781206 0.21617226 -0.21786358 +H -0.33005269 0.65407286 -1.47198464 0.14714505 -0.65090671 -2.05242390 +H -1.82926384 0.87436624 -0.37820160 0.69998590 0.45037052 -0.96898200 +H -0.43115311 2.04777909 -0.47156517 0.37098224 1.99526985 0.33493818 +H 0.90151125 -0.84552513 -0.92039175 -0.40242910 -0.42992274 2.12900480 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4783026088235 pbc="F F F" +C -0.11146619 -0.07123090 -0.46719816 2.35018114 -0.87452386 1.42469271 +C -0.24949181 1.41894806 -0.00322769 0.14313454 -1.26878410 2.68889191 +O 0.25703746 -1.23975630 0.42042692 0.25662390 1.70251032 0.07733865 +H -0.92812252 -0.56266468 -0.95522661 -1.30414583 0.28685638 -0.88493097 +H 0.75315092 0.03784701 -1.15272640 -0.16542375 -0.29450135 -0.59837499 +H -1.12298110 1.70731071 0.68205723 0.70913178 -0.65850911 -0.48752591 +H 0.73159862 1.66297674 0.61292220 -1.52163829 0.08493221 -1.40804826 +H -0.43475434 1.96282080 -0.92676957 0.49325793 0.71010042 -0.48766624 +H 1.22127642 -1.19019996 0.67178806 -0.96112137 0.31191909 -0.32437696 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9122743894695 pbc="F F F" +C 0.14853445 -0.05931745 0.54001494 -0.23444160 0.98360161 -1.37390759 +C -1.25921251 0.33078584 0.08648011 -1.06888786 -1.45577191 0.02708884 +O 1.06332288 -0.19958748 -0.54173005 0.58073444 0.20355950 -0.51797853 +H 0.50953007 0.73394605 1.27655581 0.09187887 -0.64337662 -0.77728614 +H 0.11736300 -0.99674749 1.04315516 -0.27818363 -1.37743443 1.25594431 +H -1.99582724 0.19076438 0.89284785 -0.00912454 0.29138636 0.67956722 +H -1.39620870 1.32578118 -0.29223446 0.27103298 1.26114648 -0.31264342 +H -1.77533394 -0.31677439 -0.68144492 0.94143972 -0.08253506 0.02465848 +H 0.89591052 -1.00518579 -1.10516960 -0.29444834 0.81942412 0.99455683 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.056203599686 pbc="F F F" +C -0.05631067 0.20519287 -0.63103968 1.61902925 1.59741485 3.22828012 +C -1.31056005 0.01995566 0.25614940 0.48114761 -1.27201397 0.13781483 +O 1.28080212 -0.16118780 0.29064824 -2.47195516 1.47374454 -2.55572718 +H -0.09739567 -0.50670273 -1.40460574 0.36510803 -1.17982014 -1.68428387 +H -0.00403307 1.28241850 -1.04835707 0.59125422 -1.31950278 0.65197645 +H -0.87384888 -0.05846876 1.34475921 -1.34198219 -0.03787807 -1.44845223 +H -2.08598818 0.80769334 0.18074627 0.30983542 0.34220716 0.18385919 +H -1.86045069 -0.90857508 -0.17003088 0.67063248 0.74982032 1.29172971 +H 0.87783649 -0.74216192 0.95114735 -0.22306965 -0.35397197 0.19480288 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742256286368 pbc="F F F" +C -0.29774881 -0.10209532 -0.44341429 0.87611424 0.87310245 0.27167319 +C 0.92596237 0.93756021 -0.41480916 -1.27382639 -1.92637887 1.62476080 +O -0.59840515 -0.80586106 0.75651395 1.22727640 1.42672558 1.57267785 +H -1.11458157 0.55778963 -0.79233462 -0.68292189 0.14674509 0.23130377 +H -0.24772760 -0.84031554 -1.27439664 0.53096779 -0.19295940 0.16934983 +H 1.88644472 0.49376149 -0.02905284 -0.54145584 0.17532513 0.16042784 +H 1.10685725 1.09306114 -1.45979618 0.20439619 1.10915201 -1.12271191 +H 0.56251311 1.81169682 0.22074494 0.73992420 -0.45328106 -0.85390134 +H -0.18163837 -0.28123829 1.55307767 -1.08047464 -1.15843103 -2.05358002 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.681087148773 pbc="F F F" +C 0.09174475 -0.41247464 -0.37707315 2.65433817 0.25606042 1.71810684 +C -1.23944132 -0.38354706 0.39533598 1.98558754 -0.37192007 1.83975812 +O 1.01780533 0.71662291 -0.08400654 -1.64106577 -0.06512936 -1.34169089 +H 0.77086103 -1.32840942 -0.22595145 -1.25774043 0.30827105 -0.04401524 +H 0.03863231 -0.24805625 -1.43094809 -0.80133707 -0.31066239 -1.45718267 +H -1.07604003 0.18851735 1.35307925 0.28160228 -0.47310237 -0.18817530 +H -1.93241626 0.25245641 -0.05575242 -1.82135066 1.14171479 -1.49505678 +H -1.69992118 -1.34293881 0.71168534 0.16269741 -0.06736071 -0.44869915 +H 1.41795025 0.58717644 0.76373230 0.43726849 -0.41787136 1.41695513 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.745825319039 pbc="F F F" +C 0.01776240 -0.26930308 -0.49561775 0.54290147 -1.56208099 2.08962320 +C -0.81206043 0.95679723 -0.30833152 -1.92902330 -0.06743821 -2.65993835 +O 0.77983816 -0.64120533 0.69628221 0.82682098 0.32697743 -1.71886326 +H -0.63300896 -1.12349554 -0.63850220 -0.81065517 -0.71945965 -0.71838338 +H 0.70674786 -0.28842288 -1.32441543 0.77027294 0.41724488 -0.74228714 +H -0.73916058 1.58437789 -1.25815314 -0.23131045 -0.16310621 0.96183305 +H -1.91359636 0.68633573 -0.17547218 0.88644746 0.32564164 -0.09082476 +H -0.52378463 1.52050366 0.53534471 0.78190107 1.22616887 1.40634901 +H 0.18808126 -0.39495206 1.38878505 -0.83735500 0.21605224 1.47249164 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.900480995961 pbc="F F F" +C -0.38470207 0.29961010 -0.25817512 0.02615378 -1.19782862 -1.95145788 +C -0.51787214 0.02548699 1.19132686 -0.23339906 -2.37742806 1.53702100 +O 0.79639665 -0.29083621 -0.90655815 -0.34786703 0.83511377 1.57882191 +H -1.23454113 -0.11652459 -0.83580192 -0.12773193 -0.41684621 0.07416874 +H -0.54368412 1.35094696 -0.48506931 0.65502439 1.21537023 -0.01240830 +H -1.32519859 0.54658789 1.74416602 0.23879566 0.62239754 -0.23547179 +H -0.80618604 -1.07417980 1.44539671 0.62776055 1.08555385 -0.65957730 +H 0.47519408 0.16581402 1.66914654 -0.15667866 0.32628004 0.36821017 +H 1.54708371 -0.13148026 -0.26722575 -0.68205764 -0.09261250 -0.69930656 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.871107052781 pbc="F F F" +C -0.38243658 -0.19722659 -0.36395314 -0.59632953 0.29916153 2.11649360 +C -0.72163774 0.46460035 1.02453232 0.44155606 1.42230518 -1.90383743 +O 1.00899310 -0.24902266 -0.56756257 -0.08510272 0.03997352 -0.40622210 +H -0.88709616 -1.17314583 -0.30510896 0.19176086 -0.94318452 -0.01094020 +H -0.90279660 0.25995067 -1.18516718 -0.53734269 1.04683483 -0.97078836 +H -1.75799584 0.26455438 1.36863466 0.08824420 0.32849001 -0.17506688 +H -0.04387774 0.01346292 1.69479149 1.07648860 -1.20692405 1.49951173 +H -0.36678340 1.55835276 1.10014546 -0.93654603 -0.89973857 -0.37096167 +H 1.09768918 -0.15789617 -1.53568580 0.35727126 -0.08691792 0.22181130 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.260800446533 pbc="F F F" +C -0.37983894 -0.47461714 0.08888518 2.28204370 1.26721295 -1.53760552 +C -0.95026334 0.96236290 0.18719660 4.86950772 -1.00405053 0.87956965 +O 1.20229622 -0.43002370 -0.20314701 -3.55359631 0.36370118 1.80780289 +H -0.45626806 -1.19737247 0.88876071 -0.26621515 0.12364640 1.31322548 +H -0.99094022 -0.91156418 -0.69662714 0.34093508 -0.86020296 -1.20674181 +H -1.91268493 0.92942314 0.53573860 -3.37345042 0.15386248 0.70116995 +H -0.31774615 1.35006792 1.02016189 -0.31193719 0.71119638 -0.16060376 +H -0.73076451 1.56663669 -0.71609407 -0.35525891 -0.24137915 0.01790316 +H 1.17254095 -0.72478838 -1.09712759 0.36797152 -0.51398668 -1.81472004 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.708295042524 pbc="F F F" +C -0.02502778 -0.53058376 0.26649096 -1.06171571 1.58905259 -2.58153551 +C -1.21153650 0.55554224 0.36530344 5.31935882 0.50802666 -0.28294825 +O 1.11819530 -0.08625260 -0.58534965 -1.00972495 0.39160748 1.36024099 +H 0.22664850 -0.86735203 1.24951754 0.82201410 -0.37432868 1.33517144 +H -0.45182705 -1.39877025 -0.29350970 0.34393252 0.09132885 0.13610396 +H -2.12508147 0.22474089 0.67944394 -3.02304185 -1.52922639 1.14262655 +H -0.85011233 1.34485506 1.08143751 -0.35199304 -0.06754337 -0.46030054 +H -1.27775711 0.94670508 -0.64072230 -0.26427448 0.62023097 -0.71955221 +H 1.46262436 0.82003259 -0.31321460 -0.77455542 -1.22914811 0.07019361 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.636257967745 pbc="F F F" +C 0.10731373 -0.18217528 -0.60876280 1.21755757 0.74117236 2.06331428 +C -0.41764537 1.24078452 -0.12920889 1.40373795 -0.90425240 -0.90675589 +O 0.31602843 -0.94990372 0.67172228 -1.49197284 -0.66235995 -1.70709588 +H -0.52733769 -0.72010452 -1.33930643 -0.39569584 0.01476349 0.13144584 +H 1.12365593 -0.04435115 -1.18632990 -1.21606299 -0.34312669 1.26596771 +H -0.07955951 1.91155783 -0.95666901 -0.79370172 0.35896253 0.13704308 +H -1.53898567 1.22368170 0.03596422 0.94581569 0.34648393 0.13110820 +H 0.25335545 1.55961510 0.75757455 -1.26227663 -0.54309682 -0.77637587 +H -0.55061379 -1.46820926 0.82000758 1.59259881 0.99145356 -0.33865153 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.758466164449 pbc="F F F" +C -0.04659713 -0.48682620 0.23433331 0.79701592 2.06937298 -0.30346103 +C -1.18880474 0.54168302 0.38675965 -0.84261620 -1.92737461 -1.96159811 +O 1.12574041 -0.10744215 -0.57127239 -1.64385850 -0.93469700 -0.19420937 +H 0.32327444 -0.79665949 1.19663243 0.17754250 -0.54193798 1.19547405 +H -0.54829083 -1.29298867 -0.24390206 -0.00167605 -1.60234633 -0.93111751 +H -2.21696299 0.09402872 0.67505761 1.46252542 0.47058223 0.06280688 +H -0.90436504 1.37728258 0.93444098 0.43576521 2.01716424 1.97366811 +H -1.34397418 0.95847234 -0.62153441 -0.20825835 0.02257830 -0.42997370 +H 1.54119574 0.71015419 -0.27367641 -0.17644001 0.42665805 0.58841068 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.632771812788 pbc="F F F" +C 0.41576861 -0.31678741 -0.22666082 -1.73098247 1.66945940 5.11271261 +C 0.27194419 1.09076746 -0.64360417 -1.12530868 -0.20457694 -2.80539059 +O -0.62853720 -0.74829599 0.75778881 0.21894005 -1.42799447 -3.57416643 +H 0.34220902 -0.99759396 -0.98349887 -0.12055454 -2.30134817 -2.62108727 +H 1.35606637 -0.34820243 0.28790096 1.47436196 -0.69719723 0.39238554 +H 0.33875610 1.80872626 0.14213340 0.07319887 0.93607984 1.02613230 +H 1.01742024 1.28738745 -1.42709124 0.71442332 0.32737646 0.03311376 +H -0.65134161 1.22414407 -1.26330461 -0.17157923 0.17509429 0.64924321 +H -0.62194374 -0.32079897 1.58535434 0.66750082 1.52310675 1.78705686 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.682407761658 pbc="F F F" +C -0.13801741 0.37813008 -0.46110396 2.10889712 -1.78615034 -0.72052799 +C -1.17077434 -0.11971214 0.49004012 -0.15028021 1.36686498 2.28415015 +O 1.15750862 -0.21936747 -0.01360047 0.05896426 -0.25791516 -0.79566635 +H -0.33734274 0.13584349 -1.56266734 -0.05470255 0.16899090 0.96073827 +H -0.02402809 1.42252249 -0.33216392 0.10268398 2.04240014 -0.22221096 +H -0.92327645 0.11678884 1.60035432 0.33474983 -0.21275336 -1.37300370 +H -2.17291835 0.35548258 0.45425005 -0.06511881 -0.25429844 -0.76479346 +H -1.16537930 -1.17789041 0.43563062 -0.58358179 -1.79851715 -0.08176152 +H 1.84407384 -0.45147764 -0.72432423 -1.75161188 0.73137836 0.71307549 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.646946953284 pbc="F F F" +C 0.22728764 0.52698230 0.20497753 -1.64749163 -2.68119629 -2.78397267 +C -1.10287557 -0.08631429 0.67472570 0.08913287 -0.46903365 -0.19736072 +O 0.86000044 -0.38753847 -0.75538657 -1.37536777 -0.00556320 -0.48280721 +H 0.10358932 1.43703845 -0.33527361 -0.54337167 1.68615543 -0.44364359 +H 0.82997819 0.73352972 1.01435621 2.36812421 0.12815385 2.20326116 +H -1.35589936 0.20600109 1.73201704 0.09986657 -0.47366879 -0.40750389 +H -1.89723802 0.35770008 0.03851869 -0.28404313 -0.46585654 0.01775579 +H -1.01713545 -1.24505933 0.50073723 -0.32189209 1.76145417 0.61812277 +H 0.11819627 -0.59020845 -1.44244793 1.61504270 0.51955508 1.47614832 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.812443908005 pbc="F F F" +C -0.00795716 0.00601320 -0.59538139 1.26760710 -1.73896780 2.67764271 +C 0.51926921 1.19767726 0.22159195 0.78987838 -0.80997465 1.27242792 +O -0.53978552 -1.06808550 0.31405451 0.31749196 0.90334789 -0.98413398 +H -0.78726666 0.31814807 -1.23957277 -1.49231089 0.29499279 -1.10930078 +H 0.80255499 -0.47171982 -1.20591593 -0.15341922 0.47885352 0.04161635 +H 1.13656869 0.81722770 1.09067323 -0.70491327 -0.12184210 -0.19466924 +H 1.32102020 1.71984514 -0.27086246 0.53458945 0.82810237 -1.16638088 +H -0.16703083 1.96623302 0.64476609 -0.30425545 -0.47493372 -0.31493016 +H 0.16853873 -1.74040223 0.44991715 -0.25466796 0.64042175 -0.22227194 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9454580741485 pbc="F F F" +C 0.02000257 0.51535899 0.21740469 -0.32668227 -0.55308114 -1.39557676 +C -1.32490614 -0.20294370 -0.12231328 0.51573776 0.00980331 -0.65972107 +O 1.19510744 -0.28006535 -0.02631202 -0.48067649 0.28042404 0.71794059 +H 0.02378423 1.52695614 -0.31656843 0.22609240 -0.68023977 0.55841469 +H -0.03820206 0.65613982 1.28392231 0.47704578 0.47104873 1.09031811 +H -1.18633295 -1.29746810 -0.18050302 0.18916512 -0.18954883 0.48425695 +H -2.15738628 0.01694950 0.59236653 0.28772181 0.10892379 -0.34501578 +H -1.59790066 0.03960849 -1.16345908 -0.50232570 0.24581297 -0.11026303 +H 1.53401483 -0.22087393 -0.93121537 -0.38607837 0.30685690 -0.34035365 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.588132935728 pbc="F F F" +C -0.55832700 -0.03039214 -0.13294906 0.43209419 0.68926260 -2.01776429 +C 0.27930590 1.33366922 0.09018899 0.07758425 -2.12605934 1.97207387 +O 0.25393141 -1.17461942 0.09546663 -0.33884117 2.17871247 3.37261146 +H -1.51990876 -0.00931252 0.42428430 0.17404389 -0.25716203 0.56685033 +H -0.95622696 -0.08142092 -1.25274642 0.72140042 0.37547185 1.55023941 +H 0.28656353 1.79940837 -0.85933813 0.43843571 1.18211095 -1.41483546 +H -0.13940322 2.02891733 0.86705702 -0.11847241 -0.37699173 -0.42392687 +H 1.34604219 1.07790360 0.46531008 -1.30429007 0.16074805 -0.74214064 +H 0.27603754 -1.70179489 -0.65041090 -0.08195482 -1.82609275 -2.86310781 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.756843836616 pbc="F F F" +C -0.01326893 -0.05231868 0.58180043 0.04143859 1.97063780 0.57555665 +C -1.14685284 0.53803621 -0.27180594 0.04074387 -1.75213057 0.23733738 +O 1.02970513 -0.48063744 -0.30426531 -0.32722904 0.10615888 0.67156594 +H 0.33250794 0.91753045 1.18077746 -0.26337042 -1.69955067 -0.46953759 +H -0.31497339 -0.84976733 1.32710344 0.03503870 0.36594400 -0.38611411 +H -1.90966192 1.13068187 0.17340590 -0.56781886 1.23318711 1.56218183 +H -0.64010612 1.13658789 -0.98472397 0.59885641 0.99291153 -1.37288465 +H -1.82674620 -0.14673239 -0.78577875 0.32361633 -1.00162747 -0.59024434 +H 1.83721586 -0.34831883 0.22500920 0.11872443 -0.21553066 -0.22786116 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.651132042725 pbc="F F F" +C 0.09921588 -0.17237128 0.58924295 -0.51395788 1.68090677 -4.84479457 +C -1.32964314 0.31359315 0.01145686 1.14183203 -2.61579018 -1.08594826 +O 1.15795547 -0.15920933 -0.48696389 -0.58929041 -1.35208139 2.17654076 +H 0.41654672 0.55023548 1.30607790 0.33907303 0.51225072 1.60740647 +H 0.02185199 -1.20372562 0.87485422 0.01838000 -0.91261898 0.80839342 +H -2.05992636 -0.04835635 0.74771652 -0.53169351 0.38622919 0.23345722 +H -1.42537364 1.38625386 -0.21834122 0.10429457 0.17756816 0.19248755 +H -1.59559695 -0.30407344 -0.97601477 0.64202098 1.10625808 1.64332212 +H 0.92273608 0.46254187 -1.16252759 -0.61065886 1.01727762 -0.73086471 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.690981673142 pbc="F F F" +C 0.08994533 0.48492959 0.16277309 0.64063387 3.19609720 1.00266269 +C -1.22868354 0.02469520 -0.28310137 -2.89513636 0.78701510 -0.59115297 +O 1.05483077 -0.48297594 0.18194699 1.24271233 -0.84632687 -0.63937860 +H 0.29137309 1.40907708 -0.54512623 0.42750991 -1.00134135 0.91372173 +H 0.18931831 0.90311462 1.22748982 -1.04826914 -0.02097625 -0.88329909 +H -1.67478037 -0.76249147 0.37153820 -0.15814856 0.38861466 -0.02897285 +H -1.88816954 0.98440548 -0.41621524 0.41624045 -1.48816113 0.66399548 +H -1.28353335 -0.38585359 -1.32469202 0.60390107 -0.03258689 0.20534472 +H 1.19039108 -0.55603164 -0.76726346 0.77055648 -0.98233452 -0.64292112 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.693261631531 pbc="F F F" +C -0.36259178 0.34301424 -0.24742455 2.80682758 0.62752314 -0.11620177 +C -0.55136873 -0.01189096 1.24059485 -0.90443068 -0.91946264 -1.38489346 +O 0.78769513 -0.34166380 -0.92016959 -0.23062669 0.76220564 0.87205740 +H -1.25610863 0.11873775 -0.75390585 -1.55420328 -0.97588279 -1.46464247 +H -0.18316817 1.42305064 -0.50904549 -0.38141223 -0.10242528 0.83734564 +H -1.56432104 0.15613885 1.68174531 -0.05475778 -0.11736920 -0.64877666 +H -0.27849259 -1.08309709 1.38461445 0.03906803 0.29858097 0.08118256 +H 0.04487807 0.63946929 1.79194503 1.89557920 1.13386135 1.69814191 +H 1.62368282 0.22186105 -0.82386826 -1.61604420 -0.70703124 0.12578679 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.419969559608 pbc="F F F" +C 0.42706932 0.10855869 0.29718667 -3.13515679 1.60164411 0.23248535 +C -0.27693606 1.19532988 -0.75359296 3.51151952 -2.71594625 -2.30183467 +O -0.11119685 -1.19739991 0.40399559 -0.51207285 -0.32572906 0.04091238 +H 1.46068218 0.01519793 -0.00919125 0.89293142 0.14274929 -0.08444560 +H 0.26611228 0.62808088 1.27416254 0.82772550 -0.03300850 0.01289362 +H 0.51864472 2.02980898 -0.90029757 -1.46099490 -0.68440306 0.40390229 +H -0.28541614 0.65750787 -1.81437429 0.35745149 0.69767499 1.51185468 +H -1.31428336 1.46132694 -0.74322012 -1.12223364 0.69915641 1.12374359 +H -0.67066146 -1.32390499 1.21872772 0.64083030 0.61786211 -0.93951165 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.334204283413 pbc="F F F" +C 0.08037179 -0.57528361 0.01475757 0.44740151 1.30389088 2.02496523 +C -1.06576605 0.03126788 -0.69123049 1.52259541 -0.08161605 -4.73551684 +O 0.88424277 0.43427700 0.69672177 -0.18635871 2.45356205 -1.39026326 +H -0.15227614 -1.41067099 0.73484111 -0.03864035 0.67587954 -0.06728086 +H 0.77831214 -0.92871687 -0.66198031 1.42381802 -1.88802417 -2.28174427 +H -0.61763569 0.71397344 -1.59248159 -0.74362962 -0.77030390 1.98793120 +H -1.63189394 -0.65324339 -1.37385102 -0.12354196 -0.23095297 0.72865788 +H -1.69613095 0.61003853 -0.10481589 -1.70227614 1.44915419 1.55744976 +H 1.02476975 1.25621986 -0.00012199 -0.59936821 -2.91158958 2.17580116 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.540295790399 pbc="F F F" +C -0.04281496 -0.23752440 0.55611425 0.92436651 0.37553509 -0.49100939 +C 0.77737954 1.00154333 0.15522332 0.22914857 0.34453190 -2.49038355 +O -0.73845323 -0.73295861 -0.59868256 1.07164922 0.04018075 0.17882579 +H 0.69993809 -0.97846263 1.09106950 -1.25188829 0.54880637 -0.84969460 +H -0.70203851 0.20489358 1.32694337 -0.72010093 -0.85690835 0.05132510 +H 0.91334587 1.10340406 -1.04567485 -0.26977417 -0.39157601 2.20843464 +H 0.32532772 1.99006523 0.44044467 0.40858401 -0.49049826 0.13808459 +H 1.77856230 0.80624897 0.53523336 0.75029654 0.78542934 0.34767513 +H -0.04752156 -0.59724503 -1.32126888 -1.14228146 -0.35550090 0.90674226 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.198064954449 pbc="F F F" +C -0.28843115 -0.52346601 0.28342486 2.42146819 3.83002177 -0.13444483 +C -1.04545336 0.83469218 -0.18491172 0.12488058 -1.38730531 1.01956364 +O 1.20843402 -0.26444149 -0.03750308 -2.77833476 0.11382452 2.48068679 +H -0.43795805 -0.63593103 1.35454379 0.47384229 -0.34884518 0.76807563 +H -0.68712701 -1.38283795 -0.22630662 -0.18276400 -0.89337761 -0.61534649 +H -0.27884633 1.60943312 -0.42509310 -0.18390356 -0.51531414 -0.36573842 +H -1.51630641 0.29610140 -1.02394739 -0.75544636 1.54319423 -0.71018012 +H -1.76891773 1.36572652 0.54993484 0.62614328 -1.22766849 -0.82891119 +H 1.40093443 -0.76501373 -0.80772255 0.25411430 -1.11452973 -1.61370500 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.628186255531 pbc="F F F" +C -0.11101041 -0.21211525 -0.48921231 0.21305094 3.47838622 2.06329386 +C -0.18959362 1.32819932 -0.08265940 -0.20423544 -1.97711061 -0.64341837 +O 0.22731601 -1.05092465 0.52249771 3.79372791 -1.34392621 1.57493738 +H -1.07459473 -0.52245411 -0.67408609 -3.19657260 -0.52446408 -1.16719381 +H 0.42380947 -0.23009066 -1.40103808 1.41716863 -0.53206103 -1.69926682 +H -0.75152411 1.52983735 0.82378356 -0.82684412 -0.12947792 0.43281158 +H 0.74891149 1.81192432 0.09226151 1.54448471 0.30597511 -0.00503787 +H -0.62141283 1.77415259 -0.96583851 -0.63047996 0.92047257 -0.54027103 +H 1.24757511 -0.98251279 0.64559310 -2.11030007 -0.19779406 -0.01585487 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.760491271977 pbc="F F F" +C 0.05196994 0.56950749 -0.00951766 0.05495910 -4.08363414 -1.69663329 +C -1.09113377 -0.24133538 -0.78820127 1.47979394 2.57046717 -0.68581701 +O 0.94921838 -0.26234511 0.78075259 -0.79838359 1.29286022 -0.23584727 +H 0.47719022 1.21509213 -0.76769200 1.09904814 0.56842750 -0.51391253 +H -0.35039832 1.15170659 0.72797974 -1.70411520 2.16954761 2.25323396 +H -0.74267322 -0.63669282 -1.75921970 0.45087909 -0.51700079 0.14362856 +H -1.52466790 -0.98126305 -0.17627385 -0.84122724 -1.44744559 1.05686584 +H -1.87109456 0.46547857 -1.16268850 -0.03946264 0.02789931 0.51791651 +H 1.32613017 -0.96204896 0.25041070 0.29850831 -0.58112129 -0.83943472 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.798722330767 pbc="F F F" +C 0.01164271 -0.11497070 -0.52276372 0.17173674 -0.27935102 -0.67984670 +C -1.27486793 0.08978989 0.22650356 -1.79658177 -1.82630610 -0.07228248 +O 1.15159108 0.10628542 0.26618683 0.44931647 1.13034511 0.27304575 +H -0.01147088 -1.15940870 -0.80835844 0.08414565 -1.04612412 -0.39510392 +H 0.00234040 0.40700604 -1.52136472 0.32460631 0.31794859 0.41326306 +H -2.00805560 -0.74098373 -0.14472887 0.65832198 1.28211393 0.31431752 +H -1.07197804 -0.24953169 1.26012363 -0.13816182 0.44412217 0.27811432 +H -1.83595505 1.04398280 0.17335093 0.42493973 0.15161836 0.12682356 +H 1.69720472 -0.68961548 0.34595829 -0.17832324 -0.17436698 -0.25833116 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.672566832442 pbc="F F F" +C 0.19283756 -0.11365029 -0.48845338 -0.76577654 -0.72536213 0.17635295 +C 0.53454396 1.25846788 0.14642118 -1.19398806 -0.77636399 -0.53160096 +O -0.67921362 -1.03591151 0.27279074 0.60473837 0.49263978 -0.20444447 +H -0.40254796 0.00251403 -1.40235319 -0.39275830 0.21201709 -0.30128768 +H 1.15982447 -0.56096558 -0.90928425 -0.55490339 -0.07390741 0.80123145 +H 1.35821617 0.94104618 0.77309036 0.82326288 0.94341027 0.89921895 +H 0.77759109 2.02243139 -0.63482866 0.43750009 -0.44047887 0.25429921 +H -0.32238901 1.71182964 0.71365139 0.35926921 -0.48579926 -0.01218724 +H -0.45781884 -1.31669895 1.20530251 0.68265573 0.85384457 -1.08158222 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.72934719586 pbc="F F F" +C -0.25615222 -0.51256943 0.22277551 0.23527720 2.64314199 -0.29589993 +C -0.94660394 0.93403698 0.07696415 3.30487377 -1.19090757 -1.04775492 +O 1.07685557 -0.38725710 -0.23303452 1.01868998 -0.58870641 -0.66824598 +H -0.22227148 -0.60605859 1.32063141 0.12708741 -0.80397261 0.22864422 +H -0.79389543 -1.34120586 -0.25921104 -0.43339080 -0.19570940 -0.04789288 +H -1.87610174 0.89106096 0.57107835 -2.24221925 0.27406668 0.16453852 +H -0.30604197 1.64267109 0.68042758 -0.24127585 -0.41891816 -0.42283390 +H -0.81381025 1.22873476 -1.01631123 -0.93956940 0.00702410 0.93899167 +H 1.24995578 -0.69187290 -1.16929654 -0.82947308 0.27398137 1.15045320 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.51953365639 pbc="F F F" +C -0.44446176 -0.17501900 -0.33498753 3.29733494 0.65070591 1.22000825 +C -0.72291634 0.44092014 1.03861393 0.72079786 -4.37462665 -0.02248970 +O 1.03623901 -0.17418607 -0.63357292 -0.59070493 -1.22510181 0.37746286 +H -0.75415074 -1.18050720 -0.34433627 -1.03780038 -1.88274734 -0.21343166 +H -0.77106658 0.36485239 -1.15820184 -1.79045560 1.41034950 -1.94255759 +H -1.77543273 0.51444942 1.29582726 -0.78134288 -0.07098710 -0.02529915 +H -0.23200840 -0.38363311 1.72257671 -0.67707664 1.80934067 -0.41906594 +H -0.28073249 1.37549043 1.11953784 1.35054839 2.35787564 0.46117394 +H 1.27437952 -1.09573399 -0.96294203 -0.49130070 1.32519124 0.56419901 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.422874663754 pbc="F F F" +C -0.08669064 -0.62270423 0.18822991 -0.23605404 2.87034958 -1.10855552 +C -1.11072703 0.62648978 0.31169384 3.21679582 -0.30548711 -0.49672280 +O 1.07205021 -0.00312435 -0.40729117 0.69415752 -0.51442752 -0.70981245 +H 0.24939275 -1.06709950 1.12129076 -0.39821650 -0.23156067 1.00927110 +H -0.39050959 -1.39782591 -0.48750218 -0.99703028 -1.03525319 -0.55639735 +H -2.11729696 0.62093367 0.54544017 -2.99864222 -1.51450482 1.25013063 +H -0.67934919 1.25647935 1.12486386 0.14850723 0.31489077 -0.58545535 +H -1.23459327 1.17883471 -0.65998357 1.10461355 -0.16919201 0.25826138 +H 1.42285467 -0.58833737 -1.13616196 -0.53413108 0.58518497 0.93928030 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8117690979725 pbc="F F F" +C 0.23008141 -0.43224579 -0.36538279 -0.80372640 -0.14555498 0.62173558 +C -1.26319283 0.09643270 -0.36925250 0.21637635 -2.47331471 0.78421409 +O 0.97107730 0.25501098 0.68321542 -0.50122974 -1.99865810 -0.72201851 +H 0.27046522 -1.55973573 -0.19124002 -0.05790121 0.97765660 0.06603130 +H 0.70915640 -0.25452474 -1.36882899 -0.16859506 -0.06615852 0.21805281 +H -1.32010285 1.16417208 -0.47924761 -0.03352581 1.15788112 -1.22062320 +H -1.94120469 -0.56909172 -1.01869642 0.64680467 1.20821861 0.32906815 +H -1.70008995 0.05771590 0.66394941 0.34916148 -0.66371986 -0.10855875 +H 0.87716661 1.11365935 0.30311318 0.35263576 2.00364985 0.03209849 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.503636057265 pbc="F F F" +C 0.34822677 0.03794923 -0.45726523 -0.46993318 0.98501782 -1.09619252 +C -1.20500707 0.09158000 -0.47377835 2.12765996 2.70371823 -2.65448730 +O 0.75678776 -0.08110495 0.86492331 -0.14316360 0.92100191 0.72057551 +H 0.70851328 -0.83293767 -1.06538328 -0.11514468 0.13316504 0.03659673 +H 0.83781425 0.97898676 -0.98762097 -0.83350524 -1.16263674 0.72553769 +H -1.47637947 1.16052821 -0.76436076 -0.37554965 -1.20079999 -0.33301742 +H -1.58116691 -0.71516625 -1.05993728 -0.83132586 -0.56982170 -1.42611227 +H -1.64485134 -0.04637487 0.44091974 -0.81462001 -0.45614137 3.39774128 +H 1.35178032 -0.80260932 0.80153432 1.45558231 -1.35350326 0.62935829 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.648143308961 pbc="F F F" +C 0.43603783 0.24370500 -0.11710760 2.69895753 1.09684928 0.41662735 +C -0.80760505 0.60772925 -0.81716969 -3.29623749 -0.28863944 4.18313833 +O 0.30511888 -0.81200509 0.81287452 1.21494184 0.20684614 1.39874852 +H 1.21335877 -0.01325044 -0.87124661 0.24029806 -0.17410488 -0.23581349 +H 0.88483251 1.21893553 0.38203590 -0.69090769 -1.22064547 -0.56578147 +H -0.75962169 1.31699054 -1.56120043 0.81432300 1.85042172 -2.53882510 +H -1.46336457 -0.23415236 -1.13148359 0.33173721 -0.04896704 0.00216975 +H -1.42936903 1.22356056 -0.00321606 0.50342387 -1.28575477 -1.29750456 +H 1.13753839 -0.77009449 1.41498532 -1.81653626 -0.13600554 -1.36275934 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.582731260434 pbc="F F F" +C -0.32352065 -0.40638093 -0.01557753 1.51064528 -0.90508246 2.08184011 +C -0.97058287 0.95100296 0.32266272 0.07585009 -2.43532289 0.95202927 +O 1.14896587 -0.50580007 -0.33321231 -2.14781685 0.78619008 -0.32471224 +H -0.47885003 -1.06486833 0.87412339 -0.10188313 -0.16545733 -0.14503068 +H -0.82908224 -0.89417165 -0.81997017 -0.41740722 -0.51356996 -1.31888766 +H -2.07466592 1.03843391 0.24189094 0.17057095 -0.45378377 0.27367716 +H -0.55244012 1.26442630 1.26775749 -0.12963440 0.55524956 0.96191136 +H -0.56164911 1.53156674 -0.39879824 1.35279230 3.00828304 -2.78230351 +H 1.67839243 -0.33790090 0.46494366 -0.31311707 0.12349378 0.30147609 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.502090867254 pbc="F F F" +C -0.27506114 0.03197692 -0.54165133 1.60273683 -2.14699446 1.91216298 +C 0.30877408 1.25154532 0.16077528 -0.91580077 0.35708717 1.61123633 +O -0.06451145 -1.20514045 0.28844439 -0.01699212 0.15465900 -2.90582850 +H -1.33053184 -0.12791668 -0.71936409 -1.04894709 1.30153539 -0.45984170 +H 0.29122515 -0.01415351 -1.50495360 -0.22264696 -0.44702773 0.06132078 +H 1.39691012 1.28337120 0.17971202 0.76434207 -0.33991075 -0.66514482 +H -0.04908991 2.09699911 -0.42663494 -0.04868144 0.95244610 0.06145597 +H 0.14616812 1.44372183 1.31313088 -0.73863612 -0.49002775 -1.72764893 +H 0.16661675 -0.84844923 1.11807825 0.62462556 0.65823297 2.11228794 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.73645348458 pbc="F F F" +C 0.12953753 0.29866039 0.53237096 -0.45516224 -0.47497830 -0.45627861 +C -0.24775188 0.97131414 -0.78649921 1.08737188 -1.71260113 0.03944115 +O 0.05326533 -1.14625935 0.25594166 1.69319058 0.69050963 0.71525924 +H 1.20889706 0.68944739 0.84143562 -1.91436513 -0.79085957 -0.02982594 +H -0.70168185 0.47475734 1.28770264 1.01004382 0.26728673 -0.05235637 +H -0.45244293 1.99011516 -0.76371616 -0.38911731 2.75609383 0.49255483 +H 0.59822641 0.83920133 -1.45637013 0.61157849 -0.02817704 -0.60756140 +H -1.07887321 0.52208421 -1.31758177 -0.78589394 -0.68817893 0.06616983 +H 0.98803772 -1.45523800 0.37408844 -0.85764615 -0.01909523 -0.16740278 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.767928732115 pbc="F F F" +C 0.10337546 -0.08459133 0.55131902 -0.90611270 -1.36405404 0.22427216 +C -1.26598122 0.23132259 -0.00825287 0.48699647 0.72249484 -0.98467998 +O 1.06067393 -0.16737857 -0.50049926 -0.65646570 -1.29587438 0.97312698 +H 0.21679161 0.48495440 1.52398145 0.95196572 0.50458323 -0.91510719 +H -0.03878167 -1.09722582 0.98397515 0.58041434 -0.43991132 -0.11534626 +H -1.97994938 0.23310606 0.81217998 -0.63355207 0.59547093 0.46779644 +H -1.11129887 1.22102409 -0.54358844 -0.93003754 -0.54196101 0.32488327 +H -1.65232521 -0.54809847 -0.71079060 0.43338509 0.30338611 -0.08362752 +H 1.58181992 0.61313843 -0.59237302 0.67340644 1.51586570 0.10868211 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.781621854427 pbc="F F F" +C -0.03066397 0.28743638 0.47357889 1.79284385 -1.05445383 -1.49847491 +C 0.15406719 1.02351616 -0.92980495 2.02230882 -1.80606699 0.27529675 +O -0.17879996 -1.18589358 0.46226125 0.22902988 1.35357371 -0.50944621 +H 0.95110019 0.52399016 1.04068718 -1.46114963 0.11219943 -0.06858466 +H -0.97211576 0.68854628 0.85828909 -0.08475675 0.03487363 0.92745209 +H 0.58306888 2.04215326 -0.76130790 0.09034577 -0.34958355 -0.04500502 +H 0.87573014 0.37856982 -1.60110810 -0.78022044 1.16634360 1.01742860 +H -0.72295874 1.15926347 -1.53724659 -1.22911860 -0.08669490 -0.34946878 +H 0.65185983 -1.59132459 0.09947362 -0.57928290 0.62980885 0.25080215 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.59097876595 pbc="F F F" +C 0.34349483 0.00734614 -0.44702267 -2.35713871 -1.91052328 0.15608381 +C -0.73152703 1.18435342 -0.16480999 0.44984175 -1.70064555 -0.35299032 +O 0.40930927 -1.05698199 0.58224961 1.84051304 2.51267651 0.04992642 +H 0.19758941 -0.64874351 -1.39492612 -0.39868156 1.55464597 0.49317858 +H 1.27460464 0.53980703 -0.64616880 1.01887803 -0.30423236 0.74421830 +H -1.72682401 0.91082157 -0.55414588 -0.25961013 -0.22749545 -0.00714674 +H -0.89591328 1.42089889 0.93377571 0.68061736 -0.05819612 -0.84152806 +H -0.41498822 2.03057440 -0.79912147 0.03995655 0.44575369 0.36858242 +H -0.30874814 -1.67739186 0.50897649 -1.01437634 -0.31198347 -0.61032441 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.357808523002 pbc="F F F" +C 0.18049535 -0.39642777 -0.36660893 -0.06902684 3.78282890 1.23146617 +C -1.26896485 0.17141719 -0.33080059 0.41751274 -3.83457972 0.03700585 +O 1.03184330 0.22946339 0.58705557 -0.71621517 -0.70048855 3.09646877 +H 0.25750812 -1.43060267 -0.10615686 -0.31805081 -1.73439103 -0.91072762 +H 0.58852531 0.04395862 -1.29533357 0.12242317 -1.21627012 -0.62906781 +H -1.38996571 1.09559563 -0.82499604 -0.14762647 1.50393542 -1.06363375 +H -1.67179880 -0.72926058 -0.88475200 -1.00136660 1.06135195 -0.18221342 +H -1.82058326 0.20459916 0.62540414 0.34852225 -0.13184925 0.39876538 +H 0.62679596 -0.14690120 1.47767865 1.36382768 1.26946235 -1.97806351 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.749364853526 pbc="F F F" +C -0.33671114 -0.37086424 -0.17901166 0.85813492 -0.41173855 -1.87352916 +C -0.82438075 0.73102959 0.65167157 -2.64374065 -0.04215335 2.02993841 +O 1.07484121 -0.37304648 -0.40054879 -0.34968887 -0.65700105 0.17697943 +H -0.48379643 -1.40761089 0.07679859 -0.55320389 -0.81692460 1.31927256 +H -1.01670015 -0.30363834 -1.05438886 0.47896207 -0.07597726 -1.07434209 +H -1.94397250 0.47613152 0.98617475 1.87354119 0.51603729 -0.45425274 +H -0.21667099 0.81713289 1.57367268 -0.04392649 0.47628576 0.03560316 +H -0.92549347 1.66371876 0.05533892 0.37051928 0.09619606 0.32961399 +H 1.35996800 0.38250753 -0.91179502 0.00940242 0.91527570 -0.48928362 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.565705293187 pbc="F F F" +C 0.52397892 0.18156611 -0.18425184 -1.36742965 -1.98493705 -0.60069706 +C -0.76814587 1.04771982 -0.28811313 3.69022853 1.22042292 -4.54204517 +O 0.27201734 -1.16263829 0.41572708 -0.88625041 2.28841443 0.01628671 +H 1.06911799 -0.02683199 -1.14720261 -0.69349679 0.23116724 0.09390582 +H 1.24575363 0.72984673 0.38431101 0.94220339 0.73309540 1.15583056 +H -1.53956450 0.73259438 -0.97711958 -0.37825409 -0.93061609 -0.83659586 +H -1.27785730 1.18880721 0.58167905 -1.29775273 0.85639099 3.57016358 +H -0.41025101 2.06950534 -0.80333371 -0.78745404 -1.49154707 1.38716477 +H -0.49650416 -0.88871665 0.99141965 0.77820572 -0.92239072 -0.24401330 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.927223201521 pbc="F F F" +C 0.12144761 0.48392190 0.25696618 0.56175270 0.36055949 1.06162855 +C -1.20512382 -0.16089430 0.33270016 -1.26392800 -1.18745010 0.58026727 +O 0.99725597 -0.31118567 -0.50224372 0.78976721 0.67043445 -1.50077672 +H -0.00197559 1.50917682 -0.14322223 0.34924921 0.28896684 0.04757972 +H 0.55645133 0.49846243 1.30337183 -0.28817381 0.63164030 -0.41372242 +H -2.07528947 0.43373734 0.64447235 0.04334434 0.49685901 0.38565445 +H -1.51115703 -0.60859694 -0.60957283 0.02349187 -0.12204954 -0.91321357 +H -1.12004409 -1.02111928 1.01512210 -0.23469660 -0.26362419 0.23728333 +H 1.23439655 0.27717853 -1.26438804 0.01919303 -0.87533622 0.51529938 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.675463277025 pbc="F F F" +C -0.20006475 0.04519064 -0.53092691 0.17585704 -2.36184151 2.47416575 +C 0.33430663 1.24696007 0.14749106 1.45807932 -0.89268506 1.86633073 +O -0.10326202 -1.20893996 0.27619180 0.17063055 1.02154036 0.19340014 +H -1.24058045 0.30605623 -0.63738617 -1.34090938 -0.13788384 -0.50126038 +H 0.20586051 -0.20137997 -1.49463957 0.57430941 -0.22960967 -1.01426933 +H 1.42702847 1.46123416 0.26157776 -0.20094602 -0.60009702 -0.16948913 +H -0.08311242 2.03699038 -0.38119690 -0.96996334 2.52516910 -1.04594322 +H -0.12075643 1.20858933 1.16700375 0.15689782 0.46377240 -0.08606102 +H -0.14995084 -1.02042373 1.26960241 -0.02395544 0.21163529 -1.71687359 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8207605096695 pbc="F F F" +C -0.34838249 0.06377035 -0.42663516 -2.57905717 -2.27984685 -1.15518727 +C 0.93290033 0.78099396 -0.44219866 0.25868726 1.88546103 0.78535005 +O -0.58902495 -0.73458764 0.78043044 -0.72000950 1.66906334 -1.07447995 +H -1.26424798 0.74111957 -0.48209754 0.77582061 -0.46316567 -0.00939919 +H -0.41257737 -0.63672735 -1.40390687 0.00397590 1.06473136 1.55054342 +H 1.66529380 0.07403115 -0.17288062 1.82242173 -1.55937501 0.05276913 +H 1.26302426 1.28848582 -1.39238118 -0.48883846 -0.14896648 0.57001227 +H 0.97793727 1.43460255 0.46986147 -0.06852604 0.40924139 -0.62763632 +H 0.15422416 -1.30891821 0.94644589 0.99552557 -0.57714313 -0.09197214 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.352856429965 pbc="F F F" +C 0.16675782 -0.38294902 -0.33601712 -0.20367628 6.95286061 -0.73636059 +C -1.26983387 0.16940415 -0.37200130 -1.25150751 -1.85544113 1.32515036 +O 1.01522974 0.13964035 0.67055327 0.19545307 0.25579899 -0.08230299 +H 0.08328304 -1.33800339 -0.23648582 -0.20027245 -7.09758425 1.27250520 +H 0.52887455 -0.26614842 -1.37024769 0.64184547 0.34554414 -0.39309327 +H -1.24477571 1.25055059 -0.40546597 -0.18477435 0.96349115 -0.48287252 +H -1.75763639 -0.31883119 -1.32564372 0.25521025 0.98734539 1.63062035 +H -1.88217019 -0.06534728 0.66899731 1.22098959 0.19468785 -2.42528381 +H 1.30067230 1.06433629 0.46171738 -0.47326785 -0.74670276 -0.10836268 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.538255432028 pbc="F F F" +C -0.32665212 -0.54038395 -0.04693924 2.06643791 2.03185291 1.48779187 +C -0.90252741 0.86278838 0.50131738 2.46716175 -1.26701466 -0.07370625 +O 1.08236858 -0.24521476 -0.39681796 -1.26385822 -0.31944805 0.02019242 +H -0.25653273 -1.45846826 0.57087463 -0.58905150 0.37351503 1.10635069 +H -0.85942568 -0.90425443 -0.86670645 -1.43699590 -0.38531491 -2.49154548 +H -2.00421868 0.96104657 0.58790561 0.15612268 -0.27695280 0.14686049 +H -0.32854053 0.96235868 1.52241707 -1.14224397 0.51645828 -1.54852304 +H -0.51473734 1.61695367 -0.30225327 -0.48917527 -0.86739516 1.38977763 +H 1.42864316 -1.12855184 -0.62781023 0.23160248 0.19429936 -0.03719832 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548753000488 pbc="F F F" +C -0.20999918 -0.13206701 -0.58732670 0.32362903 -0.22925964 2.02784754 +C -0.08039970 1.26454094 0.00991373 -2.81357179 -1.77021685 1.05050348 +O 0.18919672 -1.05665079 0.49688350 -1.93370790 0.08284771 -1.26635471 +H -1.18357249 -0.46804613 -0.98351797 -0.25629449 0.10025398 0.29557468 +H 0.49729372 -0.19758498 -1.37821341 1.03363149 -0.31874100 -1.55907460 +H -0.73268171 1.34168656 0.91128750 0.41049008 -0.04087207 -0.00442394 +H 0.91700265 1.32597806 0.24113533 3.28248270 0.01641758 1.59808483 +H -0.15434975 2.18239373 -0.48027256 -1.04703095 1.82204851 -2.20213862 +H 1.11254788 -0.90798028 0.68287046 1.00037184 0.33752178 0.05998129 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.878165316848 pbc="F F F" +C -0.20951542 -0.47634586 -0.01983519 -1.04165652 0.95492830 -0.14805836 +C -1.02558511 0.81606916 0.45368029 1.29018977 -0.69177462 -1.01943179 +O 1.11853425 -0.32000452 -0.45037438 -2.23490287 -0.33703939 -3.18029288 +H -0.29507060 -1.18318191 0.83347636 0.08300280 -0.36434771 -0.07708926 +H -0.76874074 -0.86591872 -0.90292362 0.07634698 -0.29420650 0.30302322 +H -1.77901335 0.40027222 1.13067516 -0.67189253 0.27137093 0.09127975 +H -0.35925470 1.47541823 1.04883255 -0.08475212 0.09513501 -0.02861695 +H -1.45369961 1.38701471 -0.42550569 0.19422799 -0.32409342 0.76088296 +H 1.61745130 -0.18372817 0.29466677 2.38943650 0.69002735 3.29830327 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.550654098786 pbc="F F F" +C -0.44704982 0.09121122 -0.31320807 -1.17956632 -3.16845753 -0.05833429 +C -0.44918949 0.14325444 1.19822646 1.08010625 -0.95523760 -0.81510230 +O 0.82032302 -0.19668163 -0.75003022 1.66993279 0.22752738 2.90800700 +H -1.26413827 -0.54735292 -0.82302738 0.63969187 -0.48699868 0.97564219 +H -0.79889945 0.96099329 -0.68287332 -1.07847545 4.51320211 -1.43900332 +H -1.44951511 0.35837897 1.59352108 -0.03928061 0.38650178 0.31898803 +H -0.13274266 -0.88851056 1.49373654 -0.03764477 0.41460724 0.47325983 +H 0.39199867 0.86626529 1.41550569 -0.81353074 -0.32751464 0.52181811 +H 0.91068555 -0.42318798 -1.63731419 -0.24123301 -0.60363007 -2.88527530 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827501139199 pbc="F F F" +C 0.52126081 0.24048349 0.00366744 -0.33180252 -1.74540734 -1.96147362 +C -0.72870195 0.96976152 -0.50534315 -0.38319339 -1.36797539 -1.39033700 +O 0.16433065 -1.09921239 0.42920265 -1.18799733 1.17745792 -1.34636783 +H 1.33838729 0.17025202 -0.85330872 -0.94244806 0.48249945 1.51827976 +H 0.78562025 0.82412035 0.85607553 1.26877098 0.75501267 1.18092721 +H -0.97574643 0.69950358 -1.62741835 0.08811225 0.38515683 1.91000505 +H -1.56476203 0.70258151 0.20348813 0.25128541 0.11509717 -0.63626607 +H -0.55590988 2.04417450 -0.42731539 0.01754146 0.60520961 -0.17456665 +H 0.83482770 -1.41531606 1.01359926 1.21973119 -0.40705092 0.89979915 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712312660345 pbc="F F F" +C 0.11938025 0.36368872 0.34919954 -0.06019973 3.44360638 1.43231099 +C -0.83504304 0.62160830 -0.80424670 1.45165310 -1.22130650 -0.54402489 +O 0.59779858 -0.91258038 0.41020606 2.06279347 -2.02172626 0.78754413 +H 1.00672574 1.03316777 0.13276852 -0.49481056 0.23046996 0.47123159 +H -0.40631033 0.74064090 1.35361751 0.97536904 -0.54610157 -1.21123965 +H -0.86546762 1.63789644 -1.21168662 0.32894530 0.36474443 0.03405026 +H -0.41581020 -0.10533453 -1.53321243 -0.32294167 0.34754765 -0.63856212 +H -1.83548410 0.32405220 -0.61952874 -1.67209869 -0.57964548 0.45111650 +H 1.55418152 -0.88708537 0.78907226 -2.26871026 -0.01758867 -0.78242676 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5245496279 pbc="F F F" +C 0.44335792 0.35682132 0.22236445 -0.34497881 -2.16939648 0.73708421 +C -0.67356688 0.78993731 -0.63226337 0.92808232 4.58971359 -3.00776887 +O 0.26386077 -1.06451949 0.42518707 1.01519323 0.46944364 1.47990979 +H 1.48336233 0.49094874 -0.06635430 0.57504238 0.70086897 -0.83470671 +H 0.33715395 0.84416893 1.18350372 -0.00402697 0.31244025 1.03079345 +H -0.49750468 0.93029699 -1.76738488 -0.14392742 -1.25561896 1.06478082 +H -1.61004899 0.38878312 -0.37676190 -1.66789930 -1.50293218 0.33451020 +H -0.92749770 1.89181562 -0.50095049 0.39738300 -0.35224058 0.44179980 +H -0.23162270 -1.31488154 -0.33681102 -0.75486838 -0.79227820 -1.24640269 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.831645977303 pbc="F F F" +C -0.11464079 -0.18362125 -0.50878694 -1.19743231 0.66061433 -0.27033508 +C -0.20066019 1.30017318 -0.08739152 1.59542625 -0.31511163 -0.94583790 +O 0.23624621 -1.04146048 0.54393302 -1.29417149 -0.42484100 -0.30983583 +H -1.20778706 -0.50655329 -0.65737931 1.09468348 0.32549215 -0.83523343 +H 0.55170587 -0.17572023 -1.48569532 -1.04618542 -0.71978186 1.28288789 +H -0.70176590 1.40843752 0.87227892 -0.84383367 0.20888040 0.25487688 +H 0.83557025 1.72283998 0.09802060 -0.51173964 -0.17844110 -0.31226604 +H -0.63701873 1.80423739 -0.98868574 -0.10729670 0.38047141 0.75920285 +H 1.16543776 -1.02818786 0.63152727 2.31054943 0.06271740 0.37654060 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.48804779029 pbc="F F F" +C -0.33946905 -0.49175579 -0.03010940 1.61501627 -0.61648020 1.34967453 +C -0.85808930 0.90664504 0.29522384 -0.02173678 0.55907114 2.46013292 +O 1.06500154 -0.38463868 -0.30243265 -0.23394188 0.44331696 -2.18886684 +H -0.26729734 -1.22059083 0.85199137 -1.52829308 0.45639344 -0.61285406 +H -0.76184298 -0.99575383 -0.93325713 -0.58646832 0.33641739 0.40154382 +H -1.91344412 0.92524066 0.65606256 0.02730831 -0.11022210 -0.24224988 +H -0.26907873 1.57980010 1.13977293 -0.87282688 -1.94328146 -1.87094684 +H -0.79720155 1.43659749 -0.63131585 -0.00039837 1.05610746 -1.05416926 +H 1.37292551 -0.56513969 0.55824369 1.60134067 -0.18132259 1.75773558 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.767763073425 pbc="F F F" +C 0.28130335 0.15287007 -0.41023547 -0.00350580 -2.12750724 1.04453693 +C -1.22496618 0.05239217 -0.53328929 -1.23953398 0.27626230 0.67567992 +O 0.92062867 -0.15663505 0.84094794 -1.37749444 -0.72436799 1.09882276 +H 0.62226905 -0.62250748 -1.12863453 0.59828938 0.55941619 -0.59173440 +H 0.60822250 1.14714828 -0.59249038 0.63197567 1.40164415 -0.88554212 +H -1.58136101 0.81358114 -1.25588523 0.06170351 -0.09378652 -0.32656605 +H -1.53407185 -0.95810563 -0.94842007 -0.10767285 0.70777043 0.75353536 +H -1.79534033 0.38624178 0.41079644 0.60400947 -0.77140659 -0.72071332 +H 0.31058491 -0.72745539 1.40908231 0.83222904 0.77197532 -1.04801913 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.772414348973 pbc="F F F" +C 0.39239228 0.09775170 -0.35751036 1.99117830 -0.27840490 0.39864140 +C -0.70304675 1.09565131 -0.16690909 -0.35745339 1.08900026 1.36697667 +O 0.35937763 -1.08035104 0.45433843 -2.38158548 -0.42202019 0.86881961 +H 0.46412496 -0.22873074 -1.43038104 0.09567808 0.41063123 0.11694980 +H 1.36481102 0.53173496 0.01470332 -0.16335376 0.09505716 -0.92417398 +H -1.56761917 0.49888696 -0.28384055 -2.11646280 -0.91336332 -0.17397926 +H -0.78945098 1.51457032 0.89429539 0.38388234 -0.32641390 -0.89705393 +H -0.87503906 1.93519579 -0.88665358 0.74889848 -0.29984416 0.06362161 +H -0.60056284 -1.32504379 0.72902387 1.79921829 0.64535770 -0.81980197 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.656362607256 pbc="F F F" +C 0.52398244 0.04372273 0.31666175 -4.33543655 0.27894602 -1.59914587 +C 0.17381459 0.90018917 -0.93258368 1.99962602 -1.10903832 -0.73384348 +O -0.65937439 -0.81700877 0.58412784 0.94664662 1.76100546 -0.04704899 +H 1.35927203 -0.53969040 0.11875082 2.21821990 -1.63025520 -0.45310474 +H 0.72004449 0.62104193 1.17892878 0.30465428 1.27926901 1.56992461 +H 0.36239954 1.95268971 -0.76056059 0.33020072 0.86698466 -0.01921941 +H 0.80930181 0.53776600 -1.84079876 -0.87714453 0.66197593 1.09376401 +H -0.86724316 0.80469539 -1.21680126 -0.79687713 -0.27349260 0.03104464 +H -0.23328277 -1.65705969 0.58778516 0.21011067 -1.83539495 0.15762925 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.576290810395 pbc="F F F" +C -0.39574430 0.19501735 0.37603729 2.68645980 -2.28413241 0.85863629 +C 0.10418073 1.05706645 -0.72876693 -0.24317240 2.12447827 0.07572837 +O 0.29912821 -1.11790367 0.29747411 -0.95819257 1.10146899 0.19878568 +H -0.33408426 0.54387006 1.44183035 0.56016638 0.62080783 -0.36410140 +H -1.43994993 0.08944407 0.26392824 -2.16299156 -0.52948962 -0.60408002 +H 1.17529958 1.37591426 -0.78487013 -0.18591406 0.39168214 1.28297176 +H 0.18338493 0.54343597 -1.69734655 -1.35777870 -0.38857481 -0.39893302 +H -0.64769058 1.95487427 -0.64942967 1.47163336 -0.90507629 -0.98697017 +H -0.21182361 -1.68408384 0.90712945 0.18978975 -0.13116405 -0.06203750 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.555297866084 pbc="F F F" +C 0.17887365 -0.39003117 -0.43999312 -0.12805872 -0.02834287 1.91547672 +C -1.26622667 0.17384841 -0.31498219 1.52441951 -2.24261829 1.62150800 +O 0.98602160 0.14100454 0.68861615 -0.25654090 -0.12818033 -1.56117293 +H 0.08531981 -1.49624900 -0.15816463 0.43534864 0.87380019 -0.72154075 +H 0.61978596 -0.23708948 -1.48291798 -0.08990379 -0.17638514 0.86477696 +H -1.27098832 1.18413816 -0.57656772 -0.08140121 2.52024847 -0.77193254 +H -1.83303392 -0.39035956 -1.10990768 -0.64289942 0.17972696 1.15962813 +H -1.42051294 0.17556283 0.87780385 -0.64891627 -0.60810323 -2.48956548 +H 1.12395142 1.10033259 0.51544935 -0.11204784 -0.39014570 -0.01717816 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.452884498771 pbc="F F F" +C -0.14209113 -0.08484268 -0.43151933 0.81219186 -0.76565575 1.53386400 +C -0.09304676 1.38664088 -0.01255857 3.00416367 -0.64605386 -2.50860923 +O 0.17106906 -1.23249575 0.41208409 -0.01213582 1.09753890 0.97460676 +H -1.18937052 -0.14378281 -0.74147943 -0.35778795 -0.94098361 -0.35014267 +H 0.56299504 -0.25389981 -1.23626000 0.09257373 0.53045789 -1.39070287 +H -0.71628232 1.77043581 0.69948423 -2.28947722 0.69747172 2.77764241 +H 0.88800386 1.93264278 0.07290189 -0.07010789 -0.75483814 0.24656687 +H -0.46944904 1.77332472 -0.95492973 -0.36908034 0.85477433 -0.68689111 +H 1.00959548 -1.02870501 0.91079213 -0.81034015 -0.07271144 -0.59633410 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.463118835507 pbc="F F F" +C 0.19712841 0.44354565 -0.33971125 -1.12943720 -3.09544342 1.23645015 +C -1.28925305 -0.08210505 -0.26376666 0.33927080 3.22045929 0.68242547 +O 1.00641557 -0.28444189 0.58192822 0.51103444 0.24068295 0.24952451 +H 0.42063872 0.08733764 -1.32643849 1.11129153 0.82326808 -1.52393362 +H 0.28991076 1.48841988 -0.09813383 0.24486053 0.99325945 -0.15833399 +H -1.87602988 0.89691940 -0.21408218 -0.15684028 -1.00828760 0.52266297 +H -1.53819276 -0.39098401 -1.27243346 -0.52437266 -1.33742496 -0.26065128 +H -1.40503468 -0.70318168 0.66306061 -0.33880430 0.03674694 -0.81028441 +H 1.14636793 -1.17191870 0.20196284 -0.05700287 0.12673938 0.06214019 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.598557477354 pbc="F F F" +C -0.26997604 -0.45218507 0.00493087 0.50533265 -0.41079609 -0.73839254 +C -0.82034308 0.76226362 0.69159088 2.11604741 -0.56359968 0.71991638 +O 0.96774272 -0.23611765 -0.64542100 0.95339597 -0.09214832 0.20690944 +H -0.30309631 -1.35761742 0.64333064 0.09394331 -0.13079972 0.06272481 +H -1.02130358 -0.54159103 -0.76158749 -0.66927792 -1.07233380 -1.26961554 +H -0.29208483 1.61429935 0.24141088 -0.74958106 0.56468356 -0.32840799 +H -1.86627935 0.58024345 0.59644418 -1.57582477 0.98966597 0.09046558 +H -0.50431333 0.71675730 1.72407540 -0.00036494 0.39928947 1.13627870 +H 1.61709098 -0.96053279 -0.49848346 -0.67367065 0.31603867 0.12012116 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.848015931929 pbc="F F F" +C 0.16686884 0.41545207 -0.26269649 -0.31340092 1.08675610 -0.64535282 +C -1.27345647 0.02998160 -0.23981877 -0.29065570 -1.66420853 -0.98118349 +O 1.01820261 -0.34785207 0.48367804 1.49585804 -1.36477591 1.27415112 +H 0.44300762 0.56895239 -1.31567185 0.59246953 -0.03253712 -0.65962666 +H 0.24891936 1.41428809 0.20182245 0.00634451 0.37132142 0.01209334 +H -1.91230670 0.75936398 -0.77587647 -0.25145994 0.20202532 0.72173739 +H -1.46136434 -0.92656002 -0.79354263 0.30951701 0.11777117 -0.26510787 +H -1.47276986 -0.31829706 0.76800557 -0.95081355 0.62701416 0.98681739 +H 1.17741622 -1.28549057 0.22567993 -0.59785892 0.65663338 -0.44352845 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.366746454653 pbc="F F F" +C 0.02518397 0.27923329 0.52308910 0.38245322 -1.71527133 -1.71148039 +C -0.28358097 0.96468339 -0.77717603 0.80279453 -0.49596494 -1.40477642 +O 0.26291682 -1.09593174 0.21960733 -0.39115465 -1.51112361 0.82592912 +H 0.93611675 0.66613302 0.92733048 0.90601196 0.72969835 1.21243264 +H -0.84698345 0.32331207 1.12124084 -1.03322613 0.52762649 1.66911281 +H 0.54116661 1.64664931 -1.06877768 -0.35455725 0.62048500 0.19735635 +H -0.07457631 0.10495319 -1.57453613 -1.50959026 1.52953040 1.06221754 +H -1.27166552 1.47928260 -0.60527531 0.45447133 -0.27631922 -1.32277718 +H -0.37934110 -1.64832378 0.74183227 0.74279725 0.59133891 -0.52801452 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.826435736366 pbc="F F F" +C 0.17323720 0.23959305 0.42940503 0.90697170 -1.31012673 -1.19711329 +C 0.01044164 0.99376101 -0.88875583 0.94675913 1.39768012 1.99879509 +O -0.16503242 -1.12424866 0.36703286 -0.30658703 -1.27446480 -0.43111419 +H 1.22111934 0.34075350 0.74833181 0.69429085 0.23788760 0.09608946 +H -0.40157607 0.62150554 1.21234218 -1.45815902 1.80211006 1.68220163 +H 0.33128526 2.06963865 -0.59601198 -0.27849865 -1.18116792 -0.92057799 +H 0.58375760 0.57699274 -1.70168458 1.06543466 -0.25824189 -0.50544079 +H -0.97587717 1.02204706 -1.28601494 -1.76599746 0.08314426 -0.14838587 +H -0.32881107 -1.48358122 1.27065457 0.19578582 0.50317941 -0.57445411 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.635223630717 pbc="F F F" +C 0.34730349 0.38291194 0.06294402 2.10592719 -2.03796185 0.50224250 +C -0.78604537 0.64105016 -0.90667595 -0.05278785 1.30521042 0.01511069 +O 0.43697351 -0.92839273 0.71633937 -1.54339523 -0.49796983 0.97731336 +H 1.40621686 0.42056585 -0.35748032 -1.00005518 0.28907493 -0.34046122 +H 0.42002017 1.03956452 0.89803675 -0.37975237 1.74071034 0.86988055 +H -0.53055914 0.57021370 -1.98736358 0.19017063 0.26189199 0.21729537 +H -1.52909925 -0.11522741 -0.76198849 -0.98960632 -1.06146338 0.31084164 +H -1.31536281 1.62106496 -0.66676138 0.55612687 -0.62978237 -0.46517977 +H -0.16035923 -1.00258540 1.55882293 1.11337233 0.63028970 -2.08704299 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734345683588 pbc="F F F" +C 0.11431974 0.42188464 0.27978136 3.39372743 -1.01672967 2.34538136 +C -0.81346892 0.63702788 -0.81137515 -1.88114693 0.32412181 0.34199175 +O 0.66797858 -0.95218675 0.43465933 -0.03686228 1.41291073 -2.15913171 +H 1.06120374 1.07862062 0.29265303 -1.07300558 -0.27627140 -0.36350413 +H -0.39300230 0.63620710 1.21989018 -0.36749284 0.40359864 0.65989766 +H -1.25606764 1.65118196 -0.80414024 -0.23294398 0.05794718 0.48120742 +H -0.45147737 0.58352694 -1.78262037 1.47936189 -0.50987790 -2.49508039 +H -1.59339962 -0.12891836 -0.73762255 -0.61534773 -0.09806155 -0.00935152 +H 0.35980798 -1.32580307 1.24685104 -0.66629004 -0.29763784 1.19858956 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77677463312 pbc="F F F" +C -0.07548195 -0.51624480 0.20837308 1.31483663 1.97442422 -1.42365038 +C -1.19348872 0.53073377 0.33246369 1.36637693 2.17165988 -1.65006006 +O 1.15067980 -0.09306709 -0.51390944 -1.31397223 1.53865674 0.78454704 +H 0.25908320 -0.79980837 1.16178044 0.44168832 -0.50477256 2.45646082 +H -0.31611840 -1.45201450 -0.25094832 -0.90668019 -0.96629211 -0.90180569 +H -2.04739819 0.18018749 0.89979435 -0.66861977 -0.25295606 0.32937210 +H -0.81485501 1.52664881 0.80212146 -0.21860462 -1.44768352 0.02263441 +H -1.50636755 0.98253111 -0.68300804 0.01461817 -1.07029034 0.83758671 +H 1.28066978 0.86559141 -0.21692506 -0.02964324 -1.44274628 -0.45508500 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.409859358716 pbc="F F F" +C 0.24298163 0.41750049 0.20207602 -2.68561195 -0.41966126 -2.56143246 +C -1.09643405 -0.05402161 0.70753746 -1.27554554 1.00563777 -1.11395000 +O 0.84726854 -0.34023227 -0.80609477 0.38719865 -0.37687541 -0.52776667 +H -0.08363975 1.40967994 -0.06959086 0.98458655 1.67142213 -0.76715075 +H 0.74469185 0.42173217 1.11755386 2.32623044 0.15669213 1.50512975 +H -1.32691910 0.81846185 1.35175318 -0.56499481 -0.66188769 0.79026749 +H -1.98795699 -0.14629703 0.00062208 0.98560985 0.04814793 0.16908177 +H -0.87951740 -0.98348673 1.15273913 -0.48315848 -1.79314385 1.45912288 +H 0.25316174 -0.45220491 -1.59667315 0.32568535 0.36966830 1.04669804 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.829395204712 pbc="F F F" +C -0.00003641 0.55437508 0.09073096 -0.13848871 -2.23099032 1.08732288 +C -0.87070360 -0.05223710 -0.95765889 0.40996917 0.04753190 -0.56413972 +O 0.79013807 -0.43066336 0.84643522 -0.34626606 0.24575497 -0.73854650 +H 0.61638187 1.33248327 -0.28211313 1.30647103 1.19528621 -0.97964041 +H -0.74595953 1.10363841 0.67638500 0.20955989 -0.12839379 1.51663431 +H -1.50207292 0.73785672 -1.34953969 -0.53304298 0.57008565 -0.56229089 +H -0.25612096 -0.42208138 -1.77614755 0.16926488 -0.52024912 -0.70804863 +H -1.54445606 -0.83058591 -0.59673046 -0.11915751 -0.49199135 0.37276051 +H 1.26490123 -1.07025383 0.22275820 -0.95830971 1.31296579 0.57594844 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548106203033 pbc="F F F" +C 0.25203290 0.44724587 0.24385998 0.65186404 1.38358112 -2.37121411 +C -1.09280067 -0.10507624 0.80782944 2.81077967 1.05506334 -1.91114626 +O 0.74261968 -0.35752164 -0.89900589 -1.54116305 -0.96479321 1.19631013 +H 0.01190381 1.49474927 -0.20347339 0.27207963 -0.88119027 0.86061105 +H 1.16409642 0.57904898 0.86247739 -0.47796567 -0.05139349 0.89737434 +H -1.49352166 0.39853462 1.63436864 -0.26511548 1.08517816 2.08387416 +H -1.74674641 0.15812551 0.01737898 -1.43600012 -0.28791717 -1.36491295 +H -1.01581191 -1.14180024 0.95345180 -0.09041812 -2.11464827 0.35116550 +H 1.30987832 0.10759043 -1.52597627 0.07593915 0.77611974 0.25793820 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.796486559409 pbc="F F F" +C 0.33745359 0.08040309 0.45990517 -2.60059830 0.87378770 1.45082464 +C -1.28235948 0.17479142 0.36072597 1.83357060 3.17290307 0.30454799 +O 0.89326605 -0.20573205 -0.73496102 1.35440988 -0.50889194 -2.09162100 +H 0.79304392 1.08293970 0.64134282 -0.58186511 -0.01070664 0.80306732 +H 0.56091624 -0.60223676 1.32756595 0.29965410 0.06105806 -0.29309527 +H -1.79420075 0.65690649 1.23038375 0.38929965 -0.58525995 0.29251193 +H -1.54197863 0.93970012 -0.41946048 0.31329638 -0.46128748 -0.15272548 +H -1.76482697 -0.72254603 0.09387408 -0.72220908 -1.91381527 -0.34779293 +H 0.82649876 -1.13152361 -0.98611267 -0.28555807 -0.62778755 0.03428274 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.815651970144 pbc="F F F" +C 0.14578792 0.52167373 -0.06942606 -1.30447673 -0.54818771 -0.42937345 +C -1.31677552 -0.02028573 -0.29396400 0.82508034 1.06036871 -0.29059914 +O 1.07219552 -0.43035484 0.37936005 0.76061222 -1.23842121 -1.47890259 +H 0.45763967 1.03959835 -1.01114529 0.21985017 0.29936773 0.43981012 +H 0.10577814 1.10140696 0.82838291 -0.23880054 1.90634930 0.48475899 +H -1.21949116 -1.03945223 -0.63637019 -0.24171294 -1.06018194 -0.13031836 +H -1.88582297 0.07825445 0.62719677 -0.32316901 -0.48113234 0.65421089 +H -1.92451976 0.53267928 -1.04522879 0.38770444 0.11281223 -0.10182189 +H 1.39966481 -0.85739007 -0.45436885 -0.08508796 -0.05097471 0.85223547 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2546750833935 pbc="F F F" +C -0.06894165 0.38378541 -0.45508157 -0.91595216 -0.98632503 1.42526437 +C -1.28350840 -0.18731288 0.52762931 5.12649332 -1.13555365 0.73559831 +O 1.24578414 -0.11588215 -0.13328128 -0.34546588 3.47345885 -1.46705386 +H -0.18478069 0.06386398 -1.56905528 -0.67036092 1.26915372 1.29291391 +H -0.09473164 1.46222582 -0.08114464 0.19557324 -0.45152392 -1.59613449 +H -1.05048882 0.07379551 1.60825454 0.10952322 0.19780614 -0.76269071 +H -2.26310218 0.08610931 0.39117214 -2.96393844 1.23031874 -1.12822503 +H -1.24871311 -1.29066586 0.57239949 -0.09623529 -0.34004671 -0.34988561 +H 1.18195177 -0.89857279 0.32951118 -0.43963714 -3.25728809 1.85021310 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553249673173 pbc="F F F" +C -0.17604298 -0.09053449 0.56796302 3.29145215 3.70149053 -1.83778551 +C -1.11972043 0.39790031 -0.51133370 0.28419395 1.26883552 1.43473894 +O 1.12992171 -0.33796700 -0.07498311 -1.00626301 -0.92101693 0.07315614 +H 0.11953352 0.68637212 1.33742815 -0.98256314 0.14519359 -0.40879855 +H -0.47932898 -0.85832255 1.16500133 -1.30647417 -3.34719070 1.66625102 +H -1.56584267 -0.36996666 -1.09538463 -1.24484069 -1.31340597 -0.33967904 +H -1.79498392 1.18021920 -0.08926101 -0.35159575 -0.52295274 -0.36375661 +H -0.50866236 0.87892277 -1.26015714 0.73293758 0.81152600 -0.42519371 +H 1.73306356 0.18335098 0.45780759 0.58315303 0.17752070 0.20106733 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.636947101639 pbc="F F F" +C -0.08586910 -0.03242527 0.59177247 -0.70682720 -1.16324861 -1.43494036 +C -1.18426984 -0.20183766 -0.55202139 2.00520259 0.28555838 -0.36105551 +O 1.13898385 0.15787307 -0.04875704 1.67779527 1.73658964 0.14929378 +H -0.43071311 0.71478116 1.30481556 -0.02185557 1.14577857 0.21038198 +H 0.02815144 -0.90331439 1.26368712 -0.36255683 -0.74925442 -0.11934026 +H -1.43375953 0.82914148 -0.86421676 -0.57070673 0.14014486 0.21767676 +H -0.70862842 -0.57272449 -1.58660802 -0.88999959 -0.19241957 2.28523033 +H -2.03540850 -0.74761975 -0.10407854 -0.26127832 -0.10765866 -0.66551444 +H 1.63494716 0.96375605 0.28666161 -0.86977369 -1.09549025 -0.28173227 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.626487567358 pbc="F F F" +C 0.25582258 -0.02644389 -0.48330098 0.92896524 1.13521097 1.47604347 +C -0.65049816 1.14032248 -0.13280320 -2.01729491 -2.56712555 0.65741099 +O 0.32200753 -1.03850049 0.55192615 1.49007249 1.00255337 -0.48377965 +H -0.12319100 -0.41258606 -1.40934092 -0.00923037 -0.95668596 -1.11984374 +H 1.19543131 0.54387616 -0.66368811 0.71154070 -1.04227055 -0.10722743 +H -1.63382248 0.72316581 -0.48886979 -0.18650578 0.88070392 0.72418482 +H -0.66330167 1.26198863 0.97978338 0.00984337 0.52612646 -0.52597157 +H -0.42111330 1.96649754 -0.76359027 0.31656754 1.52370757 -0.41440062 +H 1.23665311 -0.87301774 0.92633081 -1.24395834 -0.50222028 -0.20641630 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.56045685997 pbc="F F F" +C 0.40179177 -0.23550430 -0.28277432 -1.88717951 -0.45457911 -0.45195746 +C -1.18235189 -0.19294028 -0.72785477 1.35654045 2.35589218 1.17729475 +O 0.75663399 0.41534604 0.90107578 1.47776122 0.93074475 -1.86624995 +H 0.73575391 -1.26746640 -0.34964212 -0.30822369 -1.63155397 0.86275334 +H 1.14495667 0.05307934 -1.00370607 0.13175623 1.58215627 -1.38451751 +H -1.58799932 0.91982552 -0.56486742 0.68901130 -1.99336919 -0.36974903 +H -1.34500331 -0.47841263 -1.77583472 0.18556285 0.00696790 -0.35635409 +H -1.81390803 -0.87721986 -0.11969597 0.24743138 0.08218349 0.17171453 +H 0.15610479 0.16113697 1.55338454 -1.89266023 -0.87844243 2.21706542 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.512528430458 pbc="F F F" +C -0.32030684 -0.51250534 0.15582587 2.99539055 -0.01490510 -0.61917893 +C -0.76336509 0.87855037 0.36824339 -2.95365073 1.21935915 2.11642794 +O 0.96862907 -0.39350926 -0.50279323 0.70737407 -1.09639692 -0.04836756 +H -0.29328239 -1.05656731 1.16783089 0.08027156 0.21587612 -0.84796055 +H -0.83843630 -1.14312939 -0.58516571 -0.77750294 0.07178132 0.13884018 +H -1.94057877 0.74630860 0.41230736 1.61015081 1.12657155 0.11698076 +H -0.39747149 1.23134420 1.42805196 -0.64942082 -0.29745380 -1.57748087 +H -0.45090138 1.67177808 -0.38246588 -0.41042421 -0.95111417 0.24612418 +H 1.45740615 0.43325783 -0.30439241 -0.60218825 -0.27371814 0.47461485 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718879740696 pbc="F F F" +C 0.02108791 -0.39465636 0.37433344 0.45085291 -0.25392239 -1.68953067 +C -1.12182142 0.62188953 0.33508156 -1.31121981 -1.78455939 0.94348899 +O 0.97494471 -0.18828483 -0.69073758 0.00088852 -0.03153279 0.09490526 +H 0.61499683 -0.10858351 1.27025086 -0.52770532 -0.93915571 0.67296771 +H -0.35503344 -1.52183845 0.24613795 0.35762833 1.84118539 1.00885355 +H -1.73490686 0.23913758 1.21143554 0.03487332 0.58039166 -0.38514614 +H -0.83273647 1.64705127 0.59437434 0.24904341 0.30934212 -0.29185841 +H -1.85076339 0.55569966 -0.52058447 0.76239415 0.16438914 0.10538894 +H 1.79823595 -0.53198289 -0.29073449 -0.01675553 0.11386186 -0.45906929 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4210.006752007927 pbc="F F F" +C -0.14545018 -0.17109536 -0.49833686 -1.41526961 -0.61648595 -0.15547636 +C -0.19705490 1.26728310 -0.10053143 -0.36671019 1.14670232 2.47197141 +O 0.27862561 -1.04531840 0.51715204 0.07918676 -0.09924750 0.59379154 +H -1.19069454 -0.50495026 -0.77832507 0.50090490 0.12314884 0.18156406 +H 0.43723805 -0.33641390 -1.38861990 0.81816119 0.02512354 -1.23981490 +H -0.85743073 1.31321882 0.87812457 1.26703235 0.14792626 -1.30273475 +H 0.81705924 1.73702119 0.08758575 -0.43303892 -0.53827282 0.25731455 +H -0.65079908 2.00615888 -0.77058958 -0.42225869 -0.18519837 -0.71371266 +H 1.10223183 -0.68608150 0.89904709 -0.02800781 -0.00369632 -0.09290294 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5256994217 pbc="F F F" +C 0.15179801 0.53965878 -0.16457285 -1.68354807 -1.45816062 4.36898154 +C -1.29984923 -0.07334659 -0.39903204 1.94676371 -0.42192249 0.59258225 +O 1.01448488 -0.40141860 0.55468393 1.37123066 -0.27856004 -1.76467751 +H 0.51225346 0.78184791 -1.10980415 1.22618054 1.00753725 -2.09610840 +H 0.09620055 1.37743174 0.59730441 -0.12220205 0.13670858 -1.15026469 +H -1.25563638 -1.16142007 -0.18486850 -0.01854213 0.10129394 0.11295292 +H -2.18410793 0.36111629 0.05190330 -0.26165370 0.53770918 0.88430562 +H -1.45037406 0.03392487 -1.43943099 -0.56060676 -0.06835655 -1.97903960 +H 1.85766335 -0.57915305 -0.00384037 -1.89762220 0.44375070 1.03126787 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625807874839 pbc="F F F" +C -0.07266193 -0.51504354 0.21674360 1.08972475 0.56604274 -2.12840836 +C -1.12390911 0.54024142 0.29463555 1.17963384 0.59149410 1.25678162 +O 1.06804639 -0.06717809 -0.54006328 0.66219335 0.32063215 0.36989312 +H 0.22446274 -0.67057868 1.21752099 0.55360287 -0.63920911 2.06215188 +H -0.37011296 -1.51409037 -0.15777896 -0.14450283 0.09751730 -0.46477817 +H -1.83196271 0.14926964 0.95770794 -2.24277641 -1.01065302 1.29247183 +H -0.65097092 1.25307772 1.02982467 -0.38277337 0.70180264 -1.09625181 +H -1.65122654 0.93807003 -0.56850963 0.26063246 0.35312443 -0.66787569 +H 1.58377441 0.60883365 0.00021880 -0.97573460 -0.98075133 -0.62398443 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.581145284137 pbc="F F F" +C 0.51802836 -0.34014589 -0.11176547 -3.75730226 0.84263553 -0.75194370 +C 0.23020235 1.04360921 -0.65168071 0.52770738 0.46920412 1.70157557 +O -0.65865295 -0.68170402 0.64416608 0.25352315 -1.01179119 0.14708289 +H 0.55407654 -1.11346819 -0.86228881 0.40298981 -0.60804559 -0.83206855 +H 1.39814412 -0.22950801 0.40326503 2.93386927 -0.56069670 2.05462441 +H 0.39504922 1.75199467 0.24787370 -0.03788260 -0.29934469 -1.50970385 +H 0.66763973 1.30913380 -1.59584499 1.18890298 0.60817378 -0.69752592 +H -0.80803361 1.02521451 -0.85670243 -1.88979000 0.23537326 -0.27326028 +H -0.66880787 -0.30645948 1.53590436 0.37798222 0.32449148 0.16121943 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.640307937219 pbc="F F F" +C -0.27074338 0.32825246 0.39398352 1.00923654 -0.20856590 0.98455569 +C -0.89175445 0.00480132 -0.95478183 -0.84182913 1.45573457 -0.14828971 +O 1.04127462 -0.34021105 0.50902871 -2.70396167 -0.80281798 0.10816429 +H -0.24539934 1.37212058 0.78206338 0.49082551 0.45313389 -0.89597838 +H -0.94909763 -0.02151714 1.20039676 0.11002839 -0.90595890 0.02196396 +H -1.88227269 -0.42024603 -0.76030059 -0.20956894 -0.71487187 -0.31154160 +H -1.10576589 0.80140461 -1.71796553 0.38744363 0.26256423 0.63256960 +H -0.17849783 -0.63834893 -1.43975730 0.28127338 -1.14492044 -0.43994938 +H 1.68393608 0.33668350 0.53808552 1.47655229 1.60570234 0.04850552 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.69038041583 pbc="F F F" +C 0.05407292 0.49710157 0.24109632 0.66493610 -0.93492866 -0.60342022 +C -1.28770611 0.00846018 -0.32255048 1.32852241 2.50697668 1.54035598 +O 1.14563682 -0.48900667 0.13321489 -1.38937937 1.72507253 0.29582768 +H 0.18739252 1.48552640 -0.27424222 0.90669449 -0.32840691 -0.44449236 +H 0.00078302 0.85758978 1.25991251 -0.14567120 -0.34900500 1.18075927 +H -1.83979295 -0.65824360 0.28197880 -0.72500788 -1.53084496 0.92121223 +H -1.78701906 0.98594010 -0.27030397 -0.99474025 0.04371247 -0.57780447 +H -1.13892202 -0.30389744 -1.32196737 -0.13563073 -0.59806466 -1.74967815 +H 1.09153701 -0.63055121 -0.81933160 0.49027647 -0.53451155 -0.56275996 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.920953388768 pbc="F F F" +C 0.20225204 -0.41938273 -0.36087022 -0.23305680 2.91247836 -0.63579973 +C -1.24939123 0.16375266 -0.36245954 -0.31886040 -3.05364133 -0.48372134 +O 0.96563392 0.17588694 0.69666264 -0.33897420 -1.96891943 0.24171561 +H 0.34936325 -1.47474625 -0.23643804 -0.42710692 -1.27983547 -0.03911724 +H 0.60480079 -0.09240407 -1.38209350 0.09028535 -0.61382275 0.63060219 +H -1.22641974 1.22437057 -0.52645483 -0.03235616 1.20640541 0.28725161 +H -1.86802351 -0.25780120 -1.21236347 0.56327644 0.19550742 0.13138372 +H -1.84377613 -0.19949589 0.50780472 0.30478639 0.67633123 0.24851942 +H 1.13300693 1.05276900 0.41042423 0.39200641 1.92549657 -0.38083429 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.587348842915 pbc="F F F" +C -0.30164240 -0.20937469 -0.40957369 -0.58878611 2.13598689 -2.87154530 +C -0.90782642 0.16516813 0.89553495 -0.94461935 4.00303208 -1.62636553 +O 1.08387339 0.06141695 -0.43621440 1.19628781 -2.07194845 0.42101623 +H -0.53880367 -1.20153838 -0.88166249 -0.13446997 0.14347177 0.51110175 +H -0.62977594 0.59081015 -1.16329667 -0.60564536 -0.94831305 0.35260511 +H -2.03773571 0.30949596 0.84525303 0.93330223 -0.29092772 0.13296146 +H -0.61886317 -0.52331440 1.59676512 0.71420097 -1.99660292 2.82195220 +H -0.40959778 1.23463915 1.08647719 -1.04292716 -1.96998808 0.17793629 +H 1.44120351 -0.85971723 -0.35010194 0.47265690 0.99528944 0.08033785 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.845829283939 pbc="F F F" +C -0.00672687 -0.43065579 0.42046206 0.18486125 1.95990555 -0.72797556 +C -1.09599997 0.63873849 0.20696785 -0.72398073 -0.39897081 0.27353904 +O 1.05043966 -0.27152033 -0.54251480 -0.65599565 1.10742109 -0.37591747 +H 0.38007079 -0.13039796 1.41761294 0.10722764 -1.04656800 0.41294764 +H -0.42544729 -1.44377228 0.31193643 0.03173087 -0.27130171 0.43531100 +H -2.09057026 0.29562271 0.55124962 -0.02007811 0.03030190 0.51356553 +H -0.89317525 1.63397777 0.63997468 0.24809323 -0.04493909 0.39297638 +H -1.32566489 0.86139236 -0.82763457 0.17551765 -0.15840834 -1.26936974 +H 0.81997339 0.61208731 -0.95811236 0.65262385 -1.17744059 0.34492317 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.519493407936 pbc="F F F" +C 0.20598877 -0.24969538 0.43648876 -3.32356303 -0.55069207 2.06599028 +C 0.67859846 1.15872061 0.09487838 -1.10880707 -0.76775660 -1.49728233 +O -0.77537517 -0.86563811 -0.46576283 0.43816040 0.77531015 -0.03694065 +H 0.96158905 -1.05790991 0.54599161 0.31624585 0.44256887 -0.15794261 +H -0.26151950 -0.15124463 1.55322997 0.53756263 -0.46984957 -1.83461550 +H 0.00267441 1.56275314 -0.75809293 1.04068516 -0.17957002 1.14057569 +H 0.74238094 1.83044361 0.95476507 -0.17093260 0.29404287 0.22231195 +H 1.66345998 0.93917149 -0.26145299 1.38446779 0.74972884 -0.90870052 +H -1.34257826 -0.21614704 -0.97303376 0.88618088 -0.29378237 1.00660373 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.676616113712 pbc="F F F" +C -0.04172973 -0.46996233 0.17992543 0.15942429 0.07421132 3.05063900 +C -1.25587845 0.56105223 0.30901613 1.56919765 -2.28556683 -1.32211877 +O 1.17741581 -0.02684858 -0.42148712 -0.47544943 -1.20010739 -1.38108000 +H 0.18022446 -0.63890524 1.32971734 -0.01356571 -0.14409238 -1.46606990 +H -0.34265716 -1.49418679 -0.18758398 -0.18700632 0.65469981 -0.07070423 +H -2.01113681 -0.03003467 0.89886953 0.19486763 1.01263251 -0.08390273 +H -0.87216350 1.52722656 0.64663784 -0.15852754 0.22252993 0.76779188 +H -1.58169107 0.71540243 -0.71683572 -0.79609593 0.26786780 -0.61222090 +H 1.39929451 -0.74026024 -1.10665572 -0.29284469 1.39782529 1.11766561 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.367782497836 pbc="F F F" +C -0.42510447 -0.20873845 -0.32326434 3.23723127 3.07706568 0.35697183 +C -0.76507654 0.48277881 1.05912046 2.76685637 1.86552068 -3.97709592 +O 1.04577274 -0.31557565 -0.64212260 -1.79206218 -1.32872008 1.07755438 +H -0.64488514 -1.17983050 -0.54933716 -1.37333866 -3.69462203 0.58007285 +H -0.88537548 0.25402793 -1.19019119 -0.63278521 1.15365762 -0.41560025 +H -1.76158926 0.36444734 1.31366650 -2.64298994 -0.29327735 0.87702780 +H -0.06471119 0.16965443 1.78434849 0.93522726 -0.94848393 1.46422456 +H -0.50442226 1.61556996 0.91275824 -0.67694793 -1.44943953 0.23399237 +H 1.44236091 0.51838966 -0.84712318 0.17880908 1.61829895 -0.19714763 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.834515423995 pbc="F F F" +C -0.29596672 -0.48871031 0.07557190 -0.26779946 -0.29225760 -1.02586701 +C -0.92203033 0.90115165 0.19397289 0.78572574 -0.32933431 -1.62007584 +O 1.13181711 -0.41414779 -0.20416398 -1.63600753 -1.77255547 2.33741885 +H -0.43905711 -1.04262997 1.01991700 0.20941776 -0.11027290 0.10985484 +H -0.93507268 -1.03335822 -0.73082651 1.07462034 0.08018389 0.72881307 +H -1.77008565 0.79675552 0.82590933 -1.55719394 0.23428455 0.76792100 +H -0.17478652 1.48833575 0.71075793 0.40887475 0.92272681 0.36550614 +H -1.20945153 1.36880089 -0.81613850 0.34999832 -0.41173310 1.09754960 +H 1.07547558 0.07982850 -0.98076868 0.63236401 1.67895819 -2.76112065 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.517437121621 pbc="F F F" +C 0.48385016 0.27811214 0.10278094 0.14350730 -1.50905989 -0.77523137 +C -0.71140458 0.97241164 -0.46981107 -1.10545189 -2.61143560 0.50382645 +O 0.19638409 -1.10695546 0.30591882 0.20291390 -1.05739008 1.93253857 +H 1.24689895 0.21019177 -0.72573432 0.48778502 1.04574566 0.90794718 +H 0.68824150 0.72021557 1.08152375 1.13787356 0.54934569 0.12665793 +H -1.31468135 0.12818524 -0.91746425 -0.18098454 0.48000553 0.56556724 +H -1.27229816 1.54306345 0.26054301 -0.56790438 0.50298714 0.15924647 +H -0.41771869 1.45203179 -1.33788573 0.60304551 2.23692607 -2.03463921 +H 0.66285027 -1.38542863 1.15661903 -0.72078449 0.36287549 -1.38591326 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.572141464723 pbc="F F F" +C 0.17255546 -0.01367816 -0.58930178 -0.76353444 1.82272918 2.25876852 +C -1.32927151 -0.33149972 -0.05814276 1.22783392 0.97892955 -3.07101577 +O 1.06466227 0.36456392 0.57402308 -1.15658621 0.20977386 -2.35873104 +H 0.43154950 -0.92686747 -1.09111122 0.95325533 -1.11755793 -0.46842620 +H 0.29063365 0.82468493 -1.42088537 -0.52898064 -1.10774444 1.77215999 +H -1.73616592 0.34030074 0.65887222 -0.05764456 1.35875603 1.19067668 +H -1.99581134 -0.15137713 -0.97205733 0.32888303 -0.81223804 0.77118574 +H -1.42027436 -1.32567583 0.38124818 0.03803419 -0.66418081 -0.18174306 +H 1.31283421 -0.43625239 1.04726033 -0.04126061 -0.66846746 0.08712520 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.695120629177 pbc="F F F" +C 0.13765510 0.30181795 0.46016740 0.51998383 -0.63306891 -3.38026055 +C -0.47385875 0.88987166 -0.83749015 -2.32242258 -0.32504910 0.90248775 +O 0.30134172 -1.09708724 0.43118068 -0.86329986 0.16527746 2.17246258 +H 1.10549148 0.76929874 0.53246678 1.25434267 0.69646482 0.37262332 +H -0.44707526 0.65524036 1.25575912 -1.26018720 0.20096952 2.01303320 +H -0.09580092 0.51961710 -1.75915854 1.21654014 -1.15540139 -1.26512161 +H -1.63013792 0.65790008 -0.99894906 1.78302162 0.87522032 0.70080793 +H -0.16745122 1.94175216 -0.91337635 -0.68825107 0.63285365 0.19595659 +H 0.45690925 -1.33111814 -0.46482003 0.36027240 -0.45726638 -1.71198916 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.713439737367 pbc="F F F" +C -0.06064687 -0.19559472 0.56278571 -0.45941258 1.25587880 -0.20120535 +C -1.10172178 0.65666044 -0.24876807 0.44800552 -2.31524704 -0.28198558 +O 1.01984317 -0.42073173 -0.31693408 1.72494192 -0.93741831 0.42474171 +H 0.33682310 0.31542538 1.45035901 -0.17691191 0.55551171 0.51504613 +H -0.64109898 -1.06226543 0.97302857 0.49649263 -0.47547046 -0.27830206 +H -1.79320480 1.21246118 0.39542916 -0.68090646 -0.37380284 0.26674310 +H -0.55167681 1.45338780 -0.77040829 0.13043236 -0.14120406 -0.64077404 +H -1.58994565 -0.18725946 -0.94740279 0.53041814 2.27347946 0.94424916 +H 1.90065575 -0.54891987 0.18794355 -2.01305958 0.15827279 -0.74851312 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.54430797111 pbc="F F F" +C 0.06991801 -0.27471712 0.46772807 0.07522084 -0.34787845 -0.79796929 +C 0.85158339 1.03904678 0.16561798 -1.18211048 -2.24425983 -1.89093054 +O -0.88616344 -0.66641007 -0.55458983 1.79580818 -0.60038786 -0.61063633 +H 0.73989184 -1.16739405 0.61563995 0.14504554 0.51120876 0.07021017 +H -0.37073466 -0.07837970 1.45774689 -0.90252123 -0.44732387 0.07065106 +H 0.78666882 1.21661216 -0.96960570 0.74981888 0.02595154 1.34121729 +H 0.41837809 1.82041014 0.72535705 -0.96452474 1.71237220 0.57507940 +H 1.76942457 0.81431513 0.65806071 1.98088581 0.31428831 -0.14346766 +H -0.25891185 -1.13671150 -1.23099799 -1.69762275 1.07602910 1.38584595 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.851597048173 pbc="F F F" +C -0.24620795 -0.51775348 0.04288924 0.29171700 1.84474698 -0.73941563 +C -0.99075196 0.80096044 0.48184947 0.86540755 -1.55277884 0.18036758 +O 1.10669723 -0.27693968 -0.52773774 -0.13222437 -0.00351460 2.38135275 +H -0.22528188 -1.15972999 0.91282684 0.23620748 -0.90378318 0.64308536 +H -0.90586618 -0.97498201 -0.72780165 0.60701123 -0.23902757 -0.19686681 +H -2.08129565 0.62920368 0.64668300 0.32805246 -0.14067220 0.40582213 +H -0.44507461 1.17147384 1.38077712 -0.51404638 0.39513642 -0.16365859 +H -0.94610477 1.48025794 -0.35253045 0.29546156 0.98392372 -0.62678816 +H 1.77534549 -0.12647738 0.26418730 -1.97758647 -0.38403064 -1.88389862 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.547815671478 pbc="F F F" +C 0.38999375 0.04581999 -0.32305977 0.12432630 0.23147629 -1.80778942 +C -0.80622720 1.05155454 -0.35583486 2.00314293 0.34172256 -0.41293489 +O 0.35671820 -1.00692916 0.57906925 -1.98247028 -1.22022468 -0.17611975 +H 0.28630817 -0.46720569 -1.33107027 0.89483686 0.50309950 0.32518321 +H 1.35831839 0.54787004 -0.17112554 0.30126197 0.48807705 -0.64114248 +H -0.57451619 2.16074896 -0.53019292 -0.18113973 -1.31516003 -0.29122566 +H -1.55733298 0.58109151 -0.96321939 -0.91014733 0.24618265 -1.00777873 +H -1.18027282 0.96696438 0.60711204 -1.24965801 0.19340456 2.81434693 +H 0.96406161 -0.88402434 1.28648527 0.99984728 0.53142216 1.19746085 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.631880299736 pbc="F F F" +C -0.14792880 0.52872514 -0.13883519 1.45216100 -1.60355094 -0.06057254 +C -0.71453998 -0.20322116 1.10193899 0.75095248 -1.16811468 -1.59383762 +O 0.78424478 -0.25012449 -0.93526608 -0.51128106 -2.09146925 1.13585833 +H -0.88291789 0.98142382 -0.82761896 -0.62833653 -0.22487200 0.08068207 +H 0.48084102 1.35158238 0.19279560 0.05134469 0.95038027 0.67669360 +H -1.30221410 0.51813259 1.55343305 -2.47888413 1.68312774 1.25279008 +H -1.23716544 -1.19599604 0.99586483 -0.13344344 0.74746946 -0.57984001 +H -0.04306512 -0.40129720 1.92800185 1.47138941 -0.10887304 0.19100860 +H 0.81218080 -1.16376186 -0.47308405 0.02609758 1.81590244 -1.10278251 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639599324159 pbc="F F F" +C -0.21372394 -0.44904416 0.01880318 -0.73007548 -1.06309310 0.63394123 +C -0.95593267 0.81284895 0.49844179 -1.40068616 -0.70756485 -0.43752868 +O 1.07263859 -0.32020573 -0.52343571 1.19194316 0.02428305 0.42977305 +H -0.29888894 -1.23640925 0.85408728 0.61728516 0.87661920 -0.05522587 +H -0.91536112 -1.03573662 -0.66460482 0.79612570 0.83770308 -0.44820190 +H -1.97836331 0.31993980 0.72211532 1.00706016 0.99153933 0.85223676 +H -0.41622518 1.38156632 1.29078854 -0.45587454 -0.45254511 0.33425736 +H -1.29873887 1.59902693 -0.22370133 0.73412810 -0.44176319 -0.44234852 +H 1.81793291 -0.28227396 0.16646576 -1.75990610 -0.06517841 -0.86690331 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.706187296199 pbc="F F F" +C 0.17778499 -0.57408102 -0.03572282 -1.37255324 0.97583014 -0.25897677 +C -1.16686428 0.10749910 -0.71021459 1.37576079 -0.20665136 1.81474960 +O 0.89800118 0.43850746 0.63769974 -0.90054533 1.53057566 -1.67861561 +H -0.24358854 -1.25365811 0.71789253 0.09025897 -0.89608719 0.00409891 +H 0.85375777 -1.08853809 -0.78818482 -0.71292508 0.03385218 0.24702442 +H -0.81461942 0.87649516 -1.43276069 -0.34345795 0.33763424 0.46499866 +H -1.80503645 -0.57078974 -1.28009909 0.06379495 -0.80795592 -0.30212138 +H -1.86408275 0.45771882 0.15881911 1.26358250 0.09853093 -1.28028876 +H 1.40423336 0.17651298 1.39054648 0.53608439 -1.06572869 0.98913087 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.440918204641 pbc="F F F" +C 0.46702359 -0.31226172 -0.35382472 -3.25301327 1.17896690 0.96885756 +C -0.36952067 1.08867868 -0.73116451 3.14911938 -3.00767580 -0.44914179 +O -0.09316639 -0.75183704 0.93951146 0.79586715 -0.13184683 -0.60174150 +H 0.20027548 -1.16913664 -1.08758386 0.81421157 1.15908728 0.88142948 +H 1.50731472 0.00725051 -0.26160932 0.79053283 -0.55764660 -0.23788610 +H -0.94782128 1.20931434 0.11965010 -1.75008084 0.56425490 2.03257976 +H 0.34871186 1.88848552 -0.83376038 0.32868310 0.82600106 -0.42482028 +H -0.96104553 0.87736914 -1.58665371 -0.93165682 0.20774227 -1.36349169 +H 0.16858648 -0.13245045 1.66557354 0.05633685 -0.23888308 -0.80578534 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.67331867567 pbc="F F F" +C 0.24960765 0.14402885 0.51637530 1.26340211 0.29881592 1.22319282 +C 0.32306163 0.92579264 -0.75348579 2.54573325 0.64987344 -1.79006767 +O -0.52837214 -1.00270316 0.29442881 0.62119195 -0.56235182 2.65899804 +H 1.36909563 -0.09983893 0.84950156 -1.82131003 0.13326428 -0.21210143 +H -0.23266004 0.79344620 1.36836981 0.69982135 -0.83546899 -1.04669928 +H -0.66922625 0.99728257 -1.17565960 -0.84241123 0.45536232 -0.52264667 +H 0.82814712 1.91233016 -0.69673836 -0.63932636 0.43303856 0.62059370 +H 1.06110680 0.56341866 -1.59467767 -1.27930192 -0.56586518 1.21419884 +H -0.79438485 -0.99995023 -0.59894282 -0.54779906 -0.00666852 -2.14546835 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.414216583786 pbc="F F F" +C 0.18492504 0.54732119 -0.03668897 -1.55102385 -3.58253229 -1.45084217 +C -0.99302734 -0.04515015 -0.80030381 -0.27335942 -0.78775228 0.26901132 +O 0.78917440 -0.45987453 0.70960986 1.29852719 -0.60237430 1.73065609 +H 0.67770487 1.16067946 -0.73028172 2.49329101 0.85215407 -1.27073047 +H -0.24210162 1.15948904 0.61838010 -2.09968419 3.75305181 3.18791734 +H -1.47852428 0.68792744 -1.45475926 -0.21621874 0.18615739 -0.33658117 +H -0.73012759 -0.96818270 -1.35337803 0.31811992 0.19795295 -0.35838429 +H -1.72165290 -0.42443939 -0.06256932 -0.35903359 0.12060170 0.11102413 +H 0.59627532 -0.30113090 1.69238985 0.38938167 -0.13725906 -1.88207072 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.887930032803 pbc="F F F" +C -0.34160523 0.24378890 0.44050569 2.29032178 0.36751474 -0.04999867 +C -0.91238556 -0.10832884 -0.91402486 1.10220808 0.96552253 -1.24388064 +O 1.13991571 -0.08071831 0.47711140 -2.32269959 0.90103559 0.38185024 +H -0.33294270 1.35896022 0.61740059 -0.31317204 -0.64540296 -0.05566857 +H -0.94283082 -0.22468322 1.23090851 0.15748115 -0.39257056 0.67847399 +H -0.54256795 0.73930947 -1.58304012 -0.70162174 -0.86630239 0.04906536 +H -0.47216280 -1.04438614 -1.36745901 -0.29089240 0.28455822 0.49581808 +H -2.01096023 -0.19829031 -0.93076227 -0.17100182 0.15557005 -0.05552099 +H 1.14883910 -0.96529270 0.10208402 0.24937662 -0.76992523 -0.20013880 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.257463968278 pbc="F F F" +C -0.18924948 -0.12184066 -0.45337846 -3.43520345 1.12964212 -0.31751788 +C 0.90197486 0.91374168 -0.44566150 0.69289582 -1.60054975 3.19529404 +O -0.64640607 -0.79002032 0.77840456 2.47287135 1.30757902 1.06342719 +H -1.09274346 0.57138605 -0.66009340 0.51599374 -0.82469021 -0.47508356 +H -0.13945205 -0.77249433 -1.40423978 0.10858333 -0.12414560 1.55946777 +H 1.88706031 0.40300599 -0.09909357 -0.76678303 1.27742383 -0.90149921 +H 0.79629293 1.44921477 -1.35182058 0.84534759 0.51859677 -1.93973318 +H 0.56538434 1.70609494 0.26877114 0.56753136 -0.25957095 0.37328569 +H -0.24978856 -0.25478732 1.60361386 -1.00123671 -1.42428519 -2.55764080 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.750158454271 pbc="F F F" +C -0.15821488 0.30157728 -0.49723376 2.08460883 -2.87817772 1.23870424 +C -1.13315790 -0.07210274 0.58774920 -0.78613331 1.14505727 -1.98510119 +O 1.20597123 -0.18492625 -0.13376829 -1.09135864 0.24169602 -0.24894067 +H -0.42275821 -0.18758965 -1.44941135 -0.15936716 -0.01973106 -0.25150154 +H -0.05731012 1.33059587 -0.64959686 -0.09140655 2.51121129 -0.36595526 +H -0.91136796 0.32277441 1.56064973 0.29355375 0.22582598 1.07822775 +H -2.11142328 0.28040608 0.25599742 -0.71656644 0.89827757 0.15666030 +H -1.37422210 -1.09861452 0.52308111 0.34567861 -2.17419920 0.60120218 +H 1.12137989 -0.44810887 0.80404314 0.12099096 0.05003980 -0.22329571 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548088977923 pbc="F F F" +C 0.48253481 0.15415807 -0.13101497 -0.12269365 -0.53258445 -2.61959695 +C -0.67857165 1.01091280 -0.25637095 -2.27181929 2.94314839 0.02907348 +O 0.20043034 -1.10182447 0.32658322 -0.50556683 -1.05382520 2.63995634 +H 0.85636624 0.06030509 -1.14699091 0.56344074 -0.20734082 -0.89537803 +H 1.26860868 0.54897817 0.41114261 2.36217000 1.66114326 1.65431364 +H -1.41871729 0.52898445 -0.89592837 -0.61434047 -0.61248799 -0.07672010 +H -1.23887465 1.36530151 0.70118037 0.92212703 -0.43495747 -1.06225389 +H -0.43273017 1.90112339 -0.91427583 -0.02179525 -0.09281845 0.84120348 +H 0.11884594 -0.79961532 1.27702136 -0.31152227 -1.67027726 -0.51059802 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.40937754538 pbc="F F F" +C 0.00173563 0.37961791 0.43462356 1.12977232 -0.26319050 -2.91443651 +C -1.27990250 0.05324931 -0.30293587 2.26265156 -2.12757676 -2.04139371 +O 1.17943316 -0.37591333 -0.03700909 -1.07017428 0.37047542 0.85893047 +H 0.20119341 1.44414443 0.26063489 0.16717282 0.61097263 0.81135271 +H -0.28949339 0.07234211 1.40721364 0.86017216 -0.00690197 1.97170404 +H -1.69228357 0.74256014 -0.98640530 -1.10799980 1.77118286 -0.52309497 +H -1.05132308 -0.78253755 -1.03353671 0.15630364 0.15740854 0.41035941 +H -1.89207135 -0.45408670 0.36835880 -2.33616050 -0.60619568 1.34215821 +H 1.23216202 -0.21499616 -0.99800835 -0.06173792 0.09382550 0.08442030 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.752728173071 pbc="F F F" +C -0.23143142 0.31674856 -0.46136722 1.31361685 -2.30137167 0.60967119 +C -1.02148949 0.09451239 0.87119929 1.93184694 -0.73010505 0.24367515 +O 1.15145263 -0.30530125 -0.40025200 -1.64571124 1.37428297 -0.05787355 +H -0.79538815 -0.17216330 -1.28034330 -0.07490084 0.04879750 -0.29777925 +H -0.01736633 1.35465082 -0.75074663 -0.20546078 0.34722755 0.20757166 +H -0.48481688 0.79201940 1.64225641 -1.19763702 -1.38159427 -0.56835108 +H -2.10462415 0.24850343 0.76902465 -0.24088663 0.67253417 0.01190997 +H -0.99610847 -1.07271444 1.14325573 0.39674845 2.15159894 -0.21080158 +H 1.04980013 -1.20625876 -0.05369491 -0.27761568 -0.18137020 0.06197754 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7543189623 pbc="F F F" +C -0.37545189 0.04005641 -0.37765196 1.82125851 -0.75337858 -1.87514345 +C 0.96865907 0.79543920 -0.40426580 -0.85372851 -1.02314848 2.34761338 +O -0.61172326 -0.72814307 0.73070165 1.03807317 -0.88469746 1.41776914 +H -1.24854039 0.57854539 -0.58094586 -1.76011483 2.04366826 -0.12725335 +H -0.35615938 -0.60516455 -1.26991954 0.15298378 -0.56394061 -0.73486344 +H 1.78767916 0.10000153 -0.06397245 -0.39440412 0.29702798 0.26309110 +H 1.30058621 1.05603117 -1.36006540 0.31084180 0.86083067 -2.34849357 +H 0.90711405 1.68171388 0.23908060 0.38929045 0.28025029 0.29971298 +H 0.24973010 -1.21038429 0.75452785 -0.70420020 -0.25661207 0.75756721 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.441959692116 pbc="F F F" +C -0.26047157 -0.45921704 0.34128158 -0.82165250 0.40043644 -4.21974427 +C -0.98204844 0.88298020 -0.05850206 0.00387553 -1.51962743 4.11468701 +O 1.15681762 -0.38012250 -0.19962283 -2.18583119 -1.02835579 0.29725408 +H -0.30534598 -0.51404825 1.40576657 0.59497923 -0.63515968 1.40456189 +H -0.96411100 -1.30259930 -0.20344156 1.90706144 1.17199206 1.46438788 +H -1.86789201 1.11781486 0.62363072 0.55719630 -0.38955209 -0.69770610 +H -0.26325602 1.64474928 0.12098536 1.00431206 1.36459896 -0.01066165 +H -1.26818644 0.82138929 -1.03748634 -1.02521945 0.19153259 -3.32951621 +H 1.11118896 -0.78458104 -1.11039387 -0.03472132 0.44413493 0.97673738 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.815026471046 pbc="F F F" +C -0.19001491 -0.43368882 0.34071765 1.11182262 1.47827642 -2.28746030 +C -1.00744219 0.80482168 -0.04472770 -1.16714604 -1.07798740 1.48061201 +O 1.11114277 -0.34652444 -0.22445468 0.80092894 -0.27499423 0.86878510 +H 0.02019243 -0.50170425 1.36095033 0.26782661 0.24913083 2.59880639 +H -0.66186759 -1.38681719 0.13037459 -0.82039888 -0.73176192 -0.60186877 +H -1.65037553 1.11636802 0.79365938 -0.33722019 -0.08795788 0.39885105 +H -0.47557073 1.71500936 -0.25370966 1.10671368 0.53257103 -0.48447447 +H -1.71663220 0.56110586 -0.81790530 -0.50708851 0.01677373 -1.12301412 +H 1.11469133 -0.42740417 -1.17755987 -0.45543822 -0.10405052 -0.85023690 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.676777647616 pbc="F F F" +C -0.52343166 0.11680792 0.29096675 1.33206411 -1.67296278 -0.32427232 +C 0.16655925 1.06836060 -0.64729305 -0.05024585 -0.82393096 -1.42656103 +O 0.32105259 -1.08485979 0.40846723 -0.73021602 -0.06233230 -1.39693512 +H -0.75332635 0.45516715 1.33688106 0.58772697 0.04972921 -0.38151271 +H -1.51866970 -0.01786264 -0.18887967 -0.26777025 -0.66960126 0.23664256 +H 1.26715571 1.09736803 -0.70696487 0.13435114 -0.09673784 0.60411103 +H -0.19156647 0.93014549 -1.70541145 0.24349800 -0.36699440 0.33555643 +H -0.22949917 2.00385747 -0.43181858 -0.55141141 2.92291354 0.51383293 +H 0.58125416 -1.37237007 -0.54154119 -0.69799669 0.71991679 1.83913827 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.438202419653 pbc="F F F" +C 0.46622431 0.01715512 -0.32525018 0.97354288 2.93979521 3.53326309 +C -0.70303674 1.06676006 -0.31515731 1.49911198 -3.05122305 -4.39830683 +O 0.17376142 -0.97781762 0.57945708 -2.47173847 -0.53543241 0.01030581 +H 0.73591503 -0.33883956 -1.30602138 -0.02972746 -0.34303032 -1.27079398 +H 1.35014893 0.67373062 0.07042045 -0.44591197 -0.88541495 -0.74531945 +H -0.43930024 1.43752364 -1.35162727 -0.92855525 0.98779796 0.69560443 +H -1.61265378 0.47997870 -0.43482064 -0.75851446 -0.19020709 -0.06526413 +H -0.84178647 1.77627323 0.43461526 0.34706217 1.58363620 1.85469433 +H 0.87038617 -1.42493712 1.02065048 1.81473058 -0.50592154 0.38581679 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.642897719279 pbc="F F F" +C 0.50936771 0.19598829 -0.20399614 1.10214750 -0.97874850 2.09546470 +C -0.71322282 1.06373670 -0.28388582 -0.32266739 0.52422307 -0.37969668 +O 0.23341769 -1.17177558 0.38682569 -1.77583795 2.13068558 0.39657218 +H 0.97309636 0.11234070 -1.20027208 0.37110560 -0.48916031 0.03789756 +H 1.22284028 0.55332077 0.60158943 0.05268403 0.60553768 -1.15259709 +H -1.39853494 0.53670345 -0.97822176 -0.57239558 0.02008423 0.46606608 +H -1.04469733 1.15509860 0.76688440 -0.85050121 0.07226067 -0.09035091 +H -0.65632760 2.12839492 -0.70288073 0.60367641 -0.98899095 0.39859980 +H -0.37333512 -0.89832836 1.18631882 1.39178859 -0.89589153 -1.77195558 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.910753902507 pbc="F F F" +C -0.15370831 0.50488377 0.21917967 0.36813510 -0.93594712 -0.68798440 +C -1.03948870 -0.76357394 0.25174643 -0.04081376 0.41018843 0.20158880 +O 1.12066210 0.27628995 -0.38082876 -0.71453696 -1.45077815 -1.60815723 +H -0.70692566 1.26249387 -0.29742660 -0.81432012 1.09942527 -1.26290995 +H 0.06364126 1.04263036 1.14070692 0.00827402 -0.38269145 1.15499814 +H -0.79579162 -1.38668059 1.11437018 0.31037010 -0.58711155 0.27887362 +H -2.13012615 -0.54099697 0.36694690 0.29903241 0.13332779 -0.19099081 +H -0.90429135 -1.36929791 -0.69233808 -0.08333694 0.39073551 0.46789985 +H 0.90206366 -0.31272598 -1.19882138 0.66719615 1.32285133 1.64668193 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.885511190537 pbc="F F F" +C 0.20661065 -0.32887896 -0.41983049 -0.54019343 -1.48454724 1.97884394 +C -1.24856269 0.13985106 -0.37921757 -0.60071156 -1.43300709 -1.66652515 +O 0.94808449 0.14710128 0.73650774 -0.12324130 0.19355112 -1.12825547 +H 0.16473097 -1.42710267 -0.14230647 0.00855982 0.35337629 -0.93172912 +H 0.68932406 -0.20902602 -1.41025331 0.26914137 0.19200666 0.05138187 +H -1.38078734 1.21701725 -0.49137461 -0.06333215 0.58841073 -0.53908266 +H -1.91781424 -0.49764543 -1.13724289 1.17040718 1.40396190 1.15598390 +H -1.63015484 -0.07603591 0.60754286 -0.37820220 -0.32258958 0.92052106 +H 1.44041093 0.90877299 0.40430353 0.25757222 0.50883717 0.15886163 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.778742647716 pbc="F F F" +C -0.19934917 -0.35962914 -0.25275816 -1.01819993 -1.26078591 -1.71827530 +C -1.07325630 0.38481906 0.78080610 0.50211939 0.01536620 0.70335415 +O 1.15886367 0.03723244 -0.50852848 -0.22709621 -0.93250210 1.13850214 +H -0.31180117 -1.55307237 -0.10344062 0.35079727 2.16660169 0.11238296 +H -0.71451581 -0.21948395 -1.24662724 0.02034062 -0.07055855 0.25718615 +H -2.07498122 -0.12443775 0.80642854 0.34948261 0.39201186 -0.09723350 +H -0.61817509 0.22058688 1.77170008 -0.01769336 -0.08028231 0.45128301 +H -1.20183968 1.52009892 0.74714652 0.20833774 -1.04367186 -0.67880227 +H 1.68973375 -0.73636122 -0.19541363 -0.16808814 0.81382102 -0.16839734 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.517408878019 pbc="F F F" +C 0.45118025 0.09962940 -0.12936439 -0.52418404 2.63047730 -2.47557019 +C -0.69660655 1.08685674 -0.29188401 -0.10862457 1.39328179 1.48439493 +O 0.25233409 -1.13752348 0.34072178 -0.83256082 -2.18103289 0.84980974 +H 0.79324790 0.02485837 -1.17337447 0.72615429 -0.24577399 -0.19848172 +H 1.11279628 0.68352022 0.44437836 2.28638593 0.80134078 1.07158402 +H -1.51972938 0.63686288 -0.72635633 -2.38486369 -1.36183431 -1.50756880 +H -1.12595738 1.58300576 0.59531167 0.10356726 -0.53922598 1.04564045 +H -0.54088065 2.03651690 -0.82768539 0.92254920 -0.18704386 -0.82053232 +H 0.19866387 -1.04820955 1.29895714 -0.18842351 -0.31018889 0.55072390 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.655414599351 pbc="F F F" +C -0.25979504 -0.14756798 -0.50872343 -1.04806335 1.53255536 1.36714240 +C 0.82688230 0.94831390 -0.37001548 -2.09385966 -0.04438502 -3.96056973 +O -0.47936181 -0.75656649 0.82060907 0.21732894 0.49289566 -1.62373216 +H -1.28085280 0.25350162 -0.99893752 1.84151572 -0.57399414 0.97377007 +H 0.16388183 -0.85292431 -1.21735089 0.05629216 -0.98497108 -0.40500226 +H 1.68523371 0.62861237 0.09536056 2.58590572 -1.45361475 1.45015343 +H 1.12488971 1.27779019 -1.42544127 -0.06731911 -0.50464596 0.68771860 +H 0.59460732 1.88204091 0.05328904 -1.16647807 1.63660362 1.31514558 +H -1.43712437 -0.72302207 0.93838109 -0.32532246 -0.10044362 0.19537403 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.873482251291 pbc="F F F" +C -0.22179343 -0.45513475 0.02817212 -0.66443602 -2.49565622 0.07314246 +C -0.99711323 0.77440251 0.44168185 -0.14487688 1.20475687 -0.26048318 +O 1.11753488 -0.28404627 -0.47046384 -2.18103243 0.49118202 -0.98094319 +H -0.29887940 -1.34076284 0.80988673 0.43660771 1.50568146 -0.64965937 +H -0.86995761 -0.92829472 -0.78501578 0.74333194 0.39277265 0.16919855 +H -1.98165893 0.57996451 0.90708489 -0.12611774 -0.51197325 -0.19749838 +H -0.54914976 1.49292849 1.14476566 0.71855704 -0.13843631 0.34826273 +H -1.18932880 1.40350216 -0.45913648 -0.05217624 -0.12931959 0.04761062 +H 1.67354263 -0.50448966 0.25143902 1.27014262 -0.31900768 1.45036981 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8976058031485 pbc="F F F" +C 0.15964015 -0.37741469 -0.38059300 1.91596250 -0.45786647 0.55612924 +C -1.19104074 0.15977509 -0.35731378 -4.04926449 -2.00288094 0.85277797 +O 0.98346737 0.14715158 0.67491620 -0.09310873 -1.59645932 0.03695391 +H 0.10924351 -1.47219878 -0.19787932 0.22670612 -0.00926112 -0.15020127 +H 0.68352069 -0.20380528 -1.34724687 -0.18484315 -0.13206198 -0.29249178 +H -1.31409241 1.17960879 -0.56253129 0.20583374 2.50873033 -0.22021347 +H -1.94981480 -0.28059159 -1.09478381 1.05030536 -0.07135976 0.24314555 +H -1.76393085 -0.05949508 0.63068420 1.05577852 0.38689017 -0.89832590 +H 0.91340620 1.09260325 0.65152629 -0.12736992 1.37426909 -0.12777420 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.814137679678 pbc="F F F" +C -0.18384387 -0.35337086 0.39374032 -0.71518550 -0.38202538 0.48279389 +C -0.93168892 0.84580576 -0.10836084 -2.80185187 -0.59842811 0.62176032 +O 1.01527919 -0.50756290 -0.28398915 1.02291898 0.45215657 0.21277470 +H -0.06546266 -0.31457732 1.50806443 0.10094823 0.20397252 0.03642535 +H -0.75628782 -1.24702642 0.24881836 -0.79102597 -1.23828931 -0.39568278 +H -2.07725243 0.76437027 0.27526301 2.24904106 0.62066621 -0.79416308 +H -0.42394177 1.70886909 0.29128342 0.04143339 1.26252017 0.41525485 +H -0.89856899 0.93167197 -1.21251134 -0.17429566 -0.25079243 -0.00714124 +H 1.39741193 0.34402692 -0.00366084 1.06801738 -0.06978023 -0.57202195 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.327846672366 pbc="F F F" +C 0.10782699 -0.46976131 -0.24049606 2.52931320 1.65009821 -1.03543558 +C -1.16687161 0.13328648 -0.31921350 -4.13619589 1.53610410 -1.56561934 +O 1.01243564 0.30862866 0.49506916 1.41230883 -0.40475729 0.61673427 +H -0.13231380 -1.48911829 -0.08992422 0.56229572 -2.33376043 1.52186075 +H 0.44427291 -0.53503818 -1.30239091 0.90448668 0.36293900 0.21597264 +H -1.26015033 1.23149057 -0.61779851 0.47807890 -0.83687302 0.44659383 +H -1.54773735 -0.43178716 -1.21700794 -1.05905652 0.34419452 0.54332432 +H -1.78737496 -0.06776438 0.57845836 -0.26975484 0.16535259 -0.07347691 +H 0.83122050 0.40120491 1.45979685 -0.42147610 -0.48329773 -0.66995397 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.850113603046 pbc="F F F" +C -0.12392357 -0.21863691 0.56104251 1.01652645 -0.15282971 -0.37177737 +C -1.01391835 0.72016389 -0.19494069 -0.46695353 1.50226467 -1.21117075 +O 1.00293316 -0.48927135 -0.34192492 1.17426533 0.87462089 2.28262796 +H 0.30859511 0.11026825 1.57175997 -0.84703546 -0.10338414 -0.79922892 +H -0.69565148 -1.14924368 0.68779011 -0.00811970 -0.50536016 0.38374766 +H -2.08629152 0.78250923 0.11194072 0.28002357 -0.13548361 0.23200373 +H -0.62509698 1.79061229 -0.26593995 -0.17993604 -0.84644524 0.18879637 +H -1.00613524 0.34378267 -1.27055414 -0.11176970 0.24848610 0.82682628 +H 1.74228900 -0.08928479 0.23000171 -0.85700091 -0.88186878 -1.53182491 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.733236897494 pbc="F F F" +C 0.02374961 -0.44736953 0.40973904 0.36223339 1.78847755 -0.83358278 +C -1.13480058 0.60628012 0.31947944 2.62204722 -0.77954691 -0.39321889 +O 0.98320916 -0.10518428 -0.66029250 -0.93455888 -0.71920629 0.63038123 +H 0.56835576 -0.28034632 1.33463016 0.20468143 -0.24572987 1.08391303 +H -0.22201454 -1.51944135 0.29896161 -0.62260878 -0.05330207 0.19508226 +H -1.84335509 0.63507933 1.10338754 -1.14357123 -0.55912570 1.62460083 +H -0.61804197 1.60770109 0.41314263 -0.47572757 -0.48886766 -0.92821561 +H -1.64779537 0.31261836 -0.58909146 -0.43233994 0.82926194 -0.94945262 +H 1.39440299 -0.98107512 -0.76939654 0.41984447 0.22803903 -0.42950745 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.528129999993 pbc="F F F" +C -0.31793431 -0.01141189 -0.46741772 -0.66363445 1.05314972 1.18059554 +C 0.19066750 1.29668095 0.23699006 -5.52162094 0.34534740 -1.12264532 +O 0.11554265 -1.14103656 0.24439871 -0.14265544 -0.72817631 0.84460202 +H -1.43539068 -0.03383823 -0.69450531 0.58567163 0.31737580 0.31300620 +H 0.20388911 -0.05365568 -1.36060606 1.02553714 0.19605522 -3.11424837 +H 1.15296153 1.17499282 0.45662815 4.87300411 -0.91349028 1.37698551 +H 0.18916975 2.27788734 -0.37322363 -0.70055509 -1.27566818 0.52895642 +H -0.41996040 1.34917037 1.18041243 0.50789373 0.59989015 -0.30828088 +H -0.00918684 -1.91934365 -0.34233966 0.03635927 0.40551648 0.30102892 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.86153510658 pbc="F F F" +C -0.49703128 0.03187123 -0.30855340 2.18056608 0.67363322 -1.88624152 +C 0.44527545 1.20498147 0.03746322 -0.44297778 0.56466576 1.24427325 +O 0.07551878 -1.12054064 0.26312643 -1.52500963 -0.96633114 0.52927040 +H -1.56021152 0.21718061 -0.10984360 -0.44376057 0.18889161 0.70969531 +H -0.46603713 -0.12994260 -1.42595057 -0.12376811 0.39061765 0.03628990 +H 1.54036707 0.97492933 -0.01889118 -0.51939052 -0.53749645 0.33912425 +H 0.40331804 2.10327644 -0.57338428 -0.64061191 0.37861116 -0.99061460 +H 0.16582499 1.64898961 1.04525936 0.57345107 -0.67439699 -0.33470185 +H -0.66626083 -1.76762591 0.13644230 0.94150137 -0.01819483 0.35290491 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.714345356941 pbc="F F F" +C 0.26515512 -0.05881111 -0.47703152 -2.88882487 -2.38400052 2.09694133 +C -0.45705591 1.22626597 -0.23783213 1.51142674 0.62432561 -0.25143716 +O 0.17322472 -1.10092203 0.61349635 -0.11588727 1.57837120 -0.30799831 +H -0.16891571 -0.52089900 -1.38665606 0.18841421 -0.39279348 0.13829094 +H 1.24981008 0.16798417 -0.62043366 3.66586316 0.48078036 -0.80644118 +H -0.47975327 1.69022934 -1.24768248 -0.09890718 0.49915609 0.23871528 +H -1.46294422 1.00470404 0.04547641 -1.33664165 0.14866278 0.70473699 +H 0.14209239 1.88072055 0.47346798 -0.90917843 -0.30638546 -0.37089312 +H 0.25576876 -0.66039427 1.51595296 -0.01626465 -0.24811663 -1.44191484 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.313832652788 pbc="F F F" +C 0.01186450 -0.04822368 0.63881594 0.10212821 4.60443126 -3.76447250 +C -1.14161952 0.52027631 -0.31358814 3.38048614 -1.09886626 -1.08508843 +O 1.03225480 -0.39924505 -0.25552825 1.56786248 -0.16784085 0.77816382 +H 0.35284611 0.90423542 1.15768996 0.13836854 -1.13050215 0.23972604 +H -0.41986966 -0.74626721 1.26720348 -0.65030261 -2.29262796 2.03026906 +H -1.69727615 1.17174420 0.32270541 -1.66511500 0.76181298 0.15464589 +H -0.52236081 1.08161724 -1.18687941 -1.60972674 -0.92974670 1.81282256 +H -1.55364139 -0.43987728 -0.71613725 -0.81502296 0.87216708 -0.13265364 +H 0.91621330 -1.26060987 -0.66393139 -0.44867807 -0.61882736 -0.03341278 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.379479331553 pbc="F F F" +C 0.40709921 -0.32962300 -0.21531448 0.61918397 -0.58121036 2.50629107 +C 0.26064370 1.07272880 -0.60830647 -4.87342963 0.24203124 1.01718244 +O -0.61840136 -0.70834943 0.69576068 0.10414396 0.36237654 2.51516113 +H 0.49065355 -1.09203860 -1.01111957 -0.13581055 0.20285990 -0.32856498 +H 1.29784387 -0.34291509 0.38961058 1.67783826 -0.71068648 0.20433731 +H 0.11157618 1.85682888 0.21774762 0.34227828 -1.10487220 -0.65737052 +H 0.95134728 1.36014445 -1.28067903 3.17452122 1.48106314 -2.80098012 +H -0.70897830 0.97489308 -1.17789033 0.17357215 1.04727562 0.14520176 +H -0.28420304 -0.36943632 1.63260550 -1.08229765 -0.93883740 -2.60125809 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6352405826265 pbc="F F F" +C 0.35275582 -0.24365966 -0.30332513 0.60163680 -0.22706386 -2.14049368 +C -1.11773854 -0.16954577 -0.64505885 0.97424706 2.27838378 -0.29902727 +O 0.75044372 0.34954291 0.85614216 1.50452174 0.27548058 1.87381177 +H 0.76498895 -1.32987754 -0.44977923 -0.37200142 1.25379811 0.26486043 +H 0.83989276 0.49827841 -0.99408402 0.13023028 -1.26870753 -1.00458629 +H -1.35270841 0.91615483 -0.87072767 -0.24446546 -0.65540506 0.52404139 +H -1.35561541 -0.67786096 -1.54493816 -0.17548207 -0.99087310 -1.51293629 +H -1.74716121 -0.57150253 0.10296485 -1.19100491 -0.56659553 1.51853950 +H 0.05314691 0.53867671 1.46773233 -1.22768207 -0.09901743 0.77579048 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.70400529303 pbc="F F F" +C -0.21042332 -0.57008954 -0.06814144 1.72389316 3.47812428 2.07162465 +C -1.03728713 0.64861945 0.53603628 -1.34476747 -1.66906756 -1.85865707 +O 1.15490367 -0.13373091 -0.44703912 -1.60419588 -3.59642406 -0.56690067 +H -0.19582220 -1.32876176 0.74030615 0.26877694 -0.37661033 -0.26821804 +H -0.71557725 -0.87694686 -0.93510644 -0.90201683 -1.10538149 -1.77970566 +H -2.10267178 0.19584392 0.75277501 1.56403775 0.95314549 0.14930725 +H -0.51296625 1.01635872 1.43132435 -0.25137854 0.33907468 0.19460841 +H -1.22169897 1.43584727 -0.28682926 0.45655177 -0.59720956 1.11730786 +H 1.28336462 0.74314904 -0.18192979 0.08909914 2.57434856 0.94063327 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.609410724439 pbc="F F F" +C -0.25487975 -0.50394154 0.00328374 0.29573039 -1.12798586 -0.06142979 +C -0.99312279 0.74574770 0.46131115 3.03491207 2.04531351 1.40504433 +O 1.12644987 -0.29612085 -0.38335788 -0.99521230 1.75529390 -1.13956031 +H -0.04426218 -1.20693720 0.87874660 -1.09837914 0.02895804 -0.97183356 +H -0.87264313 -0.90000512 -0.88860241 0.64236952 -0.38407080 1.00694430 +H -2.07934488 0.88535584 0.44316641 -0.41792772 -0.72533642 0.19157265 +H -0.50044166 1.10935302 1.50581314 -1.28663085 -0.52188059 -1.98672160 +H -0.61428249 1.49088653 -0.30089339 -0.35028526 0.14274245 0.44979645 +H 1.10074067 0.43889821 -1.08920340 0.17542334 -1.21303428 1.10618753 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.89968223765 pbc="F F F" +C -0.34919910 0.04413264 0.49209923 2.00065925 -0.97963290 -1.90311444 +C 0.81911188 0.95674495 0.13884625 0.64057869 1.49714611 2.25179199 +O -0.49937269 -0.91472984 -0.57875467 1.34346418 -1.16055404 0.57241024 +H -0.11801383 -0.43943072 1.46050855 -0.50239039 -0.01332269 0.36250160 +H -1.24817380 0.62630130 0.47019843 -1.20833554 0.46708707 0.38973777 +H 0.80147280 1.33603108 -0.88077949 0.09111180 -0.35731481 -0.82749764 +H 0.66261597 1.92463818 0.72018115 0.34681478 -0.56835756 -0.09042213 +H 1.85241595 0.58821281 0.48251478 -1.03050132 0.15209818 -0.70310979 +H 0.37589780 -1.44395557 -0.58423972 -1.68140151 0.96285064 -0.05229764 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.541268479853 pbc="F F F" +C -0.23049541 0.27134224 0.44892850 0.01777651 -1.94326475 2.63394649 +C -0.01524533 0.92184008 -0.81076652 1.72496115 3.81250335 -0.41054464 +O 0.18362107 -1.09355766 0.27437403 -0.69697483 0.31248083 -0.50921476 +H 0.49502518 0.71363488 1.22387960 -1.20509682 0.02071806 -0.28971236 +H -1.34203082 0.35186867 0.80326543 1.28840136 -0.14169385 -0.19393262 +H 1.11347021 1.22647256 -0.86761632 -1.56250245 -0.26075803 -0.19330018 +H -0.17336853 0.26398383 -1.65077822 -0.82307015 -0.24064546 -0.86094637 +H -0.64629614 1.87397201 -0.66929154 0.67909424 -0.68253577 -1.34176946 +H 0.56579444 -1.29105525 1.11699490 0.57741098 -0.87680427 1.16547385 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.800320978919 pbc="F F F" +C 0.13988723 -0.43592874 -0.35150946 1.84393703 1.66114450 0.59623275 +C -1.24193998 0.11535730 -0.36408758 0.22352685 -0.41654698 0.97345084 +O 1.03786045 0.22491229 0.67445759 -1.46683136 0.96511465 -1.68393245 +H 0.15259159 -1.52171265 -0.13469017 0.14231467 0.05510663 0.08230947 +H 0.52711135 -0.25530985 -1.40182732 0.28555530 -0.35533789 0.55598541 +H -1.35397155 1.15813513 -0.52716498 0.45871165 1.87655740 -0.46077480 +H -1.77414356 -0.33146353 -1.15375465 -1.21130897 -1.03491118 -1.61281160 +H -1.81355690 -0.03816839 0.52962309 -0.50158234 -0.54664232 1.27167859 +H 0.91879738 1.23686098 0.50901822 0.22567722 -2.20448480 0.27786173 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6010885417445 pbc="F F F" +C 0.04446487 0.36768057 0.32890224 2.33234231 -0.62294447 0.69098611 +C -0.82920908 0.67961315 -0.84980643 0.69958332 -0.13967487 -2.07665712 +O 0.66334355 -0.98635392 0.45703345 -0.09913318 1.28295376 0.72945245 +H 0.94993865 1.05232724 0.31969713 -0.67983559 -0.03492022 -0.30181784 +H -0.50566736 0.69070187 1.21044185 -0.40575637 -0.20306184 1.10097097 +H -0.64741626 1.79383924 -1.03090898 -0.57768949 -1.03565711 -0.20833713 +H -0.50325931 0.07890639 -1.75252039 0.47052844 0.69063536 0.29086237 +H -1.90491831 0.42020343 -0.91257075 -0.15809230 0.20703003 1.04707363 +H 1.43191846 -0.86036451 1.11834143 -1.58194714 -0.14436075 -1.27253349 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.494647325942 pbc="F F F" +C 0.07361519 0.46773033 0.06388958 1.91879339 0.17769892 -1.57796368 +C -0.76799606 0.00996110 -1.05330136 -2.65716387 0.40684621 0.26489427 +O 0.61351819 -0.48681337 0.90951632 0.84882110 -0.30908141 0.20918014 +H 0.78528614 1.20070929 -0.39382143 0.82761329 -0.40302416 0.26086149 +H -0.54976419 1.13170466 0.56664866 -1.77975786 1.74133147 1.81375932 +H -0.97590025 1.00324006 -1.56062787 -0.46394426 -1.03859773 -0.17981232 +H -0.54326675 -0.78817125 -1.74927836 1.09320392 -0.37408186 -0.56485767 +H -1.69089490 -0.38330151 -0.53113614 -0.03566342 0.33090381 -0.71412533 +H 1.50925466 -0.13052705 1.02104633 0.24809760 -0.53199531 0.48806368 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.779606675656 pbc="F F F" +C -0.03545691 -0.06230937 0.61359924 -0.27757871 -0.90291944 -2.76481157 +C -1.11766646 0.59728087 -0.23530422 -1.20072348 0.58678451 0.25052498 +O 1.05944389 -0.44875504 -0.34486710 -0.83474029 -0.55179723 2.16862073 +H 0.27495133 0.59935727 1.41853825 0.53849604 0.32772696 0.58057416 +H -0.58503268 -0.92582681 0.99815123 0.46225802 -0.85540194 0.64859807 +H -2.19144832 0.63271681 0.23177189 1.70117628 0.06893562 -0.40190619 +H -0.77984662 1.59630601 -0.50349062 -0.13777662 0.95197502 0.01638631 +H -1.22461954 0.13599017 -1.22970993 0.03276306 -0.66820639 0.00676380 +H 1.42878414 -1.29155747 0.05114462 -0.28387436 1.04290284 -0.50475030 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77033341602 pbc="F F F" +C -0.30421446 -0.47805317 -0.13461889 2.44508908 -1.36153189 2.53697314 +C -0.86145144 0.66831292 0.69188653 -0.45932367 -0.20883577 -1.98901801 +O 1.06403392 -0.19064850 -0.46872035 -0.10436008 -0.89088791 0.56127530 +H -0.20656607 -1.48889116 0.54450267 -0.30477415 2.05068666 -1.08457113 +H -0.95500325 -0.81365717 -0.91769203 -0.67538254 -0.04781909 -1.43953718 +H -1.82838244 0.31667117 1.01892349 -0.85109138 0.02353542 1.09730812 +H -0.13050758 0.95580447 1.43520338 0.18552639 0.17538185 0.84438856 +H -1.09196252 1.54134383 0.02789392 0.28791295 -0.10989732 0.18853160 +H 1.21180890 0.24631033 -1.30911121 -0.52359659 0.36936799 -0.71535046 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.871113821914 pbc="F F F" +C -0.11414302 0.24673973 -0.46629184 0.53903638 0.47048669 -0.54344459 +C -1.23085467 -0.08281368 0.51720090 1.60716304 2.95276740 0.93838705 +O 1.20628844 -0.20703377 -0.09309152 -0.34039839 1.54406557 1.21035401 +H -0.29359280 -0.22839365 -1.44930688 -0.21409907 0.15010918 -0.22335098 +H -0.05374793 1.36677840 -0.56377898 -0.28300661 -0.34843494 -0.52162703 +H -0.99436254 0.58393189 1.43778422 -0.80038201 -0.77025392 -0.87503633 +H -2.23617478 0.09771032 0.13131927 -0.40092182 0.04178101 -0.09987104 +H -1.04671500 -1.05722495 0.83459303 -0.11401293 -2.58906561 0.76100026 +H 1.50285518 0.56866361 0.48042834 0.00662147 -1.45145543 -0.64641134 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.440426437513 pbc="F F F" +C 0.34880333 -0.27511689 -0.27838947 -0.28991486 0.79635458 -0.07763752 +C -1.09551827 -0.19239310 -0.73985121 0.70542157 0.55411920 0.96054683 +O 0.71922973 0.42520149 0.92989656 -0.92264824 -1.44382615 1.36682358 +H 0.75419704 -1.29619734 -0.58391747 0.07101832 0.34668844 1.22230126 +H 0.72163101 0.36339256 -1.07310421 1.37979259 0.57344742 -0.18416859 +H -1.49671075 0.80608095 -0.58622861 -0.39902465 0.58951533 0.65725384 +H -0.99917191 -0.20059369 -1.79451916 -0.29111032 -0.63549809 -1.93993075 +H -1.74224840 -0.96180668 -0.39446385 -1.17923769 -1.03896807 0.54897689 +H 0.24263726 0.10913476 1.80508907 0.92570323 0.25816733 -2.55416555 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.272981985911 pbc="F F F" +C -0.11995561 -0.47270395 0.42023224 2.61355748 -1.71940268 -2.49369272 +C -1.05274998 0.59573228 0.22010248 -2.63118549 3.39164494 -2.04462214 +O 1.03684825 -0.20320463 -0.60657759 -0.74433991 0.67550524 2.89657716 +H 0.29700842 -0.29265341 1.39558783 0.55413468 -0.47829971 1.22032665 +H -0.43920964 -1.54985435 0.30550415 0.14833686 0.67978936 -0.06239211 +H -1.78674125 0.76555829 1.04276862 0.20237916 -0.02143169 -0.02493302 +H -0.36512806 1.47520833 0.11168489 -0.51249817 0.26240564 0.67312537 +H -1.64240692 0.78731161 -0.78401595 0.80124256 -1.27681165 1.31182489 +H 1.45127803 0.57245434 -0.07338554 -0.43162723 -1.51339945 -1.47621414 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.379410254724 pbc="F F F" +C 0.32302518 -0.35716816 0.42668948 1.49459419 0.92876356 -1.68132118 +C -1.14504148 -0.42181465 0.13161802 -0.49953039 -1.62564603 -1.24247887 +O 0.72678203 0.67420967 -0.52567453 1.40187437 0.63606013 -0.11932391 +H 0.45198029 -0.04512280 1.46909020 0.32114066 0.31575641 0.50428015 +H 0.87805518 -1.37043268 0.34476478 -0.41163077 1.01939909 -0.28817011 +H -1.50518428 -1.37755996 -0.32621215 0.18579698 0.13186277 0.33396194 +H -1.53001721 -0.30217978 1.09643688 -1.91886343 0.02441644 1.88644119 +H -1.54704652 0.36996305 -0.52158120 0.46636603 0.31192130 0.04963506 +H 1.50996374 1.30428189 -0.37111494 -1.03974768 -1.74253362 0.55697575 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.303162882167 pbc="F F F" +C 0.24459936 -0.19182998 0.57228515 -0.29755963 3.11398858 -1.60338752 +C -1.25407065 -0.53991123 0.16740873 0.37597774 -1.34997735 0.10979134 +O 0.90273557 0.69774753 -0.61415198 -0.20627371 -2.91747571 1.09052611 +H 0.28516978 0.54293491 1.46423029 -0.09377891 -0.96344395 -1.02035066 +H 0.97434422 -0.98880525 0.75404619 -0.23865713 -0.63139291 0.08588331 +H -1.31079992 -0.47407099 -0.92552530 0.32267052 -0.03183937 -0.56583690 +H -1.61906680 -1.64798535 0.36163970 0.65822695 1.85037457 0.23190705 +H -2.03894973 0.21462808 0.45258857 0.59317581 -0.43630422 0.50793703 +H 1.40780856 -0.00431175 -1.17257664 -1.11378154 1.36607035 1.16353019 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7269733779485 pbc="F F F" +C -0.23755431 -0.28888891 -0.37345246 1.96668612 0.22876228 -1.34855872 +C -0.32006989 1.23378862 -0.36151643 0.05212759 -0.05370558 0.22130156 +O 0.51405922 -0.90238620 0.63547028 0.41560817 -1.32552605 -1.03182632 +H -1.25983874 -0.65319802 -0.51696441 -0.53201166 -0.76951071 0.24511672 +H 0.36967384 -0.51959975 -1.32883118 -1.02136814 -0.22245418 0.75984357 +H -0.13686178 1.61420527 0.65933903 0.30049855 0.22502508 0.11612227 +H 0.40805506 1.66831921 -1.10382457 -0.70654751 0.20847139 0.56113518 +H -1.39008931 1.44638317 -0.52712583 0.08582613 0.72169065 -0.58516322 +H 0.49292003 -0.49321053 1.48830764 -0.56081919 0.98724718 1.06202902 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6439182047025 pbc="F F F" +C -0.40896054 0.07129629 -0.42533344 1.16584259 -1.60591898 -1.32046097 +C 0.92679192 0.76389731 -0.42519727 0.07384123 2.29726242 0.15613924 +O -0.55486668 -0.73743991 0.77477270 1.05302800 -0.20976614 -0.41283559 +H -1.15486831 0.86248928 -0.58660834 -0.92883185 -0.33459031 0.68133054 +H -0.38831100 -0.55659589 -1.39622650 -0.52641853 0.21771728 0.94187763 +H 1.58040203 0.01043665 -0.08228980 1.77529396 -1.18318161 0.71074474 +H 1.40241192 1.15718382 -1.39157277 -0.98593154 -0.27465598 0.72852207 +H 0.89499947 1.59040106 0.36002605 0.37282957 -0.55512980 -0.66767823 +H 0.30145496 -1.31200089 0.93341854 -1.99965348 1.64826311 -0.81763947 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.847386536894 pbc="F F F" +C -0.39427438 -0.29474624 -0.29663582 0.03725010 1.29475919 -0.16271952 +C -0.65557428 0.49072200 0.97739723 -1.50151246 0.77225285 -1.72334660 +O 0.94182204 -0.23331744 -0.64530695 1.24237567 -1.35210083 -0.88158308 +H -0.65440980 -1.32797804 -0.33995480 -0.66753754 -1.62121155 0.66552683 +H -0.95800573 0.13338100 -1.12197861 -0.95704756 0.60338279 -0.60903695 +H -1.75508566 0.49810385 1.23527313 0.58879300 0.44010128 -0.21533634 +H -0.17382667 0.03222006 1.79088613 1.22692262 -0.73694480 1.73190318 +H -0.22294024 1.52681227 0.76518373 -0.67730455 -0.66905922 0.57108386 +H 1.32348062 0.50422962 -0.19822820 0.70806076 1.26882035 0.62350867 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.623277735445 pbc="F F F" +C 0.18481506 -0.16599529 -0.56792576 1.05248791 0.99044414 0.82781996 +C -0.42023940 1.18021371 -0.11968089 1.54283237 1.20358522 0.83578719 +O 0.18857422 -0.91195284 0.60189902 -0.54267341 -1.28500622 1.99371295 +H -0.42654143 -0.59224668 -1.36516258 -0.60874518 -0.52086690 -0.50721943 +H 1.20403360 -0.04910270 -1.00403598 0.06002484 0.19925398 -0.07615050 +H -0.92736763 1.69588144 -0.92963202 0.00320159 0.60416918 -0.79023201 +H -1.23314188 0.97720199 0.59303219 -0.04036798 -0.24219198 0.33899446 +H 0.34818168 1.93712416 0.43287435 -1.45654581 -1.66152065 -1.19811951 +H 0.84587577 -1.58011181 0.91234111 -0.01021433 0.71213318 -1.42459316 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.661877726031 pbc="F F F" +C -0.33643101 -0.42738640 -0.18063718 -1.49025051 2.13593598 0.19173875 +C -0.30628215 1.09408291 -0.78580056 -0.56229289 -1.27066861 0.66384055 +O 0.52814080 -0.64275988 0.91499956 1.21317816 0.59528124 -0.58477355 +H -1.42171788 -0.58672117 0.17124474 1.23942101 -0.43106030 -0.51258985 +H 0.03397475 -1.09378864 -0.95571982 -0.65496433 -0.59796773 -0.98077540 +H -1.06819250 1.83230139 -0.44652482 -0.47705889 -0.64322868 0.02660861 +H 0.56219474 1.53125502 -0.34070597 1.57328782 0.53409873 0.18865178 +H -0.25013793 1.14643694 -1.88619633 0.05976866 -0.14563947 -0.11584752 +H 1.41814322 -0.57263443 0.44993527 -0.90108902 -0.17675111 1.12314663 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4882418045845 pbc="F F F" +C 0.42674102 -0.18767833 -0.33128084 -0.75048218 -2.24587099 1.16742310 +C 0.24760833 1.21312194 0.00467822 2.13880703 2.96614378 -0.28979865 +O -0.64180250 -0.92856687 0.26718087 -0.27988776 -0.83730733 0.16147048 +H 0.30570963 -0.06282106 -1.38026066 -0.25005853 -1.34751105 -2.12226002 +H 1.33663737 -0.82676522 -0.10219812 0.14775173 1.44815681 -0.29504411 +H 0.60213365 1.51313728 0.96883157 0.43818945 0.27568452 1.51592047 +H 0.90852717 1.80214183 -0.72709410 -0.75302279 -0.13343613 0.63504681 +H -0.77879489 1.60356917 -0.04561137 -0.35617844 -0.39597028 -0.44337743 +H -0.22324154 -1.51055538 0.93709801 -0.33511862 0.27011068 -0.32938069 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.51516012854 pbc="F F F" +C 0.11491000 0.16971041 0.52338010 -0.22798504 1.40121390 -0.99434322 +C -1.27782191 -0.40622814 0.16165371 1.14459062 -1.27791944 1.05791891 +O 1.08968060 0.25321558 -0.57161930 -0.28584918 0.59864712 1.23392929 +H -0.14717072 1.22129188 0.94003826 0.77844880 -0.79600003 -0.70385202 +H 0.65702220 -0.29847964 1.35831761 -0.17928051 -0.60326169 0.26093394 +H -1.52826709 -1.36476763 0.70721811 -0.31329263 1.08302821 0.67903757 +H -2.06250760 0.34811629 0.07357349 -0.44829405 0.04879524 0.30038615 +H -1.21234808 -0.92216924 -0.76482726 0.26428887 -0.27549102 -2.10974569 +H 0.85274238 -0.18650970 -1.40372018 -0.73262684 -0.17901235 0.27573502 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.514227959408 pbc="F F F" +C -0.44033009 0.15161159 0.40422871 0.19801574 -1.50859488 -0.24739070 +C 0.12931282 1.07869452 -0.70823310 -0.13688686 -0.05537222 3.13497630 +O 0.30139404 -1.06944458 0.28942666 1.22704793 0.66357691 1.45768501 +H -0.14376544 0.32433934 1.44367319 -0.34400775 1.60740482 0.42120469 +H -1.55513512 -0.08690231 0.40959628 0.58160461 0.53317822 -0.25841961 +H 1.19357129 1.12611146 -0.28363847 -0.80532393 0.52001875 -1.26971957 +H 0.05998840 0.49558721 -1.63573930 0.02230798 0.39326558 -0.45021322 +H -0.43893831 2.04346976 -0.61932879 0.60623923 -0.13846100 -0.74036329 +H -0.19473903 -1.58885470 -0.28619554 -1.34899699 -2.01501624 -2.04775956 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.424326461351 pbc="F F F" +C 0.08028075 -0.11524704 0.52236324 0.74832250 0.90862426 1.64802024 +C -1.33937238 0.27074635 0.06945436 1.05395308 -0.41027256 -0.98732642 +O 1.14422910 -0.20588067 -0.52398651 -1.79450165 1.54041142 1.55038473 +H 0.32547286 0.68124100 1.31362064 0.57012360 -0.81008999 -0.52704732 +H 0.08798752 -1.09575323 1.07232143 -0.15812274 0.32320680 -0.40711165 +H -2.23312815 0.06366599 0.68052811 0.24901477 -0.44532658 0.16096777 +H -1.47012835 1.23298424 -0.41352133 0.35286192 1.54812571 0.59581592 +H -1.27454079 -0.22112969 -0.87083522 -1.20378479 -1.80814099 -1.50486415 +H 1.40402567 0.75256753 -0.51683370 0.18213336 -0.84653801 -0.52883913 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.499579531451 pbc="F F F" +C -0.41517078 0.26091100 -0.34028975 1.45248583 -5.74338726 0.46327063 +C -0.53378174 0.14121839 1.14033412 -0.52720180 0.18831244 2.70077350 +O 0.86761038 -0.33896062 -0.70788099 0.46597008 1.05538349 -0.51966723 +H -1.04153341 -0.58982579 -0.73687179 -1.05401196 1.23638238 -0.08908937 +H -0.54676142 1.18513826 -0.80464453 -0.67292878 2.39514204 -0.74133573 +H -1.60468303 0.25756840 1.47011036 0.44327458 0.31677745 -0.16451944 +H -0.23260867 -0.80916544 1.69783758 -0.20630636 0.06889777 -1.55075209 +H 0.09701313 0.81556608 1.76566559 -0.20112739 0.63715161 -0.49553628 +H 0.86348779 -0.27214441 -1.68904130 0.29984580 -0.15465993 0.39685603 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.910268723448 pbc="F F F" +C 0.47776337 -0.21736462 -0.21581461 0.69571036 0.05784336 -1.34139264 +C 0.12680655 1.24515184 -0.12018333 -0.07084317 1.07687772 0.00504368 +O -0.57392302 -0.89897046 0.32055986 -1.73112347 -1.89304368 0.39094902 +H 0.74457025 -0.52130832 -1.27131081 -0.49906631 0.25574463 -0.16048590 +H 1.40724521 -0.54749599 0.27745193 0.71080223 0.69587717 0.69637550 +H -0.30765038 1.43765778 0.91102003 0.38320238 0.03094499 -0.76467807 +H 1.05420801 1.81512113 -0.26408976 0.31450248 0.45516393 0.26427088 +H -0.57475636 1.69395027 -0.91024246 0.39053054 -0.99751365 0.74646447 +H -0.41862337 -1.85693944 0.17258777 -0.19371510 0.31810558 0.16345311 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639558075633 pbc="F F F" +C 0.16491035 -0.43929350 -0.35356088 1.18992890 2.05873303 2.16842805 +C -1.22999500 0.05501175 -0.41990907 -1.19867318 -0.63732717 3.96257545 +O 0.96638994 0.28628029 0.70969810 -0.86898842 -0.60035562 -1.33278320 +H 0.27890738 -1.48509196 -0.09750499 -0.07971250 -0.81255017 -0.08138403 +H 0.55271290 -0.17240890 -1.28864499 1.67381834 -0.13113397 -2.19422867 +H -1.34005628 1.12474594 -0.54321370 0.26278015 0.87616648 -0.61304494 +H -1.86724372 -0.49002178 -1.12019744 -0.39141295 -0.30808563 -0.14775430 +H -1.55164175 -0.06010010 0.71866328 -0.35739539 -0.05941569 -1.93824683 +H 1.27811212 1.11627954 0.28233523 -0.23034495 -0.38603132 0.17643852 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.495839128392 pbc="F F F" +C -0.05143843 -0.19502077 -0.47904917 -3.42950156 -1.02284900 1.72005553 +C -0.23015139 1.29986365 -0.24911049 0.35439656 -0.38618852 -1.62995783 +O 0.31265122 -1.02222019 0.64581935 1.99304775 0.70780314 -0.53918988 +H -1.14774020 -0.63527024 -0.58298202 1.61733288 0.88550767 -1.63788331 +H 0.65484990 -0.26063334 -1.31326767 0.16363432 -0.98066412 -0.25494666 +H -0.01755916 1.78386606 -1.22740868 -0.66233697 0.07338003 -0.20286618 +H -1.19321063 1.62080104 0.12457875 -0.61741057 0.24684434 0.46298343 +H 0.58727528 1.70896241 0.28404159 1.25847202 0.55726654 1.61844782 +H -0.49198288 -1.15855453 1.14052484 -0.67763447 -0.08110008 0.46335701 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.544385535173 pbc="F F F" +C -0.44144118 0.16541241 0.25678958 0.09499268 -4.15404876 2.10323190 +C 0.13984195 1.06436097 -0.68357584 -0.84222426 4.17315751 -0.26730169 +O 0.25592062 -1.13890414 0.43601405 -1.87048440 1.49373739 2.43039501 +H -0.38210709 0.62861236 1.24800441 -0.33742568 0.01271915 0.57980345 +H -1.50276554 -0.15028362 0.03648554 0.29315044 0.81173765 -0.00965671 +H 1.19224702 1.34778968 -0.67020492 0.69198113 -0.28022761 0.61959457 +H -0.10485838 0.85696883 -1.68179955 -0.43402540 -0.61980402 -2.28918633 +H -0.43616640 2.06394237 -0.45650080 0.91397364 -1.04940264 -0.62608106 +H 0.76422212 -1.32437392 -0.31137319 1.49006190 -0.38786868 -2.54079910 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.755450480194 pbc="F F F" +C -0.22505443 -0.53002416 0.01548082 0.67074741 1.92871276 3.19199238 +C -0.92734190 0.79573222 0.48604074 1.80350925 -1.61613691 1.27156860 +O 1.04204539 -0.30370418 -0.53262809 0.47689136 0.70101753 -0.05129872 +H -0.15670284 -1.08795683 1.00849242 0.00232669 -0.23682604 -0.63621918 +H -0.80715506 -1.12685822 -0.62815122 -1.11934469 -0.94038850 -1.52095716 +H -1.92076479 0.59973040 0.78906243 -2.14100677 -0.12172188 -0.22388521 +H -0.54101730 1.11407153 1.48536320 0.57634038 -0.19856462 -0.12923912 +H -0.76269535 1.65465424 -0.11309503 -0.26173387 1.16043860 -1.53226801 +H 1.37863287 0.49946586 -0.06324561 -0.00772977 -0.67653095 -0.36969360 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.856425615444 pbc="F F F" +C -0.12000439 -0.54943845 -0.10252606 -3.45832626 0.45742260 -0.39628858 +C -1.04410252 0.57878530 0.60275811 0.58486076 -3.06364184 -0.35286032 +O 1.09178420 -0.07775794 -0.46943492 2.18626149 -0.13059861 -0.41959600 +H 0.00522675 -1.47551779 0.50484596 -0.11772391 0.26525088 0.43775823 +H -0.72106638 -0.92519659 -1.01413248 0.34482675 0.27377717 0.55170802 +H -1.91860469 0.07082372 1.04107721 -0.30704813 -0.03420669 0.02144003 +H -0.49188861 0.95960619 1.43390150 0.77062724 0.78325414 1.09491884 +H -1.40953888 1.37749857 -0.02628789 -0.00444755 0.56681176 -0.83780510 +H 1.07619147 0.87586636 -0.44870066 0.00096961 0.88193059 -0.09927516 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7078376209365 pbc="F F F" +C 0.16670276 -0.40424848 -0.39171384 -0.16561900 -0.82630008 3.33222014 +C -1.22232858 0.13752010 -0.31877712 -1.94798766 0.17380334 -3.05130918 +O 1.03535706 0.24051563 0.60568287 -0.04358186 -0.35800474 -1.83290453 +H 0.05770754 -1.52473925 -0.15066905 0.52628998 0.77544549 -0.42546203 +H 0.55687010 -0.27346860 -1.38036409 0.89080471 0.12908917 -0.97315449 +H -1.44022169 1.05143346 -0.92255107 0.65824351 -0.06342579 -0.54065165 +H -2.02188081 -0.57192362 -0.71463811 0.71302099 0.25126700 0.40087019 +H -1.60619422 0.55290568 0.56359616 -0.32505275 0.05506405 2.73675471 +H 0.59705733 0.12485814 1.45667223 -0.30611791 -0.13693844 0.35363690 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7272308828715 pbc="F F F" +C 0.15173506 -0.12364366 -0.49361021 2.69546304 -0.10060936 -0.46588914 +C -0.44415928 1.23701086 -0.17068897 1.21021913 -0.73377118 -0.62372644 +O 0.23640187 -1.06728956 0.58482333 0.11857428 1.78752506 1.30643087 +H -0.34899642 -0.63997085 -1.32509628 -0.62520256 -0.09173807 -0.07070901 +H 1.19567442 0.06800574 -0.98644015 -0.73409684 -0.28886338 0.80508250 +H -0.15056791 1.97640299 -0.91203227 -0.06458469 0.21910784 -1.08947741 +H -1.49495621 1.06332178 -0.24516097 -1.58033017 0.69198920 0.91322509 +H 0.05391793 1.71826427 0.68300994 -0.59776060 -0.29083964 0.96787082 +H 0.47599800 -0.51302646 1.41845150 -0.42228162 -1.19280047 -1.74280734 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.322900794956 pbc="F F F" +C 0.38421802 -0.34595642 -0.08555941 -0.23773863 3.21684534 -0.77336655 +C 0.29880613 1.20501838 -0.71790192 -2.66726533 -4.69056844 -0.97714768 +O -0.62074932 -0.81405074 0.71309474 -1.80134289 0.89168197 3.81158377 +H 0.33370323 -0.99226193 -0.94339627 0.37509014 -0.75183077 -0.94050255 +H 1.35540098 -0.36046209 0.39037856 1.16560518 -0.37666484 0.33944260 +H 0.75239724 1.89408945 -0.10597205 1.17370112 2.35311575 1.65714957 +H 0.71575079 1.08568716 -1.70017670 1.37152351 0.22599650 -0.87511655 +H -0.74662695 1.40491144 -1.06315827 0.00286868 0.28681498 0.93872139 +H -0.69720828 -0.34839574 1.67722581 0.61755821 -1.15539049 -3.18076406 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.46996612099 pbc="F F F" +C 0.07981961 -0.11850787 0.52836248 1.24026119 2.11288804 0.59976406 +C -1.35280257 0.27314738 0.01548091 2.71208718 -1.76582273 0.29105242 +O 1.15324938 -0.19184576 -0.48399562 -1.83887155 2.07845720 0.32750615 +H 0.47844262 0.51270091 1.38886109 -0.41759599 -0.13915463 -0.42478115 +H 0.02914144 -1.10437888 0.92256186 -0.22858231 -1.56902276 0.59831992 +H -2.11770045 0.27494144 0.79660258 -0.36777231 -0.99071385 0.22611040 +H -1.45439560 1.24001987 -0.39983404 0.35054057 1.74387136 -1.04638540 +H -1.23105721 -0.50718218 -0.75870411 -1.92260773 0.01555770 -0.51972976 +H 1.15760587 0.78493883 -0.74733275 0.47254095 -1.48606033 -0.05185660 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77434669912 pbc="F F F" +C -0.38184392 -0.39213107 -0.21622931 2.29534068 -0.07360279 0.54156064 +C -0.82033247 0.71228627 0.70185912 -1.28560719 1.78612859 -1.28157112 +O 1.10713649 -0.32337109 -0.37201701 -1.52358555 -0.30531130 -0.71005769 +H -0.69136802 -1.42845768 0.09913018 0.04870031 0.40170400 -0.18314848 +H -0.75489009 -0.10548207 -1.20062794 -0.79145771 -0.46753876 -0.50662602 +H -1.95528177 0.65384642 0.77193174 0.72933948 0.20487035 0.14878095 +H -0.40799631 0.80796999 1.72209860 0.26711719 -0.34072785 -0.04869506 +H -0.58096130 1.68353856 0.08376108 -0.34483802 -1.13912085 1.35183410 +H 1.14076388 -0.29492489 -1.35793844 0.60499081 -0.06640149 0.68792264 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.632694850805 pbc="F F F" +C 0.31814577 -0.45956616 0.18692699 -0.63440377 1.34209923 0.97474961 +C -1.20768078 -0.33357902 0.34036174 0.37815027 -0.55309708 1.33344916 +O 0.78874931 0.69417195 -0.52110503 -1.15739040 -0.74688227 -0.47596427 +H 0.75962778 -0.51580426 1.27637163 -0.28185543 -0.17125435 -1.73025176 +H 0.49871690 -1.34804679 -0.40657098 0.70361162 -1.01772191 -0.14201334 +H -1.51494748 0.65618500 0.10507322 -0.02752475 1.87179942 -0.22712408 +H -1.85127437 -0.89152698 -0.36205907 0.10705774 -0.83688187 0.40027817 +H -1.38709375 -0.41759853 1.45008213 -0.77410116 -0.54337913 -0.79203338 +H 1.57365163 0.94763276 -0.07442437 1.68645588 0.65531796 0.65890989 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.65153588342 pbc="F F F" +C 0.27399457 0.28558326 0.38508452 -0.02420962 0.18117593 -2.45449330 +C -0.55778226 0.97036272 -0.80894669 0.62902801 -4.44742829 1.07717617 +O 0.24815073 -1.12275767 0.34212659 -0.07131327 -1.07834494 0.82879009 +H 1.34728876 0.55376432 0.24484454 -0.11894092 0.83336367 0.60150254 +H -0.25327271 0.58972526 1.26059524 0.07559694 1.02673599 1.70672745 +H -0.48770945 0.17594028 -1.63352974 0.01254473 1.32772825 0.27957882 +H -1.59585461 1.01459837 -0.49469223 -0.76647506 0.14884671 0.02632553 +H -0.17435118 1.93087334 -0.99278744 0.76853364 1.76127553 -0.78772868 +H 0.60556147 -1.41041950 1.23564746 -0.50476444 0.24664714 -1.27787861 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.413566160168 pbc="F F F" +C 0.15640340 -0.05865072 -0.62217006 0.75531822 -1.76620588 3.45358530 +C -1.26613269 -0.25441642 -0.06403960 1.03566688 0.20664241 1.36381046 +O 0.99277590 0.33446394 0.56727808 0.13734745 0.22362656 -0.50470721 +H 0.57291132 -1.03714282 -1.00942463 -0.42696947 0.63926362 -0.24754662 +H 0.23133569 0.71136761 -1.33946310 0.47724658 1.50641412 -1.21746435 +H -1.59101390 0.60986510 0.63405387 0.96288134 -1.15897204 -0.36124186 +H -2.12317680 -0.26860297 -0.72123999 -0.42606536 -0.63718087 -1.18526045 +H -1.05074617 -1.24322844 0.44064624 -1.35736038 0.68001526 0.33353256 +H 1.42463589 -0.35229204 1.16774881 -1.15806531 0.30639677 -1.63470784 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.208449171486 pbc="F F F" +C 0.05983506 -0.46532190 0.40766991 -2.34339276 0.95112723 0.85438491 +C -1.06103436 0.60043991 0.30938128 -2.84474257 -4.80975608 -0.25005915 +O 0.91880793 -0.09463026 -0.64934665 -0.13748706 -1.28032789 0.02016008 +H 0.48342928 -0.22918420 1.36141054 1.23930721 0.09172573 1.46854407 +H -0.31943050 -1.54923322 0.58565100 0.44241254 0.95760507 -1.15234121 +H -1.86340511 0.78922864 1.00948961 0.28060541 0.00621744 1.91061882 +H -0.60281500 1.42988791 0.01453947 2.17207105 4.50378185 -1.24964943 +H -1.79959719 0.34662258 -0.47135523 0.39735425 -0.24382726 -1.06384777 +H 1.44663246 -0.89679907 -0.73686257 0.79387187 -0.17654604 -0.53781027 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.717531811464 pbc="F F F" +C -0.00371365 -0.55889312 0.17833643 -1.16454054 2.79096083 4.20773850 +C -1.16549086 0.55685909 0.31912534 3.64608129 0.53837324 0.07407407 +O 1.06840956 -0.06593009 -0.48899588 1.13365710 -1.17156201 -2.39765689 +H 0.33919892 -0.83106883 1.27130535 -0.80842972 -0.19487220 -1.19817706 +H -0.50723837 -1.37895893 -0.28092332 -0.00408749 -1.43088007 -0.93468579 +H -1.98410367 0.18866309 0.85504431 -1.97059296 -0.85167980 1.10205355 +H -0.78262208 1.50240283 0.88776235 -0.41179841 -1.20700695 -0.89964457 +H -1.42000158 0.79094800 -0.70906781 -0.44867061 0.53478192 -0.60219854 +H 1.32686412 0.79728384 -0.18990784 0.02838134 0.99188504 0.64849671 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.751701546526 pbc="F F F" +C 0.25183526 0.39919871 0.22692348 0.44460642 0.86870864 -1.38186758 +C -1.05202444 -0.15109639 0.83939270 1.39997273 1.56470871 -1.84401633 +O 0.68084629 -0.24222922 -0.96549497 -0.56652344 -1.52027839 -0.76721132 +H 0.16806256 1.46677182 -0.17230757 -0.46353982 -0.26679935 1.36158403 +H 1.04238502 0.34054010 0.97383818 0.53818689 0.25271130 0.72706749 +H -1.37710744 0.58948617 1.52864940 -0.39866706 0.99745035 1.44733143 +H -1.82029910 -0.11645274 0.08486583 -0.77615877 -0.58193191 -0.81433436 +H -0.92999487 -1.08650878 1.31958936 0.08728194 -1.61918644 0.57225098 +H 1.64376590 -0.30675236 -1.11529631 -0.26515888 0.30461710 0.69919570 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734399224018 pbc="F F F" +C -0.46483943 0.08766905 0.28801510 2.06811226 -1.27702510 0.73763170 +C 0.08964717 1.13554247 -0.66225426 -3.78220325 0.87670441 -0.74787369 +O 0.33102156 -1.11529379 0.39676556 0.04201266 -0.03443279 -0.64868703 +H -0.22526501 0.47140961 1.27468302 -0.84887483 0.53570079 0.93812803 +H -1.51714481 -0.22294415 0.18357530 -0.46382804 0.56571899 -0.17832807 +H 1.05732198 0.99580941 -1.03239380 2.36991082 -0.52527146 -0.24845046 +H -0.55887350 1.20164225 -1.59676480 0.42903319 0.06597407 0.56368977 +H -0.00615511 2.12365175 -0.15803666 0.23764941 -0.01017998 -0.30495438 +H 0.46552440 -1.44349708 -0.50960178 -0.05181222 -0.19718887 -0.11115577 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.603783398068 pbc="F F F" +C 0.18540289 -0.43405216 -0.33041607 1.08504056 2.14524883 -0.47073840 +C -1.29737915 0.10163712 -0.37687925 -1.03327549 -2.46342758 -0.50468175 +O 1.03524642 0.25146473 0.67893556 -1.19310375 0.73592783 -0.94196587 +H 0.32996001 -1.52985125 -0.13563295 -0.57660438 0.47877587 -0.01658136 +H 0.72113891 -0.17908394 -1.28661882 -0.49252480 -0.57485968 -0.12886307 +H -1.57514916 1.13431151 -0.69878391 0.96554711 0.22749329 0.86815966 +H -1.99740820 -0.40387205 -1.18447556 1.43831252 -0.05076311 1.08596832 +H -1.72465136 -0.26226109 0.60555105 -0.17148004 0.96339936 -0.49151333 +H 1.06268088 1.20875145 0.35115999 -0.02191172 -1.46179487 0.60021580 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.840714080641 pbc="F F F" +C -0.31544407 -0.41116813 -0.23334268 0.80197517 -0.10512278 0.52456857 +C -0.87306394 0.70621782 0.67863938 -1.02203565 0.30516516 -3.53718043 +O 1.07471535 -0.31666582 -0.38331853 1.18187389 0.67648087 -0.66326652 +H -0.28228595 -1.35440158 0.30865422 -1.15015161 -0.74669813 0.55161438 +H -0.81218342 -0.63012849 -1.21844629 -0.34968527 0.51875305 0.31761625 +H -1.85330997 0.36071470 0.97157484 -0.85268670 0.04819977 0.89374296 +H -0.17743318 0.91783847 1.43938179 1.05553251 0.03384817 1.77050497 +H -1.03406205 1.69800533 0.12277875 0.16376791 -0.92098993 0.30580043 +H 1.26129999 0.51718615 -0.84558206 0.17140975 0.19036382 -0.16340060 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.670800142861 pbc="F F F" +C 0.23699819 0.39113221 0.18713712 1.61390036 0.85871671 2.20594550 +C -1.14905421 0.04093991 0.64797274 0.72791565 0.34018524 0.92342466 +O 0.86201485 -0.40996208 -0.75632229 0.43286516 -0.19686733 0.24059337 +H 0.36459641 1.48811029 0.14102920 -0.24513482 0.65168781 -1.42746112 +H 0.90399006 0.33473280 1.07741966 0.05810752 -0.61272006 0.19674325 +H -1.05897722 -0.43459119 1.62413651 -0.31650723 -0.63969891 0.41436216 +H -1.77474480 0.90436582 0.80792996 -0.62637298 0.86091999 -0.07101019 +H -1.60361330 -0.61280092 -0.04346712 -1.05723232 -1.28592914 -1.16266692 +H 0.35282111 -0.32244771 -1.55290907 -0.58754129 0.02370568 -1.31993076 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.637515740598 pbc="F F F" +C 0.28929318 0.53181884 -0.06316599 -3.77553072 -1.73640868 1.93649879 +C -0.96714826 0.02518110 -0.84521395 1.64486442 1.46356348 -3.57345300 +O 0.66621766 -0.46904732 0.89492508 1.17311774 2.58613907 0.53059334 +H 1.00720270 0.85135234 -0.78094093 1.52704368 0.30115156 -0.87845852 +H -0.11993707 1.38716918 0.51209793 0.57619187 0.37692370 0.04314585 +H -1.05680197 0.85192633 -1.69627950 -0.35501943 -1.33608856 1.21477569 +H -0.75085796 -0.90266588 -1.47185862 0.08800951 0.47675576 0.58550215 +H -1.95956474 -0.12625848 -0.43340553 -0.36276031 0.17534513 1.03906953 +H 0.38123311 -1.25492351 0.48924756 -0.51591676 -2.30738152 -0.89767372 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525193412211 pbc="F F F" +C -0.14226072 0.47422861 0.14381801 3.64629526 1.08645184 -3.10206324 +C -0.91854773 -0.27499564 -1.03422741 -0.83945122 0.79072834 1.58765890 +O 0.98886297 -0.15643406 0.84095468 -2.08435799 -1.80333694 -0.80289609 +H 0.42283621 1.37016896 -0.43883826 -0.92792132 -1.51815188 0.90675177 +H -0.70058485 1.06556058 0.83224911 -1.60493029 0.22940244 1.09474617 +H -1.23656835 0.54002807 -1.72955511 0.22511558 -0.31896433 -0.04954636 +H -0.33027322 -1.03558343 -1.59360357 0.07524794 0.23005128 0.25111896 +H -1.91495245 -0.70510713 -0.69164999 0.88143617 -0.09554937 -0.10818182 +H 0.70265513 -1.12750948 0.88281203 0.62856588 1.39936857 0.22241171 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7466768859285 pbc="F F F" +C -0.53764914 0.29348440 -0.05707577 1.50744770 -0.59933078 3.45876628 +C 0.85886431 0.92250587 0.20250963 -0.87378868 2.55320051 -2.88383333 +O -0.34770190 -1.11725201 -0.17828070 0.32612074 -0.08861598 1.09719257 +H -1.24596168 0.61750894 0.81773900 0.57697436 -0.59565837 -1.04657679 +H -0.90466061 0.67019393 -0.95940622 -1.18757048 0.64934765 -2.03918513 +H 0.80296030 1.94103189 0.70296887 0.05347814 -0.75573278 -0.21075566 +H 1.43835140 0.24791686 0.78172645 1.14731064 -0.86543233 0.95123033 +H 1.36197511 1.13423165 -0.85717055 -0.49784493 -0.60781722 1.97352284 +H 0.23791800 -1.36767894 0.61105484 -1.05212745 0.31003936 -1.30036116 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.805831754512 pbc="F F F" +C 0.09367353 -0.14683700 0.51682145 -0.39643930 -2.40435642 -0.28686810 +C -1.30682529 0.24157734 -0.00665353 0.52479596 0.79253546 0.36278062 +O 1.14556312 -0.14203592 -0.44418036 -1.36507354 1.73421934 -1.63710601 +H 0.47197731 0.40801471 1.36652237 -0.40136559 0.88696471 1.00699794 +H -0.00004284 -1.22499696 0.88856324 0.21025846 0.72820212 -0.17868978 +H -1.98836544 0.48822886 0.82164459 -0.32842249 -0.81238824 0.56838744 +H -1.26501020 1.29958361 -0.35075210 0.17013083 -0.15080075 -1.03851911 +H -1.78778772 -0.48908000 -0.72595891 0.50645998 0.69840647 0.40522790 +H 0.84031876 0.64240348 -1.02858698 1.07965564 -1.47278264 0.79778915 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.425283970304 pbc="F F F" +C 0.32169419 0.46312891 0.31290710 -0.39142128 0.89014907 -2.59111000 +C -0.92303601 0.51490662 -0.69716771 2.98540320 1.51189983 0.14305618 +O 0.62306430 -0.88969894 0.35007305 -1.30618610 -1.61339020 1.39343801 +H 1.20235402 1.05665015 -0.07097713 -0.27831286 -0.50209178 0.03816516 +H 0.10533193 0.89543222 1.31009068 -0.40767924 0.19343069 0.17600272 +H -1.12059881 1.43164986 -1.21543488 0.24865918 1.73613491 -0.41177491 +H -0.87694072 -0.16195324 -1.54556232 0.18074841 -1.11183619 0.11880691 +H -1.73056669 0.48528751 -0.06526974 -3.07271172 -1.04774592 1.60733962 +H -0.30505514 -1.24040602 0.60919843 2.04150046 -0.05655040 -0.47392369 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.519296460254 pbc="F F F" +C 0.06720660 0.57518433 0.09544590 0.55569657 -2.70030633 -0.73611619 +C -0.84391128 0.03293479 -1.07355677 0.23148719 1.07122211 -0.34906434 +O 0.71525119 -0.56959589 0.86824302 -0.42013727 2.41311102 0.99293096 +H 0.89431344 1.11684272 -0.40186460 -0.04609532 0.68115580 0.35070337 +H -0.50490033 1.09226343 0.87845832 -0.24760627 0.81633057 -0.40882344 +H -1.25740809 0.75684878 -1.84688358 0.56718483 0.46129103 1.04721977 +H -0.43120005 -0.67835001 -1.80431106 0.89304151 -0.50471759 0.44951044 +H -1.74231005 -0.41669007 -0.71044952 -1.08994026 -0.81598532 0.78960708 +H 0.94235243 -0.07741118 1.75836520 -0.44363104 -1.42210134 -2.13596771 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.668299487256 pbc="F F F" +C -0.43797240 0.03051940 -0.28518451 -0.36543143 0.67453089 -0.45178088 +C -0.46587763 0.18678632 1.28940456 -1.59079575 -1.76551636 -2.21231927 +O 0.81629423 -0.25540843 -0.88855869 1.33052587 -0.48757609 -0.30307732 +H -1.29034500 -0.66752722 -0.65603415 1.38055271 0.18882224 0.43239851 +H -0.73359554 0.98458897 -0.74873183 -0.63297013 0.60699046 0.31513827 +H -1.55452914 0.35258314 1.53291436 0.65510610 0.12306281 0.18218550 +H -0.12982313 -0.73872838 1.80712885 0.13537639 0.26101678 -0.06786506 +H 0.13112528 1.03674688 1.48143157 1.00956462 1.38035849 0.95485363 +H 1.38919661 0.49559405 -1.27866475 -1.92192849 -0.98168922 1.15046652 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.909886712332 pbc="F F F" +C -0.25224495 0.50508407 -0.08392353 0.82909368 0.59906271 2.38089278 +C -0.98066260 -0.76589849 0.39150343 -1.83337355 0.76348764 -0.15759793 +O 1.13257993 0.27362927 -0.32824326 -0.30839904 0.19551236 -0.34716368 +H -0.66540119 1.00687081 -0.94057120 -0.43027009 -0.14544489 -1.41620853 +H -0.39815014 1.36709933 0.68137589 0.19534230 -0.93606807 -0.25328301 +H -0.43204267 -1.65279602 0.08762237 0.52414974 -0.59182315 -0.02338162 +H -1.28464046 -0.80326439 1.48201825 0.63506650 0.06536651 -0.61584153 +H -1.96383285 -0.86039678 -0.15416924 0.35681967 0.04558542 0.24536642 +H 1.45665592 -0.29454347 0.38890054 0.03157074 0.00432141 0.18721720 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.697815658512 pbc="F F F" +C 0.00099014 0.45545895 0.33175849 1.95490866 -1.35081980 1.75093172 +C -1.23418891 0.00313435 -0.31110678 -1.92219399 -0.94770787 1.86250437 +O 1.13276760 -0.44551584 0.02424977 -0.29718353 1.64892239 -0.73965870 +H 0.08912703 1.50156389 0.08698020 1.13036928 1.15942903 -0.50170853 +H -0.02642426 0.45154299 1.48096892 -0.30572515 -0.09961352 -1.08359591 +H -1.94852559 0.78867827 -0.41729995 -0.91185649 1.52588380 -0.01303776 +H -1.12478483 -0.33675415 -1.30789048 0.48107064 -1.03644165 -1.51067634 +H -1.80296648 -0.69314402 0.35646247 0.34451030 -0.46406705 -0.66665082 +H 1.52665386 -0.10618868 -0.83023413 -0.47389983 -0.43558534 0.90189192 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.321608634929 pbc="F F F" +C 0.00872815 -0.13745897 -0.51390936 4.06385993 3.48691411 0.45586014 +C 0.57471878 1.27271984 0.19001233 0.36251276 -3.02094604 0.04189455 +O -0.60921418 -1.04071554 0.25560196 -1.75366290 -1.62331481 1.80970700 +H -0.54917698 0.32338101 -1.35611957 -0.29314736 -1.10057651 -0.20095081 +H 1.03364093 -0.49642443 -0.71517233 0.02644488 -0.48579761 -1.51620704 +H 1.09277922 1.03771085 1.13979167 -0.37108508 0.00058112 0.34427258 +H 1.35424747 1.76396950 -0.38717088 0.29549508 0.13626399 -0.91297806 +H -0.24171198 1.91091902 0.29305277 -1.79470132 1.80337252 0.75875892 +H 0.02710762 -1.54926450 0.82793996 -0.53571596 0.80350318 -0.78035722 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.611548216355 pbc="F F F" +C 0.58497063 0.07986022 0.12557801 1.86935898 0.12287831 0.82700224 +C -0.31140315 1.05891454 -0.50801410 -0.96232161 0.77813363 -0.83207622 +O -0.29052804 -1.02102946 0.34716635 1.89535603 -0.77752202 0.19601470 +H 1.64339548 -0.05909578 -0.39060515 -1.91457478 -0.69450081 -0.49315267 +H 1.11789676 0.48538830 1.05162581 -1.11683355 -0.09070027 0.23232954 +H 0.19843117 1.77616625 -1.11601925 0.74607772 0.97080620 -0.81398876 +H -1.04188020 0.53167852 -1.16405709 0.29175089 -0.00469720 0.02959042 +H -0.91797618 1.64985559 0.18310726 -0.25073993 0.07502903 0.61082078 +H 0.35094791 -1.74805760 0.48239148 -0.55807376 -0.37942687 0.24346000 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.637607625256 pbc="F F F" +C -0.06970619 0.32373175 -0.46093848 0.50417453 0.77448354 4.10960769 +C -1.25898595 -0.10904745 0.54493534 1.07774737 -1.43602578 -0.59174108 +O 1.19440862 -0.21277260 -0.07091337 -0.26454717 -0.87767963 0.90833357 +H -0.27264989 -0.00912708 -1.43974967 -0.91571557 -0.10518813 -2.05862679 +H 0.03523784 1.44078984 -0.27927066 -0.63209610 -0.37169006 -0.95195214 +H -1.22246773 0.23095382 1.58279731 0.94502764 0.61202483 0.46814611 +H -2.17906529 0.38035089 0.21414738 -0.55809022 -0.19612813 -0.61255818 +H -1.39780326 -1.25038886 0.72859518 0.13852203 1.33975402 -0.94956461 +H 1.90928490 0.02514186 -0.68179955 -0.29502262 0.26044939 -0.32164450 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.692958384255 pbc="F F F" +C 0.26484334 0.41698998 0.15819244 -1.39897411 1.76892415 2.47884449 +C -1.16432117 -0.06943721 0.75026111 3.81420707 -0.56521505 -0.62003351 +O 0.87582029 -0.33481915 -0.79726801 -0.22166192 -1.07685036 -1.38495059 +H 0.14119389 1.49222913 -0.13726370 -0.55597440 0.00520664 -0.59936353 +H 0.97601641 0.66760842 1.00053003 -0.09820892 -1.03786404 -0.13866093 +H -1.63766148 0.75796235 1.17960269 -1.03491483 1.64807542 1.34581756 +H -1.75794405 -0.39096525 -0.04271298 -1.54792310 -0.52996429 -2.30401707 +H -1.13004781 -0.96518436 1.37410089 0.35107896 -0.13769486 0.74704492 +H 0.22349379 -0.38991259 -1.54414136 0.69237127 -0.07461750 0.47531867 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.74397723874 pbc="F F F" +C 0.55180338 0.06883707 0.10828485 -1.02314956 -0.05215299 0.85057099 +C -0.28955754 1.10727147 -0.60991823 0.49666392 0.15649385 1.01191846 +O -0.17924108 -1.09075036 0.41654990 -0.40919054 -1.17891188 -0.22297797 +H 1.32395394 -0.31074375 -0.55063346 1.01606956 0.10304291 -0.21985423 +H 0.92739151 0.46799422 1.05086421 0.90890677 0.50063489 0.46774224 +H -0.15303857 2.15264870 -0.28639347 1.01233534 0.33124217 -0.62899654 +H -0.18909677 0.84777060 -1.64718788 -0.49217457 0.60195320 -1.28452501 +H -1.29138028 1.02253823 -0.23673917 -1.50584734 -0.69213323 -0.02664409 +H -0.89860377 -0.88243979 1.03554743 -0.00361358 0.22983114 0.05276615 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.311092803759 pbc="F F F" +C -0.03535424 -0.58245034 0.27113276 1.83563725 1.07781997 -2.40668342 +C -1.19028701 0.15882426 -0.28727837 -3.16753630 2.87652872 -0.43777170 +O 1.14734184 0.31479298 -0.02854834 -0.83010577 -2.34972930 0.42295371 +H -0.24325022 -0.83027992 1.31966449 0.41931863 0.18563854 0.56414635 +H 0.13616305 -1.52050651 -0.26666181 0.35423082 -0.49303131 -0.11200902 +H -0.92831138 1.26620925 -0.09469049 -0.60617017 -0.99873533 0.32399531 +H -1.60448252 0.34517434 -1.39536961 1.42678641 -1.48086830 1.56367615 +H -2.10434612 -0.09348672 0.34276968 0.31957239 0.36482861 -0.62584138 +H 1.13590857 0.88253026 0.73983852 0.24826663 0.81754840 0.70753399 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6647608802705 pbc="F F F" +C 0.12797233 0.15695499 0.52417795 -1.11127297 1.50713495 0.48809762 +C -1.10466831 -0.57838991 0.10654767 -2.71871980 -0.68245678 1.38464051 +O 0.89125481 0.34066149 -0.58585164 1.84599783 0.11179613 -2.29641684 +H -0.25361862 1.12384874 0.87571702 0.14468898 0.65155905 0.71852248 +H 0.63501548 -0.32643475 1.35690281 0.59234432 -0.50175393 0.68549629 +H -2.11215261 0.03814942 0.26253616 1.79813451 -0.87342384 -0.72316934 +H -0.96324212 -0.91740372 -0.93575401 -0.32649345 -0.13684002 0.00534692 +H -1.26996150 -1.44538756 0.81622466 0.04971019 0.16482505 -0.76274933 +H 1.45415041 1.14013829 -0.59197025 -0.27438956 -0.24084061 0.50023169 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.592762270511 pbc="F F F" +C -0.19364359 0.40200031 0.22912813 3.01564103 -0.09443218 -0.54048170 +C -0.73395769 0.03806265 -1.10616315 0.82622469 -0.16905564 -3.92456590 +O 0.86918422 -0.42613496 0.79596662 -1.08095070 -0.08686141 -0.56244207 +H 0.28322206 1.41194164 0.10699013 -0.65539972 0.04815493 0.19091142 +H -1.08583091 0.43446501 0.77842625 -1.57081909 0.30686147 2.16578979 +H -1.41281127 0.84265184 -1.44350538 -0.25824549 0.34731111 0.34461597 +H -0.02012439 0.05280535 -2.02892462 -0.18293369 -0.01647347 1.47389094 +H -1.32050968 -0.86695188 -1.36507615 0.03377418 -0.42241841 1.06809873 +H 0.81156317 -0.35604430 1.76824571 -0.12729120 0.08691355 -0.21581719 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.81470532115 pbc="F F F" +C 0.16186571 -0.07525183 -0.48266795 1.74406353 -2.17441903 -0.65770214 +C -1.32801941 -0.20148264 -0.16999366 0.38317492 1.87778073 1.66998256 +O 1.04333090 0.30395043 0.58185103 -1.55410969 1.92188196 -0.56492735 +H 0.57012094 -1.14014065 -0.86304565 -0.82802606 1.80551584 0.14211654 +H 0.33722157 0.69129958 -1.29078394 -0.29308293 -0.51099464 0.10608951 +H -1.64004682 0.89472050 0.11756403 -0.21729089 -1.74536425 -0.61938760 +H -1.85112824 -0.65620746 -1.01401682 -0.43518239 0.29316859 -0.52794613 +H -1.55923830 -0.84702319 0.72074531 0.36142251 0.23669892 -0.27174924 +H 1.47689705 -0.47127339 0.87077509 0.83903105 -1.70426813 0.72352384 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.517333102942 pbc="F F F" +C -0.26911511 -0.50135576 0.15668794 2.77188818 4.09743474 -0.51699143 +C -0.95482913 0.93659697 0.37818958 1.15406951 -1.31690781 -2.48354220 +O 1.09626258 -0.35849832 -0.47277589 -1.58162117 -0.78281813 -0.04263544 +H -0.00815164 -0.88085349 1.11223372 -0.38936316 -0.87783878 1.76564054 +H -0.84515903 -1.16460474 -0.39996754 -1.65625210 -1.58927124 -1.40310891 +H -2.03831730 0.75875718 0.46043947 -0.13349162 0.35601985 0.55954294 +H -0.41588104 1.36150204 1.19771439 -0.05507104 0.63266488 1.46501055 +H -0.76870809 1.71569630 -0.45718625 -0.24451235 -1.35982648 0.48532324 +H 1.25847649 -1.28779454 -0.78233597 0.13435376 0.84054296 0.17076065 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.502421959949 pbc="F F F" +C -0.08955603 0.29575705 -0.44862961 1.22266368 0.37482053 1.91739173 +C -1.22472207 -0.07008402 0.50676124 2.04189760 -0.42194789 -0.92639233 +O 1.17185740 -0.24513929 -0.03424643 -2.05944065 -1.21133041 1.06923871 +H -0.25395872 0.24895798 -1.49737813 -0.69913399 -1.52488694 -1.91005555 +H -0.05435419 1.37613866 -0.43927301 0.24834217 1.53599107 0.61246670 +H -1.26824886 0.59794572 1.32686991 -0.49957739 1.49206211 1.02757376 +H -2.09064390 -0.20389729 -0.05914895 -2.41676683 0.37401249 -1.01910300 +H -1.13935126 -1.00741490 1.00802177 0.76915307 -1.67545197 0.32837611 +H 1.86529829 0.18881595 -0.48818700 1.39286234 1.05673101 -1.09949613 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.129557124114 pbc="F F F" +C -0.07169321 -0.56825590 0.39500801 1.27815567 5.93707325 -1.21452578 +C -1.26710358 0.22479999 -0.32291780 -0.89434506 -2.34075198 1.72267261 +O 1.21058797 0.25912848 -0.10264560 -1.66607469 -3.03981851 -0.31471974 +H -0.14810418 -0.46147746 1.47945139 -0.02175298 -0.10919931 0.55727785 +H 0.13843830 -1.56543734 0.15097152 0.25503943 -1.98268399 -0.96407366 +H -1.75292316 0.92111857 0.51246078 0.86183109 -0.82419938 -1.96629469 +H -0.84533833 0.70562354 -1.26086907 -0.60245590 -0.22286746 0.88281567 +H -2.07506676 -0.62099839 -0.56837295 1.07652969 1.78433226 0.11983983 +H 1.41911771 0.99908006 0.45665626 -0.28692724 0.79811512 1.17700782 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.595792153754 pbc="F F F" +C 0.02571338 0.52621163 0.36026960 -0.09999599 -2.13855296 -1.77033954 +C -1.29574896 0.02436876 -0.33533659 1.92673378 -2.05218592 0.02946778 +O 1.17730931 -0.46739572 0.04746114 -1.96004645 2.36933289 1.30107017 +H 0.06601097 1.59704233 0.03103006 1.20227375 -0.18314123 0.29147583 +H -0.07034811 0.39556781 1.44514550 -0.02572899 0.42404417 0.28603075 +H -2.16000964 0.67479240 -0.20223148 -0.50636799 0.11573213 0.28555360 +H -1.18100821 -0.23553556 -1.42458621 0.24549359 0.95153788 0.11273021 +H -1.38428707 -1.04147841 0.00847316 -0.81502105 0.51915666 0.44025009 +H 1.17464551 -0.53350910 -0.90830297 0.03265940 -0.00592357 -0.97623884 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.213066630809 pbc="F F F" +C -0.23112530 -0.47336511 0.05646682 -0.22970331 -1.56153710 -2.97301562 +C -0.89986898 0.73848404 0.49277120 -1.78296428 1.96903405 -0.00356859 +O 1.01799239 -0.24328129 -0.50433535 2.36788865 -0.10159481 -0.31799749 +H -0.35957244 -1.27590738 0.72062844 0.63006329 -1.75388165 2.08129282 +H -0.89868421 -0.97697765 -0.83828780 1.06503171 1.21168882 1.39215750 +H -1.86507743 0.49452031 1.01527677 0.22137602 0.39248906 -0.50936286 +H -0.42304838 1.58940677 1.00315158 0.91758764 -0.61475786 1.09399494 +H -1.01387944 1.29139077 -0.44392163 -1.11118756 0.35832299 -0.58277513 +H 1.87733292 -0.42142021 0.00388422 -2.07809216 0.10023639 -0.18072563 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.751208837503 pbc="F F F" +C -0.45181289 0.06379002 0.35502514 3.04605143 -1.45731858 -0.95269437 +C -0.24036444 1.02956201 -0.82698275 -0.87686356 -1.12282268 0.89231158 +O 0.58477231 -1.00665050 0.40666772 -1.52023535 0.21832098 -0.80927037 +H -0.38229265 0.53754712 1.31586908 -0.58820047 0.84989078 1.03466636 +H -1.29627842 -0.56113174 0.25868079 -2.02596421 -0.52773350 -0.10477388 +H -1.23853224 1.21899058 -1.26178978 -0.01404491 0.68160533 -0.00657205 +H 0.25623321 1.90468556 -0.39735705 0.26304179 0.58945532 -0.66409344 +H 0.30368130 0.47580954 -1.60839066 0.45529182 0.18223096 -0.02921777 +H 1.32193980 -0.62694703 0.86168987 1.26092341 0.58637138 0.63964394 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.752104527966 pbc="F F F" +C -0.39848889 0.31031735 -0.28098890 0.66121375 0.05046681 -1.91650850 +C -0.49950081 -0.00716713 1.23617871 -1.53985585 -1.60367924 -1.78346734 +O 0.79996144 -0.28434872 -0.90980650 -1.86862478 0.28097061 0.13682994 +H -1.27326467 -0.08120415 -0.89703269 0.47964007 -0.11662790 0.79559863 +H -0.42668037 1.42494050 -0.63852015 0.13482582 -0.96201040 1.31113260 +H -1.28925573 0.62730596 1.61687149 -0.86251608 0.37161457 0.53537744 +H -0.83263651 -1.14113400 1.41618064 0.99877009 2.09273069 -0.22626749 +H 0.38047110 0.31521771 1.76865234 1.05819314 -0.13542144 0.52059195 +H 1.44281948 -0.24541928 -0.20658484 0.93835383 0.02195625 0.62671278 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518735368211 pbc="F F F" +C -0.28579758 -0.01141802 -0.54071746 -2.12427829 -4.60045412 1.05809858 +C 0.88814803 0.85782463 -0.34853527 -1.01125157 0.38607852 1.31210741 +O -0.56099269 -0.79017977 0.73860302 0.66243662 1.39264652 0.03625390 +H -1.35046598 0.32363695 -0.78670556 1.34560997 0.79794193 -0.36690086 +H -0.12972029 -0.97153400 -1.18223124 0.14506174 1.67167456 0.08477958 +H 1.69198156 0.36514045 0.16348703 0.76574369 -1.19149872 0.45351195 +H 1.33545246 1.27840629 -1.20119276 0.48864022 1.14861861 -1.86188319 +H 0.58987575 1.61120843 0.38853008 -0.01906849 0.90139231 0.01190750 +H -0.41093056 -0.15140020 1.49040899 -0.25289384 -0.50639966 -0.72787487 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.527798714262 pbc="F F F" +C -0.05713692 0.54198295 -0.28975022 3.37422247 -0.30108816 0.80431158 +C -1.13041908 0.06598858 0.67801798 -0.61073434 -2.84357097 -2.91689433 +O 1.10274567 -0.48250269 -0.35451023 -1.32975716 1.57361280 -0.11519528 +H -0.44323831 0.83238214 -1.30340426 0.15516469 -0.36532051 0.23664817 +H 0.59156713 1.44677638 0.11972805 -1.47354775 -1.23420933 -0.70107908 +H -1.01199744 -1.08778898 0.75646046 -0.15494825 1.35433491 0.06879256 +H -1.09566761 0.44111663 1.64073167 0.29218376 1.14939560 2.63722259 +H -2.16837797 0.17556102 0.27864189 0.23131374 0.28690029 0.09159301 +H 0.77345977 -1.39524699 -0.49151950 -0.48389710 0.37994541 -0.10539922 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.707880475153 pbc="F F F" +C -0.35141650 -0.49645950 -0.04782031 1.98864628 1.60779779 -0.73086831 +C -0.88239121 0.83961261 0.50432703 -1.62182805 -2.19557063 1.13743925 +O 1.12517451 -0.27333460 -0.41356842 -2.75413239 0.14952703 0.62247431 +H -0.43847929 -1.22306257 0.72873438 0.26737831 -1.04581564 1.44522133 +H -0.97430622 -0.98176125 -0.82472519 0.15317147 0.54758726 -0.84170474 +H -2.02483189 0.88871342 0.52632895 0.87854861 -0.52724324 0.30894592 +H -0.48564421 0.98683633 1.53053942 -0.11719164 0.12551364 -0.09851010 +H -0.67792962 1.68737858 -0.06355434 1.11660888 1.89853150 -1.66674858 +H 1.44205511 -1.10990674 -0.77237403 0.08879858 -0.56032775 -0.17624908 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.796123116231 pbc="F F F" +C 0.09065901 -0.59835183 0.03210100 2.15358152 0.00355229 -0.61278742 +C -1.03494028 0.02897462 -0.70158668 1.35404474 1.81906567 -1.89954590 +O 0.85313520 0.45697618 0.66672458 -0.52185395 -2.22893811 1.91284807 +H -0.21265216 -1.40204235 0.71283470 -0.17320952 0.20788996 1.00005313 +H 0.83760293 -1.14175281 -0.61847319 -0.60129428 0.05405952 -0.29598971 +H -0.49197674 0.71653698 -1.48068246 -1.01530903 -0.51607838 0.96330578 +H -1.74185280 -0.50787841 -1.31549549 -0.49470278 -1.09612495 -0.22847499 +H -1.56879837 0.65810136 -0.00155837 -0.58475092 0.61002492 0.44726509 +H 0.88669832 1.20653309 0.09786096 -0.11650583 1.14654908 -1.28667410 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.527996920281 pbc="F F F" +C 0.07169057 0.62822790 0.11698515 -0.01802077 -1.69625760 -1.45188877 +C -0.78580161 -0.01297599 -0.96726025 0.00884624 1.87713014 -2.48914808 +O 0.70714428 -0.55410737 0.75432432 -2.05841195 2.16360867 3.02442063 +H 0.88144877 1.29671686 -0.30955417 -0.64265907 -0.22036840 0.43860227 +H -0.74972668 1.15916356 0.64335039 0.90330058 0.39923353 1.09884338 +H -1.17361178 0.73679558 -1.78628747 0.71069054 -0.87258494 1.10693613 +H -0.23213017 -0.80018914 -1.47757907 0.39512732 -0.36692344 -0.43051774 +H -1.69001093 -0.46507504 -0.60103057 -0.84365436 -0.51281637 0.80133435 +H 0.24769070 -0.46475804 1.68938671 1.54478157 -0.77102160 -2.09858211 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.717660423855 pbc="F F F" +C -0.39941190 0.09343026 -0.38834081 -0.80923067 -2.68451250 1.96322958 +C 0.40543401 1.25115485 0.02654336 1.34371985 0.81549378 2.94082915 +O 0.00947311 -1.23190142 0.24265662 -0.69135573 1.94658949 0.64400453 +H -1.46449050 0.22296747 -0.08573470 -0.08468425 0.15679287 -0.64486935 +H -0.26479439 -0.17664791 -1.41143809 -0.22493952 0.14523580 -1.60780144 +H 1.49503591 0.96634743 -0.05449447 -0.44208972 0.80100987 -0.60837201 +H 0.04791555 2.25249082 -0.33219281 0.55702064 -0.50995524 -0.52328693 +H 0.34687095 1.41902648 1.18389636 -0.24223862 -0.41984488 -1.27620379 +H -0.38365676 -1.15345505 1.15939616 0.59379802 -0.25080919 -0.88752974 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.797428410708 pbc="F F F" +C -0.02385827 0.08915270 0.54677213 0.21813766 3.28233661 -1.52122671 +C -1.26311072 0.09340484 -0.38023578 1.90643353 -1.48275544 1.80956405 +O 1.17142821 -0.17719298 -0.10851236 1.56768013 -1.11529608 -0.36929816 +H 0.10356300 1.10051739 1.07452329 -0.47605673 -0.47645437 -0.21514891 +H -0.12291994 -0.61995358 1.33564603 -0.30669060 -1.23599486 1.04894956 +H -1.23876666 -0.93741342 -0.72106237 -0.57751702 -0.69426401 -0.67457969 +H -2.07330519 0.22696507 0.30503330 -1.53095582 0.39085512 0.22282766 +H -1.20769330 0.75473315 -1.21833092 -0.03700503 1.07625952 -0.77816299 +H 1.27925830 0.11092878 -1.03781450 -0.76402609 0.25531351 0.47707529 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.716275535482 pbc="F F F" +C 0.11001584 -0.41428793 -0.21322499 0.34187369 -2.52944099 -1.37874297 +C -1.28758426 0.14067408 -0.35223254 0.11845452 3.05554302 -0.66250620 +O 1.08875932 0.25665247 0.50748927 0.05677826 1.09912255 -1.04806628 +H 0.02044259 -1.59084317 0.04895798 0.38783202 1.93732550 -0.32385652 +H 0.54118625 -0.34302850 -1.26436649 -0.52729544 -0.57839973 0.44530463 +H -1.17729074 1.21958131 -0.77703430 -0.02675748 -1.01763855 0.67696547 +H -1.76600736 -0.32488541 -1.21877582 -0.50739833 -0.68799962 0.01354859 +H -1.97135367 0.29434568 0.51276241 0.21638401 -0.63075517 0.07011108 +H 1.10176605 -0.07020240 1.38093432 -0.05987129 -0.64775696 2.20724221 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.620042901812 pbc="F F F" +C -0.43274565 -0.23262012 -0.39182932 1.40469734 -1.17200255 2.28036873 +C -0.67837406 0.56370294 0.87677367 -0.64596839 -1.06835168 1.88777950 +O 1.00558352 -0.27416389 -0.42091947 -0.32362862 -0.38740362 -1.79858836 +H -0.83057502 -1.26398429 -0.26250567 -0.00110398 -0.34949274 0.41780430 +H -0.92434598 0.00400089 -1.31349496 -0.40763276 1.41668444 -1.27830649 +H -0.93220195 1.58976007 0.78432054 -0.62511746 1.72587615 -0.77114198 +H -1.53970343 0.12055525 1.52728299 1.37034250 0.45232035 -0.67824315 +H 0.31571328 0.66042562 1.45474789 -1.20800212 -0.77862466 -0.44435753 +H 1.18832749 -0.70556544 -1.28758093 0.43641359 0.16099431 0.38468493 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7615876288055 pbc="F F F" +C -0.53548515 0.13416284 0.14537285 0.72748196 -0.71246018 1.99182164 +C 0.62016146 1.15319794 0.14021632 -1.80200073 0.03258175 -0.35559999 +O -0.04606283 -1.15615441 -0.23488812 2.63341052 1.69999799 1.53254672 +H -0.88224770 0.05150146 1.21914414 -0.23190119 0.15809122 -0.38513256 +H -1.41336955 0.36551532 -0.44552241 -0.57179199 0.69501961 -0.65378157 +H 1.08067783 1.32728132 1.10117335 0.36821717 -0.05375726 0.78614308 +H 1.28925316 0.71326133 -0.54205104 1.78982373 -0.73061238 -1.14464374 +H 0.36745535 2.11541773 -0.30878425 -0.39989595 0.56505030 -0.03237740 +H -0.72059630 -1.56271793 -0.69860013 -2.51334356 -1.65391111 -1.73897624 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.689226094736 pbc="F F F" +C -0.27475390 -0.48543438 0.08966836 -0.37216577 -2.15624513 -0.52141208 +C -0.88467290 0.94457713 0.37210921 1.50396242 -1.81784429 0.73197496 +O 1.03531940 -0.36527022 -0.42805457 0.67301430 1.46682981 0.22255009 +H -0.25492683 -1.22625525 1.05182719 -0.38615288 1.67053633 -1.41027180 +H -0.80020049 -1.10801164 -0.75998780 -0.37831322 0.95723103 1.45617038 +H -1.68009692 0.88021712 1.10315852 -0.57663317 -0.27828761 0.77967866 +H -0.04937517 1.51214919 0.84174727 -0.22578803 0.17531659 -0.24181218 +H -1.34383024 1.47390380 -0.44713106 0.13205802 0.32232918 -1.16739811 +H 1.50926715 -1.20662030 -0.49752876 -0.36998166 -0.33986586 0.15052004 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.680742829736 pbc="F F F" +C 0.33467234 -0.08702341 -0.49982224 -3.52188390 -0.23683082 0.42116345 +C -0.49453903 1.19607076 -0.18212421 -0.73852654 -2.09191673 0.72196030 +O 0.11092284 -0.97905776 0.60775656 2.11483745 -0.46455618 -0.47386645 +H 0.01365187 -0.55983225 -1.48249407 -0.09513198 0.23330532 0.46671210 +H 1.33935641 0.15995745 -0.63680374 2.61314868 0.56505467 -0.12749781 +H -0.83727862 1.62331322 -1.16276128 0.31663583 0.71874740 0.91137554 +H -1.39710544 0.80995409 0.43037988 0.58890696 0.33534941 -1.17514516 +H 0.02275930 1.72954619 0.65552797 0.06102145 0.70336011 -0.99948548 +H 1.00189379 -1.43900113 0.67514201 -1.33900789 0.23748676 0.25478355 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.611309924797 pbc="F F F" +C 0.50813091 0.11238319 -0.25301898 -0.61922475 -0.97484026 0.99696045 +C -0.71630894 0.95920588 -0.41669601 2.79970603 1.10577291 -3.22377447 +O 0.22982846 -1.02984069 0.59474195 0.08455364 0.75866029 -0.33815032 +H 0.65973664 -0.31818111 -1.23452839 1.24734597 -0.09845668 -0.75112773 +H 1.30579750 0.73767215 0.22067154 0.36860643 -0.22138630 -0.67397625 +H -0.39482969 1.79006458 -1.13063127 -0.26008450 -0.31129580 0.52881938 +H -1.46012473 0.47360299 -0.98577680 -1.80197302 -1.02004716 -0.26909884 +H -0.93533730 1.45380821 0.45429177 -1.49127752 1.32331541 2.85335073 +H -0.34371538 -0.56057724 1.21579831 -0.32765229 -0.56172247 0.87699705 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.456809914733 pbc="F F F" +C -0.38444933 0.13167358 0.27871728 0.83197913 -2.17517484 1.07506863 +C 0.13032315 1.22751809 -0.64226147 -0.25790148 0.63550775 0.92001394 +O 0.25170186 -1.22080356 0.37268515 0.04553950 0.21421529 -1.17821706 +H -0.22546549 0.22696759 1.38979136 -0.60686504 1.43432694 -0.61905747 +H -1.44500218 0.06986910 0.03197196 -0.85524886 -0.54948391 0.21506447 +H 0.90399082 1.85520464 -0.17540523 0.92729371 -0.36231016 -0.36837164 +H 0.29276614 0.88328201 -1.66320309 0.67771675 -0.26655715 -0.45099607 +H -0.65197092 2.00228117 -0.77443350 -0.49827266 -0.17948584 0.11656383 +H 0.15752646 -1.85708881 -0.39246512 -0.26424115 1.24896186 0.28993147 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.499694661848 pbc="F F F" +C 0.13532705 0.27611353 0.51536667 -2.60556953 -1.51025154 -3.14997592 +C -0.02986893 1.00090572 -0.87805901 -2.80268172 0.77015411 2.34959092 +O -0.01823977 -1.18599724 0.38046595 -0.97263554 1.52497584 -0.13797526 +H 1.12785625 0.47001686 0.75759471 2.15530370 0.34651864 1.68815117 +H -0.70814831 0.72194910 1.07662579 0.57735411 -0.13694934 1.04828447 +H 0.80381809 1.55490093 -1.19379173 1.87334105 0.92359806 -0.69173343 +H -0.36614155 0.33897126 -1.64602412 -0.25913854 -0.97203030 -1.03261091 +H -0.88027999 1.76849976 -0.71524735 0.93957104 -0.68650041 -0.54190769 +H -0.94521507 -1.24714207 0.00344093 1.09445538 -0.25951505 0.46817660 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.882828562306 pbc="F F F" +C -0.42434036 -0.17696581 -0.33583771 3.90482609 -1.40170663 -0.71378815 +C 0.10171715 1.24322195 -0.35592220 -1.12816157 1.11239320 0.04784017 +O 0.29295142 -0.93797614 0.66380910 -0.48607205 -0.07507629 0.23786029 +H -1.48980039 -0.29911474 -0.21222216 -1.14576531 0.24623880 -0.18144662 +H -0.01562967 -0.60699051 -1.33129846 -1.23230450 0.31418017 0.54023025 +H -0.24078296 1.64538987 -1.32804523 -0.18652275 0.39363649 -0.04172917 +H -0.33254904 1.90371248 0.44234847 0.19239309 -0.31090129 -0.19998428 +H 1.19557887 1.42350431 -0.37595102 0.03819838 -0.72959998 0.22534961 +H 0.07647501 -1.88476359 0.51135464 0.04340867 0.45083548 0.08566795 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.332066944044 pbc="F F F" +C 0.43369565 0.15360870 -0.35589389 2.28483988 -1.90782403 1.60830404 +C -0.69230540 1.02683211 -0.14446365 0.51973603 2.83455128 -3.08729980 +O 0.27235743 -1.11893784 0.42379766 -0.91503716 1.36469492 -0.87994956 +H 0.67186035 0.10813248 -1.45289540 -0.33001853 -1.07950209 0.27286561 +H 1.34669802 0.65097846 0.05713006 0.06363364 -0.11938464 0.01361451 +H -1.59347097 0.54572459 -0.55167480 -0.48903319 0.60194441 -0.53254352 +H -0.85862873 1.26375525 0.85197206 -0.38981783 0.51153164 2.78615642 +H -0.24552901 2.05944540 -0.62574366 -1.96485040 -1.80150477 0.58586884 +H -0.56353181 -0.93446171 0.95642032 1.22054746 -0.40450671 -0.76701659 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718731206327 pbc="F F F" +C -0.31457042 -0.01295887 -0.45923699 1.35983995 0.96589215 0.06164716 +C 0.17814932 1.29678189 0.24120488 0.10174085 -0.22267653 -2.36717928 +O 0.10694766 -1.13786950 0.23309616 0.44696479 -0.48976565 2.01440977 +H -1.38051896 -0.03521620 -0.64835971 -1.11188648 0.34150437 -0.20355842 +H 0.23292932 -0.00526803 -1.37103594 0.33594883 0.10430085 -2.13470237 +H 1.23355408 1.18322820 0.46946058 0.72616097 -0.37290933 0.36776666 +H 0.18831468 2.25539622 -0.42516139 -0.76318369 -1.38829559 0.94031008 +H -0.37582927 1.32657516 1.13820972 -0.86507089 0.93967085 1.78099512 +H 0.02854723 -1.96254289 -0.26504445 -0.23051434 0.12227893 -0.45968872 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.543346552617 pbc="F F F" +C 0.09514721 0.03756246 0.61032287 0.78980536 1.80494151 -0.08112409 +C -1.24397342 -0.04868751 -0.10403385 -1.76088662 2.08149157 -0.37423849 +O 1.10358113 -0.00362327 -0.40177269 0.93360104 0.50948725 1.48401687 +H 0.25894646 1.03627137 1.30765770 -0.60845933 -1.69634754 -1.65401236 +H 0.26066220 -0.74473969 1.35182305 -0.04535469 -0.90152390 0.31398538 +H -1.65942966 0.98914492 -0.30999942 0.32086499 -0.28480119 0.54372947 +H -1.24138681 -0.33187487 -1.18884554 0.50608588 -0.86729247 0.48199310 +H -2.10748784 -0.53260678 0.39608176 0.31688307 -0.36334441 0.13413681 +H 0.65967220 -0.22761446 -1.21221647 -0.45253971 -0.28261077 -0.84848670 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.408098710909 pbc="F F F" +C -0.06693988 -0.10403376 0.53006262 -1.52622345 -0.29828247 2.96569481 +C -1.17072862 -0.25560767 -0.55491939 0.53600690 1.01620912 2.44004704 +O 1.13875721 0.37094889 0.06482005 0.51155997 1.31435614 -0.22298105 +H -0.41977412 0.63524269 1.39170466 0.45866506 -1.48250763 -1.22353303 +H 0.19941453 -1.14405735 0.95601011 -0.99111006 0.77684962 0.28053722 +H -0.76327546 0.05616538 -1.46586725 0.76703469 1.08473815 -2.14266112 +H -1.46760231 -1.25283333 -0.70384777 -0.76449104 -2.02178570 -0.01689159 +H -2.01905639 0.36665097 -0.27773234 -0.63153601 0.26194938 -0.19695762 +H 1.14155978 -0.26535753 -0.63298442 1.64009394 -0.65152655 -1.88325461 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.697161022379 pbc="F F F" +C -0.14931436 0.23550756 0.55728385 0.17310071 -1.89502991 -1.53210043 +C -1.12668619 -0.39660709 -0.52947028 1.45860269 -0.04204948 -0.78193105 +O 1.17659762 0.16019404 0.05854202 -0.13415059 0.63889894 -2.63282986 +H -0.45941751 1.22567924 0.85224314 -0.41986653 1.35502114 -0.06023675 +H -0.04692306 -0.29935474 1.50162085 -0.70545870 -0.74157973 0.57183575 +H -1.49455639 0.36360435 -1.27385009 -0.20673286 -0.08684428 0.71744447 +H -0.56562445 -1.11892222 -1.25519335 -0.28476725 0.69176762 1.35184773 +H -1.93096271 -1.01395964 -0.12721717 -0.66667869 0.02916429 0.25346062 +H 1.02486363 0.21831021 -0.95829120 0.78595117 0.05065137 2.11250952 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.595475273215 pbc="F F F" +C -0.43416892 0.20179174 -0.38074372 1.76001306 -1.65601818 2.79400846 +C -0.56715825 0.14776976 1.20458754 1.26182715 1.64969162 -1.57570717 +O 0.92674919 -0.31133376 -0.72903592 -2.32388513 0.71248054 1.38350594 +H -1.34916532 -0.30728075 -0.68571989 -0.03838124 -1.43758206 -0.89781297 +H -0.68758260 1.17907197 -0.68134218 0.44802023 2.35144906 -0.88456798 +H -1.60550602 0.23486488 1.49553334 -0.83169312 0.63005886 0.24661850 +H -0.30612666 -0.81811452 1.52666324 0.71210105 -2.12138703 0.49461634 +H 0.12911676 0.84129700 1.77923599 -0.74335400 -0.23968356 -0.64161361 +H 1.03954701 -0.35482911 -1.67911098 -0.24464795 0.11099070 -0.91904751 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.736248875993 pbc="F F F" +C -0.02695509 0.30743694 0.47648375 2.16743525 -0.76149653 2.84131040 +C -1.20923117 -0.00083513 -0.34021736 -1.15363067 -1.18571651 0.52899365 +O 1.14634712 -0.29724605 -0.08662659 -0.13898226 0.54604501 0.89642210 +H 0.07628381 1.44037085 0.78673399 -0.07679260 -1.19783968 -1.05734648 +H -0.04225267 -0.17258893 1.51396570 -0.40376551 0.30261313 -0.68488889 +H -0.96380029 0.42988893 -1.30021456 -0.56017363 0.18323199 -1.24469049 +H -1.61222428 -1.08462676 -0.39065322 1.15892411 1.09800149 -0.09547579 +H -2.00692539 0.52457216 0.15492533 -1.25885208 0.85399128 -0.07932818 +H 1.08204503 -0.07431487 -1.01346382 0.26583740 0.16116976 -1.10499634 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.572508602664 pbc="F F F" +C -0.04253747 -0.50756283 0.02767847 3.40126709 -0.14390135 -1.37050659 +C -1.32730294 0.22919949 0.04474899 0.11233020 1.14611518 0.44418861 +O 1.21263535 0.28553204 -0.07308209 -1.26681103 0.27434436 0.51273697 +H 0.07328819 -1.28267205 0.78835482 -0.09443583 -0.33069175 0.68692053 +H 0.10171503 -1.04317363 -0.96466628 -1.15233376 -0.10541820 0.58137542 +H -1.72694256 0.83471724 0.93492253 0.72131444 -1.03367571 -0.56524827 +H -1.22768544 0.92715131 -0.78462989 -0.39360898 0.58113075 -0.56254476 +H -1.95683158 -0.58455297 -0.27173411 -1.57820500 -0.33221302 -0.11385841 +H 1.80999968 -0.06832290 0.59475985 0.25048287 -0.05569022 0.38693655 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.265519184348 pbc="F F F" +C 0.47357555 0.20177718 -0.03243481 0.38654672 1.32026866 -0.49540403 +C -0.76766880 0.94568545 -0.41804322 2.41834677 3.42906885 3.87175146 +O 0.30550222 -1.07246933 0.41996539 2.58210347 -0.85437885 1.89863218 +H 1.05244240 0.11775223 -0.92844795 1.35920062 0.24735389 -1.30857193 +H 1.07852201 0.87907174 0.67900111 -0.54581016 -0.99972557 -0.26775395 +H -1.16333900 0.80798724 -1.33635418 -2.35816365 -1.72159943 -3.30707485 +H -1.31656751 0.98550051 0.53077596 -1.38166683 -0.14635393 -0.30944301 +H -0.48163437 2.05175798 -0.57390882 0.01546025 -0.84356494 0.43430339 +H -0.51532042 -1.49313596 0.33060484 -2.47601715 -0.43106863 -0.51643926 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.635165832276 pbc="F F F" +C 0.52397600 -0.33990874 -0.16008100 -3.58656496 0.38895898 0.96507387 +C 0.21014479 1.09903495 -0.65310708 -1.27312032 -0.37491212 1.51605072 +O -0.65896303 -0.74668144 0.69588789 1.89451070 1.93230521 1.51236391 +H 0.38997138 -1.03399278 -0.96467823 0.27382402 -0.84076840 -1.15561829 +H 1.48639665 -0.56570107 0.34787416 0.08927233 0.57554107 -0.03131764 +H 0.37283518 1.77051693 0.21840296 -0.08964437 0.23253265 -0.11770838 +H 0.90916138 1.37441013 -1.38826379 1.44969855 0.79022157 -1.60066575 +H -0.86299211 1.34286455 -1.06624381 1.58079667 -1.04801908 0.72070031 +H -0.58424718 -0.08306409 1.49684516 -0.33877263 -1.65585995 -1.80887869 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.914055978322 pbc="F F F" +C -0.28155743 -0.50740793 0.02373320 1.61646755 -1.79661515 -1.32049378 +C -0.92070013 0.74886584 0.45175847 -1.44537925 -0.14059830 0.03053129 +O 1.07774846 -0.27060835 -0.47144876 -0.26819387 1.28031848 1.80047627 +H -0.24824510 -1.28834622 0.82683016 -0.18822950 0.09766452 -0.04616962 +H -0.67064426 -0.96896304 -0.90786222 -0.91188328 -0.09057418 0.38158027 +H -1.96254327 0.71703901 0.84062841 0.07605753 -0.51517283 0.01061650 +H -0.33240278 1.17029036 1.24057325 0.77207488 0.85258242 0.97531587 +H -0.97267061 1.39983558 -0.39770288 0.18138193 1.11279326 -0.86134906 +H 1.40422640 0.38687604 0.21501206 0.16770401 -0.80039826 -0.97050775 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699746239809 pbc="F F F" +C 0.51674373 0.19619237 -0.12648271 -0.93500090 -1.70844104 -0.24900716 +C -0.70141461 0.97845008 -0.39283330 -3.29379725 -0.74767469 1.91290700 +O 0.17275044 -1.05369800 0.47800476 -0.83224658 0.44523536 0.16892359 +H 1.06342511 0.17310056 -1.07385476 0.76940062 -0.55768589 -0.32210071 +H 1.04784374 0.69091747 0.63816546 1.58782941 1.40240463 1.00492871 +H -1.52362888 0.51976796 -1.01308815 0.90700719 0.13321980 -0.24222386 +H -1.28065308 1.16680274 0.57308311 0.49965668 -0.44692607 -0.35391823 +H -0.48924387 1.97469366 -0.63898315 0.57069289 2.06832433 -1.26172040 +H 0.63969101 -1.79818990 0.11534761 0.72645783 -0.58845650 -0.65778889 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.452270226712 pbc="F F F" +C 0.04585309 0.50078486 0.21889197 1.98371325 -0.69475612 0.67641695 +C -1.25811323 0.02371376 -0.26644247 -1.88755602 1.40223324 0.93921016 +O 1.10848464 -0.48075478 0.13946108 -0.17740757 0.16191990 -1.54457496 +H 0.18595733 1.24781207 -0.56581284 1.13854991 1.29449293 0.34270240 +H 0.15640819 0.84116398 1.28508937 -0.61485443 0.42258758 -0.65644431 +H -1.96944906 -0.45524551 0.41376643 -0.26289132 -0.10881149 0.27058469 +H -1.67694882 0.87880665 -0.83925360 -0.88737645 0.13129492 0.68353623 +H -1.08861700 -0.58416820 -1.08604341 0.61020290 -2.32689244 -2.07361689 +H 1.24167473 -0.54864350 -0.85484679 0.09761978 -0.28206852 1.36218567 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734758920404 pbc="F F F" +C 0.02641727 -0.63479966 0.10682192 0.71020583 1.60868246 -3.94142684 +C -1.24189953 0.23048451 -0.06337344 -0.24560214 -0.90909071 0.48760016 +O 1.08419181 0.37368322 0.02672398 1.02587591 -0.66498135 0.29308370 +H 0.00756378 -1.33824922 0.94778123 0.31831821 0.07384350 0.68449572 +H 0.25341504 -1.22642639 -0.86197923 -0.97240188 -0.09300213 1.18468848 +H -1.35254677 0.81839089 0.89107259 -0.13828035 -0.05015514 -0.63459532 +H -1.15237796 0.91208043 -0.95911583 0.02353224 -0.44331593 0.67134221 +H -2.13167558 -0.43830638 -0.18997217 0.00613244 0.35993209 0.10445953 +H 1.64865111 0.15725430 -0.76972187 -0.72778025 0.11808721 1.15035236 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.947514321878 pbc="F F F" +C -0.20626070 -0.48418604 0.05271591 -0.61417921 -0.99258793 -0.29664205 +C -0.92747970 0.77067240 0.49428013 -2.13394441 0.65624078 0.52025843 +O 1.05183471 -0.29667550 -0.54066822 -0.62203450 -0.72111852 -1.09857788 +H -0.18494121 -1.27008988 0.89108566 0.00624552 0.71095284 -0.40461618 +H -0.85850428 -0.95861090 -0.73376431 0.48082216 0.07478776 0.15042892 +H -2.06004212 0.63329028 0.45129327 0.71203841 -0.39622312 0.00791016 +H -0.82210610 1.01936918 1.57560241 0.58443354 0.31818981 -0.24868808 +H -0.86627707 1.67650816 -0.16881742 0.75035414 -0.43596879 0.28201324 +H 1.60447329 0.19347545 0.04877251 0.83626439 0.78572723 1.08791346 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.324725091491 pbc="F F F" +C 0.50003032 0.29356473 0.10966694 -0.78210948 -0.33626472 2.51876448 +C -0.71116148 0.93905636 -0.47144724 -0.02990770 -1.65920028 -2.00363031 +O 0.14606227 -1.10377977 0.35697856 -0.69170700 1.67098504 0.20193842 +H 1.31546661 0.40955055 -0.51124051 2.31868800 -0.30795157 -2.59787719 +H 0.93513983 0.97116468 0.94104573 -0.84665936 -1.20292763 0.38752775 +H -1.01154841 0.14900601 -1.25808792 -0.95936880 0.44651520 1.47273209 +H -1.41451089 1.35264800 0.24918340 -0.78478898 -0.32958324 0.12363221 +H -0.50845845 1.66014899 -1.24196465 0.78009070 1.60825252 -0.21746511 +H 0.88027942 -1.71133799 0.46561811 0.99576257 0.11017469 0.11437767 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.843809994505 pbc="F F F" +C 0.11868667 0.40870030 0.36113863 1.11672237 1.71623662 1.96029492 +C -0.74877307 0.58009898 -0.79602442 -0.97627227 -0.27120586 -0.73594927 +O 0.55338884 -0.91781899 0.35015373 1.52579320 -0.33853860 2.83722785 +H 1.02263230 1.11766212 0.29408237 -0.58975995 -0.32296764 -0.06579162 +H -0.38398630 0.77813510 1.37760662 0.37672896 -0.86056086 -1.38437708 +H -1.26830458 1.51442104 -0.78737941 -0.33803493 1.47337219 -0.19103822 +H -0.19864959 0.43268420 -1.73063067 0.11318946 -0.01581656 -0.40764551 +H -1.56630391 -0.14316460 -0.74151609 -0.28349060 -0.65376280 -0.11318715 +H 1.11764355 -0.91497932 1.21185566 -0.94487626 -0.72675644 -1.89953382 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639144887335 pbc="F F F" +C 0.52075126 0.25394569 -0.03967910 -0.78186045 -2.28964255 0.87458027 +C -0.71812292 0.96147717 -0.43745728 1.33670521 1.99515369 -1.65825242 +O 0.15227577 -1.11713805 0.42527368 -0.09418674 1.38716925 -0.63217514 +H 1.28234377 0.22143720 -0.82964005 0.42383616 0.03684099 -0.15758677 +H 0.77308577 0.87797493 0.82278477 1.29814518 0.01847883 0.48272334 +H -1.34046378 0.64331263 -1.22677266 -1.13186617 -1.60628223 -1.24943232 +H -1.26324048 1.18862641 0.42106292 -1.69644966 0.29386413 1.91603161 +H -0.45828050 1.96867354 -0.87361360 0.33897698 -0.18408282 0.48840481 +H 0.94033473 -1.65186798 0.62125220 0.30669949 0.34850066 -0.06429339 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.402483750402 pbc="F F F" +C 0.40819042 -0.25377541 -0.12783976 1.02024200 0.20482911 4.59209654 +C 0.27871329 1.10836630 -0.72690604 2.26123678 2.49312136 1.74586150 +O -0.63357538 -0.84430427 0.72181697 0.07433972 0.62518477 -0.94473387 +H 0.56646280 -1.08286693 -0.73133288 0.54771550 -1.62919745 -2.38696639 +H 1.38581555 -0.20700583 0.54136880 -1.12611924 -0.19135215 -1.00933692 +H 0.80296024 1.95622627 -0.00892030 -0.96822846 -1.84707034 -1.32139696 +H 0.81288895 1.27152861 -1.68254394 -0.18310976 -0.33410186 -0.16514561 +H -0.70595758 1.49879635 -0.76378265 -1.87392994 0.23757567 -0.56730377 +H -0.99138944 -0.21960716 1.37277099 0.24785335 0.44101088 0.05692553 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.730987589745 pbc="F F F" +C -0.26888225 -0.48887632 0.15640475 0.39290136 1.59580662 -2.65277782 +C -0.92496804 0.89065349 0.22396701 -0.35685417 -0.01383691 -0.72138782 +O 1.09455113 -0.40661250 -0.26046391 0.45967113 0.74090101 -2.55651307 +H -0.19432265 -1.05535565 1.03346735 -0.50224872 -1.07549744 2.11776944 +H -0.78716875 -1.02146727 -0.63947194 -0.78610117 -0.89774843 -0.12345747 +H -2.01496373 1.00327264 0.04044050 -0.18501685 -0.71882423 0.49946267 +H -0.66112370 1.46240165 1.09241243 0.31549436 0.60889487 1.07368898 +H -0.56625682 1.46244203 -0.64014358 0.55653655 0.23927507 -0.36528169 +H 1.07465932 -0.18609625 -1.28480857 0.10561751 -0.47897051 2.72849673 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.651756359924 pbc="F F F" +C 0.14184875 0.32338612 0.40800906 0.81093932 -1.34118865 -0.67340315 +C -0.51351769 0.91481537 -0.84626924 -0.25450006 -1.88745626 -0.36124089 +O 0.28974574 -1.14165074 0.42620589 -0.52284743 1.95255986 0.37623917 +H 1.08425448 0.86460592 0.71579474 0.30866397 -0.49312073 -0.94520207 +H -0.39884938 0.66899659 1.24668957 -1.73557374 -0.11757422 1.71382426 +H -0.26810666 0.30852187 -1.77438293 0.47778214 0.69709978 0.54698593 +H -1.64341860 0.85276097 -0.88058082 0.67539715 0.44276160 0.53623444 +H -0.08016709 1.90254796 -0.82687645 -0.27419374 1.22606361 -0.85956728 +H 1.13489716 -1.23160969 -0.02361985 0.51433234 -0.47914503 -0.33387035 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.703085982015 pbc="F F F" +C 0.41959112 -0.24201756 -0.31737390 -0.01143786 0.86244651 -0.75049570 +C 0.31042202 1.26061709 -0.00969772 0.03399663 -1.96532528 2.44754736 +O -0.65979141 -0.89475680 0.29783718 -0.40485607 -1.06000258 0.33527587 +H 0.46259755 -0.30765820 -1.43911524 -0.42926284 -0.40238719 0.03433529 +H 1.40407076 -0.59927032 -0.01504144 0.68790099 -0.46621022 0.49630654 +H 0.81068885 1.54981122 0.95446141 0.12095281 0.19694780 -0.82329559 +H 0.38918824 1.86206348 -0.85049782 1.47416173 1.72865115 -2.07551051 +H -0.72301755 1.44588352 0.16767283 -1.80531514 -0.04972608 0.67432150 +H -0.57030631 -1.88724806 0.35225545 0.33385986 1.15560585 -0.33848477 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.547816112303 pbc="F F F" +C -0.21901735 0.55296413 0.24068019 2.93363232 -1.67900709 1.36628226 +C -0.59565673 -0.03131934 -1.07282910 -1.06108157 0.47153076 -0.01279818 +O 0.70135592 -0.48444115 0.70722929 1.38681927 -0.03897511 1.85897079 +H 0.30227508 1.48035519 0.06356564 0.84002751 1.16898315 -0.31241830 +H -0.85741614 0.80918619 1.08156368 -1.62248646 -0.16098315 0.04920723 +H -1.29007724 0.72198949 -1.48115898 0.00520232 -0.09164346 -1.01541105 +H 0.35228528 -0.24206073 -1.65002132 -0.83880757 0.34920658 0.19335803 +H -1.16404229 -0.95666636 -0.91114008 -0.04114980 -0.39140220 -0.15012769 +H 1.23083399 -0.34055685 1.58704033 -1.60215597 0.37229057 -1.97706309 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.221354595286 pbc="F F F" +C 0.21524192 0.38495682 0.43401599 0.48010791 -3.15307908 0.28992201 +C -1.15248681 -0.19778560 0.35480639 -3.40946207 1.94096952 -2.88307413 +O 0.84500094 -0.14525028 -0.70406957 -0.24682105 0.50552626 -1.37205275 +H 0.01515222 1.42034579 0.48670160 0.73971614 2.36414558 -0.38210648 +H 0.66953557 0.04563136 1.39684105 0.25794334 0.28508988 -0.06507865 +H -1.43520512 -0.46853913 -0.79399052 0.83448117 0.84404398 2.06259097 +H -1.32479559 -1.14743926 0.81265648 -0.34412309 -0.94197698 1.19173567 +H -1.91596781 0.68941847 0.57690279 0.80075791 -2.06071448 0.23760781 +H 1.74557387 -0.46565500 -0.70283339 0.88739974 0.21599531 0.92045555 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.315789798093 pbc="F F F" +C -0.25948325 -0.44221919 0.33453678 0.41777484 -0.82527529 -5.39016929 +C -0.95437333 0.90675140 -0.00917736 -1.82159568 0.04625529 3.36602594 +O 1.06128874 -0.46363111 -0.31920863 0.49303825 0.45732968 0.65200216 +H -0.21151719 -0.67928423 1.34026578 0.02027583 -0.57197202 2.92550120 +H -0.61185829 -1.39335207 -0.29086117 -0.57508969 1.72543866 1.49017076 +H -2.08315451 1.18594634 0.35790187 1.95875041 -1.44054459 -0.94578715 +H -0.45908630 1.67046652 0.62847671 0.51790828 0.18147757 -0.43165258 +H -0.83681602 1.11143321 -1.04060181 0.13367669 0.47929951 -1.64644627 +H 1.81963895 -0.07272990 0.19472311 -1.14473892 -0.05200876 -0.01964467 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.384897280103 pbc="F F F" +C 0.06696297 0.23805172 -0.48175377 3.00478747 -0.33472339 2.04929893 +C -1.29948236 -0.15902558 -0.20773965 -3.16920212 -0.98508755 0.94470415 +O 1.17253185 -0.06829764 0.56529792 -1.00419070 0.41971700 -2.95076127 +H 0.40049614 -0.33976931 -1.32002532 0.83800606 -0.09446534 -1.17289081 +H 0.00142256 1.31134657 -0.64552848 0.86120024 0.72030981 -0.47206457 +H -1.88012557 -0.70571096 -1.04052412 0.87229044 0.43892422 0.90581455 +H -1.38903037 -0.72234078 0.74209534 0.03782763 -0.66401651 -0.16110733 +H -1.89994056 0.72381796 0.05236600 -0.42457808 0.33539579 -0.13883381 +H 0.84096945 -0.12641259 1.45449920 -1.01614094 0.16394599 0.99584022 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4823371776 pbc="F F F" +C 0.33587410 0.21353039 0.44263587 -3.68553138 -0.99619508 -2.51463132 +C -0.04478051 1.00205927 -0.87610551 -1.46356991 -1.48194055 0.30682044 +O -0.16800302 -1.13481850 0.41650320 1.78997686 -0.29182586 -0.09760487 +H 1.35036520 0.21336091 0.65628021 2.61633577 -0.00214985 0.72406403 +H -0.30651535 0.65345043 1.18619547 0.20681153 1.17239150 1.25213152 +H -0.50755083 1.87371223 -0.45281020 -0.33348680 1.48252013 -0.14500893 +H 0.67530738 1.27688136 -1.63968773 0.87969815 0.02075709 -0.20904989 +H -0.92049270 0.49447184 -1.45330299 1.15641790 0.30777236 0.86237380 +H -1.09402583 -0.98505944 0.25727917 -1.16665208 -0.21132979 -0.17909478 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.730390349054 pbc="F F F" +C -0.07243980 -0.55347998 0.26632021 1.15513009 1.53724988 -1.93133616 +C -1.09722433 0.55565860 0.18994944 -1.92014415 0.02241355 4.15499405 +O 1.04121257 0.01388784 -0.43718930 0.65529698 0.17749241 -0.78103373 +H 0.26446995 -0.72805056 1.25795067 -0.02459904 -0.44523623 1.96340220 +H -0.40798883 -1.49896155 -0.16504354 -0.39413297 -0.61293382 -0.38436895 +H -2.02481062 0.23146602 0.85483719 1.16268682 0.23848234 -1.20170564 +H -0.76737366 1.45755895 0.85144818 -0.07670010 -0.91220781 -1.49434592 +H -1.51098301 0.82272163 -0.77723766 0.22423236 0.21347969 -0.72212388 +H 1.85596803 -0.53264204 -0.51923785 -0.78176994 -0.21874007 0.39651803 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6656418552475 pbc="F F F" +C 0.50975981 0.18384765 -0.19420241 -1.77474744 -3.24989323 -0.64570933 +C -0.88704001 0.62604833 -0.81308698 2.19418054 1.49185046 -0.40054664 +O 0.29676947 -0.72614779 0.93974371 -0.58194065 1.40102883 -0.71839274 +H 1.11841215 -0.46950705 -0.92738927 -0.51691393 1.21971936 0.23524111 +H 1.04119962 1.07361431 0.06798629 0.98080584 1.08623669 0.52551937 +H -0.78175176 1.76085084 -0.93164174 -0.76595380 -0.85276769 0.62572151 +H -0.96321663 0.36860918 -1.87496359 -0.07806494 -0.71952495 -0.35207156 +H -1.78489987 0.28321911 -0.28728186 -0.07039714 0.06402692 0.42152052 +H 1.15424045 -1.14266772 1.03934211 0.61303152 -0.44067638 0.30871776 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.1755615809425 pbc="F F F" +C -0.10285563 -0.25344248 -0.49340285 -1.75905168 0.97817833 1.99462980 +C 0.74862829 1.05203750 -0.40466505 -0.00757581 -1.25663285 2.09753510 +O -0.55767128 -0.71537375 0.80733279 7.07577620 2.79378308 0.34158115 +H -1.08072637 -0.18590747 -1.05777015 1.20732905 0.02054867 -0.76545346 +H 0.68181890 -0.92643399 -0.74065686 0.37433866 -1.74372826 -1.57798846 +H 1.81412699 0.69761755 -0.02359545 -1.86828601 1.10722137 -0.08740715 +H 0.92900721 1.45840385 -1.37559305 0.09284113 0.51411189 -1.41558246 +H 0.19014069 1.81649463 0.22054704 0.87052559 -0.42341836 -0.18664868 +H -1.37831936 -1.02241293 0.86343467 -5.98589713 -1.99006398 -0.40066584 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4338073356175 pbc="F F F" +C -0.07757359 0.37281613 -0.49178819 -1.04649241 3.31468876 1.30764417 +C -1.15970588 -0.13687799 0.53583039 -0.94923171 3.58019911 -1.44118156 +O 1.09963297 -0.25700095 -0.01452337 1.66789678 0.41877315 -2.09154294 +H -0.45553954 0.33491586 -1.54795333 0.65369333 -1.18176734 -0.05882100 +H -0.03039166 1.60446075 -0.43925263 0.19861007 -2.15701924 0.28065015 +H -1.01732926 0.42575888 1.48308270 0.20590095 -0.51750765 0.10081016 +H -2.26359671 0.09578816 0.24422324 1.53935197 -0.67566691 0.04413763 +H -0.87210959 -1.14023654 0.57114065 -0.16855351 -2.51468599 0.68820202 +H 1.92663044 -0.05417655 -0.60551647 -2.10117553 -0.26701388 1.17010127 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.466156564583 pbc="F F F" +C -0.23069404 -0.03351218 -0.50545488 2.88979808 -0.35306179 -1.12100141 +C 0.20716315 1.32929770 0.16583522 2.11683978 -2.89367063 1.64029377 +O 0.00233066 -1.22478576 0.24727318 0.19011407 1.20947906 1.42882134 +H -1.28528544 0.06233837 -0.71384204 -1.07374950 -0.01425559 -0.68469102 +H 0.43137514 -0.23295323 -1.50578191 -1.69849523 0.83786485 1.57038257 +H 0.46949006 1.28829803 1.31339635 -0.27451194 -0.52346048 -1.54329763 +H 1.09948870 1.75016898 -0.30003344 0.22695104 0.41964521 -0.29310298 +H -0.60785787 1.95710752 0.17757561 -2.25021811 2.28935119 -0.41711694 +H 0.13520094 -0.82567995 1.15056497 -0.12672812 -0.97189182 -0.58028764 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.725743020545 pbc="F F F" +C 0.23743932 -0.42813428 -0.42874244 -2.50957401 2.28257407 4.11341138 +C -1.25487622 0.17589974 -0.38097422 0.63026311 0.06048877 -0.26185718 +O 0.95787055 0.17004213 0.73213511 -0.42444793 -2.78345362 -1.01488793 +H 0.14502153 -1.49363137 -0.14107195 0.26412000 -0.02495709 -0.49398262 +H 0.60694553 -0.21995939 -1.39920068 1.28581998 0.07385023 -1.52905886 +H -1.41693188 1.31080926 -0.49810868 0.74443021 -1.13609569 -0.42330857 +H -1.86928013 -0.38228259 -1.11778740 -0.19796303 0.26019002 -0.11641265 +H -1.70386955 0.01347018 0.60713212 0.02579620 -0.43808784 0.41070579 +H 1.15636189 1.07660143 0.57624195 0.18155548 1.70549121 -0.68460941 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.732527391872 pbc="F F F" +C -0.12110483 -0.22965322 0.54419160 1.03738124 0.05679846 -0.83241113 +C -1.04158751 0.72595802 -0.21854571 -1.83370018 -3.70290906 2.21682137 +O 1.04265021 -0.38807131 -0.31895781 -0.25699697 -1.72228602 0.48132307 +H 0.32646543 0.06625890 1.49933637 -0.47205681 0.92608941 0.75334135 +H -0.67640086 -1.14796102 0.81323884 0.02072171 -0.61459594 -0.47031411 +H -2.04929825 0.70626357 0.31030322 0.68064472 0.42655187 -0.56176273 +H -0.59556982 1.64340886 -0.20483613 1.15552630 3.36475258 -0.47337517 +H -1.13744498 0.24188861 -1.18956504 -0.13746649 0.25024679 -0.70388359 +H 1.43563363 -1.26537229 -0.04596791 -0.19405351 1.01535197 -0.40973906 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.206053192696 pbc="F F F" +C 0.03054828 0.52529948 0.22268880 1.23402406 -1.44375287 1.52455496 +C -1.38757306 -0.04602308 -0.30488358 3.17584554 2.35639283 -0.82113540 +O 1.20618219 -0.47903375 0.13800321 -2.95091251 1.33217873 2.08587196 +H 0.35569821 1.39978835 -0.39510835 -0.32006193 -0.12542349 0.09977730 +H 0.00273490 0.95473695 1.32469019 -0.06887818 -1.06065384 -1.59515315 +H -1.45118582 -1.13039384 -0.41989794 -0.11825011 -0.40054458 0.68355346 +H -2.05842851 0.51567499 0.36050440 -0.96229909 -0.41226954 -0.42212772 +H -1.28202277 0.36947937 -1.36082934 -1.21639220 -0.36704521 0.70703808 +H 1.45646842 -0.21800718 -0.72049422 1.22692436 0.12111803 -2.26237943 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.281476423174 pbc="F F F" +C 0.18740274 -0.38675803 -0.37832309 -1.56344033 2.19774352 0.04605017 +C 0.54015339 1.07917919 -0.44331746 -0.92380735 0.49611525 0.61214264 +O -0.66534538 -0.61937238 0.75007889 -0.37327849 2.47613490 -2.35890500 +H -0.38228761 -0.55214475 -1.26530734 -1.38764870 -0.16558429 -1.35457767 +H 1.02055342 -0.92568406 -0.68156510 2.55396063 -2.51727997 0.85224375 +H 1.29458708 1.49924582 0.25992593 -0.12393822 -0.35992114 0.01456479 +H 0.71477258 1.46950441 -1.44939846 0.29935770 -0.06027084 -0.50700973 +H -0.47133561 1.40328052 -0.16296216 -0.05038320 1.33161643 0.25386166 +H -0.28563028 -1.31512832 1.18377043 1.56917796 -3.39855396 2.44162940 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.851187087663 pbc="F F F" +C -0.17117490 0.57393884 -0.19665238 0.53350008 -2.71504893 1.36301768 +C -0.66397177 -0.20213258 1.10640472 0.50288393 2.10409085 -0.61068899 +O 0.78026644 -0.30610983 -0.80885501 1.06031554 1.53511139 0.83663134 +H -1.00564977 0.89956122 -0.84704980 -0.15307669 -0.10492948 -0.12519384 +H 0.38191112 1.44789715 0.14278323 0.27931569 0.72886634 0.03040557 +H -1.42844924 0.49512891 1.53926336 -0.06098551 -0.87635911 0.38758159 +H -0.97390291 -1.20929834 0.84979132 -0.93174625 -0.49494976 -0.31545693 +H 0.17273053 -0.39763065 1.82944846 -0.17950045 0.58989477 -0.33121949 +H 0.41859660 -0.80864064 -1.51567272 -1.05070634 -0.76667607 -1.23507697 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7054812759225 pbc="F F F" +C -0.27776761 -0.39491949 -0.00392855 -1.09564071 -2.59329759 0.10043452 +C -0.91537840 0.92488681 0.29505824 1.47201275 0.72816433 -0.71640014 +O 1.09613240 -0.50462694 -0.31444596 -1.49012180 -0.57484369 -1.03408555 +H -0.69267442 -1.15584630 0.83353632 1.20510618 1.07523061 -1.00321281 +H -0.72656123 -0.79241837 -0.89680537 -0.87011004 -0.55919111 -0.97233920 +H -1.87896282 0.68611843 0.67648976 -1.49715814 -0.01475521 0.68550051 +H -0.29810559 1.35149606 1.09536195 -0.11861655 0.81883729 0.38833050 +H -1.04189435 1.62825858 -0.57503787 0.38585401 -0.29479698 0.43967545 +H 1.45552993 -0.02411714 0.38864433 2.00867430 1.41465239 2.11209671 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.640529694101 pbc="F F F" +C -0.00585055 0.33699283 0.48007167 1.50795107 -0.23367438 -0.91681872 +C -1.26540598 -0.01386313 -0.34715879 0.77465076 2.44337364 1.34754581 +O 1.16004029 -0.34047166 -0.05280350 -0.55170781 0.05240604 0.94843081 +H 0.21145228 1.45943496 0.41590619 -0.55884144 -0.67010875 0.44771498 +H 0.06603627 -0.00011499 1.50781641 -0.81906838 0.03446220 0.98992894 +H -1.26950116 0.78197823 -1.08341403 -0.05635721 0.38311255 -1.16119378 +H -1.21070906 -0.94743577 -0.88078615 -0.36969170 -1.16794925 0.16454310 +H -2.13799371 0.31565392 0.24437480 -0.54217195 -0.96981000 0.06010953 +H 1.07438531 -0.05702687 -0.94952924 0.61523666 0.12818800 -1.88026062 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625822348715 pbc="F F F" +C 0.30854163 -0.01378372 -0.42945788 1.08742803 -2.35596628 0.48146273 +C -0.53366523 1.22185255 -0.28101622 0.43493099 0.48716554 -2.28710194 +O 0.25727563 -1.07357434 0.69175351 0.19345804 1.99188417 -1.71124380 +H -0.06171220 -0.42023237 -1.43380546 0.51617664 -0.34527155 0.88261852 +H 1.43997704 0.16996086 -0.56853028 -1.28548203 0.00417794 0.31992191 +H -0.34629688 1.72273352 -1.36724161 -0.68168401 -0.40025395 2.29783393 +H -1.58019173 0.89098072 -0.22029310 -0.43649016 0.20844686 -0.06883211 +H -0.33095924 1.91539646 0.54005024 0.32840984 0.24734345 0.27890550 +H -0.52304399 -1.63455401 0.53543453 -0.15674741 0.16247387 -0.19356480 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718423123479 pbc="F F F" +C 0.11902521 0.52202640 0.05754434 -0.95088868 -1.49040699 0.82926770 +C -0.86391919 -0.01633549 -1.06549829 2.26569163 0.89803784 -0.15059609 +O 0.69377019 -0.49356690 0.87961853 0.48848935 -1.56260570 -2.97473764 +H 0.92416118 1.10713284 -0.39316596 0.37885850 0.40092943 -0.56512944 +H -0.38368841 1.15167131 0.80026032 -0.73987499 0.88833511 -0.34883181 +H -1.19967067 0.90622922 -1.55953396 0.27343774 0.36983012 -0.72764244 +H -0.30582393 -0.69121425 -1.82324690 -0.88154997 0.74326946 1.01398316 +H -1.83051913 -0.38181176 -0.76010414 -0.52234467 -1.11684116 0.81270865 +H 0.65830488 -0.28479630 1.78415055 -0.31181892 0.86945189 2.11097792 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.554932915723 pbc="F F F" +C 0.19452843 0.49914277 -0.08355980 -1.22463233 -1.47790968 0.71442939 +C -1.03925318 -0.02713090 -0.81233829 -0.01084029 0.91928025 -0.50968872 +O 0.83049213 -0.40992271 0.79780603 3.96612399 3.45202819 -3.77316973 +H 0.93512505 0.97103514 -0.74799709 0.37790159 -0.33896253 -0.17560275 +H -0.26628866 1.30687937 0.44981548 -0.11009550 1.44256342 1.16657592 +H -1.59151977 0.80088817 -1.31670774 0.16588043 0.09757155 0.20006856 +H -0.88584800 -0.73282454 -1.60096345 0.57693806 -1.15189353 -0.92427858 +H -1.75401132 -0.47383619 -0.13051357 -0.45977146 -0.31276329 0.73873223 +H 0.44466157 -0.99132330 1.35809859 -3.28150450 -2.62991444 2.56293368 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.595633892318 pbc="F F F" +C 0.29777419 -0.03254618 -0.44169753 -0.05695926 -3.47087418 0.47068178 +C -0.56003846 1.08177637 -0.23713902 -1.34519114 3.48028364 -1.40122172 +O 0.29286448 -0.95726022 0.63238678 1.88625005 0.30891717 0.80041698 +H 0.01892292 -0.56770420 -1.34469902 -0.09009385 -0.38795111 -1.13550629 +H 1.34381295 0.11146748 -0.46357015 1.80787699 1.39033412 -0.73031022 +H -0.46132957 1.78348052 -1.09655368 0.24469902 0.02260052 -0.27630652 +H -1.66478898 0.99538322 -0.25421570 0.02868694 -0.77128411 0.54655583 +H -0.20899125 1.70567333 0.55765377 -0.00162473 0.60075450 1.48282285 +H -0.55219639 -1.33757655 0.65235319 -2.47364402 -1.17278056 0.24286731 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.494182981395 pbc="F F F" +C -0.48111126 0.23309793 0.14057248 -0.51369836 0.37901863 0.65271651 +C 0.89455463 1.00470311 0.18669609 -0.78558562 1.99189893 0.87290972 +O -0.39113344 -1.13684012 -0.33846300 0.21476134 -0.38492436 2.73451420 +H -1.07369206 0.50331519 1.13847850 0.85718526 -1.25570957 -1.23375023 +H -1.16024712 0.70987367 -0.62540254 0.58308207 -0.13326099 0.23808799 +H 0.71758475 1.81794212 -0.57311192 0.75343206 -0.30726328 0.23634200 +H 1.21026188 1.61875255 1.16724185 -0.92520819 -1.44604573 -1.46603298 +H 1.76186274 0.40358522 -0.09649497 0.19269422 -0.40050597 -0.30017928 +H -0.17478212 -1.75923407 0.46207532 -0.37666273 1.55679228 -1.73460788 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.862337538374 pbc="F F F" +C 0.05824127 -0.54801010 0.03468227 2.47453737 1.22142971 0.29644763 +C -1.25381707 0.01017147 -0.30542625 -2.15540706 -1.57895761 0.23520604 +O 1.12838059 0.45120829 0.23053215 -1.22278849 0.03171560 0.58837839 +H 0.09665137 -1.30377954 0.84139465 -0.39514789 -0.05158010 0.30194079 +H 0.39616602 -1.03394800 -0.85465470 0.66140155 -0.98544962 -1.07573681 +H -1.83738543 0.33683060 0.55353750 -0.52847717 -0.02295847 0.69629498 +H -1.24332015 0.85706103 -0.93160288 0.65302407 1.63406877 -1.36656349 +H -1.86116040 -0.74539368 -0.90819805 0.28108770 0.44264821 0.77657338 +H 0.78344635 1.13446698 0.86641110 0.23176986 -0.69091659 -0.45254084 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.946945864608 pbc="F F F" +C 0.19246808 -0.01971857 -0.56677188 -0.62367445 -1.10066449 0.88639845 +C -1.21087484 -0.25932847 -0.10504705 -2.01082904 -0.75972355 0.15633793 +O 0.93806480 0.20706151 0.61863501 1.08837662 1.01040362 -0.51813238 +H 0.55996989 -0.87998572 -1.16356602 0.26080050 -0.30507044 0.10109843 +H 0.14861595 0.78146197 -1.26841336 0.38966886 1.61504100 -0.84513737 +H -1.56840206 0.55247445 0.55194783 0.35769827 0.23241351 0.33450269 +H -2.02972856 -0.24856782 -0.88085900 0.69461795 -0.40364667 -0.09449810 +H -1.30919579 -1.21103608 0.49139019 0.06472641 0.44086201 -0.32454871 +H 1.44292883 1.04253863 0.45513312 -0.22138512 -0.72961499 0.30397901 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.616150273431 pbc="F F F" +C -0.49546875 0.27210288 -0.01469131 0.70304783 -0.01238964 -1.89386649 +C 0.85662861 0.96446126 0.21627804 -0.51338659 1.01829830 -0.52169089 +O -0.35646178 -1.12264700 -0.21778878 0.81652839 -1.49777850 3.25948890 +H -1.23408300 0.58155350 0.74547937 -0.53242453 -0.03612381 -0.03362222 +H -0.76368725 0.49968754 -1.07992502 -0.66863514 0.81451054 0.63732177 +H 0.99332842 1.28788394 1.28731845 0.55939372 -0.88668317 -0.36359900 +H 1.55545670 0.21019439 -0.29247732 0.03856553 1.29839406 0.86845214 +H 0.81274266 2.00304220 -0.29702146 0.40676928 -1.32233562 0.19465793 +H -0.01011057 -1.49868055 0.69154205 -0.80985848 0.62410789 -2.14714209 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.846785929692 pbc="F F F" +C 0.28976949 0.26298478 0.42614937 -1.24432971 -0.50784555 -0.69348918 +C -1.28717034 0.07864047 0.38205453 2.22757198 0.49941577 3.14464360 +O 0.89031737 -0.29049821 -0.77655479 -0.36713689 0.49671349 1.07109695 +H 0.46446821 1.36366448 0.50516140 0.16885361 -0.03670632 -0.14359775 +H 0.71317589 -0.16443368 1.38335871 -0.20211135 -0.10933065 -0.58303003 +H -1.64892180 0.23327516 1.45542218 0.04874957 -0.00199790 -0.97659792 +H -1.76723208 0.76229610 -0.24950862 -0.79914382 1.86165981 -1.28464025 +H -1.65652503 -0.85503165 0.05473737 -0.06891911 -2.07227843 -0.40805288 +H 1.64682724 -0.80092222 -0.45326040 0.23646572 -0.12963018 -0.12633258 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.71692780602 pbc="F F F" +C 0.16224804 0.37217123 0.46661260 0.29145953 -1.81585410 -0.73221279 +C -1.19736925 -0.35607996 0.32284425 -0.68321094 0.89493997 -1.94454022 +O 0.91542608 -0.02785055 -0.69212590 -0.13777976 -0.67414188 -0.33546475 +H 0.01913465 1.42867494 0.37768965 -0.12744644 1.57945024 0.72879908 +H 0.63692138 0.01065607 1.44036933 -0.18541506 0.63677027 -0.55510337 +H -1.89752638 -0.19772375 1.18391481 0.64384080 -0.78059191 0.07963028 +H -1.87033917 0.07420413 -0.54730382 1.39307497 -0.39539132 1.00229703 +H -0.91176964 -1.38218984 -0.06045015 -0.67681115 0.28001467 0.94478807 +H 1.82629083 0.31521524 -0.81508840 -0.51771195 0.27480402 0.81180666 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.97260143491 pbc="F F F" +C 0.17338466 -0.38098827 -0.32035798 -1.68625734 -2.23093010 0.04443202 +C -1.10111033 0.42846661 -0.60222518 0.74403529 1.02443378 -0.25939010 +O 0.89118252 -0.06791963 0.82439868 0.84288462 0.45499260 0.16514705 +H -0.13897684 -1.49632022 -0.27033479 0.12800828 0.79469488 -0.08340605 +H 0.83204500 -0.36726252 -1.18162077 0.69481680 0.35438545 -0.68304418 +H -0.74948074 1.52040578 -0.65772802 -0.72642945 -0.75553959 0.37402041 +H -1.47162315 0.22835587 -1.66087425 -0.06194335 -0.15186853 1.06309953 +H -1.87836862 0.25797965 0.21978439 0.50988387 0.32769430 -0.97197713 +H 0.31420849 0.36769837 1.45837251 -0.44499882 0.18213732 0.35111845 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.726158102077 pbc="F F F" +C -0.27723806 -0.47322622 0.03407945 0.18035323 1.57353947 -0.63605828 +C -0.92029084 0.92992993 0.29436193 2.12014899 0.18782157 -0.24636324 +O 1.08131862 -0.38290221 -0.33760106 1.88496250 -1.69358648 2.25609082 +H -0.49312934 -1.17646081 0.83746771 0.11391667 -0.26216010 0.95135061 +H -0.73350546 -0.95681230 -0.82855632 -1.08755849 -0.00811944 -0.67196837 +H -1.92841003 0.64455926 0.48532269 -1.88200994 0.39665173 -0.08091403 +H -0.56180255 1.50366206 1.22401173 -0.01767007 -0.87988250 -0.85897367 +H -0.73355701 1.63005019 -0.60491318 -0.59954829 -0.91045612 0.96753298 +H 1.55510724 -1.01067278 0.33179655 -0.71259470 1.59619188 -1.68069682 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.576800951881 pbc="F F F" +C 0.15045492 0.46971498 -0.29979924 1.76119783 0.63146361 1.76613471 +C -1.28698602 -0.01764419 -0.22877439 1.37174730 -1.42570146 -0.59367224 +O 1.06475107 -0.37313881 0.49848995 -0.75437714 0.70752170 -1.26628452 +H 0.55405079 0.66210526 -1.42071515 -0.87493081 -0.23868253 2.04799466 +H 0.22521082 1.36448126 0.38548692 -0.10418026 0.33484326 -1.27317601 +H -1.84651020 0.80948426 -0.53826476 -1.66090595 1.67420771 -1.21767739 +H -1.34993079 -0.84102726 -0.99372203 -0.69416142 0.09121285 0.66889508 +H -1.71597352 -0.23482315 0.77759627 0.67604722 -0.42690251 -0.14896133 +H 0.77398357 -1.22566629 0.17543455 0.27956319 -1.34796269 0.01674704 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.265864820798 pbc="F F F" +C -0.23145294 -0.56667443 -0.01077852 2.60640771 3.53701634 5.99644529 +C -0.93740763 0.78388366 0.47681421 1.81982640 -1.11552676 -2.24209980 +O 1.06074866 -0.24812405 -0.46752930 1.82785838 0.34708084 2.18613216 +H -0.37632339 -1.40357585 0.74628247 0.62687270 0.43793157 -0.19942480 +H -0.80565252 -0.77618618 -0.76202666 -3.44456705 -1.99849376 -5.58964783 +H -1.89491612 0.55158186 0.81235170 -2.42822058 -0.28839020 1.10479826 +H -0.39939232 1.42676464 1.14630866 0.74956578 0.25080827 1.23527973 +H -1.03070663 1.40691442 -0.43309036 -0.14293497 0.01171534 -0.15282426 +H 1.59659415 0.14328067 0.35811618 -1.61480842 -1.18214159 -2.33865874 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.807745635416 pbc="F F F" +C -0.12088626 -0.58797706 0.16298738 2.73153583 2.40845568 -0.22946692 +C -1.09783425 0.56871407 0.41525619 0.17309824 -0.51397197 0.03494136 +O 1.07299967 0.05185141 -0.50953811 0.09998561 -1.78211479 0.39303141 +H 0.19321869 -1.03581879 1.12367497 0.05797521 -0.28457427 0.18978003 +H -0.47268745 -1.35624593 -0.51743468 -0.82803994 -0.57818036 -0.30935462 +H -1.97692685 0.02958373 0.87565817 0.09949406 1.01653236 -0.09232063 +H -0.69277842 1.47992300 1.01273694 -0.40279373 -1.61014968 -0.45121045 +H -1.33369390 0.95478118 -0.59198555 -0.46032990 0.17952055 -0.01158889 +H 1.77214152 -0.66724037 -0.70496556 -1.47092543 1.16448248 0.47618873 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.785561885083 pbc="F F F" +C -0.24473924 -0.54540039 -0.14949740 0.82053119 0.42731379 0.78544364 +C -0.94132494 0.56063191 0.59566301 -1.42108674 -0.01118019 2.45449958 +O 1.07988818 -0.07995985 -0.46709428 0.01799433 0.92880125 1.61704420 +H -0.16590129 -1.52414743 0.38502842 -0.44268904 0.06689720 -0.13707733 +H -0.84241487 -0.58244969 -1.04189810 -0.19727130 -0.88347968 -1.38745299 +H -2.10558364 0.52293593 0.77274642 1.79339242 -0.33074487 -0.33992818 +H -0.45826676 0.74934116 1.61852524 -0.47037567 -0.17367499 -0.72421609 +H -0.74293585 1.43595681 0.00257025 0.00818064 1.12180997 -0.54778801 +H 1.30589663 0.48459475 0.36083802 -0.10867584 -1.14574242 -1.72052481 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8267212286155 pbc="F F F" +C -0.06127218 -0.18516566 0.49641581 -0.24452855 1.50637190 0.15441269 +C -1.25226713 -0.10005421 -0.52372358 0.28901657 -0.67609356 1.11850451 +O 1.20863896 0.28745303 0.06366089 0.03820239 -1.45289427 -2.28964136 +H -0.32021989 0.59927195 1.24087426 -0.22203797 -0.39650414 0.40776594 +H 0.07899605 -1.12169357 1.05656232 -0.40141963 -0.70024023 -0.07174095 +H -1.51048927 0.99032294 -0.55018568 -0.39083049 -0.66466510 -0.41332621 +H -1.09258988 -0.52534212 -1.52783471 0.59750139 0.21670627 -0.36326054 +H -2.07752784 -0.79161090 -0.16631863 0.18377074 0.97960411 0.15568631 +H 1.38792147 -0.31659083 -0.73820834 0.15032551 1.18771508 1.30159961 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.653221307862 pbc="F F F" +C 0.10515077 0.38855059 0.35726159 -0.47436329 -1.24637842 -1.29718462 +C -0.80674054 0.64570520 -0.88565832 -1.77708051 0.05348349 1.62758434 +O 0.64001536 -0.96116204 0.44133573 0.87103528 0.08710294 2.41968493 +H 0.94417479 1.02652568 0.17400611 1.08967857 1.35795672 0.49703231 +H -0.53064777 0.66711065 1.22324536 0.33675236 0.12484083 0.31255863 +H -1.23730409 1.69723978 -0.79884526 0.80645275 -0.50229016 -0.10079684 +H -0.42250883 0.50653870 -1.90087071 0.45907386 -0.22746383 -0.16740895 +H -1.77472986 0.07711568 -0.75005553 0.64474650 -0.20721381 -0.39475934 +H 1.22103308 -1.04343560 1.34345771 -1.95629552 0.55996224 -2.89671044 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.928226698163 pbc="F F F" +C 0.39164329 -0.32430578 -0.33994143 0.68634758 1.46330020 1.04232244 +C -1.08935643 -0.14665802 -0.66223827 0.55011208 -2.07569579 -1.80954070 +O 0.66855898 0.45357428 0.88251541 0.61305219 0.05934334 -1.73028544 +H 0.76665919 -1.38431284 -0.13570562 -0.49055040 0.66660094 -0.76607402 +H 0.99339578 0.20022171 -1.14399365 -0.10324793 -0.66559939 0.50150870 +H -1.40483754 0.85227785 -0.46654350 -0.30133555 1.34343353 0.62074514 +H -1.27159245 -0.27439466 -1.78419041 -0.00122261 -0.28717648 0.92350159 +H -1.67579961 -0.89328634 -0.09785692 -0.42042127 0.12898329 -0.01829269 +H 0.29291430 -0.08971092 1.56186019 -0.53273409 -0.63318970 1.23611498 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.846196686836 pbc="F F F" +C 0.43528703 -0.28518953 -0.10740993 1.24883922 -1.69208280 -0.57072545 +C 0.26411283 1.12172790 -0.66031840 -0.84675902 -2.47925710 -2.42769525 +O -0.62885722 -0.78067260 0.67840460 -0.17285615 -0.88296829 -1.63787601 +H 0.49505035 -0.96936968 -1.03850382 -0.07335149 0.42910626 1.15399700 +H 1.43852663 -0.46689126 0.45427679 -0.84686721 0.52541488 -0.66508013 +H 0.20351122 1.77244848 0.14912980 0.41940939 2.31436957 1.56966071 +H 0.99070949 1.26526417 -1.51887705 -0.23961728 0.53272782 1.04528646 +H -0.75836308 1.10267118 -1.13936000 0.45266708 0.21180698 0.18652223 +H -0.72245225 -0.28198491 1.47308720 0.05853545 1.04088262 1.34591048 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6745055693755 pbc="F F F" +C 0.52437385 0.11794523 -0.28122831 -3.58215747 -3.08846451 -0.88957752 +C -0.69380932 0.99497511 -0.39549867 0.31793573 0.95557056 3.25885219 +O 0.12489379 -0.98891749 0.60818730 0.97574000 0.87131641 -0.13119346 +H 0.59883030 -0.38577229 -1.25432824 1.00259343 0.15148760 -0.67718072 +H 1.38900848 0.59380396 0.06754653 2.01212097 1.17691989 0.48051800 +H -0.74579462 1.61315219 -1.26345401 -0.07342723 0.57135480 -1.35057791 +H -1.62656504 0.39259559 -0.21569458 0.50847218 0.35492723 -0.27494996 +H -0.53071062 1.72651696 0.48291526 -0.97520711 -0.54707931 -0.79523980 +H 0.95076519 -1.50600264 0.59297275 -0.18607049 -0.44603266 0.37934922 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.663422293553 pbc="F F F" +C -0.42427244 0.27681178 -0.32867145 3.25935155 -0.37440957 1.99575409 +C -0.47121542 0.01889244 1.19571055 -0.61139501 2.75832401 -0.25850296 +O 0.76841560 -0.33316511 -0.81245733 -0.41558122 -1.55770358 -0.84791468 +H -1.29362017 -0.10663000 -0.77258513 -1.64381022 -1.05857639 -1.46943789 +H -0.35200860 1.34622160 -0.53295355 -0.47153184 0.77813538 0.16032587 +H -1.34042596 0.60152462 1.56570727 -0.41732890 -0.35634088 0.28433402 +H -0.41926996 -0.94177411 1.69962705 -0.08587698 -0.92794801 -0.49779346 +H 0.33680281 0.64321164 1.58681266 0.72851359 -0.02507264 0.43338092 +H 1.54090170 0.22076057 -0.98188880 -0.34234096 0.76359167 0.19985408 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.567217523017 pbc="F F F" +C -0.03994660 0.30363113 0.48958600 -1.52717537 -2.60763412 -0.94629484 +C -0.20877425 1.03416116 -0.86562129 -0.68308583 -2.17509451 0.61207811 +O 0.26053844 -1.18426126 0.41408342 -0.24173803 1.95926247 -0.03990302 +H 0.76120205 0.58551593 1.13827055 0.61160338 1.21885290 0.92011586 +H -1.10038962 0.34322413 0.89938703 1.05944337 0.39419540 0.62808827 +H 0.47812757 0.67337104 -1.63273472 1.13325699 0.49028516 -0.21785196 +H -1.13904383 0.53584639 -1.25054032 -0.15484078 0.92692939 -0.02902776 +H -0.29186990 2.12189745 -0.73522359 -0.04141540 0.16403546 -0.28882862 +H 0.11914168 -1.40439177 -0.51118745 -0.15604838 -0.37083213 -0.63837603 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.805029757446 pbc="F F F" +C 0.29142170 0.33071814 0.38407451 -1.53442321 -0.91104834 0.38065267 +C -0.53069965 0.88429007 -0.80169099 1.75826127 -0.28871143 1.97956478 +O 0.22131423 -1.09533027 0.32627435 0.68892162 -0.93676967 0.97173524 +H 1.31385308 0.74535877 0.51704339 0.30178920 0.02331436 -0.62845450 +H -0.19147035 0.52468196 1.34932325 -0.44145527 1.09218705 0.37292558 +H -0.10224844 0.55009968 -1.70010409 1.01234023 -0.84725154 -1.90506082 +H -1.54471241 0.57572098 -0.82407334 -1.60467698 -0.47758581 0.40522394 +H -0.43457042 1.94006000 -0.82243575 -0.14694142 1.83210127 0.02009133 +H 0.29641445 -1.42898661 1.27752866 -0.03381537 0.51376413 -1.59667823 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539482903633 pbc="F F F" +C -0.23318090 -0.40729420 0.31635876 1.03957855 -1.62768327 -0.66477448 +C -0.96859474 0.84842618 0.02707979 -1.01002721 -0.68465934 2.87778660 +O 1.06976424 -0.39660588 -0.36500841 1.65349387 0.01667932 2.39359084 +H -0.37528732 -0.70526931 1.43952637 1.08020128 0.48357510 -1.28480238 +H -0.69492156 -1.23898287 -0.24192043 -0.62089216 -0.31561973 0.16531644 +H -1.87276609 0.69256340 0.69723075 -0.05922096 0.62715850 -0.98890446 +H -0.41709848 1.63358920 0.52643482 0.39296857 1.10985675 -0.04017283 +H -1.18006534 1.02379422 -1.00364206 -0.29850369 0.33555103 -1.21101077 +H 1.87885309 -0.36829151 0.28383905 -2.17759820 0.05514159 -1.24702896 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.630410998138 pbc="F F F" +C -0.29270288 -0.54612762 -0.03094151 2.78982019 3.17391140 1.76450756 +C -0.93479505 0.78620156 0.43797705 1.25260244 -2.43521609 -0.81050203 +O 1.07786690 -0.24199988 -0.43006087 -2.58916552 -1.19310463 -3.74065164 +H -0.22973976 -1.16220122 0.84275092 -0.32061544 -1.39428478 0.88478714 +H -0.72756235 -1.01325143 -0.85652077 -1.26674310 -1.08036274 -1.74228221 +H -1.80836506 0.59271001 0.98144672 -2.21588971 -0.16448623 0.95089285 +H -0.23639562 1.22610873 1.10845474 1.00596841 0.82232294 0.97867897 +H -1.06346267 1.39624750 -0.40485834 -0.52626267 1.53014957 -1.54179308 +H 1.58213224 -0.06050305 0.30496952 1.87028540 0.74107055 3.25636249 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.515275846376 pbc="F F F" +C -0.24285368 0.01816247 -0.56190061 -1.42455927 -0.56948232 2.02553015 +C 0.15656782 1.31517435 0.27117421 3.64530703 -2.39147220 -4.09619907 +O 0.10337087 -1.17815580 0.28865306 -0.59081240 1.93917253 -0.62284342 +H -1.41830182 0.07242134 -0.82361095 1.99757870 -0.23876856 0.51838862 +H 0.30921866 -0.16924472 -1.49318198 0.14508704 0.72102627 -0.50558971 +H 1.35101507 1.34022910 0.27189140 -2.23651624 0.28142019 0.26483606 +H -0.26472113 2.19807717 -0.15407466 -0.23101694 1.24359746 -1.00180194 +H -0.22503930 1.28051646 1.21368309 -1.16604700 -0.60893925 3.57786599 +H -0.36581446 -1.91035839 -0.13228157 -0.13902098 -0.37655413 -0.16018667 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518462212138 pbc="F F F" +C 0.42542362 -0.36786406 -0.20946833 0.24015469 3.46573572 5.55044539 +C 0.26142441 1.16478529 -0.70324878 1.13531989 -1.12716039 0.60993334 +O -0.64007078 -0.76892791 0.76001803 0.48484862 1.12651668 0.87798641 +H 0.42982655 -1.17416408 -0.86862440 0.01924482 -1.37392739 -2.23835601 +H 1.38812968 -0.41226163 0.45208829 -0.71484261 -0.02365513 -1.37580394 +H 0.28281529 1.96301347 0.13859678 0.12709641 -1.35224311 -0.75296376 +H 1.10026634 1.41788001 -1.43250747 -0.78591045 -0.14093301 0.45822854 +H -0.71572489 1.24018768 -1.17185385 -0.56701329 0.22373830 -0.56011532 +H -0.51076515 -0.32686413 1.69427255 0.06110193 -0.79807157 -2.56935465 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.293176791325 pbc="F F F" +C -0.46470537 0.05055914 -0.28684053 3.49528537 -0.65711238 -1.33418090 +C 0.48024614 1.28717746 -0.05622598 -0.23299468 -3.58426701 4.21008993 +O -0.07555624 -1.21805998 0.33343602 0.19395900 1.98402071 -0.48992686 +H -1.47817181 0.07695713 -0.19604770 -3.69165308 1.12651766 1.24400950 +H -0.39702034 -0.06969086 -1.36738482 0.08686280 -0.46722838 -1.17335006 +H 1.52301687 1.03357043 -0.38169063 -0.51555691 0.50667148 -0.21823300 +H 0.04616364 2.19883670 -0.32991373 -0.60296534 1.94860236 -1.18009967 +H 0.50654598 1.32000210 1.11500152 0.40657655 0.31148607 -1.41040673 +H 0.81262311 -1.16704906 -0.04470628 0.86048630 -1.16869050 0.35209784 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.682938617218 pbc="F F F" +C 0.33688767 0.50150686 0.27780233 -2.95568715 -1.18399875 -1.49768913 +C -1.09729735 -0.10245449 0.66317256 2.49462371 1.31042302 2.82973246 +O 0.75662326 -0.34990523 -0.85000388 0.72209374 1.03420896 1.11828519 +H 0.26761044 1.60125685 0.08003929 0.15991732 -0.17620357 -0.47420373 +H 0.96420780 0.40109361 1.17373469 0.63852644 -0.42831215 -0.17954642 +H -1.64345220 0.41792092 1.48857124 0.21162788 0.44165623 -0.24684820 +H -1.80086126 -0.25296741 -0.10325606 -1.02314539 -0.34096676 -1.83410071 +H -0.79457397 -1.01518018 1.17892585 -0.33281749 -0.98689031 -0.25630148 +H 0.05703005 -0.35459282 -1.53833081 0.08486093 0.33008332 0.54067202 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.67380877191 pbc="F F F" +C 0.12780985 0.64323269 -0.08580610 -1.02384818 -2.62342996 0.13303931 +C -0.96953608 -0.24536203 -0.78258630 0.25050781 0.51167701 -0.18303186 +O 0.78938130 -0.27617324 0.81255195 0.14199529 1.38394925 0.40554785 +H 0.89036900 1.04840350 -0.74761213 0.13299200 0.51423798 -0.80389357 +H -0.36375741 1.40821347 0.47209751 -0.30950416 1.27152695 0.98042033 +H -1.88020103 0.07173896 -1.37562063 1.06243752 0.65372696 0.02644735 +H -0.30562501 -0.87165196 -1.38255436 -0.34991368 -0.85389548 -0.68652401 +H -1.45605798 -0.85319583 -0.00603120 0.19749576 -0.24847273 0.45805704 +H 0.61422766 -1.16227075 0.48962550 -0.10216241 -0.60931998 -0.33006245 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5940368420725 pbc="F F F" +C -0.18028095 -0.25976737 -0.45373953 0.38148926 2.45660608 -1.39802254 +C -0.14824716 1.24204743 -0.20824105 0.32016776 0.17071632 -1.55206186 +O 0.27382491 -0.86271808 0.65822244 0.80635638 -3.02087595 1.42495393 +H -1.12262892 -0.57994313 -0.83496236 -2.05326640 -0.65488236 -0.07930858 +H 0.43606715 -0.38106285 -1.36860672 0.72464541 -0.31370339 -0.19512422 +H -0.17492115 1.68350617 -1.24746098 -1.22078410 0.33011238 0.60746575 +H -0.84025082 1.65613683 0.59472932 0.75757760 -0.20798478 -0.84357136 +H 0.93089170 1.43990055 -0.12114878 0.25755104 0.33820009 1.34904841 +H 0.33809938 -1.83073235 0.41746192 0.02626300 0.90181160 0.68662048 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.55180153061 pbc="F F F" +C -0.38333318 0.14189652 -0.33584949 -2.61641712 0.37655536 2.19828937 +C 0.93051406 0.84196485 -0.43786736 2.84237391 -1.47485382 -1.93466950 +O -0.55118978 -0.86343954 0.69777938 -1.15983521 2.27936106 0.20445255 +H -1.03707776 0.91884518 0.14258410 -0.34127806 -0.03155249 -0.79148018 +H -0.92702154 -0.27545631 -1.22271445 0.71989283 0.63034112 -0.38836187 +H 1.46872945 0.86408249 0.51841897 -0.39050545 0.32839904 0.71705412 +H 1.67149874 0.09742956 -0.99766543 -0.91106547 1.55728650 0.27358722 +H 0.97216928 1.90319759 -0.88920528 -0.30456270 -1.41716482 0.26858334 +H 0.07969497 -1.52768432 0.59215168 2.16139727 -2.24837196 -0.54745505 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.330726175897 pbc="F F F" +C -0.07646896 0.39787109 0.43608675 0.07341294 -0.94691951 0.69258395 +C -0.25035725 0.69127530 -1.01304934 -2.95027503 1.11218540 1.02973251 +O 0.23209987 -1.01511932 0.52712342 1.59031346 0.59328704 1.01267504 +H 0.70764788 1.05078402 0.75139369 1.82768190 0.44337393 0.72180074 +H -0.81542505 0.67141863 1.23571391 -0.69247103 -0.23770309 -0.89748335 +H 0.07039481 1.61219136 -1.38215834 1.30871077 2.65958426 -0.15889140 +H 0.32808669 0.00978743 -1.53204832 0.95046455 -2.25704429 -1.61837038 +H -1.29941344 0.80519682 -1.29268887 -0.69867150 -1.03199020 -0.52321772 +H 1.21800331 -1.01588079 0.72770136 -1.40916602 -0.33477358 -0.25882944 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.474006011227 pbc="F F F" +C -0.30541920 -0.53128318 0.07269639 0.63894789 1.54363928 -1.48738867 +C -0.88673712 0.87304732 0.27369914 -1.17126860 -1.54750838 -0.51770887 +O 1.08388936 -0.26878948 -0.32332197 -1.76933445 0.16939755 -0.23053336 +H -0.32008430 -1.23185671 0.90452922 -0.16404122 -0.00524171 1.07892807 +H -1.00105005 -0.96049172 -0.65854354 0.36100296 -0.88701356 -1.07966942 +H -1.92365001 0.79314783 0.61970544 -0.20105437 -0.09753735 1.41048777 +H -0.11754293 1.24490510 0.91834888 0.17120961 1.82858970 0.79880772 +H -1.20657466 1.40992881 -0.65726625 1.49678024 -0.03020764 -0.08953417 +H 1.56877846 -1.06303080 -0.12224500 0.63775804 -0.97411789 0.11661093 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.884698327827 pbc="F F F" +C 0.50630927 0.17577920 -0.18620739 -1.98828334 -2.10225550 0.70916932 +C -0.72156168 1.06800755 -0.29984708 0.36858447 0.28215023 1.54922542 +O 0.19940841 -1.13944289 0.38451776 -0.20712644 0.44915115 -3.64597551 +H 0.93800428 -0.02381847 -1.16886693 0.24721721 -0.08645065 -0.52146978 +H 1.21465978 0.66192276 0.41403489 1.84610504 1.09296707 1.22783577 +H -1.44810855 0.58416024 -0.94497990 -0.59940405 0.04431745 -0.59693523 +H -1.21030038 1.19583721 0.73688577 0.53716575 -0.02983345 -1.09297313 +H -0.36288114 2.06718739 -0.65557458 -0.53772980 -0.21598945 -0.10866694 +H 0.26732056 -1.22106603 1.30677670 0.33347116 0.56594319 2.47979019 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740128712326 pbc="F F F" +C 0.33280497 -0.24707231 -0.32833092 -1.07583097 0.40525227 -1.14604406 +C 0.51647855 1.21652050 0.09596339 1.00979062 0.63332761 -0.49567754 +O -0.78160828 -0.86011281 0.22760664 -1.73083144 0.21355271 1.13805158 +H 0.09470608 -0.15098849 -1.46704778 1.01948856 -0.35877684 0.92486541 +H 1.15419917 -0.93167237 -0.08256796 1.14480592 0.37893667 -0.51256167 +H 1.14911653 1.63599440 -0.74748308 -0.08020441 0.04869465 0.85813816 +H -0.39810184 1.82398197 0.04958112 -0.66445952 -0.28052694 -0.27293647 +H 0.93846268 1.53448633 1.09260085 0.14465376 -0.83308450 -0.41648893 +H -0.65275355 -1.81244532 0.31094499 0.23258742 -0.20737564 -0.07734652 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.817685224191 pbc="F F F" +C 0.44845774 0.07159792 -0.37101182 -0.29617026 0.18337741 1.79976470 +C -0.63860644 1.11861648 -0.13831444 0.21342853 -2.35944391 2.10410119 +O 0.24025057 -1.08933776 0.45633209 0.79415058 0.62772605 -0.76596244 +H 0.47016516 -0.10395688 -1.41189403 -0.35102471 -1.10551164 -2.20069361 +H 1.46281728 0.43141935 -0.22870713 0.82405345 0.44376289 0.74740344 +H -1.53683456 0.49080972 -0.33066174 -0.47670578 0.43652765 0.25007463 +H -0.62149188 1.44747043 0.95351109 -0.20005385 0.13748259 -1.08612135 +H -0.64291774 1.86457170 -0.88122966 0.11314118 1.79718069 -1.03767568 +H -0.68048417 -1.02305550 0.72463112 -0.62081919 -0.16110173 0.18910907 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.758029196116 pbc="F F F" +C 0.31372944 0.06359839 0.44658996 -0.75783497 0.48908065 0.47237125 +C -1.24119661 0.30907707 0.44348171 0.85967861 -3.04732104 2.05858272 +O 0.81600247 -0.35921882 -0.84810024 -1.92667269 -0.16784877 1.44361691 +H 0.71473949 1.07131421 0.67905833 0.40364677 0.15594862 0.10484685 +H 0.61670787 -0.56785414 1.40550575 -0.39674423 0.32132645 -1.78497139 +H -1.61574161 0.16276536 1.52621334 0.39009773 0.20098624 -1.12696719 +H -1.58914224 1.25475527 0.14448764 -0.25865692 1.95713195 -0.87779728 +H -1.77068526 -0.46767971 -0.14521295 0.08717791 -0.03538605 -0.07866457 +H 1.74220601 -0.19362243 -0.75401797 1.59930780 0.12608201 -0.21101735 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.499478581019 pbc="F F F" +C 0.05529216 0.42387114 -0.27067865 1.31757069 -0.18688090 -0.69370094 +C -1.31551694 -0.16138338 -0.22376541 -0.30472653 -2.30598860 0.78788634 +O 1.15366164 -0.26302425 0.43097628 -0.56457665 1.78240136 1.32000753 +H 0.29466829 0.19296120 -1.30296802 0.78710642 0.64892069 -0.99699074 +H -0.06574079 1.52382436 -0.12788528 0.80986640 -0.09880228 0.14081824 +H -1.21188553 -1.17467832 0.28831592 -0.54181204 0.74786407 -0.35176591 +H -2.03832887 0.46652396 0.23764240 -1.03204141 0.72873064 1.49095592 +H -1.80302299 -0.30429171 -1.20630281 0.50416902 -0.28102203 -0.37726524 +H 1.52777499 0.34141367 1.16199188 -0.97555585 -1.03522300 -1.31994521 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.727489850164 pbc="F F F" +C 0.01387307 0.52880587 0.18884289 1.04737815 -0.43165001 0.74325357 +C -1.25872902 -0.33969534 0.35913190 1.01401324 -0.58360786 0.55254296 +O 1.12639190 -0.20625315 -0.44107394 -1.16381986 0.14867651 1.01413784 +H -0.30783145 1.25760489 -0.50974102 -0.39771796 1.61312512 -1.19767476 +H 0.38414334 1.15066312 1.11522873 -0.62240119 -1.20571718 -0.89239005 +H -1.32470555 -0.90939250 -0.56647882 0.10679543 -0.46061766 -0.71116192 +H -1.12515836 -1.14944205 1.15623448 -0.60352240 1.02646361 -0.37508505 +H -2.22055407 0.24707994 0.32630556 0.61583104 -0.20084313 0.83993449 +H 1.54729766 0.42246071 -1.04993610 0.00344358 0.09417059 0.02644293 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.729230697819 pbc="F F F" +C -0.39243039 0.12527381 0.32818312 -1.09244261 -2.25849172 -2.60603140 +C 0.12424924 1.14160644 -0.65871346 0.21508638 1.36441981 1.89155923 +O 0.24821292 -1.14724663 0.34312166 0.96334938 0.71389269 2.80539362 +H -0.37773555 0.52793922 1.32719608 0.04858785 0.14560018 1.05244878 +H -1.44408221 -0.11287937 0.02338878 -0.29369079 0.50797004 0.41597810 +H 1.04313887 1.57688652 -0.20011123 0.50122974 -0.38969098 -0.85635232 +H 0.18877419 0.77221749 -1.68132918 0.23547348 0.02458042 -0.50172406 +H -0.53815429 2.03774029 -0.55544307 -0.19971914 -0.28732226 -0.58294251 +H 0.38276522 -1.68899360 -0.42156882 -0.37787439 0.17904181 -1.61832950 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.57999416849 pbc="F F F" +C -0.28372055 0.28087967 0.41042065 2.51678097 -0.10331292 -0.96585024 +C -0.91493970 0.00875872 -0.99312871 0.10151243 0.38576824 2.04467377 +O 1.05494289 -0.30449404 0.53765729 -3.57250112 -3.29452143 0.33636432 +H -0.12724588 1.40537555 0.53408334 -0.80778155 -0.85122076 0.34603306 +H -0.79293066 -0.22298151 1.22330061 -0.99081854 0.16660332 0.59869849 +H -1.95766509 -0.26983722 -0.79324647 -0.57430776 0.39059883 -0.43235392 +H -0.76428528 0.96195294 -1.49670466 -0.41259123 0.10121845 -1.05684126 +H -0.47554880 -0.84988000 -1.49746184 0.58316753 -0.29553267 -0.23529289 +H 1.65453151 0.35585922 0.43919777 3.15653928 3.50039899 -0.63543139 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.725582115469 pbc="F F F" +C -0.20365994 -0.38769184 0.28950584 0.00391055 -1.52019349 -1.43693235 +C -1.00775275 0.87765316 0.03863830 2.38354394 -0.95575624 0.28342138 +O 1.06860806 -0.38727783 -0.31585814 2.16108889 -0.95085413 0.25465700 +H -0.04495876 -0.53295979 1.34302742 -0.38827512 -0.38127704 1.43985302 +H -0.73304162 -1.27287020 -0.20329020 -0.33348608 0.40967015 0.96602678 +H -1.86874431 0.74265085 0.67405894 -0.92841142 0.71861021 0.38899467 +H -0.28595138 1.70060416 0.23286811 -0.66275847 0.32908975 0.34092803 +H -1.20734214 0.85365458 -1.00920948 -0.77835927 0.42458405 -1.34432684 +H 1.61194084 -1.18359856 0.06608294 -1.45725302 1.92612680 -0.89262170 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.714814864033 pbc="F F F" +C 0.14446129 -0.40819978 -0.32950508 2.52960297 -0.33783484 0.57636146 +C -1.25780795 0.08355831 -0.40418293 -0.98430532 -0.81035908 2.86963276 +O 1.02634537 0.24622623 0.66644661 -1.01979818 -4.11568079 -0.16609805 +H 0.26468451 -1.57302453 -0.09824781 -0.46323607 2.12429017 -0.42381390 +H 0.55913464 -0.20998262 -1.33986124 0.48993292 -0.39350151 -0.23515672 +H -1.40182031 1.15856962 -0.52681731 0.26452583 0.53062980 -0.93154765 +H -1.81176904 -0.57061238 -1.10252709 -0.37142328 0.35340247 -0.04558711 +H -1.66393156 -0.00849324 0.66424057 -0.16843159 -0.38286305 -0.93489477 +H 1.02789226 1.16205975 0.56715191 -0.27686728 3.03191683 -0.70889601 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.661454030516 pbc="F F F" +C 0.08805486 0.56084844 0.23033775 -0.12939282 -1.33283210 -2.42648071 +C -1.28315918 -0.21076881 0.39874002 1.71837167 3.06592863 -1.36501065 +O 1.03553515 -0.33958771 -0.58673384 -1.19336138 1.66247453 1.56996893 +H -0.11214281 1.51300903 -0.30953070 0.19704422 0.02404733 -0.29329242 +H 0.61331242 0.86635323 1.13797514 -0.08580134 -0.23944219 0.85479562 +H -1.92657351 0.39469360 1.03612076 -0.46243790 -0.11982738 0.55885635 +H -1.76718685 -0.38192661 -0.57815993 0.07274923 0.10851267 -0.12586603 +H -0.91682610 -1.10225414 0.76061926 0.15637702 -2.94491232 1.53956660 +H 1.91196593 -0.07255448 -0.22972880 -0.27354865 -0.22394918 -0.31253770 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.877355749192 pbc="F F F" +C -0.33744884 0.37757962 -0.29269942 0.48041506 -0.61311801 1.39324307 +C -0.53642888 -0.03085268 1.21327427 3.76833045 -0.97205494 -2.14997719 +O 0.74443265 -0.31976177 -0.87366953 0.67980674 0.16809852 0.05473567 +H -1.21328828 0.02240637 -0.82165681 -0.80856496 -0.25143932 -0.47552147 +H -0.30186672 1.45392133 -0.46980415 0.19894550 0.88321707 0.05373844 +H -1.35643526 0.41772320 1.65177886 -2.68924328 0.69200159 1.21061282 +H -0.45658159 -1.13153973 1.09642587 -0.85307278 -0.09250909 0.66426601 +H 0.34482758 0.19742979 1.88305440 -0.22718363 0.29444443 -0.56113312 +H 1.57890595 -0.01737380 -0.44137165 -0.54943310 -0.10864030 -0.18996422 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.403621814133 pbc="F F F" +C -0.44151086 0.21010757 0.33839037 1.63126487 -3.05810831 2.19610686 +C 0.03780796 0.99729636 -0.79529581 -0.98826287 2.45098750 -1.44000579 +O 0.33699543 -1.08292008 0.46606286 0.13112487 0.15062787 -3.22357721 +H -0.08103335 0.63323867 1.25964379 -0.11120251 1.07773281 1.02485621 +H -1.41139423 -0.22369629 0.56239598 -1.45887075 0.92973338 -0.74513459 +H 1.13193434 0.86455580 -0.78511898 0.18698637 -0.08736781 -0.42879983 +H -0.46422090 0.72403235 -1.77022006 0.65432674 0.01186148 0.34445101 +H -0.12346307 2.15547570 -0.68751151 0.02471638 -1.63096303 -0.02385578 +H 0.40849490 -1.35304956 -0.53265064 -0.07008315 0.15549610 2.29595918 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.656630088692 pbc="F F F" +C 0.23947607 -0.10212929 -0.41473370 1.51291397 0.42898593 -1.41807129 +C -0.46689114 1.27379167 -0.25783019 -0.59076304 -2.08855208 1.20996413 +O 0.16672228 -1.04959633 0.62933720 -1.16079747 0.22985336 0.45838049 +H -0.08554645 -0.49798360 -1.40918974 -0.49868841 -0.31909741 0.07769635 +H 1.36420876 -0.10327825 -0.57715356 -0.46929385 1.38982885 -0.37064722 +H -0.59050766 1.83493376 -1.17290599 0.63578821 0.54877814 -0.75348492 +H -1.52258108 1.07953228 0.01346958 -0.28200394 -0.40570592 0.01999080 +H -0.14595051 1.82614175 0.61856151 0.74632907 0.73913878 0.28994484 +H 1.04284170 -1.44185001 0.55184820 0.10651549 -0.52322965 0.48622683 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.653598320272 pbc="F F F" +C -0.43724299 -0.29166078 -0.30450644 1.83971569 -1.45664706 0.41272853 +C -0.24575710 1.19312729 -0.40101365 -1.07241433 0.85462053 0.98647821 +O 0.58816482 -0.80110144 0.66242764 0.27309778 -1.34987944 -0.81891664 +H -1.49294722 -0.61520754 -0.04102760 0.67279576 0.27062896 0.19719468 +H -0.24351349 -0.71632071 -1.30239122 0.05383408 -0.33586265 -0.31272066 +H -0.76277772 1.71019318 0.42154760 -0.47666099 0.08765490 0.29511857 +H 0.75808077 1.56300314 -0.22544388 1.08349203 -0.36698021 -0.35828180 +H -0.64203622 1.64139602 -1.31336615 -0.20049639 0.06820111 -0.60202812 +H 1.18473756 -1.61034117 0.35276350 -2.17336365 2.22826392 0.20042718 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.738065385307 pbc="F F F" +C -0.10339746 -0.40362287 -0.31473482 0.87565571 0.00750567 -2.10060068 +C -0.30163465 1.06043476 -0.71746242 1.44538315 -1.41893143 1.54600871 +O 0.32143561 -0.61954401 0.97180166 -0.19749786 -0.68738975 1.47067171 +H -1.08415423 -0.90179372 -0.58888607 0.52453798 -0.15647240 0.98583888 +H 0.63685087 -0.85712140 -1.10578352 -0.72021632 0.38048720 0.82623523 +H 0.66153323 1.57806440 -0.75629830 0.19785581 0.59191299 0.29220710 +H -0.59458669 0.87601508 -1.68682630 -1.17299463 0.44172153 -3.22647361 +H -1.08451146 1.51350167 -0.14260581 -0.63770399 0.84370635 0.65923514 +H 1.18801190 -0.20254493 1.15438845 -0.31501989 -0.00254015 -0.45312248 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.37312777613 pbc="F F F" +C 0.11374891 0.51540533 -0.25891151 1.91162094 -0.20803584 2.84874609 +C -1.28114377 -0.01840805 -0.29042312 -2.35728382 -1.49837273 -0.32230188 +O 1.10646682 -0.40974026 0.50070477 -1.63692151 2.07947577 -1.18751510 +H 0.62556916 1.03339534 -1.07915442 -0.07506837 -0.87616525 -1.33045347 +H 0.00001922 1.43143728 0.34370718 0.47937078 0.02938314 0.95383008 +H -1.74489983 -0.09116002 -1.31897719 0.39079737 -0.11657602 0.42436252 +H -1.35682035 -1.07884968 0.18072263 0.26239114 1.25856483 -0.66352693 +H -2.06630355 0.57824403 0.30409674 1.07840783 -0.38281626 -0.45986916 +H 0.88887171 -1.29287272 0.16765410 -0.05331436 -0.28545765 -0.26327216 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.380769938027 pbc="F F F" +C 0.28461861 -0.10461988 -0.42737683 -0.61492679 -0.47591532 0.35165566 +C -0.58447960 1.22138373 -0.24679044 3.36118332 -0.34397628 -1.93581179 +O 0.27619320 -1.00762067 0.63412724 1.64407910 1.54551927 1.81806340 +H 0.21192168 -0.69539622 -1.41505754 -0.42295170 1.11417919 0.55575529 +H 1.34014975 0.17663803 -0.31972921 0.33786981 0.97482741 -0.82748715 +H -0.24064395 1.75105565 -1.17464011 -0.18268034 0.30959733 0.20544124 +H -1.62868479 1.33704511 -0.28965478 -2.26829611 -0.85774026 0.03134464 +H -0.23324502 1.86965593 0.56455667 0.32532976 -0.19284807 0.53054048 +H -0.26143291 -1.75362177 0.60222702 -2.17960701 -2.07364327 -0.72950176 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.493224762661 pbc="F F F" +C -0.26523731 0.31676581 0.30705007 1.01837337 0.33768155 3.03041171 +C 0.95413882 0.81464874 -0.40874594 -1.56828661 -0.62447227 -4.82453155 +O -0.67017683 -1.01759040 0.16034014 0.92920157 -1.08844892 -1.63516915 +H 0.04412672 0.49953355 1.41736454 -0.85190812 -0.44566628 -0.86338949 +H -1.07899347 1.00887906 0.14900577 -1.07032978 0.52415704 -0.35361798 +H 1.88157427 0.83856032 0.10164505 1.36327803 0.38520584 0.95457626 +H 1.08838779 0.01752899 -1.24824753 0.27444386 0.83885169 0.70169815 +H 0.70659628 1.73434301 -1.09362653 0.73907846 -0.93973559 1.43482111 +H -0.21372888 -1.42979419 -0.65946229 -0.83385074 1.01242698 1.55520097 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.453517200887 pbc="F F F" +C 0.03731449 0.56073693 -0.02888989 0.46338216 0.67990234 2.06117717 +C -1.10902154 -0.23842066 -0.80824893 2.00458512 -1.20627624 3.21848098 +O 0.95595496 -0.25770097 0.79118569 -0.34539286 -0.96850023 -1.68499267 +H 0.66254102 1.21540722 -0.72607167 -0.63402916 -0.51382799 0.16684403 +H -0.28221738 1.32112750 0.86402443 -0.13259600 -1.44142972 -2.13444695 +H -0.70451980 -0.51195714 -1.78038889 0.41192403 -1.05171828 -0.37787377 +H -1.50185287 -1.12157690 -0.08739529 0.82924389 1.59562202 -1.77868061 +H -1.90886276 0.37615660 -1.09913779 -1.85137874 1.49971218 -0.07201745 +H 1.33025387 -1.03082421 0.24560789 -0.74573844 1.40651598 0.60150922 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.738217938827 pbc="F F F" +C -0.40398906 0.20746111 0.30616559 0.42651165 -2.00945736 -2.36568588 +C 0.14011327 0.97619773 -0.96051807 -1.35126907 -2.00081567 -0.80939486 +O 0.26998707 -1.04333959 0.67626601 -0.15290448 0.12999394 -1.45624705 +H -0.37199434 0.81220494 1.18000797 -0.10630471 0.93723236 1.26173218 +H -1.42883753 -0.11263414 0.04199863 -0.51601636 0.50116063 0.26935724 +H -0.63414748 1.58846170 -1.46064649 -0.44613998 0.48040441 0.64905022 +H 0.97619100 1.63425090 -0.76861142 1.03049582 0.08667403 -0.07878634 +H 0.22985166 0.23550621 -1.85621381 0.80675861 0.66979805 1.33798891 +H 0.08671078 -1.70256005 -0.07383188 0.30886853 1.20500961 1.19198558 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.371708946333 pbc="F F F" +C -0.34609167 -0.53425240 0.02003983 2.59033116 1.29085975 1.17557793 +C -0.83989501 0.83536834 0.48050594 -1.67610693 1.72113591 0.10014790 +O 1.08121481 -0.27063538 -0.42252282 -0.96626465 -1.23797574 -0.50119652 +H -0.36059047 -1.24721516 0.91975778 -0.11463170 0.26503038 -1.16629845 +H -1.05848453 -0.73653404 -0.75551987 -0.31535362 -1.26265705 -1.25429896 +H -2.05173073 0.89726154 0.43728216 2.32430437 -0.40769889 0.57343328 +H -0.45443056 1.11457178 1.55321352 -0.58554066 -0.04048754 -1.79236768 +H -0.59603792 1.63522129 -0.35417881 0.12740957 -1.17094546 1.58581752 +H 1.49008673 -0.95703478 -1.05824210 -1.38414753 0.84273864 1.27918498 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.18420542957 pbc="F F F" +C 0.05067516 -0.35421674 0.32862462 0.03296639 -2.30098878 1.77351316 +C -1.16265605 0.61677699 0.52548991 3.37301245 3.43344255 -0.78165846 +O 1.02925589 -0.31613607 -0.77989347 -2.08130645 2.33955477 0.93184996 +H 0.54694549 -0.27050050 1.37868428 0.12489050 -0.35442062 -1.32428400 +H -0.35326266 -1.47455464 0.28795173 0.48897334 1.87449270 0.11667737 +H -1.85780310 0.38300437 1.32950455 -0.20217969 -0.44047090 0.33776635 +H -0.74628106 1.83237205 0.74152752 -0.88263430 -3.18837129 -0.24022550 +H -1.62237623 0.78263867 -0.42517974 -1.27754657 -0.07513419 -1.12708330 +H 0.94449367 0.63499272 -1.11065669 0.42382428 -1.28810425 0.31344437 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.847403557838 pbc="F F F" +C 0.17822687 -0.38359924 -0.40007856 -0.62836548 0.24118298 2.15568654 +C -1.24648045 0.16129094 -0.31029345 -0.64556627 0.57545299 1.93982646 +O 1.02177222 0.20196270 0.59319188 0.91183258 1.10963111 -2.39867278 +H 0.26138525 -1.47615520 -0.25653735 -0.30040342 -0.40624668 -0.63466351 +H 0.55045834 -0.03365834 -1.32830399 0.81392957 0.01005446 -1.72064581 +H -1.20838492 1.25411449 -0.44873406 0.02139560 0.21891316 -0.56769149 +H -1.94939065 -0.30420913 -0.99279456 -0.38576341 -0.23147686 -0.77341416 +H -1.80188135 0.15215111 0.71113395 1.04683159 -0.65793786 -0.83709871 +H 0.65726212 -0.15052599 1.36413872 -0.83389080 -0.85957330 2.83667352 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.359030021652 pbc="F F F" +C 0.48956836 0.33324991 0.13995965 -0.76887066 -1.87946630 -0.95613795 +C -0.65862792 0.74575326 -0.74729340 2.04141063 3.26121463 -1.48426293 +O 0.21779390 -0.99234219 0.56715799 1.13125965 -0.16493288 0.73448688 +H 1.41358164 0.17675569 -0.34349741 1.64742411 -0.09491066 -2.05479945 +H 0.91718244 1.04306784 0.83331047 -0.87632913 0.98606231 1.76987361 +H -0.82821237 1.86622121 -0.69529811 0.16127106 -0.59786371 -0.34771477 +H -0.66370391 0.44079068 -1.81945197 0.84702194 0.12099112 0.06066895 +H -1.57029360 0.34859726 -0.49459844 -2.91057013 -1.38468206 1.71811399 +H -0.71213715 -0.98261751 0.75387083 -1.27261746 -0.24641245 0.55977167 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.431622943452 pbc="F F F" +C -0.14870064 0.11902090 -0.59788961 1.98056977 1.87985376 2.94168522 +C -1.16290318 0.06119386 0.55736127 -1.01369402 -2.47773099 0.16298928 +O 1.18439354 -0.22604302 0.01839496 -3.42681949 -2.69263827 -0.53686035 +H -0.41320698 -0.46735846 -1.48162314 0.07404723 -0.49843783 -0.34218129 +H -0.06724594 1.25743626 -0.86442805 -0.35236821 -1.59325084 -0.17066063 +H -1.05708291 0.86435281 1.25116056 0.23206626 1.56722160 0.52349529 +H -2.17509381 0.10821208 0.07812647 0.03262793 -0.03230834 0.53755625 +H -1.15367923 -0.82982325 1.38098906 0.24858282 1.07536699 -2.36845300 +H 1.69419256 0.50628920 -0.17327566 2.22498776 2.77192402 -0.74757076 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9076217023585 pbc="F F F" +C 0.22007166 -0.42529483 -0.36829615 -1.06749987 1.37607714 -0.32302405 +C -1.24713760 0.16821986 -0.34048332 -1.28877140 -1.05025074 0.79616787 +O 0.97511009 0.18931134 0.65455397 0.56926639 0.80481135 -0.34068692 +H 0.16466780 -1.49906531 -0.15139620 -0.11369808 -0.37620934 0.37640665 +H 0.70782845 -0.41327662 -1.40620530 -0.38553705 0.44936892 0.62275055 +H -1.47384635 1.26356117 -0.59993751 0.81382385 -1.03037107 -0.02979339 +H -1.93575807 -0.49204369 -0.96459857 0.48550852 0.67172715 0.14573110 +H -1.71073133 0.03332185 0.73523830 1.01753761 0.20539789 -1.44599261 +H 1.00717796 1.16432182 0.44280213 -0.03062997 -1.05055131 0.19844074 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614571510576 pbc="F F F" +C 0.14263380 0.45727880 -0.24173210 1.43377411 0.81817163 -1.48203044 +C -1.33187360 -0.05650040 -0.30123013 2.96147295 -1.94173705 -1.63288071 +O 1.07839330 -0.38586399 0.45943175 -0.89447377 1.10663495 1.22192866 +H 0.74080193 0.43604264 -1.26188007 -1.87765424 0.45699081 0.90032448 +H 0.12258481 1.61855798 0.09907994 0.26879982 -2.09813438 -0.37024515 +H -1.30306233 -1.19254648 -0.56115776 -0.09853874 1.51606054 0.10488536 +H -1.78020383 -0.00259117 0.65766179 -1.08490763 0.52891821 1.37243939 +H -1.75859999 0.51144289 -1.12708338 -0.95872505 0.21068542 -0.10999430 +H 1.03084324 -0.02315585 1.37063630 0.25025255 -0.59759014 -0.00442729 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2463682289035 pbc="F F F" +C 0.23262454 -0.44108963 -0.39431750 -0.40819516 4.43124375 0.80568610 +C -1.18678621 -0.03723199 -0.29194300 0.56798141 -0.40551823 -2.82672309 +O 0.83406068 0.45495837 0.64460204 -0.92095856 -1.58500722 -1.33595985 +H 0.39687722 -1.46778224 -0.48726148 0.64986763 -2.79987794 1.37654051 +H 0.62818908 -0.13898916 -1.34358873 0.51799267 0.82969152 -1.43951610 +H -1.19869427 1.02818916 -0.44111946 -0.30842815 1.14152890 0.60795807 +H -1.65857849 -0.39726317 -1.20266739 -1.01042419 -0.61766424 -0.35506108 +H -1.58852088 -0.42661399 0.58983963 -1.33222393 -0.43979645 1.91855623 +H 1.55026099 -0.12103955 0.83033302 2.24438834 -0.55460010 1.24851922 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.205537922054 pbc="F F F" +C -0.06834702 0.08391939 0.57069704 2.32707962 2.22439075 -3.29279771 +C -1.31172505 0.04874452 -0.34369636 3.42423332 1.10533665 0.07302892 +O 1.20384634 -0.18250743 -0.15917795 -0.17659973 -1.47591949 -0.21370929 +H 0.05060181 1.12435628 0.92932568 -0.35718883 -0.03435951 0.79061871 +H 0.18331338 -0.65807298 1.27347620 -1.12517328 -1.25629486 2.02614238 +H -1.62758634 -0.91400326 -0.56641477 -1.11840238 -2.36455480 -0.52561368 +H -2.01212489 0.70689582 0.05043020 -2.32608723 1.09895069 1.21902372 +H -1.01561563 0.56777933 -1.27451742 0.20260217 -0.19882980 -0.22487102 +H 1.75638743 0.48771713 -0.59056973 -0.85046372 0.90128036 0.14817797 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4262650797245 pbc="F F F" +C -0.24460441 -0.15747893 -0.51161500 4.87944807 -0.47443832 1.77211386 +C -0.13222045 1.26538256 -0.09129720 -2.18575056 -1.17217204 0.64443720 +O 0.30223426 -1.06288625 0.51655331 0.89909970 2.67616227 0.74334958 +H -1.20301273 -0.38411240 -0.76005306 -3.66033621 -1.15711493 -0.68591985 +H 0.39201866 -0.32106941 -1.36067890 0.50064178 -0.18276883 -1.52148711 +H -0.85196373 1.32127536 0.72554491 -0.74364762 0.77416163 0.37281924 +H 0.75730820 1.57194784 0.37461930 2.33326842 0.43097458 0.38363839 +H -0.39104832 1.86647228 -0.92955209 -0.41478367 1.37358471 -0.91819231 +H 0.98851153 -0.38630720 0.93503424 -1.60793997 -2.26838913 -0.79075893 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4208.860304010167 pbc="F F F" +C 0.16542406 -0.40217460 -0.32707982 0.02588634 1.46527707 4.37082970 +C -1.36340646 -0.02116953 -0.40166377 4.71889368 1.84143808 -6.93446508 +O 1.08638952 0.33245903 0.69451684 -1.27811942 -4.79642455 -0.83507181 +H 0.16935034 -1.38493352 0.13438784 0.13180287 -0.84269164 0.29944630 +H 0.77231013 -0.53539166 -1.19979154 0.02079632 0.44073793 -1.65888882 +H -1.43335452 1.04254757 -0.78471112 -0.01107565 -0.13334440 0.86785200 +H -1.52382588 -0.43593124 -1.49624368 -0.89639470 -0.27954694 2.01185137 +H -2.01849493 -0.16729173 0.36146021 -2.15506664 -1.14520259 2.69775039 +H 1.06362949 1.24686196 0.64435009 -0.55672280 3.44975698 -0.81930400 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.323351018911 pbc="F F F" +C -0.32030720 -0.49687220 0.15580984 1.65707336 3.31156677 -3.97121801 +C -0.93286488 0.94810090 0.08898869 0.45385247 -0.39869128 -0.93882989 +O 1.13778723 -0.37425879 -0.20103973 -0.84169729 -3.09665003 -0.44515689 +H -0.37100593 -1.06016503 1.00045846 -0.55482358 -1.51800260 3.66500194 +H -0.90430508 -1.02916568 -0.61399572 0.12197590 -0.51083800 -0.35295988 +H -1.73989647 1.12207184 0.79383771 -1.29546552 -0.56874045 0.13997342 +H -0.28949004 1.74895239 0.51747582 0.72963217 -0.21936855 -0.70679470 +H -1.27049469 1.15672911 -1.02228806 0.63394159 0.00803033 2.00048318 +H 1.44659701 -1.37605641 -0.40135143 -0.90448910 2.99269382 0.60950083 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.892803763449 pbc="F F F" +C -0.44844595 0.12087874 0.29020834 -1.35030244 -2.54120374 0.68546549 +C 0.10898658 1.12705750 -0.63261041 0.78330690 1.93520578 -0.43051137 +O 0.29719513 -1.12042033 0.37486840 -0.05278682 0.79456648 0.25375737 +H -0.42854748 0.31578050 1.36704166 -0.47519741 1.15715432 0.31546001 +H -1.52996344 -0.13489285 -0.04223475 0.83540785 0.45456482 0.58294662 +H 1.20848524 1.21802033 -0.48628632 -0.03362032 0.15304636 0.24924951 +H 0.03549160 0.73788753 -1.67119927 -0.34821660 0.38844219 -0.13848969 +H -0.33939975 2.20699606 -0.51606258 0.45534833 -1.74166510 -0.36302662 +H 0.38048486 -1.43096636 -0.52158916 0.18606057 -0.60011116 -1.15485133 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.684889668966 pbc="F F F" +C -0.56452047 -0.03418265 0.26791422 2.33360369 -0.05323404 -0.27517709 +C 0.30082988 1.28110458 -0.00122184 -1.68514832 0.46421782 3.12666963 +O 0.19871215 -1.18350821 -0.20996190 0.31984442 1.33535332 -1.43021338 +H -0.74605482 -0.34651786 1.32494164 0.09034973 0.85409510 0.07899367 +H -1.56715948 0.16998155 -0.14788401 -0.29685304 -0.55776754 -0.73425522 +H 1.00238950 1.50333181 0.89260903 -0.76428587 -0.20362018 -1.10531598 +H 0.91394097 1.24242297 -0.88805883 0.35687212 -0.29071334 -1.00008002 +H -0.43807857 2.15642316 -0.10265712 0.97655041 -0.66316239 0.10171200 +H 0.82190247 -0.79931258 -0.92407809 -1.33093313 -0.88516874 1.23766639 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.797403397151 pbc="F F F" +C 0.19234526 0.40868230 0.36391206 -0.34573636 0.14383980 -3.44906993 +C -0.84691476 0.55687659 -0.79154326 0.57050747 1.40631831 0.29950220 +O 0.60400853 -0.88922570 0.35704265 0.59843866 -2.83566205 1.61395003 +H 1.06414087 1.03150796 0.15342329 0.59826639 0.81361024 -0.52103922 +H -0.16909628 0.84115307 1.24397560 -1.26675472 0.45045743 2.43210968 +H -0.98711146 1.65511162 -0.89972161 -0.01749281 0.06563396 -0.41559994 +H -0.49026782 0.14233146 -1.77344736 -0.06403911 0.09749662 0.61075270 +H -1.86547298 0.20474540 -0.56828433 -0.04112774 -0.58717408 0.22287692 +H 0.65907702 -1.26702820 1.27227617 -0.03206177 0.44547977 -0.79348245 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.479947179821 pbc="F F F" +C -0.38676667 -0.09181995 -0.46607584 1.71576914 3.22920130 1.38312382 +C 0.96710512 0.82785011 -0.40685998 -1.05941323 0.96544262 0.29455709 +O -0.57441687 -0.63909205 0.77188254 0.08990955 -3.30717913 2.58608940 +H -1.24093921 0.60632686 -0.48424804 -0.27084555 0.07569608 -1.19148082 +H -0.29858765 -0.82661757 -1.24241866 -0.21185090 -0.52585454 -1.33422281 +H 1.76151158 0.12488040 -0.62426840 1.05950322 -0.11306507 -0.38596468 +H 1.01688876 1.79841614 -1.03401029 -0.19259657 -1.49372685 0.05877467 +H 1.19361429 1.26414674 0.63242521 -0.72370207 -0.85696363 -0.72918937 +H -0.23091109 -1.59470990 0.90212503 -0.40677355 2.02644922 -0.68168735 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.631820819985 pbc="F F F" +C -0.42437962 -0.24800494 -0.21413194 1.84478298 -1.57376635 -0.28684913 +C -0.24500910 1.21738029 -0.45069474 -0.48745613 1.79230099 1.17982832 +O 0.57025936 -0.92918745 0.59690692 -0.21034804 -0.11188406 0.20702401 +H -1.30742796 -0.50277832 0.32564736 -1.56751101 0.02477747 0.65257700 +H -0.53735997 -0.80901752 -1.19168423 0.25505249 0.35499665 0.22102707 +H -0.97295575 1.90058121 0.06962321 -0.22260223 -0.68896404 0.12047911 +H 0.67286808 1.62206638 0.03342825 0.35089451 -0.26358964 -0.67535503 +H -0.40077531 1.53611923 -1.48204303 0.60221468 0.00600975 -0.68160559 +H 1.46922020 -0.55029951 0.69223872 -0.56502721 0.46011917 -0.73712576 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5969540633705 pbc="F F F" +C 0.21772370 -0.42022160 -0.31872420 -0.68834425 2.79825475 -1.86573270 +C -1.30018059 0.09838433 -0.36323167 2.33615690 -3.52678294 -1.37754041 +O 1.02550698 0.24164679 0.66558218 -1.43716894 1.47012216 -0.57735252 +H 0.12564161 -1.48240249 -0.18591058 0.64259876 -1.16595634 0.49701930 +H 0.68462934 -0.17678609 -1.37056753 -0.65842945 -0.77598095 1.12588831 +H -1.36912515 1.01565737 -0.83166130 -0.16512489 3.24983389 -0.36587134 +H -1.83993153 -0.49784741 -1.14542403 0.09293693 -0.37498241 0.48447195 +H -1.72858156 -0.08265851 0.58758832 -0.99152529 0.30272534 1.49554107 +H 0.74678085 1.22182984 0.50719079 0.86890013 -1.97723356 0.58357634 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.538628996019 pbc="F F F" +C -0.39614897 -0.50341940 -0.03579898 2.78451790 0.49551037 1.68626943 +C -0.81507821 0.84321811 0.49950456 -2.31149950 2.51786495 -0.93296366 +O 1.10846689 -0.32089765 -0.36815010 -2.30608728 -0.93934586 0.04923716 +H -0.62681122 -1.28599409 0.74268277 0.78099501 -0.01381434 -0.27454079 +H -0.89641406 -0.81416980 -0.92324925 -0.88819740 -0.19439151 -1.30026156 +H -1.85177232 0.96853643 1.10748315 1.93635403 -0.78143297 -1.22209799 +H -0.04882289 1.38946263 1.10903756 -0.05974922 -0.67865998 -0.15247783 +H -0.95430970 1.51517712 -0.45478819 0.15724898 -0.61149390 1.49538588 +H 1.21512845 -0.72985746 -1.26294057 -0.09358248 0.20576324 0.65144937 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525702872513 pbc="F F F" +C -0.02284137 -0.00016131 0.53971110 -0.49861791 -1.54845229 0.24324531 +C -1.17354562 0.57246413 -0.28717460 -1.52652607 -0.07953499 2.89744439 +O 1.08771016 -0.52910532 -0.29845831 -2.42605813 0.82402115 0.88472764 +H 0.33665146 0.73788523 1.31630226 0.18282607 -0.26786533 -0.54488297 +H -0.56051588 -0.87049668 1.16573900 1.25344839 1.22730499 -0.78935341 +H -1.85537107 1.15661560 0.52649978 1.29401105 -0.73319546 -1.84510817 +H -0.87620053 1.20073361 -1.13335536 -0.07565628 0.12697793 -0.28723531 +H -1.81167162 -0.32214083 -0.48818876 0.07262526 0.56385761 -0.95461539 +H 1.75674820 -0.32502477 0.34129406 1.72394762 -0.11311361 0.39577791 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763742099514 pbc="F F F" +C 0.15301726 0.04605499 -0.63812621 0.65731545 0.14144636 1.96800587 +C -1.18369723 -0.30443694 -0.07722469 -0.91065152 -0.56296992 -0.10690424 +O 0.95642233 0.29250894 0.60826677 0.25316504 -1.70424042 -1.25372720 +H 0.45764189 -0.80823942 -1.29352117 0.80569052 0.49607868 -0.03539711 +H 0.12140063 1.04968015 -1.14577132 0.17595937 -0.71286991 -0.07470456 +H -1.36134029 0.53895861 0.59932542 -1.01838613 0.18315563 0.14293580 +H -1.92368828 -0.48837666 -0.89238280 -0.27191420 0.38371779 0.34611241 +H -1.19725066 -1.23556115 0.56602668 0.32310128 0.40106199 -0.45789980 +H 1.00227772 -0.62216150 1.03526545 -0.01427976 1.37461979 -0.52842117 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.790279736107 pbc="F F F" +C -0.22991824 0.35482664 0.44753851 -0.93220087 -1.52374429 -2.30882746 +C -0.85949248 -0.02271780 -0.97688809 -0.77627688 1.72305828 1.15132439 +O 0.97219659 -0.32542622 0.51663613 2.77317409 0.54369296 0.50809592 +H -0.24270635 1.44597808 0.70048305 0.13101025 -0.18804551 -0.29973725 +H -0.83342684 -0.18400056 1.16750701 -0.93062540 0.01620078 0.81219793 +H -1.95199415 0.21157230 -0.93622973 0.18508684 0.14621354 -0.36716461 +H -0.37921006 0.51556297 -1.80035815 0.09766843 0.69499194 -0.26807045 +H -0.78144403 -1.05225703 -1.32136513 0.27169067 -0.91318529 0.70012428 +H 1.73727257 0.26981577 0.29698423 -0.81952712 -0.49918242 0.07205735 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5763903534 pbc="F F F" +C 0.26002683 -0.29375354 0.33621655 1.72887710 -0.80154677 -0.34107520 +C -1.25622359 -0.52706215 0.19872368 -0.03915082 0.70884556 0.97677934 +O 0.87731685 0.75065916 -0.52641702 -0.02183207 -0.79685302 0.89596548 +H 0.46090730 -0.06328201 1.41426991 0.11553097 -0.00343253 -0.23124191 +H 0.71444193 -1.38605754 0.17399954 -0.17190597 1.88663937 -0.01569155 +H -1.46223765 -1.61774950 0.19734712 -0.18824863 0.25238477 -0.12593334 +H -1.81975494 -0.04680604 1.03665739 0.30735924 -0.39642531 0.27206405 +H -1.77645092 -0.01058452 -0.59799493 0.13102377 0.04788182 -1.37256517 +H 1.82690058 0.98840280 -0.24266314 -1.86165354 -0.89749390 -0.05830174 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.689780582791 pbc="F F F" +C 0.28498328 -0.07655698 -0.47209142 -5.76874179 -1.61003187 1.06629371 +C -0.52329817 1.24064845 -0.19860902 0.62805140 -1.76322622 0.09998766 +O 0.17760843 -1.05274570 0.60895799 -1.89883252 1.52238006 -1.18246463 +H -0.21617069 -0.56073180 -1.36898260 0.44841597 0.27039535 0.24450999 +H 1.24894762 0.12039625 -0.72624351 3.72860190 0.87714181 -0.77024872 +H -0.36522085 1.76790494 -1.15295808 -0.26473990 0.89586587 0.23862185 +H -1.60555957 1.09525201 0.05348747 0.36586440 -0.27083912 -0.53376094 +H -0.10363042 1.67089559 0.71603540 0.38176668 0.82683944 0.04414745 +H 1.06118209 -1.25601429 0.80457285 2.37961381 -0.74852546 0.79291352 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.930566270592 pbc="F F F" +C 0.16871522 -0.33203552 -0.39523872 1.22279512 0.32064177 -1.61034509 +C -1.31812879 0.03117405 -0.21140564 0.30706330 0.23176672 0.95248256 +O 1.02760125 0.22038396 0.58947391 0.07743363 -0.07589395 0.55758273 +H 0.43045754 -1.46965571 -0.49752636 -0.83619934 1.36838373 0.26100023 +H 0.50881959 0.13152704 -1.39690414 -0.48876143 -0.69641978 0.60098940 +H -1.42611883 1.13550679 0.11128954 0.22791696 -1.20972692 -0.53479483 +H -1.83721782 -0.13181010 -1.18071560 -0.25493324 -0.05936463 0.29512721 +H -1.75654627 -0.58539367 0.62727293 -0.02757319 0.32635846 -0.60167439 +H 1.46463762 1.00518157 0.20847541 -0.22774186 -0.20574545 0.07963218 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.1624229661975 pbc="F F F" +C -0.13447362 -0.23472659 -0.54088811 1.04973930 -1.11938953 -0.97516330 +C -0.12043079 1.22480929 -0.14204174 -0.65066307 -0.22077263 -2.50612894 +O 0.29523305 -0.94772100 0.57816000 -0.49841212 -0.07939374 1.56336880 +H -1.19963300 -0.41339633 -0.72922869 -0.68942499 -0.66976566 -0.47110648 +H 0.43932938 -0.68564785 -1.49015694 -0.75917565 1.46495692 1.53642137 +H -1.09938305 1.50123306 -0.52315172 -0.20298666 1.58787194 -0.99008269 +H -0.32808992 1.38926289 0.87695364 0.06033831 -0.22198156 2.37032749 +H 0.73470778 1.81915900 -0.40974622 0.63503920 0.76024332 -0.51037305 +H -0.19679956 -0.36650003 1.23583592 1.05554568 -1.50176906 -0.01726322 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.004342130315 pbc="F F F" +C 0.12030886 -0.50058802 -0.28874958 3.55107308 -0.23197951 1.14001416 +C -1.16004147 0.13461840 -0.36110999 -1.89300887 0.27803636 1.77872741 +O 0.99549598 0.35575237 0.52543750 0.20285224 -0.52551232 -1.07051146 +H -0.04362279 -1.35514426 0.35334906 0.25768926 -1.55638965 -0.07440338 +H 0.55125661 -0.88768041 -1.25473521 0.46715058 0.84115638 0.45934517 +H -1.07579568 1.26521537 -0.46953258 -0.61802075 -1.07078800 0.12238311 +H -1.66622499 -0.42898171 -1.09581584 -1.62326607 -0.14613975 -1.86506796 +H -1.59186922 -0.39254483 0.57818929 -0.59306762 2.24418183 -0.63797113 +H 0.41293891 0.51157395 1.29186662 0.24859815 0.16743461 0.14748413 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.44654582884 pbc="F F F" +C -0.33346615 0.23874488 -0.27149183 -3.47272126 3.13152567 -1.18468786 +C -0.50506400 -0.01493030 1.15967116 -0.78695175 0.62882196 1.56475072 +O 0.75476866 -0.27864405 -0.82946927 2.91871673 -2.18921980 -1.82896714 +H -1.40275747 -0.01943980 -0.82955514 2.25880041 0.36419426 0.74807619 +H -0.15758518 1.36655336 -0.41222762 -1.20569018 -0.44311646 0.29824205 +H -1.19070022 0.74981243 1.53947259 -0.37987003 0.49866974 0.26531891 +H -1.04230696 -0.91886837 1.40407861 0.06804329 -1.23239305 0.20791546 +H 0.41139485 0.12249249 1.74552945 0.44003751 -0.28275799 0.12606720 +H 1.39224476 0.45397473 -0.86445058 0.15963532 -0.47572433 -0.19671553 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.939223089585 pbc="F F F" +C 0.09677011 -0.38098278 0.40246717 -1.18309712 0.53984448 1.74021654 +C -1.15153423 0.60150537 0.33600709 1.18089188 0.08947329 -1.86399782 +O 0.96964415 -0.15582374 -0.64362574 0.61199182 0.68590761 -0.75552627 +H 0.61705694 -0.33139466 1.42327385 -0.23148513 0.40081985 -0.65063757 +H -0.31978071 -1.39205649 0.43268920 -0.25503038 -0.75528531 -0.29431659 +H -1.91808137 0.45502024 1.12416001 0.25587627 0.03132391 0.07496635 +H -0.79435031 1.69226795 0.25614187 -0.42314994 -1.09731414 0.37983897 +H -1.62502002 0.37970052 -0.69199823 0.25895877 0.29577816 1.11420017 +H 1.21633046 -0.95935679 -1.12748301 -0.21495612 -0.19054781 0.25525628 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.591093316419 pbc="F F F" +C -0.22114319 -0.46865100 0.21021257 -1.35389741 -0.95591720 -1.38572686 +C -0.84922754 0.85592734 0.30426853 -0.91094848 0.96407752 0.95135333 +O 1.01902036 -0.35373760 -0.40091325 1.40786761 -0.21638175 0.07545522 +H -0.17871235 -1.11056248 1.05904798 0.29021368 -0.47360497 1.83129692 +H -0.91280705 -1.05038034 -0.45013315 0.00240486 -0.20424691 -0.08020189 +H -1.91120998 0.93199997 0.48818849 -1.36605498 -0.81168119 -0.32924144 +H -0.59461523 1.52251897 1.11701929 1.44864378 0.60527080 0.53310716 +H -0.64974667 1.26954802 -0.66570328 0.09835594 1.12758940 -0.84416580 +H 0.82544945 -0.56443646 -1.31517792 0.38341501 -0.03510575 -0.75187659 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548878027725 pbc="F F F" +C -0.19209684 0.28404340 0.44942321 0.22081541 -3.09423520 -0.13597566 +C -0.09318915 1.03777367 -0.84850745 2.23219334 -0.21175993 0.74021242 +O 0.23753125 -1.18062218 0.42029554 -0.91405818 1.98360352 2.14633399 +H 0.61151580 0.53249381 1.16316793 -0.77668281 1.24320377 0.53366529 +H -1.29579170 0.30888799 0.74425259 1.09115557 0.13539722 0.56712158 +H 0.94445906 0.87343536 -1.27162763 -0.60908534 0.14377953 0.02550751 +H -0.82737438 0.67257751 -1.55108190 -0.73692799 0.20414504 -0.72600599 +H -0.12927338 2.10519019 -0.55437470 -0.46725311 0.16481260 -0.58086197 +H 0.32454755 -1.50452394 -0.44631870 -0.04015684 -0.56894655 -2.56999712 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.683919514064 pbc="F F F" +C -0.25356162 -0.02472520 -0.49882473 -1.80855859 1.38451761 0.93199364 +C 0.16541673 1.33807420 0.22172183 1.69572399 -1.43438310 -3.11912107 +O 0.08158907 -1.15812056 0.28530327 0.09156313 0.85310353 0.54846827 +H -1.39792328 0.13994797 -0.58938412 0.82815940 -0.65467405 -0.12121172 +H 0.11765750 -0.13186043 -1.50596431 0.57829760 0.15187779 -1.08897872 +H 1.25665684 1.20273978 0.43225493 -0.10981365 0.54723419 -0.17862077 +H -0.03545804 2.28475960 -0.44751273 0.03963300 -1.55037506 1.46217596 +H -0.28928541 1.18137020 1.15729023 -1.23272328 0.81532537 1.89365201 +H 0.10261221 -1.94516655 -0.27342501 -0.08228160 -0.11262629 -0.32835765 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8361364841585 pbc="F F F" +C 0.00945245 0.02049649 0.61384148 -1.20367140 -1.42891086 -2.57104896 +C -1.17399930 0.52513184 -0.27162326 1.84800072 -0.01164016 -2.06673904 +O 1.04217664 -0.48792149 -0.33408480 -1.48786114 0.64530711 1.72038875 +H 0.34933195 0.80193643 1.24955986 0.94396953 1.42337250 0.81775419 +H -0.44269316 -0.73702908 1.33047927 0.58069459 -0.13967620 -0.56859107 +H -2.02992784 0.77275007 0.33882521 -0.76481099 0.38436576 0.45311502 +H -0.84991494 1.45258174 -0.96159950 -0.63019935 -1.70356051 1.40205635 +H -1.46650395 -0.33130512 -0.99182262 0.27980199 1.01314128 0.82482041 +H 1.77270886 -0.71723237 0.25970618 0.43407610 -0.18239895 -0.01175565 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.607514844607 pbc="F F F" +C -0.38509601 0.19279467 0.37640415 0.53956500 -1.76735608 -0.97581821 +C 0.02947981 1.10055958 -0.82331636 -1.57043739 0.29620157 -0.70436213 +O 0.31973134 -1.16329263 0.47787366 -0.21406637 1.34875736 -0.20517755 +H -0.09440055 0.71105491 1.32081286 -0.31541687 -0.45392034 -0.05123588 +H -1.50100538 -0.04917941 0.30694300 0.85059387 0.59027396 0.37005695 +H 1.06546494 0.98262607 -1.11853788 0.80098329 -0.62410408 -0.24924534 +H -0.67021743 0.92683544 -1.71260242 0.90419882 -0.13302666 0.57127201 +H -0.01795906 2.23027293 -0.72234906 -0.36614928 -0.71544657 0.73978037 +H 0.37946926 -1.74946187 -0.33428522 -0.62927098 1.45862084 0.50472978 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7619995750665 pbc="F F F" +C 0.15077505 -0.38547125 -0.32211643 0.79311263 2.09558117 1.36786936 +C -1.26344980 0.10714034 -0.36380073 -1.74238562 -2.31126707 0.21117285 +O 1.03198638 0.21100906 0.65324042 -0.87523209 -3.03077784 1.16480284 +H 0.10527267 -1.43701289 -0.05758941 0.35720703 -0.80837177 -0.27306590 +H 0.59534881 -0.12660388 -1.26303758 0.53553752 -0.62565914 -1.61676246 +H -1.50403128 1.10672467 -0.68308364 0.30458754 1.36148052 0.18298486 +H -1.70894823 -0.48164959 -1.24229544 -0.00760497 0.18560430 0.95365575 +H -1.81400161 -0.19283562 0.60411043 0.36616075 0.57963993 -1.12750656 +H 1.20300183 1.09706830 0.44621983 0.26861722 2.55376990 -0.86315073 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.584695023495 pbc="F F F" +C -0.27094170 0.38567033 0.29092635 -0.48322275 0.85664044 0.90083813 +C -0.50290874 0.10309840 -1.13336504 1.73669886 1.22981871 -1.21443800 +O 0.68071625 -0.43437192 0.84019434 0.05070469 0.33431855 3.20564644 +H 0.04069992 1.43488266 0.43167059 0.12141715 0.58797010 -0.13618783 +H -1.20082051 0.31515131 0.92171844 -0.06001198 -0.09552464 -0.44179620 +H -0.87242763 0.93816294 -1.67119221 -1.92267900 1.36742440 -0.50570654 +H 0.39443760 0.11422749 -1.80321781 0.76492942 -0.60541432 0.84232618 +H -1.00105813 -0.78578927 -1.35205575 -1.47962234 -2.02299196 -0.45480804 +H 1.05419044 -0.94740147 0.17493705 1.27178596 -1.65224128 -2.19587407 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.395663515113 pbc="F F F" +C -0.31270635 -0.56253332 -0.03551903 2.17419658 3.37037609 1.46958197 +C -0.83061524 0.80289113 0.48222931 -2.43941753 -3.32966724 -1.29248875 +O 1.02889447 -0.27195669 -0.46011847 0.76176804 0.17648639 0.22039252 +H -0.27339387 -1.20970152 0.78883970 -0.20842141 -2.11187842 1.52810390 +H -0.89666167 -0.92424333 -0.85510041 -0.61353361 -0.52195993 -0.97366352 +H -1.76755795 0.69544275 1.03565822 -1.08736561 -0.03777122 -0.40036265 +H -0.31264099 1.33155771 1.19182397 2.73665186 1.37692664 1.92500415 +H -0.89976683 1.27154404 -0.45440457 -0.61615048 2.04884482 -1.34342186 +H 1.44093296 0.28664361 0.27377342 -0.70772785 -0.97135714 -1.13314581 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699231457476 pbc="F F F" +C -0.21182868 -0.14490103 -0.54416054 -2.49658891 -0.80965012 -0.65438531 +C -0.06343329 1.23643211 0.01556030 1.19305896 0.74136648 1.48008694 +O 0.18528234 -1.00022135 0.47174281 -1.19605343 -1.51879450 0.54955395 +H -1.27688534 -0.55228559 -0.92489030 1.41896413 1.29410721 1.05148405 +H 0.34589097 -0.28533523 -1.45253947 1.06064469 -0.03560845 -1.15774927 +H -0.65022767 1.25910571 0.99691312 0.60913337 0.23707034 -0.84584504 +H 1.09705216 1.31066141 0.29341529 -2.00867837 0.14677682 -0.34836454 +H -0.30695791 2.12430820 -0.59517739 -0.15516376 -0.05098648 -0.25031744 +H 1.12912969 -0.98785425 0.49297873 1.57468331 -0.00428140 0.17553673 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.681315235133 pbc="F F F" +C 0.40839950 -0.03881626 -0.37340449 -0.39355715 2.45595091 2.78520968 +C -0.66817453 1.08481488 -0.35456340 0.33882395 -2.41252785 1.26784153 +O 0.25346830 -0.99129142 0.61506809 -0.50911418 -1.83170346 0.25240688 +H 0.26679423 -0.49394140 -1.28950300 0.36442083 -1.53774719 -2.65426804 +H 1.38664272 0.41964951 -0.23291956 0.97227142 0.41634880 -0.56511442 +H -0.26001386 1.96414080 -0.73840213 0.78486643 2.13945598 -1.15631552 +H -1.44008925 0.68214970 -1.00763197 -1.11627551 0.38430251 0.15775369 +H -0.93867094 1.29662776 0.70661554 -0.44373851 -0.08967054 -0.32271269 +H 0.05645469 -0.59920523 1.47316864 0.00230268 0.47559079 0.23519889 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.466709570788 pbc="F F F" +C -0.25735214 -0.36049451 -0.28552050 2.06576438 3.09803637 -0.12381043 +C -1.08164857 0.36825157 0.81734595 2.01463248 -1.00822564 -0.66719275 +O 1.19005477 0.03547590 -0.50405246 -2.90525196 1.57916125 -0.24334672 +H -0.27643257 -1.33877948 -0.07155131 0.12732555 -4.72315816 1.26965740 +H -0.68780795 -0.36831814 -1.27595475 -0.67203754 0.79611727 -0.90187624 +H -2.12276015 0.06924221 0.83658356 -0.69971912 -0.62047662 -0.05757026 +H -0.59413905 0.16996869 1.80245419 -0.27548845 0.30937725 -0.18800000 +H -1.08388184 1.39827567 0.55623476 0.09880547 1.79709409 0.11620696 +H 1.82950609 -0.58744489 -0.18403555 0.24596924 -1.22792586 0.79593205 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.906753789394 pbc="F F F" +C 0.42247972 0.29477075 0.12945121 0.97617462 -0.99427303 2.11536355 +C -0.72191540 0.97043225 -0.58825531 0.15088889 1.37609293 0.36952658 +O 0.32520341 -1.16770421 0.42814172 -1.03791469 1.93681164 -0.50540146 +H 1.33054398 0.33139164 -0.46002308 0.65861499 0.29019892 -0.75334479 +H 0.74039791 0.86580950 1.10471520 -0.78065059 -0.66369703 -1.06401813 +H -0.99260775 0.44752949 -1.49656721 -0.17282812 -0.56150727 -0.79116049 +H -1.66387321 1.09155841 0.01528079 0.49400941 -0.00402877 -0.09520963 +H -0.36181390 2.01323046 -0.92906552 -0.52937973 -1.03376385 0.50415010 +H -0.64760724 -1.29189209 0.43675907 0.24108517 -0.34583355 0.22009427 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.608379442788 pbc="F F F" +C -0.25717820 0.32285750 0.21174837 0.14339885 0.08352026 1.25768546 +C -0.50051953 0.18592038 -1.25831950 1.79698348 -1.77023875 1.06281347 +O 0.67813089 -0.45098742 0.98593468 -2.79848949 1.16684810 1.02787134 +H -0.08452467 1.39878683 0.36731739 0.24149825 0.50800804 0.41647874 +H -1.25778687 0.13518621 0.62035447 -0.20816275 -0.21425046 0.84698826 +H -1.47487223 0.53718853 -1.36743331 -2.11242828 1.33011557 -0.89705007 +H 0.26259392 0.68938714 -1.81016832 0.68153993 0.54266997 -1.21277146 +H -0.56976278 -0.87004055 -1.49575957 0.19434842 -0.86826841 -0.56447165 +H 1.38793556 -0.79596128 0.50661962 2.06131164 -0.77840432 -1.93754409 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718754754577 pbc="F F F" +C -0.21116899 0.20603377 0.51735885 2.40776806 1.30250382 0.96575357 +C -1.10889182 -0.38089542 -0.48462101 -2.13817413 -0.18218910 0.06274707 +O 1.21257976 0.15345178 0.04161712 -1.48869885 -0.53825055 2.93967904 +H -0.48472939 1.29426528 0.73612450 0.15576489 -0.77429821 -0.03953268 +H -0.18550907 -0.32024851 1.49455858 -0.04489148 -0.04526567 -0.09457503 +H -1.53475918 0.37722459 -1.12857189 -0.34427937 0.58544584 -0.67923447 +H -0.54117398 -1.02834360 -1.07373211 1.51165650 -1.49379704 -1.59091885 +H -1.95459380 -1.05875471 -0.21704624 0.05237267 0.44849860 0.72209344 +H 1.18201307 0.38222700 -0.86204355 -0.11151824 0.69735237 -2.28601210 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.461000110284 pbc="F F F" +C 0.45478547 -0.18216639 -0.33748760 -0.69384004 -0.68123407 1.25179069 +C 0.15369910 1.28463934 -0.03160042 0.44578645 -2.59017987 1.36035988 +O -0.53186700 -1.04438150 0.32411092 1.35849233 -0.48492102 -1.51536979 +H 0.65855859 -0.31970401 -1.47172440 -0.97331920 -0.15289564 1.03215197 +H 1.42274612 -0.45097192 0.10529691 0.45139084 -0.24203561 0.28853963 +H -0.25731968 1.46822059 0.98872112 0.40842203 0.02814660 -0.30659881 +H 1.07337581 1.71593043 -0.26499488 2.06634669 1.91769008 0.05267513 +H -0.47460744 1.52936395 -0.79838453 -2.67543691 1.58149570 -2.12865724 +H -1.23197777 -0.50365287 0.69443933 -0.38784215 0.62393377 -0.03489142 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7482230046635 pbc="F F F" +C 0.15965818 0.48336125 0.30717649 -0.81548056 -0.25712701 -0.71700378 +C -1.31575160 -0.20162176 0.31010419 1.34615361 3.24737957 -1.40510182 +O 1.07969643 -0.20363768 -0.53981183 0.09880213 -0.12093532 0.19746074 +H 0.28694848 1.51152288 -0.15545486 -0.98144317 -0.17027301 1.06271263 +H 0.48647281 0.44346704 1.37561681 0.18791587 0.34527917 -0.09276060 +H -2.10535764 0.41812267 0.84395359 0.75578673 -0.72748000 -0.10816511 +H -1.62479694 -0.27441430 -0.75841604 -0.11284735 -0.13562646 0.17039010 +H -1.11453443 -1.16879672 0.69504875 -0.28824236 -1.60050902 0.87359492 +H 0.70797161 -1.05621846 -0.78768771 -0.19064495 -0.58070791 0.01887293 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.423054475443 pbc="F F F" +C 0.37321678 -0.46745124 0.25393995 -0.47149086 0.38864119 -2.02709189 +C -1.15370426 -0.42574162 0.10954219 -0.07733547 1.43943840 0.69128112 +O 0.67456184 0.80374692 -0.34356806 0.35956047 -0.48241342 0.16988524 +H 0.69601552 -0.46780353 1.31583493 -0.08690131 -0.21735466 0.21090520 +H 0.93361264 -1.32258747 -0.28574656 -0.71616930 0.63668871 0.47050864 +H -1.43023799 -0.60870517 1.12051726 -1.27990623 -0.06780269 1.57473781 +H -1.43961090 0.67876247 -0.13876285 0.36174637 -1.70064283 0.31967848 +H -1.78095078 -1.10714334 -0.45099943 0.21743498 -0.69689209 -0.98814547 +H 1.61297179 0.71117148 -0.43854647 1.69306136 0.70033742 -0.42175912 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542852989428 pbc="F F F" +C -0.28827988 -0.02831475 -0.57508150 4.35102597 0.95176111 2.54582499 +C 0.22397890 1.26933391 0.18757621 -1.51226158 0.29275521 0.64751779 +O 0.04554070 -1.11548768 0.36740899 -0.79530141 -0.23437032 -2.40857344 +H -1.25835110 0.01780228 -0.98794761 -2.36744909 0.12341150 0.07268398 +H 0.33530195 -0.12261997 -1.46699092 0.59420677 -0.21534724 -0.63412635 +H 1.29482370 1.34140791 0.58318469 -0.74591713 -0.38098414 -1.26408669 +H -0.18712472 2.24901068 -0.20451022 0.77620474 -0.57524555 -0.41055677 +H -0.31611347 1.28727519 1.15713841 -0.21443167 -0.37600216 0.23873405 +H 0.17380625 -1.85592403 -0.29534513 -0.08607660 0.41402159 1.21258249 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.669201459062 pbc="F F F" +C 0.08013979 0.53527336 0.06501171 0.91601726 -0.62237723 0.71890599 +C -0.75944727 0.03175833 -1.05360172 0.33919316 -2.88114606 1.70640410 +O 0.59438259 -0.53919938 0.86049146 -1.60006679 -0.66260256 -1.70684654 +H 0.80119173 1.27902174 -0.27670903 1.16098778 0.16678886 -0.27610901 +H -0.54274999 1.11538816 0.72558286 -1.09214221 0.84475721 0.60482841 +H -1.32255162 0.88132870 -1.29247401 -1.54779948 1.38911439 -1.46871351 +H -0.25544982 -0.56328631 -1.86139778 -0.13305571 0.69549500 0.22952719 +H -1.38246418 -0.69748257 -0.44321115 -0.20253168 0.30654091 -1.07462152 +H 1.36086928 -0.21435967 1.26943759 2.15939756 0.76342954 1.26662488 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.443986613719 pbc="F F F" +C -0.47448574 0.08234245 -0.32054982 2.28494781 -0.92470440 2.32149616 +C -0.45016167 0.19624319 1.23577955 0.36796926 -0.57607221 0.38936594 +O 0.81016198 -0.28552097 -0.86509512 -2.70004767 -2.55253459 0.98589668 +H -1.15577029 -0.69837066 -0.56757936 -0.79998169 -1.39784185 -0.35465773 +H -0.93555383 0.92293432 -0.68576889 -0.91305494 3.11187508 -1.77652798 +H -1.27239749 0.52787715 1.92203191 -0.77701643 -0.51512635 -1.12617781 +H -0.11877493 -0.79752305 1.53855800 -0.05340209 -0.63774693 0.63309472 +H 0.28848694 0.83381156 1.71547975 1.21450022 0.76283746 -0.59699668 +H 1.35120155 0.42229876 -1.09670688 1.37608547 2.72931378 -0.47549329 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.66175868737 pbc="F F F" +C -0.07430758 -0.49689287 0.22769143 -0.56784380 -1.72681183 -1.48022984 +C -1.08775127 0.59173365 0.24538943 -1.07208158 -1.32521114 -1.27082087 +O 1.09691770 -0.09407713 -0.38188459 1.80195106 0.12834216 0.62787461 +H 0.08868552 -0.88861123 1.25589824 0.40027940 0.36870871 0.01699016 +H -0.44838066 -1.40143905 -0.33952163 -0.31274328 0.04605115 0.34493860 +H -1.84989548 0.13520273 0.82847891 -1.54830013 0.33180550 1.47716904 +H -0.56208586 1.40756277 0.60816019 0.74290755 2.42500901 1.67744149 +H -1.61439318 0.95414816 -0.66686995 0.52096389 -0.55742852 -0.45049435 +H 0.82049843 0.15482619 -1.26162438 0.03486690 0.30953501 -0.94286884 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763580605256 pbc="F F F" +C -0.24007771 -0.53728354 -0.08898168 -0.10349321 1.03090555 2.24678368 +C -0.89306424 0.70044645 0.64231826 -0.45843973 -2.28967325 -0.55375672 +O 1.05688040 -0.21185084 -0.55670415 -0.49202061 -0.18489796 0.08562023 +H -0.28033211 -1.27310210 0.76077567 0.66153663 -0.44184911 -0.49116021 +H -0.85677259 -0.93792569 -0.88142459 -0.64036184 -0.23009592 -0.79550015 +H -1.64657688 0.32628195 1.35728776 0.00968231 0.05445058 0.29377049 +H -0.17545975 1.30843178 1.16213252 0.96593051 0.40998583 0.75877414 +H -1.43151479 1.33280368 -0.00973932 -0.83418971 1.28084695 -1.39185467 +H 1.11603531 0.66053277 -0.14587007 0.89135554 0.37032732 -0.15267679 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.562891619376 pbc="F F F" +C -0.07011872 -0.52980398 0.30061777 0.46308648 0.01043081 -1.46366463 +C -1.02142208 0.63698824 0.30250846 -1.33145620 -0.78073708 2.31372757 +O 0.99620196 -0.04711672 -0.54107824 1.06815838 -1.42652066 0.70069537 +H 0.13040423 -0.97485924 1.38153158 0.38340350 0.84547753 -1.61631817 +H -0.59066176 -1.30520394 -0.31341584 0.01838771 -0.50370036 0.64427362 +H -1.48408344 0.42618975 1.31365524 -0.47062259 1.13390161 -0.49857708 +H -0.59237988 1.65151129 0.23982095 0.29918441 -0.11640031 0.18815828 +H -1.81712928 0.50986534 -0.43879816 -0.15301715 0.16608391 -0.40427906 +H 1.54667748 -0.83831944 -0.78096538 -0.27712455 0.67146454 0.13598410 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.918474841143 pbc="F F F" +C 0.29449261 -0.39327603 0.30417171 2.94773729 0.95992483 0.74074644 +C -1.13521986 -0.45954393 0.15572439 -3.09403918 -0.09044856 -1.45972596 +O 0.75734132 0.79075347 -0.36973612 0.17629526 0.03076295 0.71957201 +H 0.64006271 -0.31080463 1.37995076 -0.47150669 0.17954019 -0.32972152 +H 0.86159250 -1.29266070 -0.01897190 -0.18508823 -0.20393889 -0.34549257 +H -1.61449943 -1.09561476 0.92068652 -0.25077335 -0.27856616 -0.11929419 +H -1.57961794 0.57313227 0.23266493 0.29692071 -0.46311872 0.25352726 +H -1.43761849 -0.77973293 -0.91834268 0.26802268 0.07554084 1.32429166 +H 1.12571446 0.51453799 -1.20719267 0.31243156 -0.20969642 -0.78390314 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.550833106706 pbc="F F F" +C -0.09976207 -0.21424799 -0.54585986 0.51300581 -2.12278473 -1.65969758 +C -0.12323374 1.24892067 -0.19616026 -2.19868614 -0.75551321 -0.87576961 +O 0.25502274 -0.97050553 0.64358971 0.71567133 0.13869687 -1.89038357 +H -1.04516202 -0.75995877 -0.99119497 0.72227295 1.54927386 0.55951435 +H 0.60861924 -0.30871258 -1.43349509 0.22151095 -0.67211050 1.05949304 +H -0.29699173 1.90654228 -1.07769556 0.40898171 0.09253691 0.34215646 +H -1.03882936 1.23757838 0.38011276 -0.96738910 1.06922842 0.83222133 +H 0.66461087 1.47628707 0.49658249 1.18269834 0.49708393 0.19713251 +H -0.28406789 -0.47729644 1.25173140 -0.59806590 0.20358845 1.43533312 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.918805604688 pbc="F F F" +C 0.02147005 0.52300165 0.19633523 2.07011207 -0.30575713 -1.49287700 +C -1.26684328 -0.07378212 -0.21440479 -0.95485703 1.09200342 0.95243001 +O 1.16556857 -0.37405266 -0.01480068 -1.30107557 -0.23144724 0.81430048 +H 0.23737439 1.42126023 -0.44908916 -0.08312184 -0.24129025 0.59234051 +H 0.01096029 0.76858827 1.22978580 -0.03713939 0.91243751 1.70970854 +H -1.49355841 -1.02790712 0.24600149 -0.07533386 -0.81396227 0.29209732 +H -2.09324608 0.62635511 0.04620240 -0.01911966 -0.10007030 0.04409932 +H -1.24999713 -0.11999060 -1.26381264 -0.26620342 -0.66062986 -2.17002075 +H 0.92595673 -1.08527021 0.64116720 0.66673865 0.34871617 -0.74207842 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6245790142 pbc="F F F" +C 0.54985097 0.14054359 -0.18269280 -2.73173946 -0.03331709 1.09886791 +C -0.81737282 1.06305432 -0.37675507 2.22845644 0.25963950 -0.17515261 +O 0.31404909 -1.09097332 0.51650153 0.17548217 -0.01627972 0.43867884 +H 0.86946003 -0.07425234 -1.19601011 0.70850741 -0.06659848 -0.85604307 +H 1.36337199 0.63743334 0.43769681 -0.67793411 0.01247654 -0.78179216 +H -0.82224600 1.52658997 -1.43648839 -0.02931012 -0.31668515 1.43872502 +H -1.76836188 0.55465776 -0.20912131 -0.29161338 -0.94557071 -0.24963841 +H -0.85916934 1.82079148 0.43736305 0.22221476 0.34747725 -0.40946570 +H -0.58124648 -1.49147872 0.43437157 0.39593629 0.75885796 -0.50417992 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712626093254 pbc="F F F" +C -0.34585432 0.28401429 -0.27893239 -1.36390235 -2.15152047 -0.74435272 +C -0.60942685 0.03737455 1.20873696 3.04376818 -1.31768886 0.87743898 +O 0.91140351 -0.23399711 -0.85525517 -1.03578098 3.14685064 1.89610330 +H -1.28707597 -0.20820148 -0.78314003 1.39371235 0.27047284 0.23578058 +H -0.54488419 1.31441151 -0.54462534 0.61209507 1.12322860 -0.14096582 +H -1.58873431 0.26885325 1.55234652 -1.68994148 0.26610454 0.05564352 +H -0.34943867 -1.03751786 1.54033704 -0.57771355 0.88435149 -0.71200586 +H 0.05286052 0.59952450 1.91535832 0.08649086 0.24848800 -0.46866881 +H 0.63245530 -1.05394570 -1.18413004 -0.46872810 -2.47028682 -0.99897311 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.783148923635 pbc="F F F" +C 0.43118589 -0.26025632 -0.12837685 -0.80849621 0.23804022 2.80905801 +C 0.38482486 1.26835549 -0.16345189 0.70193130 -0.18971683 -0.49320779 +O -0.77441762 -0.89454390 0.23497917 -1.25082422 -0.94155136 0.39673693 +H 0.77223973 -0.53555123 -1.08782755 0.72887287 -0.95238208 -1.97816877 +H 1.17730083 -0.57377370 0.62737031 0.57093355 0.15258906 -0.09221110 +H 1.47534515 1.50102994 -0.15381416 -0.23976224 0.56125566 -0.24693325 +H -0.09123770 1.69171627 -1.06491848 0.10764889 -0.19758503 -0.39431722 +H -0.08599207 1.83405577 0.63532772 -0.27066686 -0.19443203 1.05231436 +H -0.67968553 -1.73215169 0.79140824 0.46036291 1.52378244 -1.05327107 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.877383913773 pbc="F F F" +C -0.04333004 -0.52979567 0.23279723 0.59581510 -0.15627782 1.56433847 +C -1.14945199 0.54642835 0.25151850 1.20870778 0.23370395 -1.10693526 +O 1.05138884 -0.01235939 -0.47578755 0.00025706 0.53182516 -1.31666726 +H 0.32752578 -0.82241534 1.27137614 -0.64098559 0.43152983 -0.25338714 +H -0.42985920 -1.53167562 -0.13646538 0.05171740 0.58128821 -0.38828870 +H -1.98356931 0.27091062 0.84085936 -1.79176558 -1.09835008 0.50008698 +H -0.90638678 1.48738497 0.76863611 0.93630379 0.24824102 -0.07260186 +H -1.42243319 0.83141253 -0.80595993 -0.06923865 -0.31708439 0.63182789 +H 1.93794777 -0.23912880 -0.15724454 -0.29081125 -0.45487587 0.44162687 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.724502422871 pbc="F F F" +C -0.38294721 0.19701718 0.39012863 2.63014337 -0.18305042 1.46100148 +C 0.06411392 1.03717963 -0.79046464 -4.08502510 0.24929147 -0.36602350 +O 0.32497054 -1.09439298 0.41707769 -0.30296496 1.45028867 0.45919203 +H -0.04097925 0.74298226 1.39780446 -1.05095672 -1.02215269 -1.62276578 +H -1.44868497 0.03612669 0.27945995 -1.01550742 0.00656686 0.64948782 +H 1.05972775 0.89430529 -0.98790770 3.50246389 0.32398302 -0.13466672 +H -0.39463900 0.58072998 -1.71391237 -0.12154509 0.37523613 0.25360043 +H -0.34531675 2.09736709 -0.69188943 0.79814505 -0.75154533 -0.23919685 +H -0.19022803 -1.68810740 -0.13354307 -0.35475296 -0.44861765 -0.46062892 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.42926541572 pbc="F F F" +C 0.06999869 -0.01997069 0.53414178 0.25966654 2.63195836 -1.57106900 +C -1.29776324 0.48712205 -0.19199936 2.33806662 -0.72289984 2.84412643 +O 1.07542106 -0.47206956 -0.35441802 -2.46927376 -1.35746718 -0.56971947 +H 0.39640818 0.90086020 1.13139074 0.12293590 -0.61664007 -0.43747047 +H -0.15618146 -0.75191747 1.30730552 -0.49160430 -0.82162385 0.32077022 +H -1.61310538 0.92270894 0.80935913 -1.52617074 -0.59631950 -1.03081639 +H -1.22628429 1.34128726 -0.86956723 0.53034970 0.12796518 -0.46315631 +H -1.73868472 -0.40759741 -0.65617491 -0.82588963 0.18343830 0.21052123 +H 1.89645540 -0.08012498 -0.17350512 2.06191966 1.17158860 0.69681378 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.479964618296 pbc="F F F" +C -0.21931160 -0.43217485 0.31789487 1.83640879 3.19935700 2.21199397 +C -1.00672166 0.87148865 -0.05385068 1.39651716 0.92288329 -0.90113175 +O 1.13677286 -0.40882294 -0.17833767 -1.05984677 -0.01216091 1.15501295 +H -0.17456879 -0.71640852 1.42400078 -0.14830082 0.63677212 -0.86644961 +H -0.82446795 -1.08649191 -0.15826812 -1.87953310 -3.70988066 -1.73947873 +H -1.83312432 1.14282909 0.64664429 -0.27946348 -0.50870425 -0.55350059 +H -0.29527112 1.75641264 0.08579209 -0.48444608 -0.66807685 -0.40064069 +H -1.28761375 0.80227757 -1.22890205 0.20330753 0.37056880 2.49853328 +H 0.97916372 -0.64562419 -1.08482132 0.41535682 -0.23075854 -1.40433877 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.912294205351 pbc="F F F" +C -0.54159603 -0.12141212 0.25760064 2.51361620 1.83413064 1.52521501 +C -0.24005469 1.02372898 -0.71955883 -1.53714997 0.20689515 0.50965638 +O 0.69894394 -0.82302985 0.47606146 -0.79952717 -0.48832655 -0.79621615 +H -0.89008418 0.23128421 1.27472276 0.46621469 0.20166151 -0.49314140 +H -1.35996822 -0.70702115 -0.04395646 -1.57366494 -1.67704744 -1.10774531 +H 0.05410468 0.61765295 -1.71464751 -0.62846241 0.09535968 -0.13800514 +H -1.16522592 1.71293889 -0.71067235 1.19745247 -0.48160224 -0.64012494 +H 0.66797135 1.55339538 -0.40817014 0.07428979 0.41902208 0.47209959 +H 0.91183797 -1.09758248 -0.44924015 0.28723130 -0.11009277 0.66826192 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.687977072005 pbc="F F F" +C 0.26818432 0.00136306 0.49924400 1.49246691 2.26626951 -3.07911454 +C -1.24344730 0.27226508 0.43290910 1.53543654 -1.15511255 2.21602047 +O 0.84492361 -0.21997507 -0.86397192 -1.03318278 -0.07888451 0.56738820 +H 0.84891716 0.92219070 0.86232304 -0.70250491 -0.77984547 0.19413897 +H 0.44410562 -0.82326598 1.12963323 0.56789255 -1.57966883 1.35981316 +H -1.40346110 0.93927820 1.29664853 -0.53376428 0.49597281 -0.21855336 +H -1.57234527 0.63233195 -0.50668627 -0.51665734 0.82976196 -1.37883825 +H -1.75781267 -0.65776175 0.72336409 -0.36886488 -0.19845591 -0.39225709 +H 1.64914365 -0.78310513 -0.89875721 -0.44082175 0.19996299 0.73140248 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.628858546715 pbc="F F F" +C 0.30732591 0.02905923 -0.40142211 1.67089438 -1.34619572 -1.89554650 +C -0.71887482 1.14293593 -0.20528376 1.29878657 -0.30259071 1.48345617 +O 0.41223746 -1.02956511 0.55668530 -1.75915796 -0.54307430 0.51657583 +H 0.26006650 -0.43828154 -1.39972515 -0.99591869 -0.28851351 -0.65928322 +H 1.39892651 0.26680528 -0.57480185 -0.50731832 1.10641790 0.91169914 +H -1.72893841 0.82568066 -0.42250650 -0.84864107 -0.36152818 -0.27116010 +H -0.61874225 1.22414965 0.89204541 -0.53706337 0.64061566 0.34783078 +H -0.55389954 2.15025510 -0.64364399 0.36496991 -0.35306663 -0.19861979 +H -0.39794550 -1.65304145 0.54172240 1.31344860 1.44793544 -0.23495232 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.484972917662 pbc="F F F" +C 0.16316107 -0.17772148 -0.55137618 0.81418344 -0.16887906 -0.68744441 +C -0.43470447 1.19437742 -0.22657254 -0.59876935 0.10592434 3.88564920 +O 0.31285935 -0.97044473 0.66600486 -1.57437791 1.14263627 -1.23501573 +H -0.54382160 -0.51520280 -1.41810922 0.69931186 -0.60899808 1.21485709 +H 1.20774786 -0.23575972 -0.97976376 -0.58789883 0.63339935 -0.04059192 +H -0.52486699 1.93964212 -1.02609841 -0.36689701 -0.10982625 -0.47015352 +H -1.50309365 0.89689677 0.30441320 1.84204069 1.00472030 -1.46879655 +H 0.09470523 1.78451229 0.68057327 -0.57456472 -1.24211090 -1.70208095 +H -0.46205609 -0.58192474 1.13735049 0.34697188 -0.75686592 0.50357669 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.356847732247 pbc="F F F" +C 0.25006518 -0.42264984 -0.37494460 -1.15392599 0.27580660 3.06822278 +C -1.26533419 0.04798571 -0.35078482 1.52132745 2.40251890 1.20513297 +O 0.90541519 0.28467471 0.68443981 1.49495605 0.93651652 -0.00179191 +H 0.38008171 -1.58014409 -0.14523500 -0.30443178 1.81729659 -0.63374593 +H 0.67695722 -0.11793217 -1.31498997 0.37050406 -0.26927368 -1.26873890 +H -1.27025855 1.21898622 -0.72532958 -0.28160799 -2.71195667 0.76108366 +H -1.63710187 -0.63082239 -1.05778582 -1.91147911 -0.93190555 -1.75028118 +H -1.85590513 -0.03526242 0.66629775 1.32270251 0.02889288 -1.56384055 +H 1.43128436 1.08945907 0.36053377 -1.05804525 -1.54789564 0.18395910 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.754873605271 pbc="F F F" +C -0.47215324 0.10660315 -0.31313538 -0.02769897 0.65409699 0.53754308 +C -0.43051954 0.16329483 1.20148254 2.33631143 0.39622045 -2.08209403 +O 0.78977472 -0.31056694 -0.80069366 -0.86718418 -0.89179222 -0.21238656 +H -1.23703336 -0.57560685 -0.64461346 -0.66305657 -0.97234074 -0.59810405 +H -0.85760186 1.12419813 -0.59578546 0.52183842 -0.16704411 -0.64606738 +H -1.32031254 0.55349789 1.57064945 -2.23606475 0.50281215 1.41230374 +H -0.02310541 -0.76157106 1.56566197 -0.05162474 -0.93776206 0.85129620 +H 0.34917709 0.92838166 1.28006082 0.38907628 0.34166856 0.98747853 +H 1.30783082 0.44321501 -1.05189159 0.59840307 1.07414098 -0.24996952 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.727187419882 pbc="F F F" +C -0.08077155 -0.24953586 -0.58550423 -1.26663645 0.12258412 1.61505062 +C -0.16200923 1.20831644 -0.18409241 3.50315721 0.28536601 -1.90980425 +O 0.22679211 -0.84175816 0.69873178 -0.54007850 -0.12704735 -0.52038585 +H -1.09655824 -0.49362284 -1.01530484 0.18554347 -0.47701081 0.37344000 +H 0.65276659 -0.66619233 -1.28395874 0.54748092 0.77800070 -0.80839270 +H -0.35857937 1.94561924 -0.94232677 -0.67904801 0.42879824 -1.18698098 +H -0.78270731 1.39062731 0.63488904 -1.59261702 -0.04812361 1.80654490 +H 0.86894630 1.52834651 0.11163172 -0.18192808 -0.15259796 0.35985666 +H 0.00818553 -1.76965530 0.57442457 0.02412647 -0.80996935 0.27067159 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5415599142 pbc="F F F" +C 0.17896450 -0.38312647 -0.36977765 0.37090772 -0.68793524 1.61861910 +C -1.30744750 0.18208893 -0.40741605 1.42935664 -3.50805450 1.06892334 +O 1.05442917 0.13193993 0.71068777 -2.64290010 2.72762570 -0.41287251 +H 0.20788156 -1.49924262 -0.16204528 -0.32254037 0.66107707 -0.58020624 +H 0.84435590 -0.13749182 -1.20065182 -0.64726408 -0.24469593 -1.43097140 +H -1.33008556 1.15395951 -0.75581032 -0.01718187 3.04931061 -0.56833365 +H -1.92462134 -0.37222335 -1.13939183 0.07295626 -0.32546871 -0.05015828 +H -1.79188989 0.04379675 0.59710794 0.29452058 0.29384001 -0.41860818 +H 0.70313147 1.11095126 0.64089173 1.46214516 -1.96569897 0.77360782 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.420240875429 pbc="F F F" +C 0.13513797 0.45132797 0.40767267 1.56955971 -1.97966788 -4.23252070 +C -0.82158969 0.59042798 -0.84648641 2.28026902 -1.92127548 2.07918261 +O 0.61885706 -0.94435142 0.35351451 -0.38264523 1.01608679 2.06931420 +H 1.10162076 1.07151999 0.28469721 -1.48640095 0.10037595 0.54106771 +H -0.56378609 0.64791989 1.16497644 -0.57135243 0.58689399 2.52768523 +H -1.04405305 1.58856305 -0.82864203 -0.59876344 3.59358582 -0.90639634 +H -0.26447817 0.20744733 -1.69764481 -0.23973509 -0.04027974 -0.80286765 +H -1.77261393 0.12991045 -0.61174237 -0.49503456 -1.01425323 -0.15301689 +H 0.89879488 -1.07047954 1.30583296 -0.07589699 -0.34146627 -1.12244817 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77260234242 pbc="F F F" +C 0.00352597 -0.02010462 0.60626201 -0.53844086 -0.54630721 -0.21274107 +C -1.19697043 0.53290126 -0.29740994 3.65004105 -0.32956921 0.43295973 +O 1.04728894 -0.43863003 -0.31633861 -0.29619118 0.08977529 0.86376086 +H 0.34865824 0.81007320 1.33399445 -0.23450433 -0.81883014 -0.70150331 +H -0.36343747 -0.92291275 1.21669237 0.36165843 0.84131162 -0.26583992 +H -1.82122610 1.14117577 0.34178447 -0.47046879 0.92001949 0.15600739 +H -0.49804095 1.08102117 -1.05615345 -1.91617297 -0.41988499 0.52264842 +H -1.80063521 -0.30041886 -0.67024160 0.03158046 -0.17627690 -0.63178392 +H 1.73087932 -0.95843298 0.17497419 -0.58750180 0.43976204 -0.16350823 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.809713512894 pbc="F F F" +C -0.41506043 0.11485200 0.39605844 1.95912049 -0.31560122 0.35536993 +C 0.05228278 1.07788293 -0.63181890 0.82969548 2.83514860 -2.30293613 +O 0.33993199 -1.09772633 0.28341742 -1.12967786 -0.99573470 -0.55469502 +H -0.15268911 0.44999620 1.41700963 -0.05913827 0.31367623 0.13269982 +H -1.51039052 0.15154436 0.35699188 -0.71979441 -0.99824718 -0.07709095 +H 1.12854841 1.51706397 -0.64463499 -1.05262315 -1.01578792 0.71741624 +H -0.00957984 0.67698391 -1.71260995 -0.38698725 0.22908038 1.13624569 +H -0.57878397 2.03812217 -0.58817585 0.36807211 -0.88401535 -0.23738073 +H 0.04893102 -1.62333188 -0.51802694 0.19133282 0.83148111 0.83037116 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.852433496983 pbc="F F F" +C 0.20187533 -0.19386826 -0.50872442 -1.18456255 0.61563389 0.64922943 +C -1.31372135 -0.02898688 -0.13212219 0.60495178 0.17054771 -0.14162592 +O 1.06542546 0.19294693 0.54445936 0.34936115 0.22381579 -0.43148659 +H 0.51378155 -1.17672378 -0.81280991 -0.15694117 -1.47284738 -0.35930176 +H 0.35776532 0.42923140 -1.39238584 0.30997102 0.58442660 -0.53110746 +H -1.45678575 1.12942512 -0.07701977 -0.36139495 -1.78034854 0.36221482 +H -2.05457302 -0.51346732 -0.83053414 0.59274294 0.61822633 -0.20745472 +H -1.53781934 -0.63287360 0.79563730 0.21490753 0.89280703 0.04316529 +H 0.51360748 0.35575193 1.31109336 -0.36903570 0.14773857 0.61636696 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.624578914062 pbc="F F F" +C -0.17333252 -0.12655686 -0.58981253 4.18062497 -0.91498285 0.10951648 +C -0.06379430 1.20404621 0.04490070 1.14294162 2.27764218 -2.38905104 +O 0.15175682 -1.00520095 0.49993087 -0.02179520 -0.99004243 -0.81620988 +H -1.08124983 -0.37600061 -1.01188144 -3.16604069 -0.53957405 -0.54135737 +H 0.50695333 -0.34818190 -1.55294070 -0.56362539 0.72185977 1.62022944 +H -0.67881174 1.22923204 0.89562832 -1.25971355 0.01843991 1.75308646 +H 0.97401937 1.52777581 0.36374579 -0.51346223 -0.53140468 -0.29323796 +H -0.42339826 1.99438112 -0.65432323 0.05321532 0.22145243 0.11890580 +H 1.11823027 -0.91224064 0.51740227 0.14785514 -0.26339022 0.43811813 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699669279159 pbc="F F F" +C -0.07630890 0.28847117 -0.34300981 -0.41067607 0.25586270 -0.71351649 +C -1.26945971 -0.14060043 0.52234010 0.86128005 1.18584224 -1.11124145 +O 1.25513722 -0.10447807 -0.13876034 -0.24777560 -0.53586842 0.36892345 +H -0.43667733 0.21563125 -1.37858562 0.31912497 -0.58468392 -0.92586968 +H 0.03178547 1.35242443 -0.25582995 -0.39394137 1.46753445 0.36499660 +H -1.10252544 0.36642083 1.45135134 -0.64594983 0.37466503 1.36889944 +H -2.16242219 0.16442960 -0.05346099 -0.17482443 0.70266103 0.36880240 +H -1.48921712 -1.16463924 0.66519806 0.33922350 -2.08868824 0.33941520 +H 1.27111054 -1.03938889 -0.36299459 0.35353879 -0.77732492 -0.06040948 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.662631003409 pbc="F F F" +C 0.54689263 0.19779977 -0.26874995 -2.85689289 -2.00900880 0.66029057 +C -0.72723219 1.02357494 -0.19755074 -0.32961908 -1.73834431 -0.46847505 +O 0.13751849 -1.08385082 0.41266888 0.85303303 0.94966206 -1.21413970 +H 0.73041741 0.10169861 -1.37036260 0.75285664 -0.39510001 0.40606999 +H 1.33550011 0.50693356 0.38210831 1.41077003 1.19241825 0.03369910 +H -1.57307405 0.24554807 -0.40048661 0.95465689 1.42679191 -0.04098299 +H -0.89783621 1.46222912 0.76487166 -0.23765872 0.37554199 1.24020931 +H -0.64053408 1.82318428 -0.91742739 -0.48354548 0.69868405 -0.80720865 +H 1.01059817 -1.49074012 0.54733196 -0.06360037 -0.50064507 0.19053742 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.587789007364 pbc="F F F" +C 0.40135148 -0.18309740 -0.46420756 -2.41509134 -1.78237545 0.99586315 +C 0.27306831 1.21309387 -0.03823165 0.98903795 2.78881489 0.17206312 +O -0.61017708 -0.91118612 0.43815801 1.52199054 0.83288930 -1.09997338 +H 0.05119102 -0.40974985 -1.49671922 0.48518163 0.27091476 -0.11376354 +H 1.41619165 -0.55241381 -0.28086576 0.43312592 -0.36300965 -0.04068937 +H -0.06220620 1.24357473 0.96741707 -0.85486047 -0.56980982 1.83282832 +H 1.19200520 1.82847895 0.16189871 0.20088036 -0.51974498 -0.90646535 +H -0.43285132 1.91847538 -0.49698576 -0.26917361 -0.24761876 -0.81623374 +H -0.51620000 -1.83980203 0.17732171 -0.09109098 -0.41006034 -0.02362917 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.836092977303 pbc="F F F" +C 0.53569887 0.19931964 -0.18179723 -0.86446426 -1.48735977 0.81303056 +C -0.72701587 1.04878312 -0.29548182 1.04728343 -0.04728065 -0.00409032 +O 0.22360968 -1.15708235 0.38569645 2.41867782 1.30907721 -2.57460310 +H 0.89057953 -0.01172961 -1.21130397 0.50905114 -0.00643331 0.23469742 +H 1.29218027 0.76745819 0.45708938 -0.25135108 -0.61101691 -0.61867571 +H -1.57121413 0.45094597 -0.69019262 0.07130381 0.42288295 -0.64851384 +H -0.99718229 1.30702191 0.70578987 -0.64457717 0.37166594 1.49728238 +H -0.44953974 2.04439529 -0.73252595 -0.60047194 -0.51413457 -0.47918931 +H -0.43550093 -1.06530095 1.03614095 -1.68545177 0.56259916 1.78006191 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.437750854692 pbc="F F F" +C -0.34838917 -0.40977511 -0.15691703 2.11412700 -0.67713141 -2.84813442 +C -0.90956494 0.68251450 0.63599287 5.31943997 0.40310453 0.59177564 +O 1.10432550 -0.28776937 -0.43474306 -0.48705987 0.65507689 -0.04134448 +H -0.26328801 -1.34502941 0.38205000 -0.84330289 -0.83476785 0.46809062 +H -0.92378878 -0.56936671 -1.11918515 0.31848338 -0.08588074 0.25516552 +H -1.79991779 0.40754880 1.00013831 -4.51329195 -0.55439230 1.39304797 +H -0.18678884 0.56133012 1.50261398 -0.59211389 1.17690348 -0.04895495 +H -0.76971718 1.63773991 0.12379225 -0.46767359 0.53546661 0.07345140 +H 1.40303889 0.62415933 -0.69728301 -0.84860816 -0.61837921 0.15690275 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.640605122069 pbc="F F F" +C -0.38004897 -0.20473181 -0.29573462 1.66619039 -0.08674843 -0.47283513 +C -0.77396759 0.59945532 0.97535913 1.52125340 2.37068889 -2.15506207 +O 1.04024157 -0.32172515 -0.67475840 -0.87092457 -0.18843832 1.91205957 +H -0.72104439 -1.25201485 -0.13877019 -0.38801744 0.00927120 0.08452335 +H -0.81478609 0.13195408 -1.24065196 -0.70904061 0.43952293 -0.14416705 +H -0.72979778 1.78912263 0.98883235 -0.30877211 -2.04553807 -0.66162220 +H -1.74281993 0.21330461 1.12015628 -2.01460198 -0.18112230 1.03632914 +H -0.09992467 0.36545647 1.76801877 0.69513140 -0.79586129 1.30208293 +H 1.34661006 -0.84602169 0.11463718 0.40878153 0.47822545 -0.90130854 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.787676094576 pbc="F F F" +C -0.23741873 -0.46564283 -0.05078200 -1.20814955 -0.46215389 1.81770092 +C -0.99086792 0.84817208 0.48894383 -0.11480108 -2.34209600 0.38864500 +O 1.11286483 -0.33994930 -0.48603628 -0.26455586 0.26572149 0.58145261 +H -0.24095277 -1.12294550 0.89277587 -0.18128885 0.10624758 -0.95628275 +H -0.87206639 -1.01026229 -0.83092042 0.70078942 0.61240489 0.44191066 +H -1.97749397 0.64643438 1.02886855 0.46520584 -0.37479287 -1.09123908 +H -0.45780893 1.20686122 1.35938101 1.03487925 0.83897253 0.29423977 +H -1.13249535 1.56297241 -0.29487756 -0.09143802 1.13246833 -0.69186908 +H 1.65128778 -0.44667252 0.33862993 -0.34064115 0.22322788 -0.78455795 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.565044241778 pbc="F F F" +C 0.28922589 -0.47958971 -0.32950379 -1.91183820 2.05268626 0.32393479 +C -1.25047887 0.05711145 -0.43275198 1.53970251 -2.66042568 0.86707712 +O 0.90288229 0.33257509 0.69848744 -0.43210345 1.48798661 -1.92752692 +H 0.34450888 -1.49102517 -0.03807013 -0.24885361 -1.92364620 1.20376977 +H 0.85288514 -0.55463538 -1.26867421 0.17548248 0.85878145 -0.76520787 +H -1.14392513 1.10890129 -0.55050030 -0.42626869 1.57302865 -0.61617238 +H -2.03977420 -0.45967417 -1.02392623 0.65480219 0.26375635 -0.81622119 +H -1.66158817 -0.13153124 0.56843255 0.13211808 0.29556630 0.61082361 +H 0.76949720 1.28166594 0.30849735 0.51695867 -1.94773369 1.11952308 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.21707872567 pbc="F F F" +C 0.05269096 -0.13715659 0.59009793 1.72363312 -2.06309244 -3.17542568 +C -1.29684592 0.26719809 0.00036366 1.98786338 0.70041435 -2.18522482 +O 1.13621570 -0.14313347 -0.47118047 0.28685278 -2.61237729 4.45442765 +H 0.52092338 0.49666001 1.33873902 -0.63051524 0.72391959 0.84696491 +H 0.11275599 -1.20695997 0.96754410 -0.33974106 0.70569432 -0.08347583 +H -2.09132925 0.08361430 0.65921620 -1.67091479 0.74055802 1.94433032 +H -1.02313865 1.31388395 -0.36543763 -1.38364462 -0.46297629 0.52016083 +H -1.74878381 -0.27916588 -0.90700377 1.45531955 0.06018929 0.58415684 +H 1.01847403 0.31289155 -1.24982936 -1.42885312 2.20767040 -2.90591423 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.822786649979 pbc="F F F" +C -0.19619033 -0.38640636 0.30768814 -1.33671827 -1.83541989 -2.66986646 +C -0.97302123 0.89432902 0.00130173 -0.77700965 -1.02686866 1.50108453 +O 1.06520906 -0.42660239 -0.30482192 -0.18143032 2.00511446 -0.46311009 +H -0.25250610 -0.46290634 1.36648499 0.59222584 -0.34921249 1.96806186 +H -0.74380069 -1.36274605 -0.08621235 0.05964936 1.49398412 0.59702254 +H -2.07603128 0.70259160 0.19935033 0.84105780 0.32560333 0.21619606 +H -0.57454699 1.72108658 0.61054992 -0.15506992 0.18539666 0.28520671 +H -0.93462696 1.22955171 -0.99505565 0.31847330 0.33795373 -2.17716055 +H 1.60449594 -1.10991230 0.06148254 0.63882180 -1.13655119 0.74256534 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.661844815864 pbc="F F F" +C -0.21049999 -0.02257696 -0.47838763 0.12859680 0.86375145 -1.50366741 +C 0.33400004 1.23297798 0.18488462 -1.67654690 2.28820936 -1.79972346 +O -0.12491145 -1.15992670 0.24800588 0.44991271 -2.25141614 1.00666061 +H -1.24210954 0.01791395 -0.90448409 -0.17196413 0.78122410 0.07323445 +H 0.45985468 -0.13516703 -1.36488073 -0.22067981 -0.02069615 -0.29676074 +H 1.38153284 1.34244490 -0.07048354 0.99827876 -0.11521667 0.59340788 +H -0.10572993 2.08834443 -0.48475552 0.44108241 -0.82808864 1.06723546 +H 0.07963244 1.53978198 1.23327402 0.05023824 -0.59487207 -0.27521190 +H -0.06304187 -0.86612098 1.15204894 0.00108187 -0.12289522 1.13482510 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.789858601919 pbc="F F F" +C -0.06271275 -0.50721655 0.18795684 -0.09932802 -0.97849565 -1.38804085 +C -1.16816010 0.56297004 0.35354018 -1.67328798 -2.02942419 -2.08231818 +O 1.12217562 -0.09864472 -0.50110027 -0.16823541 0.51724406 0.30457303 +H 0.13516076 -1.07408449 1.10183752 0.39116453 0.19593618 1.08519349 +H -0.27407139 -1.36528029 -0.50694095 -1.17290408 0.35255380 0.31224927 +H -2.18452334 0.29644920 0.83185768 1.38990804 -0.31902274 -0.30500030 +H -0.82549693 1.40494289 0.86413291 1.02790878 2.01100537 1.38941582 +H -1.46207736 0.91609647 -0.67381692 0.20955213 -0.02649147 0.35928191 +H 1.46450242 0.72183633 -0.11544765 0.09522207 0.27669466 0.32464585 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.538624884596 pbc="F F F" +C 0.29862589 0.04321672 -0.53056753 0.22712788 -2.14786647 0.67416302 +C -0.67265636 1.11181874 -0.09739708 -0.39811741 -3.27344712 0.26434996 +O 0.35553300 -1.06550885 0.52555884 -0.61390261 2.49390992 -0.70237456 +H -0.06961361 -0.34354364 -1.50951145 0.26289240 -0.61093931 0.26455956 +H 1.33707686 0.38093285 -0.67864466 0.24787464 0.34002733 -0.09728425 +H -1.57691773 0.43492310 0.15710738 0.58925683 1.45210870 -0.17603347 +H -0.18303848 1.45710918 0.79788043 -0.28604283 1.48841392 0.87163013 +H -0.82944927 1.72907732 -0.96433692 -0.41536875 1.31486749 -0.22505830 +H 0.13442732 -0.51028979 1.33799809 0.38627984 -1.05707440 -0.87395215 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.363011451423 pbc="F F F" +C 0.24557669 -0.40205033 0.25882251 -0.88084137 -2.07201448 -3.04587639 +C -1.10533485 0.10319673 0.67778942 -3.10043583 0.09285969 -2.21971597 +O 0.79535683 0.22511055 -0.86204272 0.50789532 0.02548149 -1.06622563 +H 0.77694098 -0.39799669 1.14884794 2.35062024 0.15267483 2.23689007 +H 0.30652659 -1.54767056 -0.11309939 -0.78195403 1.90769815 1.02782892 +H -1.64446046 0.88293122 0.01453531 1.22311322 -0.80885478 -0.10745035 +H -1.91990047 -0.68015767 0.63680402 0.59266858 0.17760009 0.58327480 +H -1.14659796 0.65577347 1.58536248 0.20090041 0.26895486 1.82947257 +H 1.24646498 1.07352321 -0.74967988 -0.11196659 0.25560009 0.76180198 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.491762275612 pbc="F F F" +C 0.35136920 0.47431523 -0.37446832 -3.95046987 -0.14142749 3.53240913 +C -1.06286128 -0.13668582 -0.54122798 -1.45317884 1.28968136 -0.50532484 +O 0.70424378 -0.23230998 0.82890631 2.21695204 2.38284754 0.53592262 +H 0.98396703 0.22473756 -1.16139613 1.66676735 -0.08776849 -2.17747032 +H 0.19096330 1.56515175 -0.15194156 0.86918203 -0.41025225 -0.13229210 +H -1.86083876 0.34455599 -1.21068703 0.99848681 -0.28570596 0.32282319 +H -0.84562307 -1.11697670 -0.92343949 -0.34813299 -1.36864799 -0.48293510 +H -1.54916741 -0.24703348 0.48406470 0.51008842 0.28148565 -0.85487887 +H 0.37919188 -1.10761515 0.71738282 -0.50969489 -1.66021237 -0.23825377 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.36282976389 pbc="F F F" +C -0.08136719 0.26040922 0.44635791 -1.75557251 0.89308193 -1.17327463 +C 0.34098810 0.94322024 -0.87325728 -0.18306523 1.10439964 -2.28687275 +O -0.28922516 -1.12551186 0.41974581 1.16299813 -0.15273597 -0.03478364 +H 0.61692398 0.55147961 1.25399345 0.11152251 0.29677318 0.17983623 +H -1.05242439 0.82182059 0.57748048 0.16437906 -1.00442776 0.86760430 +H -0.24657304 1.97027510 -0.80393088 1.67866462 -1.25044169 -0.48201269 +H 1.46701978 1.04513593 -0.91382063 -0.63439292 0.42365824 -0.14358927 +H 0.05509562 0.53496658 -2.01408867 0.23019064 0.33744280 3.05116309 +H 0.65628037 -1.40206933 0.32455738 -0.77472429 -0.64775037 0.02192936 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4686934845395 pbc="F F F" +C 0.20869391 -0.26662126 -0.41695947 2.15411035 1.09225914 1.51591198 +C -1.24359639 0.22849689 -0.57487950 0.00818418 -3.77581565 -0.71296632 +O 0.96040048 0.04479115 0.86587740 -1.08196454 0.23930103 -1.33030604 +H 0.55056626 -1.29123985 -0.67779013 -1.07085465 -0.32058880 -0.15605357 +H 0.89609505 0.33759181 -1.01684796 -0.20312318 0.37255287 -0.91936437 +H -1.45292711 1.00065377 0.06811491 -0.32774640 2.27914972 2.65319187 +H -1.45962411 0.73794444 -1.50945754 0.13709965 -0.26354690 -1.14907864 +H -2.03866101 -0.59135311 -0.39105263 0.90789756 0.92810001 -0.29421020 +H 0.59076120 -0.45179039 1.60148372 -0.52360297 -0.55141136 0.39287534 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.271978558251 pbc="F F F" +C 0.22902462 0.34601966 0.41924227 -0.26373218 0.56546342 -2.56292026 +C -1.26665319 -0.03818105 0.46863433 2.76889654 1.86810366 -3.15911876 +O 0.90044644 -0.24168496 -0.83474970 -0.52548610 0.19660281 2.73549975 +H 0.31456820 1.46111153 0.31683068 0.40412670 -0.41952972 0.39045557 +H 0.67250864 -0.10145639 1.29090988 1.03780609 0.16973154 0.96028925 +H -1.80284609 0.58792793 1.11837911 -1.32402062 1.66690881 0.80786567 +H -1.45217631 -0.00368359 -0.63726530 -1.09000572 -0.42494107 0.75322858 +H -1.19248167 -0.92934659 0.95222918 -0.71974432 -3.87930475 0.91133055 +H 1.53079422 -0.84793081 -0.37081058 -0.28784039 0.25696529 -0.83663031 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.3437829929235 pbc="F F F" +C 0.45031337 -0.39544409 -0.27150619 -0.99136598 -0.97311253 1.28120042 +C 0.26458188 1.10865075 -0.63577113 0.17927635 -0.89828441 1.35640614 +O -0.63478663 -0.69210460 0.78375937 1.24104651 -3.52298428 -5.32067034 +H 0.23617502 -1.22396818 -1.12414541 0.49358081 1.92815380 1.59136941 +H 1.48506085 -0.57715099 0.17424560 -0.73824362 -0.11401124 -0.32171700 +H -0.08220646 1.58176398 0.34676009 0.46984648 0.01646674 -1.14147850 +H 1.05265808 1.70480378 -1.13734612 0.42864001 -0.35237572 0.30820508 +H -0.53852945 1.07279360 -1.32529641 -1.69093742 0.55201547 -0.94491040 +H -0.59670063 -0.07234528 1.43607826 0.60815681 3.36413227 3.19159515 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6644057580115 pbc="F F F" +C -0.11179766 0.01133659 -0.55850589 1.60788937 1.36002039 0.34217286 +C -1.26265164 -0.40867718 0.38490415 0.08842016 0.91816675 0.29014076 +O 1.24946523 0.37841270 0.10560214 -2.55262000 0.24308842 -1.90854893 +H 0.05881878 -0.61290046 -1.46978879 0.08192011 -0.47794500 0.50933463 +H -0.33773623 1.00224296 -1.02271504 -0.19057964 -0.15666524 0.29705045 +H -1.37358220 -1.47962206 0.60002472 0.13537948 -0.44694792 -0.25673893 +H -0.97205022 0.04718227 1.35974293 -0.33043562 0.09954148 -0.01384329 +H -2.30545793 0.00121108 0.12495766 1.22116823 -0.34633764 -0.02084965 +H 1.47385690 -0.23155225 0.80017052 -0.06114214 -1.19292131 0.76128210 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.383518310618 pbc="F F F" +C 0.06650453 -0.32987649 -0.30945226 1.95498718 0.41597630 -3.72870233 +C -1.17138069 -0.52607555 0.49082822 0.94533818 -1.31308988 2.11063030 +O 0.99986895 0.80022730 -0.09746749 -0.52217524 -1.04294022 -0.13925773 +H 0.76112516 -1.25990399 -0.53507053 -1.45067701 0.85359672 0.81736282 +H -0.39851205 -0.09298409 -1.33190875 0.61153108 -0.40911202 0.37622760 +H -1.16463436 -1.42086000 1.14846132 0.40878220 0.02115767 0.23385739 +H -1.44757977 0.27963731 1.14246761 -0.04776972 1.23678429 0.60832126 +H -2.01457469 -0.72397495 -0.11454791 -1.35901566 -0.09051006 -1.37613129 +H 1.55770102 0.71388348 -0.92355615 -0.54100096 0.32813725 1.09769204 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6548453792375 pbc="F F F" +C -0.35830784 0.02065797 -0.49250924 2.73650192 -0.57107722 1.60432413 +C 0.36587448 1.27271610 0.13741571 0.07475140 -1.42441457 -2.77428681 +O -0.04658465 -1.13054608 0.37584618 -0.00636883 1.04623885 -0.43084324 +H -1.42056130 0.03655084 -0.54144139 -1.67448472 0.53989174 -0.58039197 +H 0.19543076 -0.08036025 -1.47659635 -1.01392351 -0.13179299 0.21100017 +H 1.39619374 0.90853576 -0.13736106 -0.04055048 0.88218076 0.88770257 +H 0.14192473 2.12943438 -0.57541870 0.12969677 -0.19450325 1.08056869 +H 0.23594237 1.41412471 1.21423114 -0.22455992 0.24771009 0.21380843 +H 0.09937100 -1.87617158 -0.21803228 0.01893736 -0.39423340 -0.21188191 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.774448672401 pbc="F F F" +C 0.20329667 -0.37776900 -0.39763888 -0.83029285 2.57950460 -1.80768128 +C -1.27461465 0.18349074 -0.28181519 0.63033711 0.00389260 -2.97066429 +O 1.04403097 0.19128468 0.60378530 0.29503506 -0.38284341 -1.48010175 +H 0.18429482 -1.48327174 -0.45193978 -0.01676458 -0.29229966 0.36114740 +H 0.54707139 -0.04767355 -1.47910527 0.06864997 -0.38032635 1.83452659 +H -1.52136011 1.28798685 -0.38122509 0.98625715 -0.64284219 0.58713001 +H -1.89063495 -0.20648927 -1.14616220 0.41323931 -0.15548587 0.27324377 +H -1.72586226 -0.27048493 0.54420217 -1.19378026 -0.56929010 2.24446326 +H 0.59913433 -0.00286265 1.42655877 -0.35268091 -0.16030967 0.95793633 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.781732968315 pbc="F F F" +C -0.50702935 0.10379882 0.33239913 1.57013127 -0.03224715 -0.18011221 +C 0.13866234 1.11778224 -0.62666471 -0.09671593 0.33244226 0.25220129 +O 0.33184899 -1.07663564 0.31490841 -1.03092005 -0.87295548 -0.68849846 +H -0.46374656 0.48242226 1.36813719 -0.36344983 0.02788049 0.25426995 +H -1.53108019 -0.13090409 0.01006357 -0.48267835 0.03711281 0.20896401 +H 1.21760756 1.08234216 -0.49070291 0.79203595 -0.23829537 0.47571744 +H 0.03520274 0.59927904 -1.60883314 -0.33414058 1.15018925 -0.39625418 +H -0.06020979 2.24661262 -0.45783854 -0.58681917 -1.44692818 -0.77638466 +H -0.07683015 -1.74788648 -0.31298832 0.53255669 1.04280138 0.85009678 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.314402173969 pbc="F F F" +C 0.12715839 0.67753175 0.08933266 -0.38409805 -5.35314663 -1.31225180 +C -0.83469715 -0.03666194 -1.01626563 1.22569471 0.27526816 3.46205765 +O 0.69987776 -0.51654070 0.84015247 -1.50710405 -0.40014699 0.32990108 +H 1.05187555 1.07021088 -0.31308833 0.41056937 0.77069404 -0.44848446 +H -0.44021477 1.37596459 0.68215171 -0.45277877 0.67110150 0.80317485 +H -1.31803982 0.62162144 -1.64947457 -1.05994525 2.20409862 -2.05340267 +H -0.32107613 -0.80090427 -1.61868781 0.06572847 -0.28611888 0.31266399 +H -1.69825411 -0.37224839 -0.37662305 0.50698880 -0.67983004 -0.42443194 +H 0.04639753 -1.33356508 0.98508811 1.19494477 2.79808017 -0.66922675 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.48343326743 pbc="F F F" +C 0.11494842 -0.37981244 -0.32595040 2.67584443 4.88482137 -1.00209895 +C -1.30793741 0.14322970 -0.41082565 1.15943988 1.37879377 0.67302772 +O 1.06464061 0.13394148 0.69679929 -0.82928240 2.38721044 -0.08278965 +H 0.34434731 -1.35713484 -0.11342587 -0.38214026 -3.59263873 -0.19195863 +H 0.65920276 0.00826080 -1.27868669 -0.92545393 -1.25886642 0.42757301 +H -1.26797455 1.28310298 -0.60760822 -0.18500358 -1.27379461 0.43327134 +H -1.73739492 -0.29471796 -1.29673119 -0.72359208 -0.49048021 -0.75570908 +H -1.89216452 -0.08875739 0.48939448 -0.34053630 0.06309551 0.17755407 +H 1.20932501 1.14078454 0.52599466 -0.44927580 -2.09814111 0.32113017 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.697588638647 pbc="F F F" +C 0.12150046 0.35866997 0.35074267 -0.21517127 3.79629876 1.29953877 +C -0.83412099 0.61887788 -0.80518460 1.65944104 -0.64767031 -0.74280224 +O 0.59459507 -0.90827769 0.40954089 2.45874786 -2.40244434 0.86242291 +H 0.99428083 1.03958727 0.13377490 -0.32059528 0.23858154 0.43121503 +H -0.38314337 0.73240624 1.35931655 0.78543017 -0.47631096 -1.16838305 +H -0.87081216 1.65083437 -1.21907966 0.35040960 -0.13388479 0.26887238 +H -0.41484806 -0.09944504 -1.54590339 -0.35963924 0.35753567 -0.52690555 +H -1.82744146 0.32631262 -0.60992301 -1.92642767 -0.67038488 0.44493619 +H 1.55439789 -0.88231634 0.79619171 -2.43219520 -0.06172069 -0.86889443 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.911574292188 pbc="F F F" +C 0.35450746 0.28667261 0.29044376 1.50911239 0.41965030 -1.97343830 +C -0.61510255 0.92480808 -0.74663482 -0.90661314 1.34836265 3.86578784 +O 0.29314635 -1.11312836 0.38386207 -0.88074845 -0.64878062 0.64499040 +H 1.42801399 0.55814087 -0.07571665 -1.11989419 -0.54848540 0.50565800 +H 0.27899076 0.77745415 1.26672873 -0.31441892 0.37160300 0.53517911 +H -0.63131451 0.53278397 -1.71291598 0.76162452 -0.82044547 -2.36154033 +H -1.66126564 0.67464479 -0.38850904 0.36087245 0.52459459 -0.05093362 +H -0.46381421 2.06303423 -0.68737816 -0.33894684 -1.14743709 -0.42462791 +H -0.49954504 -1.37457330 0.94062023 0.92901213 0.50093802 -0.74107523 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.677376389942 pbc="F F F" +C 0.27791767 0.15856797 -0.43658086 2.77091599 0.33602185 0.33121615 +C -1.17918594 0.06032162 -0.50929823 -1.56173024 -2.03636818 3.08641324 +O 0.87366794 -0.18546341 0.82778845 -1.25401382 -0.78836909 0.61055503 +H 0.90091338 -0.29649192 -1.28801198 -0.95570287 -0.51822222 0.60555866 +H 0.55502441 1.20205128 -0.65176871 -0.01848994 0.78701484 0.32477065 +H -1.50651673 0.62867492 -1.33092830 -1.21029935 1.00920960 -1.48964610 +H -1.55960765 -0.99861316 -0.54458599 0.21932124 0.29315060 -0.49356461 +H -1.68206141 0.38274923 0.51235464 0.86485666 0.23126587 -1.69457713 +H 0.16279885 -0.58424936 1.43432852 1.14514233 0.68629673 -1.28072595 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.072485489699 pbc="F F F" +C 0.11651164 0.54849014 0.13130747 2.33483063 -5.14045518 0.05893680 +C -1.11492372 -0.06706064 0.72439214 0.54727003 -1.71598723 1.83513393 +O 0.90711500 -0.39372686 -0.76084272 -1.17695239 0.19966747 -0.90953216 +H 0.26694338 1.50020615 -0.19743644 -0.76284302 3.67455940 -1.73211118 +H 0.83901299 0.55296133 0.95928140 0.27018514 -0.07963074 0.45899077 +H -1.12515931 0.32583736 1.84591854 -0.58391367 -0.91410297 -1.83276425 +H -2.08327027 0.05244773 0.22841506 -0.37767297 0.35629588 -0.21076420 +H -0.88674246 -1.26630044 0.70620933 -0.45930022 2.55520160 0.37912436 +H 0.48642309 -0.65363747 -1.66184363 0.20839647 1.06445172 1.95298594 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.886726324717 pbc="F F F" +C -0.13606815 0.14274162 -0.58533762 1.76971780 1.04361503 0.80621014 +C -1.17690941 -0.37787371 0.40599537 -0.02407119 -0.51819378 -0.04235123 +O 1.17761638 0.26984397 0.13015257 -1.51472357 1.28821275 -1.04063188 +H 0.04752384 -0.53805107 -1.47098104 -0.53186562 0.55731220 0.24025856 +H -0.36710517 1.24506245 -0.86560389 0.28164275 -1.55913101 -0.17489632 +H -0.59534705 -1.11917653 1.02967771 -0.72917184 0.25222716 -0.08426583 +H -1.53883974 0.46132632 1.06386675 0.10387769 -0.61536403 -0.24155399 +H -2.04632124 -0.92598826 -0.08231453 0.55542388 0.55562180 0.38504139 +H 1.45191888 -0.60615081 0.39645347 0.08917010 -1.00430013 0.15218915 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.400666982552 pbc="F F F" +C 0.08384095 -0.65881871 0.06662431 1.19483843 2.76007118 -2.59780896 +C -0.76847941 0.12991569 -0.90843616 -1.42001099 0.88817678 -0.33544901 +O 0.59559929 0.48953679 0.76177281 3.14628170 -2.34217200 1.66522170 +H -0.51446815 -1.26422527 0.69408881 -0.98686352 -1.45939783 1.07744413 +H 0.92392052 -1.26562581 -0.45421444 -0.92062314 0.50965864 0.57515345 +H -0.26025557 1.09794020 -1.36167012 -0.63079132 -1.92901430 0.81558881 +H -1.19921090 -0.49920848 -1.67672498 -0.26366564 -0.40974590 -1.03479733 +H -1.69197389 0.45505136 -0.31395778 0.89099903 0.13204141 -0.52911639 +H 1.44504471 0.00642532 1.05168296 -1.01016456 1.85038202 0.36376360 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742008725031 pbc="F F F" +C -0.22570922 -0.50530343 0.05829904 0.20718316 0.28107361 1.39465656 +C -0.87636437 0.78044675 0.61984482 0.24253291 -3.87720467 3.28864461 +O 0.98276030 -0.22094229 -0.67269997 -0.73273709 -0.00963182 0.50671128 +H -0.09369301 -1.13197052 1.00755668 0.32984843 -0.04237951 -1.06776341 +H -0.90688439 -1.03476968 -0.61289824 -0.49822910 -0.33073988 -0.31226033 +H -1.00386875 1.40809302 -0.14532864 -0.39760576 3.61904819 -3.29002107 +H -1.87579032 0.58093096 1.08554378 0.16712732 -0.21932880 -0.36423489 +H -0.27330460 1.10643799 1.48191578 0.31650733 0.69626315 -0.26198501 +H 1.68524239 -0.70175575 -0.21959762 0.36537281 -0.11710021 0.10625226 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6985090036405 pbc="F F F" +C 0.46901025 -0.15160055 -0.24321497 -1.10845026 0.06861207 0.60685696 +C -0.31397684 1.05639709 -0.75275454 -0.23174410 -2.10007047 -1.78989227 +O -0.12507862 -0.88108459 0.87820343 0.34272045 1.53207903 0.05989613 +H 0.51231943 -0.90942640 -1.04704090 0.56322471 0.03122673 0.03925299 +H 1.37742808 0.36153639 0.03064040 1.79037256 -0.67520236 0.27073602 +H -0.15597208 1.95561656 -0.26497135 0.52643175 2.29012864 1.80316015 +H -0.15612040 1.30762014 -1.82806426 0.13904680 -0.41839406 0.08162088 +H -1.32290502 0.75461282 -0.63517683 -2.02806254 -0.04625324 -0.04244291 +H -0.11771195 -0.26731569 1.67262750 0.00646062 -0.68212634 -1.02918800 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.433427240836 pbc="F F F" +C -0.25563974 -0.47363527 0.05251458 0.07949890 2.55281325 1.11770284 +C -0.94574019 0.97081940 0.37730384 -1.10411913 -2.19378176 -0.21526795 +O 1.09883329 -0.42456527 -0.47967161 -1.53401117 -0.01283305 0.16117233 +H -0.13127491 -0.97670150 1.03621246 -0.57259885 -0.01614499 0.10191116 +H -0.98103384 -1.03977172 -0.51405743 -0.34597506 -0.72914284 -0.96573979 +H -1.65510380 0.76164208 1.23655876 -0.12954261 -0.12688697 -0.77048346 +H -0.23155152 1.54185975 0.95071356 0.90690727 1.18541816 -0.36321884 +H -1.57996037 1.47081558 -0.46825098 1.45824891 -0.53724185 1.15622954 +H 1.45149976 -0.94455369 0.25107297 1.24159174 -0.12219995 -0.22230583 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.886248373792 pbc="F F F" +C -0.26966110 -0.55879471 0.02425068 1.14789608 2.43877388 -0.07508647 +C -0.87750365 0.76468932 0.41154766 -0.19330558 0.17177351 0.28403521 +O 1.04797791 -0.25863866 -0.43523644 0.43852879 -0.37786369 0.28324398 +H -0.36404150 -1.30981758 0.78041886 0.35246437 -0.95454952 1.47347740 +H -0.78736238 -0.96292440 -0.79664396 -1.08427668 -0.78785348 -1.87112785 +H -1.90475806 0.76189581 0.70728916 -1.68313736 -0.49332262 0.10059172 +H -0.45756974 1.19213535 1.33255985 0.83024358 0.21864211 0.13182580 +H -0.82116148 1.47779270 -0.42180243 0.29348942 0.24535881 -0.16960864 +H 1.36868172 0.49142588 0.11383495 -0.10190262 -0.46095900 -0.15735116 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.286964287264 pbc="F F F" +C -0.02798172 0.02248395 -0.66801572 0.68283067 -1.36200477 3.45634610 +C 0.83056156 0.94116805 0.22382606 -1.87531618 1.83831254 -0.51918216 +O -0.69233032 -0.91692789 0.34919013 -0.13947699 0.28507111 -1.54220106 +H -0.62712193 0.73026328 -1.24018698 -0.97634369 -0.54197603 -0.82025772 +H 0.68950590 -0.67176151 -1.21541011 -1.16109515 0.62942354 -0.08209941 +H 0.61757376 2.04235571 0.04530042 0.64446383 -0.57149760 -0.50897868 +H 0.43526564 0.89288542 1.23608938 0.19033487 -0.62569992 0.76179925 +H 1.86068805 0.70627788 0.15754441 1.73689457 -0.11231261 0.22075391 +H -1.55089904 -0.62974989 0.76684251 0.89770807 0.46068374 -0.96618027 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.531675834135 pbc="F F F" +C 0.08075136 -0.17229934 0.52589938 1.43345308 2.87631089 1.03812166 +C -1.18406160 0.24563598 -0.01000913 -3.27726428 0.53128692 0.20512145 +O 1.04018874 -0.12416129 -0.43322485 2.59350616 0.84031239 -3.22217200 +H 0.44798529 0.45866929 1.40162717 -0.66819189 -0.63785131 0.11578324 +H -0.12455751 -1.17413169 0.75351095 0.46116571 -2.32694459 1.25475163 +H -1.92266223 0.44508060 0.78975153 -0.32484285 -0.42329608 0.17417168 +H -1.25703768 1.16045523 -0.57006884 0.59843428 1.21129257 -0.74140705 +H -1.55232981 -0.54505629 -0.66838314 -0.45758699 -0.26843180 -0.35593613 +H 1.04345669 0.75045457 -0.97709402 -0.35867318 -1.80267904 1.53156558 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.588618755016 pbc="F F F" +C 0.43080895 0.06096244 -0.46014763 -2.76292701 -0.43538268 0.88385661 +C -0.72118530 1.03334643 -0.15536728 2.57211093 2.06481019 2.48599550 +O 0.33481498 -0.98732693 0.51838725 0.28669743 -1.09366929 0.63095109 +H 0.28846308 -0.35531769 -1.45947363 0.42676604 -0.13890991 -0.83716870 +H 1.37101100 0.61718146 -0.35335567 0.50135572 -0.37638495 0.13488757 +H -1.69319072 0.72014854 -0.37447644 -2.14207444 -0.71732769 -1.25847695 +H -0.73413887 0.96803538 0.98596809 0.05678078 0.45247410 -0.71658418 +H -0.53752878 2.15282061 -0.36177129 -0.32596812 -1.28903262 -0.24092160 +H -0.55009565 -1.47204611 0.66908737 1.38725872 1.53342290 -1.08253934 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.644067185039 pbc="F F F" +C -0.14250418 0.45643859 0.24964324 -2.57928533 -0.87498645 -0.15323363 +C -0.70552608 0.01403359 -1.13049579 1.56692397 1.39917815 1.55079929 +O 0.75922273 -0.46565854 0.75075790 0.27264255 -1.85685267 -2.40355089 +H 0.35466898 1.40110846 0.14573430 0.29404267 1.62310851 -0.25146740 +H -0.99702167 0.54604967 0.98965135 0.15330316 0.38322835 -0.31343702 +H -1.27112332 0.90778609 -1.50084166 -0.31575754 -0.88637716 -0.16603969 +H 0.28157766 0.02882987 -1.62787851 -0.30036835 -0.73458766 -1.03785648 +H -1.17642520 -0.98628259 -1.01919282 -0.11715220 0.36308843 -0.52238144 +H 0.86111624 -0.11361059 1.59178783 1.02565104 0.58420055 3.29716725 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.598555524474 pbc="F F F" +C -0.57072548 0.00241983 0.03543707 0.79173179 -1.06802535 -1.53554617 +C 0.27793852 1.25518815 0.05514422 -3.25470068 2.60836077 0.51820519 +O 0.24309440 -1.16406224 -0.03570784 1.22221230 -1.07483137 -1.01784486 +H -1.07731447 0.04269134 0.99689252 -0.76335765 -0.75018316 0.43871720 +H -1.28143515 -0.18498990 -0.82463091 -0.18311398 1.24792581 0.53480213 +H 1.25131948 1.15118348 -0.28415870 2.48019972 -0.49804409 -1.35987584 +H -0.25794015 2.11505647 -0.50148824 0.76065444 -0.83738035 0.43754092 +H 0.38739795 1.65241026 1.09551953 -0.05517785 -0.23251579 -0.16580047 +H 0.60713167 -1.28603166 -0.99470496 -0.99844809 0.60469338 2.14980190 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.694061425588 pbc="F F F" +C 0.14879080 0.48821793 0.06364589 0.66843053 0.57303342 -1.34558704 +C -1.31287239 0.07781538 0.19944525 -0.60931376 0.91786995 -0.02436322 +O 1.04328270 -0.56215206 -0.19747696 0.42596720 -1.25635409 0.11679435 +H 0.20253591 1.18188427 -0.77539077 -0.21979818 0.52796829 -0.98456726 +H 0.52914427 1.18103665 0.81927754 -0.01389836 -0.02549039 1.38191946 +H -1.79558888 0.53098770 1.07371512 0.16776336 -0.17314118 0.85654001 +H -1.93630705 0.60225807 -0.56815637 0.29427335 -0.68768255 -0.35147223 +H -1.50553349 -1.00465849 0.21080263 0.13911653 -0.18908748 -0.12701696 +H 1.81564915 -0.31466494 -0.76064093 -0.85254061 0.31288408 0.47775293 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.613026794997 pbc="F F F" +C -0.25961674 -0.44125265 0.19855004 -0.77514009 -3.00104826 1.59448251 +C -0.93440503 0.90368804 0.08655493 -0.08982337 -0.46229705 2.11038353 +O 1.08262616 -0.37455586 -0.26701327 -0.89924759 1.77006279 0.07847663 +H -0.20383911 -0.78523002 1.33214706 -0.38647792 0.57925426 -1.37033715 +H -0.85226984 -1.37180177 -0.26756971 0.82153022 1.69814947 0.25608530 +H -1.98952516 1.04950691 -0.11945341 -0.84275309 -0.74601221 -0.20063183 +H -0.76948438 1.40467240 1.06045402 0.12228963 0.44339820 -0.18119136 +H -0.41136931 1.39958129 -0.66618895 1.25707925 1.50480559 -1.75278363 +H 1.26864445 -1.26318689 -0.49832528 0.79254302 -1.78631283 -0.53448399 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.511711371206 pbc="F F F" +C 0.10856810 -0.16588754 -0.49999996 0.79787462 -0.32099303 1.11387858 +C -0.42825633 1.33234898 -0.20541837 0.78463940 -2.34721867 0.23810521 +O 0.33094148 -1.04096700 0.64726217 -2.26384064 -0.77941275 0.60014607 +H -0.53887842 -0.76450296 -1.18827367 0.04068284 0.75620977 -0.32218088 +H 1.18859414 -0.22977812 -0.85479980 -0.99577337 1.00187835 -0.58011651 +H -0.36878632 1.92206104 -1.07643806 -0.05672246 0.67497065 -2.37972529 +H -1.49464224 1.38817881 0.07400626 0.07210774 -0.16082904 0.58568973 +H 0.26678313 1.94692063 0.38541698 -0.05918877 -0.41221333 1.06963887 +H -0.49778204 -1.64038515 0.79168499 1.68022065 1.58760809 -0.32543585 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.501539095767 pbc="F F F" +C 0.13012000 -0.19029613 -0.50965519 -2.89019547 0.37435892 0.77519537 +C -0.41928094 1.27086297 -0.25849011 -1.98687006 -0.12155954 2.23451083 +O 0.34698182 -0.97762990 0.71103812 -0.12805152 0.67650174 -1.47726700 +H -0.78056617 -0.71325901 -1.07456504 1.93079340 0.83663921 0.35464688 +H 0.98124007 -0.00494939 -1.17073971 0.87399184 -0.90797084 -0.10935132 +H -0.33185513 1.91734242 -1.14279057 -0.10029527 -0.09559288 -0.51799226 +H -1.57914188 1.15182085 0.01679125 2.00621828 0.53074205 -0.50732063 +H 0.00316347 1.94680005 0.60302883 -0.13740736 -1.50433194 -1.03295560 +H -0.35593211 -1.65710605 0.63499298 0.43181615 0.21121326 0.28053373 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.695161414594 pbc="F F F" +C 0.01124511 0.41674103 0.29295708 3.10592524 2.87023085 -1.82568580 +C -1.22403151 0.04529268 -0.30231300 -3.09784750 -2.43483768 -1.91293667 +O 1.13014169 -0.41988671 0.09025150 -0.15935101 -0.40887244 -1.20761352 +H 0.17668555 1.47308054 -0.18893966 0.39731697 -0.74486524 0.78200180 +H -0.02927269 0.62287611 1.32557499 -0.27374185 0.06752434 2.09155739 +H -2.07835797 0.60774793 0.10670595 -0.23129678 -0.01900689 0.06575974 +H -1.30886978 0.08331536 -1.41782706 0.45257365 0.82067440 0.05761551 +H -1.40770227 -1.04811819 -0.25160512 -0.31910898 -0.22867888 0.92905260 +H 1.15904325 -0.58102030 -0.89501823 0.12553019 0.07783159 1.02024889 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.664993548105 pbc="F F F" +C 0.07325527 -0.35204228 0.49668051 0.29352762 1.28786097 -2.84538457 +C -1.16176309 0.60400844 0.26591515 1.36162024 -0.55731796 2.78597001 +O 0.95205240 -0.19965200 -0.69304445 -0.91880907 0.43427006 0.73533539 +H 0.76803240 -0.23252251 1.34541215 -0.67949724 0.14815509 0.75468084 +H -0.31143036 -1.36347358 0.37543554 -0.31491546 -0.82944377 0.74508091 +H -2.01956890 0.00056435 0.62122060 -0.35835647 0.62403657 0.15883314 +H -1.08935778 1.64330798 0.71730098 -0.09222987 -0.92951448 -0.06521934 +H -1.24464536 0.73103321 -0.77528756 -0.17072043 0.09790594 -2.08681926 +H 1.75445810 -0.61371102 -0.37028964 0.87938078 -0.27595243 -0.18247717 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.547557975149 pbc="F F F" +C -0.38306654 0.15427663 0.42471816 1.75385820 -0.08427441 -3.06856149 +C 0.03455125 1.03263180 -0.76720901 0.95004783 0.25341717 -1.31113635 +O 0.30772396 -1.09919676 0.41094366 -0.65715378 1.32141275 2.33706533 +H -0.04170590 0.69792344 1.23253776 0.69585275 1.05371227 2.93885079 +H -1.46460573 0.21889941 0.36351430 -1.09913849 -0.87125429 0.40713587 +H 1.08797518 1.16360182 -1.10872184 0.58758078 -0.69402192 1.12550485 +H -0.32010174 0.58108025 -1.69062847 -0.92592491 -0.17355549 -0.76405678 +H -0.21114236 2.10786423 -0.79636413 -0.98093064 0.07729952 0.45771833 +H 0.21691480 -1.46622056 -0.44224599 -0.32419174 -0.88273566 -2.12252053 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.666911453356 pbc="F F F" +C 0.53432442 0.17907356 -0.12373586 -1.27463058 1.13385554 3.18498715 +C -0.74323011 1.02960991 -0.36600531 1.89118832 2.01887799 2.14415894 +O 0.15418097 -1.09265115 0.46581901 1.24763728 0.31069458 -0.81876993 +H 1.06950721 -0.02643754 -1.01313982 0.74541001 0.04748186 -1.92957526 +H 1.27445132 0.70168278 0.58280096 -0.58269553 -0.13343444 -0.53663009 +H -1.26272069 0.50512634 -1.06163108 -2.41659847 -1.96561140 -2.59922060 +H -1.43275586 1.27557445 0.49058045 0.69115776 -0.75557209 0.03237246 +H -0.60514373 2.04973898 -0.79980672 0.65317905 -0.29826416 -0.06905646 +H 0.99763995 -1.56591059 0.24287883 -0.95464784 -0.35802793 0.59173383 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.521747629572 pbc="F F F" +C -0.26163134 -0.46099853 -0.35446586 0.13261343 -1.02158638 2.76984991 +C -0.91269492 0.37946561 0.70484411 0.74797952 -0.15164937 1.56993705 +O 1.06678306 0.06919965 -0.30950472 -0.47569657 -0.43582975 -0.01518700 +H -0.33067223 -1.47463197 0.23069644 0.38865832 0.39462009 -1.84424804 +H -0.77783484 -0.45182574 -1.34660161 0.28158557 -0.09551343 0.20413070 +H -1.92476896 0.21397014 0.95567091 -2.08680126 -0.91129239 0.03869661 +H -0.38598022 0.18664808 1.72932972 -0.31269628 0.74632547 -1.57816720 +H -0.91176867 1.39301765 0.36609000 0.48850863 1.62131815 0.10411711 +H 1.38997139 0.00444372 -1.19744143 0.83584864 -0.14639239 -1.24912909 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.440224336809 pbc="F F F" +C 0.14058237 0.30823281 0.48340829 -0.84228360 -1.32696191 -3.60802787 +C -0.47735073 0.94192475 -0.89489198 -2.35047821 -0.90948085 2.52667941 +O 0.35423065 -1.12680046 0.45458380 -0.93126519 -0.21384947 -1.61984634 +H 1.11272835 0.65612704 0.75049896 1.10600364 1.36876292 0.32145393 +H -0.62862700 0.56625977 1.17651982 -0.70780524 0.28793516 1.50470901 +H -0.22647087 0.50593402 -1.82325849 1.36390199 -1.10518572 -1.52307508 +H -1.65994279 0.72419650 -0.93226300 2.03587190 0.66135218 0.48768804 +H -0.31523560 2.01708946 -1.02075564 0.00424119 0.47803103 0.31222356 +H 0.10668698 -1.48197665 -0.46324127 0.32181352 0.75939661 1.59819539 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7680096371105 pbc="F F F" +C 0.12296829 -0.59895592 0.01490652 -0.22479265 2.15033355 0.00311505 +C -1.03763655 0.06464421 -0.74192060 0.79332186 0.14606231 0.24189847 +O 0.87345501 0.43051740 0.69222024 0.04643805 1.97180189 -1.85312508 +H -0.30438259 -1.09960280 0.87748048 -0.37520281 -1.24176910 0.19682912 +H 0.67593901 -1.30038794 -0.67118052 0.26020935 0.32879042 0.39877721 +H -0.75513629 0.79481519 -1.56676311 0.01675388 -0.78090662 0.46561460 +H -1.60498237 -0.77375262 -1.10061328 -1.05229143 -0.55771525 -0.97337427 +H -1.65783716 0.60526048 -0.01479830 -0.22896149 0.24890328 0.17006778 +H 0.68000563 1.30531185 0.15117235 0.76452524 -2.26550055 1.35019713 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.689856688431 pbc="F F F" +C -0.38592863 0.32816403 -0.31588611 0.57121889 0.20524193 0.50796886 +C -0.50567648 0.02526376 1.25391802 -0.05239987 0.61124018 -2.81664868 +O 0.82739685 -0.33865339 -0.81398045 -0.81387074 0.79255012 -1.18618378 +H -1.34333087 -0.00923156 -0.80249583 0.45415431 -0.23716218 -0.12085865 +H -0.41557083 1.51519450 -0.46519072 0.41508531 -1.84800684 0.25307773 +H -1.51807058 0.27493176 1.51404140 -1.00363941 0.76789796 0.53273779 +H -0.42239815 -0.99927563 1.58012594 0.51560931 -1.12246041 -0.27584434 +H 0.21828194 0.63826039 1.74785013 0.73376249 0.65680159 0.91584736 +H 0.97097019 -0.25728669 -1.83139090 -0.81992029 0.17389765 2.18990376 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.182326897519 pbc="F F F" +C 0.25464056 -0.05816536 0.52140859 -0.80082871 2.67141288 -2.01210220 +C -1.25093807 0.26833487 0.34641489 0.66580698 -3.10555192 -1.67621081 +O 0.93834093 -0.25963943 -0.71413583 -0.44629013 -0.61976211 -0.32466174 +H 0.54936686 0.91654411 0.84244283 1.37259571 1.13878774 1.53788577 +H 0.63619470 -0.83978659 1.11740746 -0.11447080 -1.39435486 1.59850412 +H -1.87750848 0.60149091 1.18276192 -0.23676490 -0.88296978 0.46787609 +H -1.39088555 1.03735338 -0.36460656 0.60403559 2.34298108 -1.01068948 +H -1.53705197 -0.50421391 -0.44959318 -1.07733727 -0.33040656 1.60092148 +H 0.59623392 0.40406550 -1.33373290 0.03325348 0.17986354 -0.18152324 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639384543871 pbc="F F F" +C 0.26310413 0.46820941 -0.12019032 1.43489475 -1.77122431 -0.79315376 +C -1.03549696 0.09511818 -0.83685296 0.44831585 -0.44669354 1.51894182 +O 0.66403540 -0.54647546 0.87208492 0.79972916 1.80130350 0.39095046 +H 0.98565250 0.58955910 -1.03824600 -0.22107736 -0.84927191 1.09735414 +H 0.38467068 1.48045064 0.22484003 -0.72604260 1.13295015 1.07926612 +H -1.11074596 0.84037219 -1.58071173 -0.49483550 1.25384881 -1.59641346 +H -0.88575594 -0.86329368 -1.33398081 0.03480174 -0.55465774 -0.26219178 +H -2.00083040 0.04600627 -0.29743286 0.20022267 0.09974953 0.48023606 +H 1.28944305 -0.13285023 1.58681892 -1.47600871 -0.66600444 -1.91498960 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.552266338894 pbc="F F F" +C 0.09255293 0.01692318 0.49321040 -1.55847887 2.62680499 0.71024435 +C -1.20735594 0.48067572 -0.13330251 0.07584777 0.36717968 -2.04309336 +O 1.05494584 -0.50007234 -0.27409526 2.64064093 -0.98230449 -3.78514058 +H 0.41930689 0.97141248 1.05656009 0.05753534 -0.99908973 0.14790219 +H -0.17060863 -0.79283015 1.15272147 -0.23390038 -0.51693656 1.35154814 +H -1.95951815 0.60838869 0.59669175 -1.56267821 -0.65441334 1.56292940 +H -1.26313205 1.52466994 -0.47528191 0.93799547 0.51177594 -0.56220918 +H -1.59269688 -0.09276257 -1.01705626 0.11443927 -0.30432595 0.56547386 +H 1.10420772 -0.21197895 -1.25151429 -0.47140138 -0.04869049 2.05234517 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.512207566744 pbc="F F F" +C 0.04594396 -0.33213838 0.45658107 1.50504917 3.92954438 -3.07185071 +C -1.14364680 0.65029155 0.25057771 -1.56439313 -1.22160300 1.76384365 +O 1.01542924 -0.35039869 -0.64680620 -0.43449468 0.25774598 0.10510375 +H 0.65129486 -0.04861467 1.29504607 0.08652470 -0.13101667 1.64072541 +H -0.44894868 -1.23982093 0.45951812 -0.52452579 -2.89472745 0.51534942 +H -2.00966264 0.08619888 -0.18166744 0.22168424 -0.11249665 0.10735429 +H -1.50936688 0.90131800 1.30911505 0.21564703 0.13202995 -1.00917674 +H -1.19196654 1.53498111 -0.37613398 1.09422331 0.85912402 -0.24763177 +H 1.46970306 0.53530325 -0.66545173 -0.59971485 -0.81860060 0.19628266 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.837905184388 pbc="F F F" +C 0.08382274 -0.09052843 -0.60098471 -1.22540021 1.17028351 0.99180122 +C 0.52712398 1.17577362 0.24611349 -1.29203140 -2.27307481 -0.82056564 +O -0.57900262 -1.00307281 0.27206890 -1.27541837 -0.18942048 -2.07229391 +H -0.64231634 0.29456604 -1.44265110 0.91911745 -0.84693457 1.17565120 +H 0.92684913 -0.61464592 -1.07757220 0.51020742 0.13992910 -0.33397289 +H 0.93296024 0.83652541 1.20979666 0.62451104 -0.03174326 0.11944820 +H 1.23547871 1.64743271 -0.39545794 1.05103359 1.38807782 -0.28586656 +H -0.37205429 1.75102504 0.49821047 -0.10674437 0.49413519 -0.18212554 +H -0.17128023 -0.92613747 1.11770109 0.79472486 0.14874752 1.40792392 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.811221432356 pbc="F F F" +C -0.47904858 0.03677344 -0.32385994 -0.37654353 0.10825834 -1.71751246 +C 0.43999111 1.21447298 0.04636290 -1.71265477 1.54625507 -1.87788594 +O 0.06897973 -1.12295673 0.28738141 -1.21298204 -1.08277747 -0.06346755 +H -1.62128882 0.21521111 -0.12816164 1.48304865 -0.08456531 0.25838870 +H -0.44698962 -0.00102235 -1.48872173 -0.02338774 -0.36689691 1.04207890 +H 1.48203058 0.98781127 -0.15465631 0.72681655 -0.58944596 0.38679838 +H 0.28915813 2.11105945 -0.73764914 -0.21152339 -1.41537657 1.70686233 +H 0.21553042 1.52130370 1.07718677 0.43686899 0.36097061 0.23744974 +H -0.54895813 -1.92072122 0.17697046 0.89035733 1.52357819 0.02728790 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742975252302 pbc="F F F" +C 0.15675429 -0.33646102 -0.39942704 0.30977381 -2.86676027 2.21657779 +C -1.29681126 0.16024793 -0.36554239 1.68075138 1.51595101 0.63758119 +O 1.05306771 0.11357327 0.70967454 -1.32046468 0.85149119 -1.66414030 +H 0.11979818 -1.56811499 -0.23121073 0.34309871 2.80219625 -0.56820139 +H 0.58896677 -0.10691165 -1.38742708 0.31388619 -0.14921767 -0.24695691 +H -1.30714991 1.16063052 -0.87342549 -0.40759501 -0.09564589 0.58761832 +H -1.94737920 -0.46531833 -0.91484945 -0.97039349 -1.24359844 -1.23648846 +H -1.71130145 0.16545771 0.65895869 0.14440236 0.35861630 0.14448314 +H 1.12536505 1.10973690 0.59847239 -0.09345927 -1.17303243 0.12952662 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.402598262802 pbc="F F F" +C -0.34279165 0.34051513 -0.24763944 0.50689218 2.89089404 -1.12564585 +C -0.53789492 0.00739693 1.18199849 -0.76564182 -0.11968294 0.20614202 +O 0.77684817 -0.38111637 -0.87830422 -2.76203967 0.44595892 0.48477848 +H -1.28100327 0.29126210 -0.82116162 -0.19288186 -1.23487375 -0.35484264 +H -0.32253733 1.51638287 -0.30177267 1.01126833 -1.18254577 -0.29220258 +H -1.49199808 0.44587177 1.58247715 -0.31119229 -1.18679853 -0.43861353 +H -0.29999197 -1.05783131 1.12530015 -0.81945611 -0.86478560 1.12966932 +H 0.09450184 0.46797320 1.92102153 1.61337832 0.47821260 0.25920570 +H 1.46318192 0.23869051 -0.69812370 1.71967295 0.77362098 0.13150909 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.817136467019 pbc="F F F" +C 0.24328527 -0.13458552 -0.45067071 0.91325049 1.45555547 -0.60804965 +C -0.53361623 1.23075366 -0.27853555 0.85623451 -1.63403056 3.04733816 +O 0.26023076 -0.97388577 0.70385021 -0.65939208 0.88142542 -0.49456502 +H -0.27181403 -0.49905350 -1.35584054 -0.12291836 -1.12551370 -0.10600991 +H 1.34444215 0.03978564 -0.80410166 -1.25109320 0.16089902 0.37834151 +H -0.60153680 1.78815847 -1.16154134 0.09298866 0.86755406 -2.30687727 +H -1.60716818 1.02178722 0.02771631 0.89140115 0.20262249 0.20781488 +H 0.03101816 1.91239596 0.43221039 -0.79958013 -0.50946154 -0.05528604 +H 0.43294029 -1.86776330 0.37836994 0.07910896 -0.29905061 -0.06270666 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.63287122496 pbc="F F F" +C -0.43211912 0.27747472 -0.29457116 3.16616873 0.50681865 -0.71626099 +C -0.52537261 -0.01060447 1.13535478 -0.21256001 0.75662593 0.96146569 +O 0.83907957 -0.20671232 -0.80666015 -0.73312337 2.49788727 -1.77050291 +H -1.12169096 -0.19396734 -0.93350612 -2.21529295 -0.43754452 -0.94634220 +H -0.40249710 1.37365595 -0.37205804 -0.28318813 0.35702304 -0.67087740 +H -1.36961181 0.64562515 1.52132764 0.64231264 -1.01476869 0.49295392 +H -0.58957541 -1.08598927 1.27027675 -0.70693364 -0.75609701 0.60867679 +H 0.48285281 0.25366603 1.54434648 -0.52432900 0.38233279 0.31798258 +H 1.09007080 -0.89331941 -0.24482555 0.86694573 -2.29227747 1.72290452 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614458544409 pbc="F F F" +C -0.35221710 -0.08625488 -0.40586328 3.14336535 0.54107748 -0.75994729 +C -0.81356320 0.46675096 0.84293542 -0.25002938 1.27930377 3.09833185 +O 1.07623412 -0.29670704 -0.39907529 0.28576325 -1.74072001 0.00465627 +H -0.96423530 -0.90997622 -0.65022108 -0.70523671 -2.12757398 -0.44681818 +H -0.41285249 0.56009088 -1.25303368 -1.06537953 1.41184814 -1.01846074 +H -1.87550679 0.39011165 0.79934215 -1.83731475 0.28851176 0.07979797 +H -0.58839877 -0.17257389 1.75972006 0.30047418 0.41772830 -0.82620279 +H -0.59148479 1.55393125 1.10628466 0.21204229 -0.95451733 -0.41719572 +H 1.23957007 -1.24736873 -0.63561343 -0.08368465 0.88434188 0.28583869 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.804627216205 pbc="F F F" +C -0.19617748 -0.11855645 -0.58584018 1.21106070 -1.31461454 0.54686858 +C -0.10345130 1.24993467 0.02699161 -2.70531036 0.65320286 -0.84082136 +O 0.20277559 -1.02591220 0.50835786 0.69400104 -0.26348669 -0.89011478 +H -1.16236083 -0.51282520 -0.93208315 -0.47978262 0.33427515 -0.10795408 +H 0.53263600 -0.20446070 -1.45640390 -0.55036132 0.05709291 0.44859826 +H -0.74084057 1.39144654 0.91942005 0.05995943 -0.38669286 0.17573172 +H 0.89653464 1.28193406 0.28056706 2.82466302 0.64737134 1.14959522 +H -0.33000343 2.13679044 -0.59530641 -0.00690151 -0.13674129 -0.51976760 +H 1.15471638 -1.29130649 0.37374402 -1.04732838 0.40959307 0.03786403 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.788406117016 pbc="F F F" +C -0.23511268 -0.19848445 -0.52731817 0.63210562 0.24876229 0.88063342 +C -0.21267027 1.27135971 -0.10166009 1.34313246 -1.06173983 -1.28251045 +O 0.34789684 -0.97198135 0.60761973 -2.18158707 1.21006965 -0.88811374 +H -1.27699690 -0.53037408 -0.81383498 0.61898568 -0.15484819 0.19712685 +H 0.48184134 -0.26248536 -1.37825938 -0.47632952 -0.44398678 -0.26697820 +H -0.77443276 1.29753979 0.80389407 -0.47759857 0.73271204 1.36923050 +H 0.87489106 1.51851480 -0.03185152 -0.39604690 0.16954199 0.72672081 +H -0.57790983 1.94333629 -0.87451318 -0.70084234 0.38803765 -0.41050586 +H 1.08514455 -1.32389064 0.14455414 1.63818063 -1.08854878 -0.32560333 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6078180695695 pbc="F F F" +C -0.29370379 -0.19557132 -0.44365028 0.97866077 0.06661273 0.52684462 +C -0.99341272 0.25673302 0.86555904 2.11693660 3.09854787 0.58319890 +O 1.14888156 -0.01545533 -0.38403194 -0.50022207 -0.46358101 0.27749252 +H -0.61956610 -1.25434145 -0.47253129 0.43148659 -0.30879468 -0.69347628 +H -0.59909502 0.31823893 -1.38200734 -0.64585768 0.04610262 0.23636319 +H -1.42054438 -0.61126737 1.34193829 -0.99289548 -0.35794185 0.48175907 +H -0.18713567 0.67300380 1.67080000 -1.30939931 -0.90512483 -1.78711348 +H -1.65454812 1.18397559 0.70020016 0.19415630 -1.37017019 0.31069216 +H 1.58067462 -0.79458960 -0.79002181 -0.27286572 0.19434929 0.06423924 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4210.006635089632 pbc="F F F" +C -0.31728034 -0.25319484 -0.40656920 -0.14784763 -0.49156341 1.88258309 +C -0.85794899 0.62017799 0.77660854 -0.79502182 -1.09351410 -1.12650912 +O 1.07109193 -0.31704515 -0.30862597 1.80303576 -0.32775020 -0.32024720 +H -0.75766091 -1.28956076 -0.34081508 -0.19501274 0.35699826 -0.22025214 +H -0.62364696 0.25622890 -1.31109971 -0.58643854 0.21582793 -1.07741801 +H -1.97015277 0.57044634 0.76994409 0.04858867 0.04485255 -0.12946640 +H -0.57365854 0.34070311 1.79342581 0.55685804 -0.40983475 0.27156114 +H -0.59185774 1.64771167 0.59475292 0.38686868 1.04991851 -0.00931156 +H 1.51828823 -0.86745875 -1.01669581 -1.07103046 0.65506527 0.72906020 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.621965762177 pbc="F F F" +C -0.34621042 -0.25375048 -0.41443610 0.40176966 1.00998654 0.78097856 +C -0.13735674 1.31117141 -0.19067743 0.05862781 -0.82799006 -1.16603676 +O 0.44456378 -0.96744453 0.54464605 0.61275024 0.34122057 -1.28619160 +H -1.40908844 -0.56253748 -0.51560788 -0.14971662 -0.01229574 0.50111805 +H 0.05667527 -0.45927174 -1.44461849 0.18208759 -0.08239519 0.50996671 +H 0.06821927 1.69397539 -1.18379438 0.06499083 0.46180710 -1.00993527 +H -0.83636456 2.07476508 0.18965162 -0.64416759 -0.66062019 0.64752571 +H 0.83274979 1.44754378 0.27871241 0.52720293 -0.09285784 0.70004360 +H -0.00767589 -1.43969362 1.24087599 -1.05354489 -0.13685524 0.32253101 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.274667137831 pbc="F F F" +C -0.26592061 -0.00762467 -0.53384094 1.94131786 -0.40438124 0.66014546 +C 0.22013785 1.26529629 0.20166463 -2.79692039 0.06733459 -1.41865118 +O 0.07440076 -1.10870875 0.29741206 0.13347804 -1.27923096 0.85841671 +H -1.29238724 -0.24865483 -0.79837496 -0.95605146 1.38947146 -0.59290142 +H 0.41541130 -0.00600986 -1.36644605 0.20523565 -0.45990212 -1.83793628 +H 1.15517070 1.14482272 0.67529075 1.72149093 -0.28499274 0.47006898 +H 0.03157668 2.27016133 -0.22844430 0.74571556 -0.27423056 -1.09008465 +H -0.52117945 1.38165479 0.92069406 -1.49527327 0.08271381 2.89277480 +H -0.42502029 -1.93105879 0.03459172 0.50100698 1.16321770 0.05816763 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.492625619784 pbc="F F F" +C 0.14561104 -0.34991256 -0.41047884 2.00333515 -1.10394856 2.25945989 +C -1.27272720 0.14787035 -0.31025051 0.82271735 2.49691698 -0.49446619 +O 1.03157425 0.19233795 0.60435241 0.06743615 -0.16888976 1.52387243 +H 0.19196940 -1.49228180 -0.48343318 -0.34491967 0.47979434 0.66268252 +H 0.85093535 -0.14128193 -1.22498628 -0.89946490 0.73165758 -1.26809324 +H -1.33690124 1.20621743 -0.73546665 -0.12287815 -0.97320401 -0.22562718 +H -1.85000584 -0.57026373 -0.84992283 -1.44067413 -0.47569914 -0.62789564 +H -1.66520790 0.38529770 0.70547876 0.32854930 -0.93280287 0.13325662 +H 0.86447937 -0.03468608 1.58349665 -0.41410109 -0.05382457 -1.96318921 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6512425346145 pbc="F F F" +C 0.16483481 0.48743169 -0.17867362 -1.61337498 -1.94978949 -0.81748402 +C -1.29236366 -0.05015758 -0.25376272 -1.06626836 1.89680233 -1.63752793 +O 1.07916941 -0.34269743 0.43330011 1.10957131 0.07214112 1.05748964 +H 0.43592204 0.67570230 -1.19664877 0.55102030 0.04419810 -1.78322926 +H 0.28191255 1.43165019 0.24284129 -0.26641806 2.45957668 1.46855173 +H -1.76720312 0.20430358 -1.30039387 0.66342742 0.18780491 1.53015045 +H -1.34224890 -1.11409452 -0.36179619 0.32687834 -1.57778797 0.34845247 +H -2.05842452 0.26580241 0.50224248 0.59345164 -0.08065481 -0.01939368 +H 0.75473333 -1.23569865 0.38877277 -0.29828761 -1.05229086 -0.14700951 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.805130044738 pbc="F F F" +C 0.14048073 -0.45094568 -0.34309789 0.43748662 2.35660597 0.46373363 +C -1.27396862 0.15690006 -0.28078831 1.49176890 -1.30964521 -1.72891715 +O 1.05130015 0.20357098 0.59819443 -0.83632877 0.92654778 -0.18206785 +H 0.18077140 -1.52604940 -0.24133233 0.14655216 -0.88331338 0.61434947 +H 0.55667023 -0.21185072 -1.33314225 -0.10821036 -0.26922622 -0.71972848 +H -1.10202471 1.17041045 -0.63433838 -0.71110675 0.88147509 0.17621241 +H -1.93659582 -0.38199680 -0.97019945 -0.10956904 0.03061136 -0.78813589 +H -1.79652785 0.00543804 0.62285043 -0.46356029 0.36408695 2.10782307 +H 0.91578548 1.21506465 0.49508492 0.15296742 -2.09714234 0.05673090 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.462550992672 pbc="F F F" +C 0.36043808 -0.26039926 -0.12204976 -1.55291547 -1.33853748 -1.36103217 +C 0.26460777 1.15539024 -0.68008024 2.17889183 0.08878634 -1.82463555 +O -0.59384854 -0.87096770 0.72362310 -1.31684441 1.42280284 0.54878817 +H 0.49945846 -1.05653150 -0.94749576 -0.14802864 1.24287138 0.39878626 +H 1.25145546 -0.28822446 0.39457062 3.12788617 -0.02755750 1.55205245 +H 0.20951882 2.10049961 -0.10768941 -0.16624676 -0.45481992 1.04944378 +H 1.39132506 1.24038545 -1.11824288 -2.33337255 0.10209391 0.23700925 +H -0.48747360 1.30082838 -1.47875229 0.08120529 -0.19975704 -0.29045911 +H -0.88699876 -0.13805869 1.32952602 0.12942454 -0.83588243 -0.30995307 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.736373258807 pbc="F F F" +C -0.28851384 -0.47549382 -0.21681634 -0.56739905 2.22985337 1.53180506 +C -0.89929425 0.74200723 0.66474688 -1.61523229 -1.11955491 -1.50335805 +O 1.09681552 -0.29065821 -0.40743052 0.45866516 0.24044944 -0.88110203 +H -0.43369087 -1.41297164 0.38055475 0.25802356 0.32452403 -0.13574200 +H -0.95864461 -0.57208787 -1.07245264 0.12083598 -0.17856899 -1.20694282 +H -1.99990797 0.50752775 0.94167606 1.08201751 0.45127051 -0.63039388 +H -0.39831491 0.59680675 1.57749286 1.15903524 0.41505589 1.98737790 +H -0.80495164 1.82794839 0.29745914 0.02598044 -1.35978395 0.06874716 +H 1.33839096 0.48920369 -0.99501554 -0.92192653 -1.00324546 0.76960857 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.87430585197 pbc="F F F" +C 0.07177341 -0.32569344 0.44815011 0.76381999 1.78257573 0.65218368 +C -1.33179064 0.06307988 -0.03752568 0.98559535 1.24366359 0.72455398 +O 1.13604057 0.18617503 -0.41482772 0.37501805 1.58378502 1.63868127 +H 0.27044408 -0.02231713 1.56499160 -0.51134230 -0.24564354 -1.48866877 +H 0.18034180 -1.37971562 0.42525590 0.17671918 -1.92687509 0.01983226 +H -1.65006703 -0.37722254 -0.98195581 0.24803045 -0.11440528 -0.68692829 +H -2.10517955 -0.19749770 0.68015692 -0.42282562 -0.27775837 0.69613598 +H -1.30855236 1.17939429 -0.08077989 -0.36977860 -0.21570205 -0.37413945 +H 1.59371071 0.96996006 0.08400698 -1.24523654 -1.82963995 -1.18165067 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.695768334541 pbc="F F F" +C 0.15715497 -0.46287074 -0.39557845 -0.33222459 2.20043804 3.89869138 +C -1.24476969 0.20745549 -0.36326856 0.36578387 -1.56125335 -1.05828226 +O 0.99212112 0.18590209 0.69276384 -0.83888455 -3.61193800 -0.07883452 +H 0.07821174 -1.54192260 -0.13141633 0.13648649 0.25532004 0.07114589 +H 0.72908155 -0.35785599 -1.26183484 0.89336763 0.19513199 -2.50480744 +H -1.19055240 1.32816998 -0.52177993 -0.19264871 -0.82441566 0.40386702 +H -1.82731450 -0.26896802 -1.22427712 0.13444375 0.63883841 0.66198946 +H -1.70577981 -0.17858473 0.59190183 0.00888131 0.94564497 -0.47289345 +H 1.12717403 1.11031957 0.59339927 -0.17520526 1.76223352 -0.92087608 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.398245298819 pbc="F F F" +C -0.45447815 0.04155424 -0.34081817 -2.67740787 -0.31153173 0.87485836 +C 0.45780481 1.21903600 0.05274047 0.73903506 1.36606064 -2.47254775 +O 0.02462994 -1.12731968 0.25735760 2.17278088 -0.36379723 1.26288583 +H -1.56909926 0.19109555 0.01953660 1.36808281 0.42899313 -0.42030110 +H -0.57697518 -0.16097295 -1.40094397 0.21050580 0.46672799 -1.21465835 +H 1.54299047 0.95788128 -0.16682541 -0.78965110 -0.02921072 0.81652818 +H 0.39572769 2.29834724 -0.45495919 -0.60535390 -2.17988633 -0.11371803 +H 0.21389745 1.56806256 1.02903506 0.34491751 -0.24756708 1.89771841 +H -0.43813114 -1.98285873 0.32178435 -0.76290915 0.87021134 -0.63076556 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740148031925 pbc="F F F" +C -0.31436700 -0.49696382 0.00392776 0.47731873 1.36871473 -3.34597570 +C -0.87224772 0.86291002 0.48146305 0.68732800 -0.86362901 -0.54822607 +O 1.05590815 -0.28919096 -0.45910210 0.02201852 -1.28564812 0.91822810 +H -0.27700812 -1.26789429 0.78865128 -0.69907748 -0.19658219 0.21078991 +H -0.87334036 -0.81393846 -0.98741151 0.18272841 -0.08159558 1.78994174 +H -1.93895832 0.73565070 0.65812043 -0.73333507 0.40867657 -0.15460023 +H -0.42059681 0.97834099 1.43710336 0.58017240 0.55496483 1.66435015 +H -0.55824755 1.79020316 -0.08938455 -0.50672444 -1.00663443 -0.14256849 +H 1.44614931 -1.19407500 -0.30354235 -0.01042907 1.10173319 -0.39193946 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.649928962487 pbc="F F F" +C -0.22895235 -0.13625717 -0.42208784 0.29512176 -3.39014912 -0.75394160 +C -0.23232269 1.32046678 -0.14208384 1.56717265 0.38271408 0.26949952 +O 0.35673855 -1.09773827 0.54409987 -1.07632318 1.29727846 -0.16653272 +H -1.26207469 -0.51074178 -0.75965462 0.80425929 0.19889171 0.83978130 +H 0.41328815 -0.41435684 -1.32638436 -0.65765000 1.08329766 0.10706576 +H -0.75995821 1.77809731 0.68574381 -1.01241006 -0.46305820 0.87398717 +H 0.82201790 1.64833803 0.10175988 -0.39749124 0.16293534 -0.84769362 +H -0.68481622 1.72262620 -1.04990772 0.31544685 0.88951812 -0.54250866 +H 1.30450581 -0.91180616 0.43446537 0.16187398 -0.16142805 0.22034279 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.3503205454035 pbc="F F F" +C -0.05810081 0.34622520 -0.31737901 -0.17757536 1.31086222 -0.23379702 +C -1.18238287 0.12362139 0.71321366 -2.72138002 -2.48557857 -1.03344627 +O 1.18887806 -0.37344325 -0.38399466 -1.04737733 -0.21498070 0.70165192 +H -0.55279182 0.43301252 -1.32193315 0.27127379 -0.24526749 0.09219336 +H 0.24576262 1.36933061 -0.06831527 0.53024727 0.52947871 -0.29433624 +H -1.77233963 0.84052845 1.30838732 0.84474492 1.50318209 -0.38567337 +H -2.14675487 -0.42639808 0.29116906 1.70019967 0.45373903 0.09487616 +H -0.92421343 -0.54225738 1.50280476 0.94366907 -1.23027318 1.15530559 +H 1.05956244 -1.34664765 -0.33362500 -0.34380201 0.37883788 -0.09677414 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.641110633672 pbc="F F F" +C -0.16414318 -0.17324314 -0.50802684 2.00092479 0.55669786 0.29608654 +C -0.18960705 1.30825177 -0.10933104 -2.70936643 -0.80004196 0.03250328 +O 0.28432126 -1.06344212 0.58441175 1.10367381 0.92499463 -1.62080547 +H -1.13736221 -0.36777807 -0.91466579 -1.61723919 -0.99111864 0.60070853 +H 0.36159350 -0.28837727 -1.47474644 1.06921490 -0.32689407 0.05275088 +H -0.98310024 1.27724576 0.71624885 1.11046693 0.84405062 -0.34390440 +H 0.72696591 1.79936968 0.11708159 1.50609407 0.22266291 0.99743986 +H -0.57865167 1.97708763 -0.92087908 -0.28059327 -0.51493048 0.01196911 +H 1.31174862 -1.04350315 0.55686934 -2.18317560 0.08457919 -0.02674833 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.809226147998 pbc="F F F" +C -0.06660720 -0.06821214 0.55554114 2.19452152 1.80649924 -0.84869640 +C -1.15674619 0.60542414 -0.28024991 2.19502504 -1.02824101 -2.05484789 +O 1.08297959 -0.54780966 -0.22977699 -2.09921959 -1.55356452 0.39768505 +H 0.35963499 0.69518829 1.26702585 -0.47699446 -0.43440875 0.19540838 +H -0.47615636 -0.92438420 1.09402291 -0.04057788 -0.44698906 0.33062238 +H -1.83460313 1.19220503 0.23362426 -2.21905906 1.00906202 2.11105453 +H -0.78186555 1.40535437 -0.97352352 0.48745566 -0.61704368 -0.03365323 +H -1.65261799 -0.16863913 -0.88345272 -0.35618229 0.04413228 -0.25843298 +H 1.77167268 0.09289390 -0.37075668 0.31503100 1.22055348 0.16086015 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.737089204386 pbc="F F F" +C -0.23734686 -0.49970815 0.05386185 1.71694167 0.53451839 1.24994834 +C -0.90012919 0.76986193 0.64562281 1.24285035 -1.87115788 1.61278717 +O 0.98788808 -0.25987466 -0.66461604 -0.63950016 0.42836773 -0.49661841 +H -0.05350371 -1.31449778 0.80913234 -0.42833277 0.32161606 -0.09549240 +H -0.87088887 -0.84973204 -0.70948533 -1.45492149 -1.10433407 -1.31520312 +H -1.00806317 1.46197517 -0.10791971 -0.95856338 1.83411660 -2.77015458 +H -1.88094934 0.61253663 1.17477923 0.76070334 0.04102135 -0.03112933 +H -0.10739053 1.31733804 1.18261745 -0.13906156 -0.16269987 1.16844918 +H 1.79296070 -0.32321065 -0.13455027 -0.10011596 -0.02144830 0.67741315 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.333643049081 pbc="F F F" +C 0.27219508 -0.14828516 0.50542458 -1.07478910 -1.42524740 0.91655627 +C -1.20476410 0.44445863 0.39456291 2.15286938 -1.15150437 2.21207913 +O 0.87959571 -0.31017995 -0.80203939 -0.02428475 0.49054469 1.50013029 +H 0.80870801 0.44552543 1.41579453 -0.35733610 -0.63918299 -2.27780925 +H 0.19180963 -1.20283329 0.90139257 0.24584213 0.42662144 0.03472286 +H -1.45974374 0.77795998 1.47519913 -0.49120336 -0.63077888 -1.59048907 +H -0.85102527 1.28717119 -0.11171365 -0.37515997 2.67397097 -1.33466694 +H -1.89518170 -0.13721129 -0.25237195 -0.06846038 -0.03552988 0.59146680 +H 0.35487267 0.22225888 -1.42156475 -0.00747780 0.29110641 -0.05199009 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.840375800519 pbc="F F F" +C 0.27854783 0.39610442 -0.31220931 -0.84697700 0.68341637 0.19651668 +C -1.10727846 -0.12410278 -0.64030197 -1.33270483 0.96054760 -0.33116082 +O 0.74057615 -0.25221964 0.86826967 0.23132274 -0.17040527 -0.55147261 +H 0.96912656 0.42649708 -1.20399715 -0.03760944 -0.27145377 0.54611767 +H 0.01418460 1.45600420 -0.04625209 0.68681347 0.09859346 -0.17761228 +H -1.71609560 0.68774977 -1.22804377 0.77958430 -1.38142380 0.77955987 +H -1.26242138 -1.12267809 -1.05861330 0.52836419 -0.39770300 -0.85546082 +H -1.57653761 -0.29734819 0.34322010 -0.37261442 0.53651891 0.30073607 +H 1.69054392 -0.38934551 0.76153099 0.36382099 -0.05809050 0.09277623 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.82413678641 pbc="F F F" +C -0.20604862 -0.43238180 0.28073486 -0.06792733 -0.63310994 0.25848851 +C -1.00584719 0.87411014 0.06213353 -0.57789759 0.38537903 0.26802021 +O 1.10124144 -0.39030494 -0.35352467 0.23458465 -0.56352389 0.54730330 +H -0.11290930 -0.58763140 1.42036136 -0.07743687 0.13394028 -1.04501479 +H -0.89440414 -1.28968575 -0.10075951 1.02346344 0.62467065 0.27792796 +H -1.97788305 0.86242511 0.62159380 0.32105088 -0.49251930 0.08047180 +H -0.50654305 1.75496025 0.49176599 0.49697857 0.17509722 0.03313865 +H -1.36593240 1.19670351 -0.95064727 0.70346790 -0.66360113 -0.03925906 +H 1.81732982 -1.00649197 0.04366254 -2.05628364 1.03366702 -0.38107660 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.832862494691 pbc="F F F" +C 0.14083493 -0.55191265 -0.19544472 -0.17584845 3.00482228 -0.12727675 +C -1.20978225 0.11960835 -0.37893489 -0.81369436 0.92901080 -0.48191514 +O 1.00455492 0.39963552 0.48497295 -0.03275227 -1.19302878 -0.09467263 +H 0.10660300 -1.49279108 0.33035116 -0.10173365 -1.04942506 0.28503758 +H 0.46170761 -0.65301141 -1.22391327 1.03531932 -0.54282830 -0.67307441 +H -1.11832444 1.27843676 -0.57900821 0.09634940 -1.96235365 0.18375274 +H -1.71051521 -0.36976231 -1.24898465 -0.19728765 0.29850600 0.11093429 +H -1.88385338 -0.00439382 0.48267401 -0.16878090 0.08081720 0.32221806 +H 0.93539447 0.04783634 1.38508518 0.35842856 0.43447945 0.47499620 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.242152925644 pbc="F F F" +C -0.07995877 -0.16350901 0.54110608 2.69446344 1.47028764 0.66489352 +C -1.12564355 0.64864407 -0.26449660 5.06963412 1.80591894 1.33674311 +O 1.03897285 -0.44030996 -0.29612440 -1.46827513 -0.29959764 -1.92172306 +H 0.38496275 0.26045691 1.49751064 -0.92147278 0.62756566 -0.55592900 +H -0.59290556 -1.01781152 0.95445848 -0.50698356 -1.51756484 0.02380601 +H -1.68213037 1.06909968 0.48590778 -2.88379872 0.93060108 2.05754225 +H -0.64731113 1.57407729 -0.72510286 -0.25465695 -1.18315409 -0.27426013 +H -1.50450901 -0.08739566 -0.85765700 -2.02901405 -1.73070654 -2.58563540 +H 1.91496972 -0.59163726 0.04927146 0.30010358 -0.10335021 1.25456270 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.896978884895 pbc="F F F" +C -0.06844843 -0.16115808 0.54756752 -1.40809094 0.12148775 -1.33283349 +C 0.81322934 1.03308564 0.14619946 0.83514251 -1.04249141 1.00746804 +O -0.74165438 -0.77309674 -0.61473708 -0.92228397 1.50747830 1.52056805 +H 0.51395054 -0.98924089 0.92378811 0.78269369 -0.43178669 1.06192608 +H -0.87281100 0.13535781 1.31333612 0.83470471 -0.31248165 -0.80600532 +H 1.58795991 1.14663948 0.94797612 -0.34830659 0.36367783 0.00003857 +H 1.44834027 0.85973161 -0.75302583 -0.50018901 -0.09070284 -0.11881828 +H 0.22057024 1.93594005 0.06672947 -0.23689484 0.75132442 -0.29046688 +H -0.00132159 -1.20824522 -1.00784477 0.96322443 -0.86650566 -1.04187671 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.403244222854 pbc="F F F" +C -0.05518807 0.25974584 0.49418140 1.72981390 -0.88367987 -1.17903261 +C -0.17969179 0.96107883 -0.83717242 -3.17387633 0.46932306 0.26406529 +O 0.24225045 -1.08781053 0.32265597 2.61330670 -0.24090458 0.47578697 +H 0.92502011 0.52338960 0.80693891 1.23987491 1.40763194 1.29745659 +H -0.71450759 0.44737001 1.30386013 -1.66923854 0.51145389 1.03435237 +H 0.84514772 1.17892794 -1.11025194 0.34522034 0.26740140 -1.08260367 +H -0.77809273 0.26341578 -1.53517667 0.93561853 0.96374698 0.37747859 +H -0.82433278 1.90778421 -0.67632052 0.98721062 -0.76539756 -0.56017980 +H -0.50070508 -1.60262576 0.17642449 -3.00793013 -1.72957525 -0.62732372 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827861447869 pbc="F F F" +C 0.43173577 0.30572622 0.22363748 -1.11810866 -0.50961020 1.51602758 +C -0.59262409 0.88162745 -0.71099765 -2.20917368 1.92718121 -0.08498147 +O 0.13410307 -1.07292433 0.43596784 -0.26204651 -0.44662993 -0.57303008 +H 1.45942479 0.44683199 -0.09685131 0.82545439 0.35135566 -0.14668976 +H 0.23287888 0.74661705 1.25102324 0.62930157 0.48803504 -0.65395332 +H -0.44011730 0.96182757 -1.81453850 0.43798562 -0.66019400 0.25286237 +H -1.55661673 0.29572548 -0.52226671 0.77806760 0.54046885 -0.29828339 +H -0.86517771 1.99430449 -0.45472468 0.49259803 -1.51577114 -0.05970258 +H 0.95711087 -1.56449551 0.52450689 0.42592169 -0.17483549 0.04775060 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.615363757962 pbc="F F F" +C -0.45352211 0.19551915 0.35722220 -1.78352607 -2.20228733 0.14704674 +C 0.82795219 0.95346275 0.10685030 -1.07802736 3.16137208 1.35868943 +O -0.29420897 -1.02724135 -0.41852056 -0.92811610 -0.31944044 -0.83153155 +H -0.54209897 -0.19967614 1.41321412 0.15076080 0.72369343 -0.09449954 +H -1.50786699 0.67603894 0.17137570 1.67056158 -0.09919741 -0.10272651 +H 1.45177039 0.35591719 -0.53417443 0.55879002 -0.21401417 -0.86109843 +H 0.59470943 2.04437204 -0.23409482 0.57040406 -1.56584179 -0.17876552 +H 1.35915791 1.14286988 1.06880474 0.06305720 -0.24403223 -0.13332295 +H -1.14831566 -1.40661219 -0.77172353 0.77609588 0.75974792 0.69620833 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.607370009817 pbc="F F F" +C 0.28618355 0.37097412 0.38714519 1.55419552 -1.92531613 2.48066231 +C -0.48719914 0.89089735 -0.75938778 0.81562819 0.86192154 -2.87724791 +O 0.12822322 -1.11360470 0.33238355 1.17010924 0.45345245 0.31998403 +H 1.41851555 0.50081088 0.41488601 -0.81448945 0.68805927 -0.45618111 +H -0.04122084 0.67107904 1.44427545 -0.11873914 0.24174980 -0.98018070 +H 0.16044697 0.60145191 -1.73529477 -1.71383439 0.27037077 1.64266638 +H -1.44919670 0.34780954 -0.69637195 -0.09045936 -0.06725355 -0.54425829 +H -0.73395155 2.00422791 -0.92865957 0.53704491 -1.06387019 0.86272907 +H 1.00440242 -1.48679443 0.66079408 -1.33945552 0.54088609 -0.44817377 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.331664582207 pbc="F F F" +C -0.30069656 -0.42221249 -0.20297403 -1.14006409 -4.34259121 0.87996812 +C -0.89004917 0.67042749 0.70721986 -1.31065437 0.50890402 -3.19123334 +O 1.07081751 -0.28219015 -0.44647071 0.06105688 1.17637733 -0.35960129 +H -0.22298776 -1.36628979 0.48057539 -0.85587014 0.74556715 -0.90234727 +H -0.90961571 -0.85739907 -1.15621180 0.79164103 1.47924177 1.54086630 +H -2.04786111 0.81721804 0.76767705 1.80443017 -0.76680828 0.52240242 +H -0.20826579 0.70240694 1.51310598 0.24337346 -0.10961969 2.28356600 +H -0.56678767 1.57130192 0.17836974 -0.13186360 1.06748619 -0.43372766 +H 1.14607991 0.65281776 -0.70516038 0.53795066 0.24144276 -0.33989327 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.771045975249 pbc="F F F" +C 0.34153984 -0.02322709 -0.47684526 -1.55761519 -0.61620864 1.99966855 +C -0.59380230 1.15502035 -0.23505973 1.13331494 0.05478308 -1.22048689 +O 0.29301187 -1.04210843 0.63287572 2.19280320 1.55454678 -1.86556814 +H 0.09272086 -0.40226613 -1.46002618 -0.04110398 -1.02689175 -0.81628840 +H 1.34649126 0.39113866 -0.53252431 0.81429744 -0.27608695 0.31360717 +H -0.40390188 1.99855265 -0.95578673 0.15514299 -0.24373567 0.56120146 +H -1.62804808 0.93946144 -0.33713812 -1.71346862 -0.75025376 -0.36642012 +H -0.47891679 1.41412153 0.78439471 0.39263217 1.10361535 1.67653410 +H -0.57443772 -1.28728652 0.93833437 -1.37600294 0.20023151 -0.28224773 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.578529371249 pbc="F F F" +C -0.22407987 -0.46269553 0.13229275 -1.70324812 -2.61336496 2.76738499 +C -0.88694934 0.90001823 0.35239719 -0.86284076 -0.79801886 -0.70228005 +O 1.03176622 -0.37756710 -0.41027062 1.69744103 0.14658337 -0.86079190 +H -0.18718901 -0.86579619 1.24898498 0.51420224 0.11998756 -1.47434412 +H -0.81576397 -1.37039390 -0.34866068 0.21281635 1.91050868 0.32932001 +H -1.97945835 0.89217998 0.46548287 -0.49454929 -0.47888648 -0.29081166 +H -0.61247625 1.46613204 1.24055189 0.99720218 0.12798925 0.40216978 +H -0.64978993 1.41921037 -0.55288688 0.10946799 1.32038600 -0.93755128 +H 1.10520599 -0.76074691 -1.31670388 -0.47049157 0.26481549 0.76690418 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.589796150448 pbc="F F F" +C -0.11274086 0.44130006 0.31225191 -0.25210374 -0.78947744 -2.15064234 +C -0.96253542 0.05157392 -1.00796378 4.36583548 -0.33478515 -0.78551640 +O 0.95766075 -0.43595455 0.70703677 0.17293369 0.10826456 -0.75129151 +H 0.14701358 1.51686355 0.19189304 0.56686082 0.00817390 0.02734626 +H -0.88313510 0.45463813 1.07955925 -0.03042701 -0.38641637 1.02040593 +H -0.73386289 -0.96953998 -1.38678642 -0.14767018 -0.42366688 0.80933470 +H -1.99256104 0.11598911 -0.87313510 -2.47380425 0.44922211 0.24635460 +H -0.59095851 0.56608493 -1.94842479 -0.55898393 0.47790242 0.78364320 +H 1.66430060 -0.63859880 0.00400361 -1.64264088 0.89078285 0.80036561 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.567704455932 pbc="F F F" +C -0.12328032 -0.15767087 -0.39593094 -1.69743928 1.47628983 -1.41216696 +C -0.17262282 1.44930434 -0.06995575 0.48018294 -2.24895189 0.56798825 +O 0.22060125 -1.19624032 0.44298977 3.38441077 0.39321159 1.58980778 +H -1.14619683 -0.52060003 -0.54065759 -0.95059414 0.81416956 -0.80843296 +H 0.35530327 -0.19754786 -1.41888479 0.16473377 -0.18358675 0.33640634 +H -0.73192767 1.68503975 0.90034529 0.33968912 0.00933768 -1.20491664 +H 0.86693333 1.82019924 -0.01728634 0.20937189 0.11567274 0.40025827 +H -0.53207665 1.88508669 -1.03026330 -0.55871170 0.10215187 0.52125519 +H 1.21129843 -1.07653412 0.62655425 -1.37164327 -0.47829462 0.00980074 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.516170662947 pbc="F F F" +C -0.38347460 0.30429313 -0.26694416 0.60567127 -3.19146798 -1.34312089 +C -0.52328592 -0.00239771 1.19606529 -0.08495678 0.13196315 2.19762854 +O 0.79127818 -0.29739685 -0.87585115 -0.18716234 0.39897158 0.21259688 +H -1.09097757 -0.34505957 -0.88964440 -0.43436756 1.36554554 0.87950748 +H -0.49239071 1.34673355 -0.41955299 -0.08852728 1.87506663 -0.83812340 +H -1.22484513 0.73926907 1.74835440 0.33807257 -1.01177793 -0.91134145 +H -0.98018901 -1.06262015 1.21066594 0.98004855 1.10167015 0.96472271 +H 0.46711190 0.20451038 1.84664323 -1.56378975 -0.99742309 -1.44445560 +H 1.56509013 0.23894358 -0.66524823 0.43501131 0.32745190 0.28258572 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.490027394573 pbc="F F F" +C -0.08752619 -0.55608776 0.29733630 1.42900316 3.61277608 -2.57780752 +C -1.05236502 0.66161051 0.32874479 0.09631237 -2.12053286 3.26971300 +O 1.02406395 -0.06960082 -0.56643755 -1.27891168 0.35531547 0.94757005 +H 0.16083522 -0.62546190 1.31233150 1.38368792 -0.78883235 2.20475554 +H -0.49109281 -1.47384014 -0.06571722 -0.87013581 -1.20729049 -0.52821687 +H -1.70635072 0.44154005 1.27855904 0.87194941 0.94971934 -1.13810285 +H -0.54895643 1.63806523 0.33136872 0.24703630 -0.00839779 0.30479430 +H -1.72904113 0.59974744 -0.44280983 -1.97127163 0.15236573 -2.66241226 +H 1.64131740 -0.73416978 -0.88289831 0.09232999 -0.94512308 0.17970665 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.70073138819 pbc="F F F" +C -0.05317160 -0.48191272 0.22814718 3.97466077 -2.04003128 -1.12741338 +C -1.26118737 0.12797406 -0.24111106 -1.52546122 2.15279996 -1.83989865 +O 1.21195004 0.26013166 -0.02053251 -1.72223275 0.05859844 0.19409707 +H -0.02327581 -0.63608853 1.27592551 -0.52620889 -0.54789857 1.94682501 +H 0.17662402 -1.49598076 -0.23655871 -0.48362534 0.62233275 0.24337299 +H -1.34369941 1.14742650 0.12118846 -0.12126730 0.87154498 1.06019362 +H -1.21811801 0.43384070 -1.31427731 -0.08534703 -0.91308497 -0.18736535 +H -2.21731549 -0.34286419 0.01346090 -0.15907266 -0.52040030 -0.04223465 +H 1.04908451 0.98056477 0.62065995 0.64855441 0.31613899 -0.24757665 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.564687352411 pbc="F F F" +C 0.23814335 -0.45157136 -0.37634528 -2.49372023 1.31802763 -0.70264422 +C -1.21968577 0.17012967 -0.37847992 0.00794024 -2.94812815 1.45514034 +O 0.92489497 0.17847435 0.70764333 0.63347437 0.73285304 -0.92334645 +H 0.13507055 -1.57722199 -0.45470973 0.66523871 0.60896105 1.12205710 +H 0.61634456 -0.16246117 -1.36432053 0.79695889 0.05245926 -0.45281415 +H -1.17189922 1.19929239 -0.37477415 0.47725214 3.29596135 -0.75844273 +H -1.99769732 -0.15783631 -1.09315259 0.28360501 -0.26107530 -0.25955429 +H -1.64610921 0.07014108 0.64963592 -0.02722732 -0.67921339 -0.11248374 +H 1.07824974 1.14728070 0.39920222 -0.34352187 -2.11984545 0.63208813 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.40308976217 pbc="F F F" +C 0.54777450 -0.35646212 -0.09640187 -1.87883021 3.28578214 2.50589039 +C 0.30074080 1.21672649 -0.16883112 1.02930715 -1.38022305 -3.48873887 +O -0.72465299 -0.84910200 0.26532808 1.11937549 -3.19589738 -0.04297703 +H 1.10692718 -0.68302817 -0.97747091 -0.36168795 -0.51426863 -0.89577424 +H 1.12856523 -0.61555808 0.77965281 1.07738150 -0.15097698 0.57408747 +H 1.21896466 1.83515033 -0.20433833 0.09287255 -0.02053500 -0.27041186 +H -0.22639688 1.23670561 -1.20657526 0.75548344 0.67097377 1.02108419 +H -0.39325812 1.72961906 0.46727567 -0.72730080 -0.18102609 1.46483088 +H -1.44409100 -0.27726701 0.09034559 -1.10660112 1.48617120 -0.86799099 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.760097097615 pbc="F F F" +C -0.10842446 0.21722905 0.46053118 -2.42786700 0.34376098 0.33625058 +C -0.22100857 1.01524740 -0.83070165 0.80329132 -1.07609533 -2.15473723 +O 0.33822739 -1.12064033 0.38287684 -1.39811490 -1.22029585 -0.65977697 +H 0.62586846 0.74283448 1.03088825 1.13381990 0.40866063 1.03862951 +H -1.12262592 0.39399085 1.06744752 1.47101521 -0.62911517 -0.80569077 +H 0.57309612 0.69274326 -1.58162843 -0.50719341 -0.31905396 0.56909598 +H -1.16684566 0.97687682 -1.39698431 -0.37055008 -0.37699132 0.10401910 +H 0.02878973 2.06692595 -0.83195399 0.02524788 1.10406359 0.97416833 +H -0.38252644 -1.77283358 0.04567026 1.27035108 1.76506641 0.59804147 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.929025774683 pbc="F F F" +C -0.42920798 0.07660443 0.31867062 -0.92370656 -0.09660851 0.80405648 +C 0.04256611 1.12947511 -0.63475969 1.50396334 -0.17334831 -0.64443869 +O 0.35266776 -1.09308148 0.34427971 0.91265163 -0.15241597 0.22790595 +H -0.48578426 0.54686830 1.35582632 0.27899574 -0.63315129 -0.62474383 +H -1.42550421 -0.30636894 0.09897212 -1.20983100 0.48124521 -0.11592537 +H 1.14443132 1.09067884 -0.53512082 0.24900222 0.25364132 -0.02798487 +H -0.13128796 1.05548158 -1.72030445 -0.38873010 -0.68161377 -0.22547153 +H -0.24421019 2.13687048 -0.40564749 -0.53801853 1.13022967 0.62049168 +H 0.15059979 -1.54589657 -0.49205871 0.11567325 -0.12797830 -0.01388982 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.762414642284 pbc="F F F" +C -0.39354467 -0.36600142 -0.18903061 1.14454624 -1.24963287 4.35062951 +C -0.59089072 0.66880144 0.96125840 -0.15947401 0.40617659 -0.17775384 +O 0.86350510 -0.30519324 -0.77134337 0.97849195 0.36344510 -0.90955674 +H -0.51494271 -1.36086606 0.46028498 0.27658549 0.93312631 -1.20039381 +H -1.16250603 -0.44893303 -0.91284082 -1.28960464 0.35366132 -1.40367589 +H -1.44490338 0.33813830 1.65900921 0.96776834 0.53609077 -0.67984351 +H 0.40217602 0.68052445 1.52961442 -0.99398568 -0.08808032 -0.17227899 +H -0.76230403 1.73989607 0.61064718 0.00518257 -0.79252045 0.22451929 +H 1.50537597 0.28599270 -0.30483277 -0.92951031 -0.46226646 -0.03164602 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.969894709765 pbc="F F F" +C 0.14301691 0.57945622 -0.08414358 0.45820535 -1.98154838 -0.28454815 +C -1.26144971 -0.03491658 -0.28424153 -1.03370399 1.18759794 -0.69411885 +O 1.05375781 -0.45537024 0.37601186 0.01329292 0.90323892 -0.20520593 +H 0.49299739 1.11651397 -1.03321492 -0.19918117 -0.40997308 0.62578446 +H 0.17704076 1.29714076 0.74733082 -0.32258748 0.37748949 0.09381259 +H -1.49201847 -0.54676273 -1.27784489 0.75429461 0.40609740 0.58275852 +H -1.56637726 -0.79040537 0.49440263 0.27995204 0.76542076 -0.05194062 +H -1.95043355 0.88074504 -0.30268493 0.07502127 -1.05898833 0.24616382 +H 0.93846086 -1.21925487 -0.20685355 -0.02529354 -0.18933471 -0.31270585 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.686827491135 pbc="F F F" +C 0.32681604 0.43727441 0.16935371 1.51955226 -2.26684554 -2.08841175 +C -0.78901465 0.56900463 -0.86700688 0.81215211 2.02709832 1.86348462 +O 0.46636589 -0.90368050 0.63511680 3.17057066 1.33659481 -0.17739913 +H 1.37350921 0.72855101 -0.21158098 -1.07981654 -0.34802377 -0.02028586 +H 0.15675048 1.09866765 0.94187167 -0.58547818 2.05969128 2.62071698 +H -0.87818150 -0.35598203 -1.33314758 -0.20690857 -2.13358656 -1.63855375 +H -1.74220216 0.80599127 -0.35044327 -0.03142897 0.17324099 -0.29063714 +H -0.44253334 1.36230060 -1.53521324 -0.57729400 0.31296671 -0.63378702 +H -0.36352951 -1.28748576 0.72036766 -3.02134877 -1.16113629 0.36487303 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.704134793328 pbc="F F F" +C 0.12929119 -0.40030932 -0.35014479 0.25040527 0.63257402 2.44966837 +C -1.26216445 0.15734715 -0.34645011 -2.59275175 0.21757469 0.16059311 +O 1.06403661 0.14906727 0.63939299 -1.21789028 1.10378175 -0.16740006 +H 0.04711416 -1.45995975 -0.14828200 0.25599475 -0.96132957 0.21480834 +H 0.65040653 -0.26811487 -1.23822790 0.76682936 0.15135832 -2.92288876 +H -1.32026935 1.25183920 -0.31670089 0.49024362 0.71474003 -0.22875673 +H -1.92991419 -0.07695316 -1.30457616 1.23234276 -0.12696287 1.74404897 +H -1.84346296 -0.07025580 0.63988248 0.68514826 -0.26492748 -1.42620046 +H 1.00471017 1.15090307 0.51927079 0.12967795 -1.46680888 0.17612721 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.327398445699 pbc="F F F" +C -0.31046869 0.18549927 0.44304883 0.51472017 0.46734243 0.01034201 +C 0.07141374 1.03315212 -0.78523087 -3.75472247 0.21350628 0.49291360 +O 0.24229152 -1.10719862 0.36639616 2.08885871 1.06573239 3.77405136 +H -0.00925259 0.89379174 1.34649675 0.45403388 -1.87439037 -0.92205375 +H -1.35045381 0.00454966 0.74042412 -1.12402672 0.66783836 -0.79384241 +H 1.03431614 1.44679648 -0.70433778 1.67138418 1.26493402 0.41360399 +H 0.06185577 0.56371851 -1.74426144 0.00479845 -1.54539596 -1.12556080 +H -0.79655941 1.74363024 -0.98024923 1.08813401 0.35949917 0.49918581 +H 0.06172229 -1.60057363 -0.39654186 -0.94318020 -0.61906631 -2.34863977 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.825204731305 pbc="F F F" +C 0.04812367 0.53797080 -0.00722283 -2.08736310 0.57371456 1.02680922 +C -1.04987369 -0.21129466 -0.77728732 -0.70307904 -2.13686353 1.42498119 +O 0.93606218 -0.25643789 0.76223275 0.58309554 -0.70346610 -1.49264082 +H 0.47749757 1.23858248 -0.79041002 0.41647576 -0.16355754 0.74423877 +H -0.60546053 1.18290446 0.76870216 1.68644272 -0.86327769 -1.22954000 +H -0.70583643 -0.83660541 -1.62445543 0.24046297 0.26097210 -0.28557201 +H -1.67067141 -0.99479990 -0.13899908 1.11147120 1.38856751 -0.60978849 +H -1.77681928 0.52753587 -1.10304872 -0.48877269 0.39880472 -0.57854890 +H 1.35878333 -0.94128635 0.13730283 -0.75873331 1.24510593 1.00006105 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4103003121045 pbc="F F F" +C -0.31177858 -0.03820684 -0.50237028 0.11425086 -1.91130243 2.95077439 +C 0.84402719 0.85424117 -0.39964008 0.61286713 -1.29918241 0.06586238 +O -0.51108770 -0.75506481 0.77580345 0.18846167 -0.79420720 -1.67094112 +H -1.25033130 0.21402639 -0.91084478 -1.86331020 1.72537664 -0.47435538 +H -0.06870294 -0.84174797 -1.13778509 0.72193295 -1.68768117 -1.37514558 +H 1.74736720 0.26587352 -0.31450211 0.68390200 -1.01103688 0.43149219 +H 1.13021949 1.41247735 -1.22851319 -0.07456310 1.97496019 -2.17330297 +H 0.83616910 1.39438425 0.49353126 -0.22958663 1.84999245 1.83128350 +H -0.62534910 -0.18502956 1.53193545 -0.15395468 1.15308082 0.41433259 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.222918965518 pbc="F F F" +C 0.38502788 -0.09581658 -0.50344161 -0.91091686 1.95890452 4.21972411 +C -0.55604349 1.17156871 -0.18105852 1.23377101 -0.57657131 -2.00106096 +O 0.24182843 -0.96064868 0.63633502 0.43277126 -0.82940582 0.47523855 +H 0.01318292 -0.59882094 -1.35660279 -0.22048924 -0.40341224 -1.93920282 +H 1.46136614 0.20545964 -0.49958891 -0.27933035 -0.22140116 -0.54077897 +H -0.73243022 1.79482736 -1.04513162 0.84764389 0.95729412 -1.33653464 +H -1.53111280 0.81345517 -0.23835883 -2.64188719 -1.58730835 0.66582035 +H -0.58659628 1.90279164 0.62428399 1.12729979 -0.24355508 1.05739142 +H -0.42619315 -1.68924072 0.57118255 0.41113774 0.94545532 -0.60059705 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9321022453005 pbc="F F F" +C -0.10611298 0.28244241 -0.40938322 0.59822870 0.16228294 -0.87929804 +C -1.21166631 -0.10073812 0.51237449 -0.85521667 0.00270521 -0.17252273 +O 1.18662980 -0.21695928 -0.10066579 0.28242267 -0.20674901 0.43171361 +H -0.37570362 0.00287338 -1.45495788 -0.02351969 0.08412632 -0.13433222 +H -0.07485475 1.36698026 -0.32977059 -0.03681723 0.97290535 -0.44756781 +H -0.99791321 0.27062887 1.49112873 0.05986214 0.99747354 1.34016967 +H -2.20903776 0.27434410 0.14388087 0.60454107 -0.06498332 0.22804839 +H -1.32022210 -1.14392002 0.73483302 -0.06523739 -1.55743567 -0.37984946 +H 1.84370545 0.50626305 -0.21446215 -0.56426354 -0.39032542 0.01363858 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.939810834671 pbc="F F F" +C -0.25620381 0.21273405 0.43665514 0.34109012 -0.09477213 -0.15246565 +C -0.06681646 1.00530139 -0.91622980 0.24918667 0.53626643 1.88766627 +O 0.24043021 -1.14153266 0.46472834 0.07295652 0.80962703 -0.34410618 +H 0.16316051 0.84278222 1.28195490 0.17890590 -0.26855562 -0.43986365 +H -1.31065944 0.12045146 0.75042688 -0.34700268 -0.08063985 -0.39346027 +H -0.89304194 1.67679221 -1.17641918 -0.52344896 0.20647354 0.24301335 +H 0.81301731 1.66595616 -0.81640599 0.19975056 0.09959135 -0.01857314 +H 0.10580798 0.44042291 -1.80454056 0.11110892 -1.36238519 -0.96107036 +H 1.15342723 -1.14215540 0.10283417 -0.28254700 0.15439439 0.17885957 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.47752332323 pbc="F F F" +C -0.04132416 -0.04522314 0.52455901 2.20324713 0.56895575 2.95344509 +C -1.10523496 0.61117311 -0.22126598 -3.32628768 -2.38344259 0.20177592 +O 1.02866788 -0.52464092 -0.31983287 -0.01483116 0.13942043 0.89580499 +H 0.34649863 0.76267400 1.33219476 -0.31544479 -1.34398107 -1.28609277 +H -0.49411423 -0.80798931 1.18131873 0.19540108 -0.80184481 0.04817879 +H -2.18498331 0.64769255 0.19400398 1.38706023 -0.60938554 0.20686188 +H -0.91617165 1.58786806 -0.32151613 1.10498086 4.58932793 -1.09165267 +H -1.23746426 0.14645990 -1.17617826 -0.03114959 -0.49407230 -1.37608095 +H 1.81932179 -0.75429701 0.25293517 -1.20297607 0.33502221 -0.55224029 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2893171838605 pbc="F F F" +C 0.00951669 0.33788290 0.45802660 1.39034466 0.92309479 -1.54321438 +C -1.38006887 0.05400296 -0.37953370 5.97907980 -0.76107194 -1.19723912 +O 1.24383268 -0.34369329 -0.01831099 -1.69436090 0.11013746 -1.09705229 +H 0.36241113 1.44568946 0.50894142 -1.20107253 -1.01189111 0.12388988 +H 0.02187572 -0.09988478 1.45015246 -0.94611764 0.16637583 0.96424197 +H -1.70661788 0.82152021 -1.06799424 0.21182889 0.57482620 -0.72522206 +H -1.09542817 -0.93796986 -0.87240772 -0.87902982 0.84020414 0.23116560 +H -2.08543076 -0.05222729 0.32556336 -3.36866425 -0.84835639 2.99233901 +H 1.09000823 -0.39280442 -0.98892638 0.50799179 0.00668112 0.25109140 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.550172044031 pbc="F F F" +C -0.26478154 -0.45001932 0.15555755 1.95332322 2.28012391 -2.44037923 +C -0.95921072 0.91459326 0.18495851 -1.37992645 -0.31021018 -0.76888316 +O 1.13696324 -0.49530954 -0.31702956 -1.04899594 2.58902534 0.74741074 +H -0.41420960 -0.77327210 1.12056647 0.30185270 -1.57925021 3.22214233 +H -0.85533889 -1.09107061 -0.47107923 -0.50320954 -0.82686587 -0.93838633 +H -2.02463877 0.54608952 0.51606183 1.13218098 1.27387802 -0.77934791 +H -0.63286693 1.67675292 0.92421358 0.31520902 -0.38555320 0.24021578 +H -0.92840971 1.45909628 -0.82379309 -0.47434252 -0.67604563 0.78285258 +H 1.39223906 0.50723001 -0.29126237 -0.29609143 -2.36510219 -0.06562486 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.784738066848 pbc="F F F" +C -0.30287338 -0.50183352 -0.07740953 1.67631838 0.38757254 -1.14597125 +C -0.82537910 0.65891977 0.66553955 0.10750341 2.15241141 0.60981348 +O 1.02059180 -0.22439186 -0.51213521 0.98002423 0.39838753 -0.66583449 +H -0.01496083 -1.36808203 0.50437437 -1.17154690 -1.15731311 0.61894213 +H -0.97512981 -0.66930467 -0.96428580 -0.00003857 -0.55783316 0.38731908 +H -1.91167051 0.55365119 0.80209681 -0.37046452 0.38729846 0.07727849 +H -0.35780147 0.91900823 1.67171231 -0.18436065 -0.54779392 -0.79931228 +H -0.56472969 1.56705227 -0.01922487 -0.84790635 -0.84795561 0.90039780 +H 1.06743036 0.68617545 -0.87357149 -0.18952904 -0.21477414 0.01736704 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.858775559032 pbc="F F F" +C -0.29033086 -0.49807683 0.14968836 1.25238287 1.28457021 -2.19612075 +C -0.92255514 0.90312331 0.22749509 0.86169343 0.32967735 -0.72180059 +O 1.09708439 -0.39510625 -0.26433462 0.02371448 0.14517112 -0.66961998 +H -0.16142965 -1.07022031 1.02440489 -0.48166379 -0.71373071 2.11436848 +H -0.80127718 -1.14181822 -0.57124775 -0.68485475 -0.31046451 -0.36850960 +H -2.00233256 0.97086179 0.01490703 -0.38645869 -0.31731558 0.60814853 +H -0.61179857 1.44055485 1.16962652 -0.32228182 -0.11885813 -0.68388112 +H -0.51594723 1.44484829 -0.69790645 -0.05392330 -0.21298609 1.03406395 +H 1.13022874 -0.20062956 -1.23845475 -0.20860843 -0.08606370 0.88335113 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.786624440898 pbc="F F F" +C -0.02884096 -0.22422878 0.57937378 -0.02197888 0.41151991 -0.34695177 +C -1.09875132 0.57615062 -0.13867870 0.29098876 -1.15664308 -1.50336931 +O 1.01545259 -0.27551217 -0.37074222 1.58497569 -2.31131227 -0.49040050 +H 0.38522351 0.32143359 1.49505644 -0.78066262 -0.62125983 -0.28421971 +H -0.43270233 -1.22581657 0.79441613 0.10151701 -0.34315554 0.58827724 +H -2.07469271 0.63570004 0.29049843 -1.08839976 0.39094331 1.05148220 +H -0.62200549 1.51028380 -0.31950925 0.08968134 1.78504333 -0.19471387 +H -1.28499986 0.17484096 -1.19464280 0.37966172 -0.06677589 0.99314724 +H 1.34602461 -1.23816771 -0.43225285 -0.55578322 1.91164007 0.18674859 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.788351202547 pbc="F F F" +C 0.13969618 0.57866236 0.14435876 -3.01653238 -0.86938926 -0.24127209 +C -1.20276472 -0.22006993 0.42272919 0.84420931 -1.17114750 -0.88338193 +O 1.01758161 -0.26393808 -0.55521650 0.17823058 -0.17219789 0.83582874 +H -0.25339938 1.39270793 -0.46059916 0.45509097 0.62028558 -1.04995851 +H 0.47252535 1.10928117 1.03502403 0.84119402 -0.14485621 0.95411824 +H -1.98417557 0.13262351 1.06874387 -0.54446460 1.34087081 0.89751045 +H -1.76556756 -0.45486001 -0.53523449 0.76325686 0.03158005 0.45712800 +H -0.97090259 -1.19283908 0.92768705 0.17608180 -0.04721426 -0.32184916 +H 1.01570236 -1.07184630 0.02006418 0.30293354 0.41206873 -0.64812375 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.620215667736 pbc="F F F" +C 0.14620808 0.01738102 -0.49390272 0.24614572 2.05586306 0.10919237 +C -1.34718731 -0.33908085 -0.13822441 3.52270630 -1.66277653 0.74462299 +O 1.10214043 0.35377015 0.54403573 -1.09945566 0.47391649 -0.55179955 +H 0.50718255 -0.85438265 -1.00237215 0.55445936 -1.05181742 -0.99590810 +H 0.33699753 0.91549276 -1.18790273 -0.90928092 -0.95037811 0.42759594 +H -1.75054948 0.13533268 0.70330714 -0.41227339 1.20559125 2.16913989 +H -2.07994085 -0.17845295 -0.84874538 -1.57068385 0.52363629 -2.68390381 +H -1.33185763 -1.43893046 0.05574888 -0.29303397 0.22778089 0.16830951 +H 1.13347304 -0.36267951 1.17676754 -0.03858358 -0.82181587 0.61275071 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.554728205963 pbc="F F F" +C 0.39427480 0.01006034 -0.41554021 -1.69561436 0.27740140 0.03122786 +C -0.63850283 1.17625103 -0.13861459 2.81307330 1.14587195 2.95478983 +O 0.21074111 -1.05939247 0.52769533 -0.57150881 1.17893147 -0.03012686 +H -0.04516338 -0.31972486 -1.44085559 1.52839660 0.18267236 0.65026486 +H 1.48633687 0.30030119 -0.35704676 -0.62522498 0.26693212 -0.70264684 +H -1.58632770 0.80795992 -0.48945955 -1.14064336 0.16426650 -0.07242661 +H -0.65107746 1.52073243 1.04720620 -0.21211176 -1.16239973 -2.50751965 +H -0.28315277 2.14939843 -0.61183323 -0.53218161 -0.93619415 -0.15696909 +H 0.64346694 -1.78023206 0.07904439 0.43581509 -1.11748198 -0.16659350 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.634757784346 pbc="F F F" +C -0.24432794 -0.06725609 -0.49608860 -1.07248720 -1.63266299 1.70557029 +C 0.90127857 0.86753079 -0.40428917 -0.20160351 0.51844600 1.26701225 +O -0.55434705 -0.79384484 0.79081483 0.72040607 0.30637373 -1.97187255 +H -1.07569446 0.53788581 -0.72545614 -2.00393468 1.35697178 -0.24484145 +H -0.31206798 -0.71029081 -1.40565426 0.79182676 -0.84782145 0.67367939 +H 1.77310775 0.36405353 0.08708588 -0.00960924 0.52697893 -0.48551973 +H 1.03270498 1.28392420 -1.40486952 0.79656598 0.18324834 -0.46363073 +H 0.50256136 1.73302257 0.22095932 0.88504034 -0.54475195 -0.17692857 +H -0.95052781 -0.14524855 1.40402103 0.09379552 0.13321754 -0.30346890 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.416689439741 pbc="F F F" +C -0.17077777 -0.10508270 -0.46035111 6.47809622 0.32179630 1.18799528 +C -0.09594342 1.43030457 -0.02513442 0.75190045 0.02943858 -1.62776370 +O 0.20015984 -1.25564575 0.42877250 -0.47072600 1.73501751 0.29917567 +H -1.12899012 -0.21793604 -0.77046951 -3.68358141 -0.99783334 -1.12133226 +H 0.57158023 -0.27190785 -1.33429656 -1.15095102 0.61283519 0.47716102 +H -0.80309676 1.64124980 0.75673778 -0.76377962 0.16021413 0.98057542 +H 0.87983366 1.98638899 0.24655969 -0.74573561 -1.27756262 -0.28504756 +H -0.48308864 2.01774493 -0.94619381 0.39612630 -0.71903758 0.96647549 +H 0.96383495 -1.01717425 1.02668732 -0.81134931 0.13513183 -0.87723935 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.299113431996 pbc="F F F" +C -0.20369313 -0.51432687 -0.00669139 -2.75839096 -2.03343805 1.27312330 +C -0.96437357 0.84436245 0.46264259 3.33365821 -3.99458621 3.31696136 +O 1.09056858 -0.30508052 -0.38102669 1.08145089 0.48500468 -1.41197783 +H -0.20921238 -1.36272163 0.87282906 0.07706236 1.99943180 -1.41198564 +H -0.83191013 -1.14807804 -0.82672093 0.84532501 1.46068256 1.07659407 +H -1.93437955 0.74158522 0.20735633 -4.19679352 -0.20612299 -0.87197111 +H -0.87113876 0.88125655 1.62055989 -0.13535680 0.32264440 -1.54956491 +H -0.55533655 1.68672903 0.02092930 1.27565954 2.21385154 -1.16983418 +H 1.00877810 0.10965083 -1.27993149 0.47738527 -0.24746768 0.74865500 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.928630897748 pbc="F F F" +C 0.49652414 0.12590634 -0.18095097 -0.71808169 0.03941672 -0.90359595 +C -0.71401313 1.11268991 -0.26382358 -1.59998277 -0.04873456 -0.94042336 +O 0.24680425 -1.15132774 0.37247459 -0.05274481 -0.18342812 -0.51913120 +H 0.75521149 -0.14121882 -1.23918108 0.16714835 0.36494986 0.26302137 +H 1.39889824 0.61804970 0.25739730 -0.14339253 0.12577301 0.13705265 +H -1.65145903 0.72664682 -0.84623312 1.59350369 -0.05355054 0.30514382 +H -1.24464336 1.31246079 0.68544046 0.54569796 0.17595762 0.61237383 +H -0.52316306 2.12696307 -0.75468966 0.32698751 -0.92268038 0.52046602 +H -0.06182987 -1.12817542 1.28481265 -0.11913576 0.50229639 0.52509282 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.609311890592 pbc="F F F" +C -0.11131840 0.27837446 -0.50591519 0.92425395 -0.50270108 2.51148527 +C -1.25202630 -0.10074150 0.56029322 -0.58547273 1.58431230 -2.03487365 +O 1.22429705 -0.20145761 -0.04562201 -1.20291149 -0.28853228 -0.25408391 +H -0.46504360 -0.19422880 -1.42423278 0.38423196 -0.05254200 -0.95520479 +H -0.02311988 1.38475953 -0.56638458 -0.48694052 -0.06420443 -0.31896458 +H -0.87756014 0.17187587 1.55556328 -0.33671214 0.42490811 0.36012333 +H -2.23766950 0.49529544 0.16724885 1.98940059 -0.99128834 1.25498879 +H -1.57685330 -1.15952864 0.60906335 0.42411719 -0.12626712 -0.33265160 +H 1.99127581 0.38144704 -0.26505659 -1.10996674 0.01631494 -0.23081886 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.760901961099 pbc="F F F" +C 0.05551815 -0.35028301 -0.45613254 0.59116145 0.46756334 -1.17634499 +C -1.08103414 -0.41161358 0.48866674 -0.86034360 -1.25020602 -0.67700193 +O 0.95526874 0.66346012 0.02574613 0.31477914 -1.20614424 0.32713931 +H 0.51252336 -1.33795832 -0.81469107 0.06579640 0.50879249 1.13753263 +H -0.29525981 0.02687859 -1.41617747 -0.58495861 0.12881956 -0.87593935 +H -0.64151068 -0.58305534 1.44706809 0.17852466 0.05876551 1.56946901 +H -1.71878013 0.48264802 0.44102331 0.06663494 0.26941848 0.23309938 +H -1.70695451 -1.29293166 0.26575538 -0.31440154 -0.14982980 0.00741671 +H 0.90579974 1.25039897 -0.71933626 0.54280716 1.17282057 -0.54537071 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.528076051583 pbc="F F F" +C 0.13700944 0.57684154 0.17489024 3.01332678 -5.50780892 0.37790349 +C -0.98339936 -0.20059308 0.85021034 1.46334504 2.09753953 1.48384713 +O 0.80962891 -0.34460826 -0.89428375 0.10307145 1.66583239 2.99608979 +H -0.15380303 1.43890104 -0.26720019 -1.52579958 3.40621009 -1.87777472 +H 0.95294955 0.85435849 0.86328923 0.25847407 -0.19900757 0.12201611 +H -1.32441322 0.44948317 1.71443241 -0.24351245 -0.65794326 -0.49550471 +H -1.68837898 -0.24307070 0.08641488 -2.44731684 -0.40719690 -1.40323273 +H -0.74619579 -1.20659783 1.19003626 0.48657892 -0.39814024 0.18752887 +H 0.19297207 -0.30789059 -1.60686673 -1.10816738 0.00051489 -1.39087328 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.381778200119 pbc="F F F" +C 0.19988150 -0.35439348 -0.36499871 -1.57753374 -0.41032727 -0.54746847 +C -1.26972456 0.14958527 -0.35531810 -2.13955867 2.92331551 1.60498870 +O 1.00882407 0.11261521 0.65180204 0.75204798 2.70836921 0.47819470 +H 0.20970821 -1.41026798 -0.10384040 -0.48400051 -1.00581204 -0.42562946 +H 0.58571110 -0.26275837 -1.37912880 0.72222929 0.19606000 -0.78720639 +H -1.51066755 1.34951861 -0.64967631 1.37069063 -2.49035018 0.72634692 +H -2.16470934 -0.25721303 -0.98526427 1.71739316 -0.44153744 0.85267210 +H -1.52535512 0.12059196 0.80829864 -0.12340862 -0.02653472 -2.02396065 +H 1.13923252 1.11155853 0.54667627 -0.23785947 -1.45318301 0.12206255 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6583954903035 pbc="F F F" +C 0.30976122 0.43289376 0.26386419 -1.71385732 1.06131847 -1.55234010 +C -1.03116341 -0.10532801 0.72153372 -0.37632175 2.00023054 2.25882493 +O 0.69921045 -0.30636136 -0.87372023 0.71260951 -0.08405942 -1.22889234 +H 0.29862393 1.57382951 0.20817736 0.09302892 -0.67196868 -0.50369481 +H 1.09783145 0.18648549 0.92088138 1.11654409 -0.26581565 1.82261657 +H -1.56035843 0.37257498 1.60986073 0.95724455 0.27476365 -0.28867127 +H -1.86125825 -0.10706800 0.05588550 -0.69376923 -0.05651477 -1.77115546 +H -0.86246190 -1.06942343 1.08551920 0.16976007 -2.53404774 0.44970569 +H 0.38410173 0.00178536 -1.75353016 -0.26523890 0.27609358 0.81360674 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.593722327375 pbc="F F F" +C -0.07280004 -0.08782438 0.60734487 2.71810053 0.48115754 -1.58088368 +C -1.05760977 0.57767839 -0.24432121 -4.95862033 -0.79726624 1.30807160 +O 1.03190046 -0.41705563 -0.32926942 -1.61103934 1.92294408 -0.21604925 +H 0.34488967 0.58188701 1.41158334 -0.47605966 -0.39585175 -0.01716227 +H -0.44132384 -1.02941526 0.93581643 -0.72866626 -1.19902907 1.25310417 +H -1.96860710 1.06829496 0.29310850 1.28089343 -0.63463240 -0.08869311 +H -0.71025330 1.33808288 -0.82211374 1.91551878 2.90959224 -1.91615852 +H -1.61270062 -0.04722005 -0.98889993 0.56710595 -0.48415576 0.31476546 +H 1.47733374 -1.13019597 0.07129800 1.29276689 -1.80275864 0.94300562 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.10383061763 pbc="F F F" +C -0.09856161 0.35199819 0.42364008 5.57270878 1.37104811 -1.55090522 +C -1.22936108 -0.10262742 -0.24539719 -6.02540513 0.38924150 -2.85221409 +O 1.22643680 -0.20850429 -0.19521693 -3.27021169 2.68779791 -0.77707742 +H 0.01485887 1.45770754 0.36124004 -0.02928405 -0.04142815 -0.26350762 +H -0.22975597 0.21552034 1.43544920 0.56211266 -1.09714403 3.36122199 +H -1.36882212 -1.16166420 -0.50869516 0.71135224 -0.36717361 -0.09330984 +H -2.20217104 0.04135242 0.41378464 1.40513715 0.22542360 -0.94979591 +H -1.39599714 0.54559054 -1.20050729 -0.06738031 -1.22540299 0.96764894 +H 1.53685999 -0.76186548 0.47352067 1.14097030 -1.94236234 2.15793918 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827029168496 pbc="F F F" +C 0.36005248 0.34963347 0.28737449 1.01396460 -2.29605411 -2.37413124 +C -0.71711856 0.88537922 -0.65952157 1.12026535 2.28507663 0.31208020 +O 0.34309612 -1.12504704 0.41526001 -0.86496845 1.18859023 -0.97488927 +H 1.36495330 0.61890215 -0.19024222 -0.60830732 0.06108059 0.57016536 +H 0.32618168 0.70645293 1.28140367 -0.13903646 0.96933939 1.66171734 +H -0.74267578 0.28512333 -1.57425978 0.08120673 -0.22047083 -0.52419731 +H -1.74953878 0.92737985 -0.25261505 0.14649112 0.10273165 0.08986451 +H -0.31598467 1.97467037 -0.96962975 -1.22482480 -1.86844094 0.44436406 +H -0.07518477 -1.37226377 -0.45169407 0.47520919 -0.22185254 0.79502635 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9297334678895 pbc="F F F" +C -0.31321715 -0.48065421 0.18619844 1.19854138 0.59083667 0.06292067 +C -0.92794162 0.95789783 0.04658534 1.96564636 -0.53999556 0.34223693 +O 1.13385606 -0.49336706 -0.17379606 -2.04966727 0.76854264 -0.52212212 +H -0.27465820 -0.81114365 1.22040888 -0.31537692 -0.05869985 0.90115083 +H -0.91503399 -1.28515573 -0.33013027 0.28006733 0.55338319 -0.28811062 +H -1.93742926 1.05661364 0.42246712 -0.82148383 -0.08381352 0.40350156 +H -0.26936849 1.76520842 0.53408887 -0.61017965 -1.01463057 -0.30289524 +H -0.95295570 1.18556318 -1.01861983 -0.12659797 0.31396949 -0.73540008 +H 1.14009977 0.23193343 -0.84335789 0.47905052 -0.52959256 0.13871806 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518187700745 pbc="F F F" +C 0.18509017 -0.21696608 -0.49569517 -2.64878629 1.32972867 0.10003976 +C -0.84224133 0.94908198 -0.32122419 3.09650173 1.71461642 1.78246929 +O 0.66334290 -0.70759215 0.70136480 0.68762686 -0.24629336 2.07046750 +H -0.52320043 -0.88564803 -1.01626293 0.19621622 -1.22130882 -0.03891088 +H 0.94693743 -0.01075551 -1.25449617 0.82752968 0.25164989 0.05838931 +H -1.59153534 0.89046856 -1.02667786 -2.32292600 -0.25188931 -2.00256824 +H -1.26153663 0.83454025 0.68589493 -0.52156121 -0.15349003 0.28232707 +H -0.49808617 2.04534868 -0.34857988 0.20424105 -1.09532554 0.01956646 +H 0.22761763 -0.36754156 1.56158375 0.48115795 -0.32768793 -2.27178016 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.621810287759 pbc="F F F" +C 0.35518283 0.05572687 -0.45558415 1.37678841 -0.75325373 -1.79646242 +C -0.71374523 1.08729541 -0.19361569 -0.88997403 -1.61603813 1.50390904 +O 0.30626410 -1.00584252 0.60768210 0.49772522 0.82486602 -1.80748608 +H 0.25237774 -0.36354462 -1.51865517 -0.13480463 -0.22603434 0.95324032 +H 1.35683051 0.66077180 -0.59988643 -0.85432362 -1.15054375 0.91615672 +H -1.72741035 0.54736370 -0.13883714 0.88196026 0.90638647 -0.11859783 +H -0.39911042 1.33237728 0.82403416 -0.63774225 0.55954603 0.89164165 +H -0.73432658 2.04530152 -0.72436589 0.16018631 -0.07880208 -0.71131799 +H 0.66186848 -1.87801602 0.24767181 -0.39981568 1.53387356 0.16891670 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.608743616427 pbc="F F F" +C 0.33435566 -0.24965537 -0.39981596 1.42133078 2.58425158 3.84538340 +C 0.25911438 1.41060685 0.03814491 0.66518123 -2.12073294 0.46718266 +O -0.56792166 -1.07792475 0.26078868 -0.44028979 -0.27622877 1.42044303 +H 0.18241403 -0.32393319 -1.43964872 -0.21482957 -0.20112178 -1.94635907 +H 1.37408092 -0.52685655 -0.08318062 0.03130278 -0.05971631 -0.66464793 +H -0.02888620 1.53821673 1.14688248 0.36187307 -0.34647452 -1.14636000 +H 1.27901821 1.92514092 -0.12317163 -1.29031720 -0.52807314 -0.07492187 +H -0.55835136 1.80464007 -0.56724507 -0.19540139 0.70895309 -0.25204728 +H -0.30627698 -1.14241261 1.23647290 -0.33884991 0.23914281 -1.64867289 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.3627678479825 pbc="F F F" +C 0.18774613 0.28697165 0.47556225 -1.86013782 -1.74388010 -1.94773631 +C -0.10384740 1.07645742 -0.89848264 5.35321044 -1.98378602 0.04332886 +O -0.04030298 -1.24448475 0.40161873 0.17948142 2.53610930 -0.00516396 +H 1.22935784 0.39883091 0.83131627 -0.21591715 0.07434136 -0.00141735 +H -0.59014865 0.71940534 1.09448449 -0.04011673 0.14167081 1.45689476 +H 0.80470894 1.81670232 -0.96108336 -1.38591938 -0.71706693 -0.09119973 +H 0.19608685 0.28075603 -1.70109415 -1.02877740 1.30998589 0.65895365 +H -0.98459887 1.66120628 -1.04324585 -1.44344207 0.16755669 -0.04846469 +H -1.01639581 -1.37097828 0.44413755 0.44161869 0.21506900 -0.06519523 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.607478632392 pbc="F F F" +C -0.15009435 0.36364994 -0.40698253 3.42913132 0.08437726 -0.46644980 +C -1.15989356 -0.16320832 0.52389146 -1.14029148 1.82684341 1.65413520 +O 1.20243981 -0.13139925 -0.12425129 -0.23228372 3.40596974 -1.29967684 +H -0.31894186 0.20014518 -1.47413266 -0.78360725 -0.90948465 -0.66681115 +H 0.06005037 1.46169284 -0.50324736 -0.70215530 0.00052713 0.97838530 +H -1.02217472 0.15740091 1.63664196 -0.26245424 -0.19272955 -1.59407802 +H -2.16872184 0.06244731 0.13625482 -0.35598288 0.72847605 0.33460168 +H -1.26205580 -1.21631629 0.52841006 0.59456688 -2.10485535 -0.06778418 +H 1.23401711 -0.96960137 0.25526248 -0.54692330 -2.83912414 1.12767785 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.496168471937 pbc="F F F" +C 0.19137021 -0.54607911 -0.04311688 1.29201227 -0.56051112 0.00171148 +C -0.88598332 0.10064203 -0.94841965 -0.63493692 -1.62851534 0.23324850 +O 0.61630530 0.43148373 0.88754989 -3.57235673 1.55651640 -3.49161311 +H -0.21544288 -1.52047161 0.47059921 0.36780317 1.30216829 -0.51094872 +H 1.04241312 -0.92908538 -0.75771004 -0.78920306 0.41296003 1.01538297 +H -0.59758424 0.42507654 -1.96603551 0.50215323 -0.08884733 0.07073030 +H -1.56509391 -0.80218527 -1.06632926 -0.22637208 1.11786348 -0.33087173 +H -1.40291817 0.97062023 -0.49010005 -0.02758496 -0.39922787 0.31771282 +H 1.23186733 0.31331310 1.53640669 3.08848513 -1.71240655 2.69464743 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.3818532401065 pbc="F F F" +C 0.50733551 -0.08253984 -0.00708454 0.34462893 -3.85422347 1.32454306 +C 0.12380082 1.30160110 -0.36628820 -1.96987249 0.04871656 1.05453837 +O -0.59734484 -1.09400271 0.27760303 1.01130762 1.85441860 -3.33479649 +H 1.27949821 -0.55429822 -0.79823141 -1.60981878 0.77920737 1.19326013 +H 1.07870260 -0.06820626 0.94389580 0.28319893 0.08542005 0.04706447 +H -0.74725183 1.74177547 0.36163682 1.93031446 -0.81250687 -1.73064262 +H 1.09266084 1.78079804 -0.22853224 0.22012121 1.13727243 -0.15547769 +H -0.13669315 1.23367609 -1.42866513 -0.54321607 0.86468861 -0.31969992 +H -0.60670791 -1.29617953 1.19254346 0.33333623 -0.10299323 1.92121069 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.453650307078 pbc="F F F" +C 0.18435719 0.41800706 -0.33981789 -1.12953773 -5.00138293 -0.06149068 +C -1.35028498 -0.06163369 -0.28435174 1.50458324 -0.93342029 -1.04994139 +O 1.10885981 -0.29295602 0.54309863 0.39226501 0.66111065 -1.55118779 +H 0.44041467 0.26160003 -1.42759829 0.43385432 0.01469725 0.52624812 +H 0.37400220 1.39697592 -0.10142422 -0.20309202 3.49356391 0.58257078 +H -1.60804946 -0.97612364 -1.03901396 0.61953929 1.92732282 1.74490526 +H -1.70713067 -0.25226453 0.73981803 0.12869851 -0.44385015 0.29632545 +H -1.90417736 0.82518454 -0.55351486 -0.82307920 0.62224631 -0.72526196 +H 0.69591068 -0.85325032 1.19858938 -0.92323137 -0.34028762 0.23783226 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.662910922957 pbc="F F F" +C 0.51845484 0.19548122 -0.00904904 -1.39598361 -0.40103716 -0.44832063 +C -0.73645303 1.02492695 -0.52280054 0.57732809 -3.21145086 -2.41243256 +O 0.18408793 -1.10635548 0.46472296 -1.82841250 0.35272560 -0.86642107 +H 1.21612363 0.02102164 -0.86385558 0.37454723 0.83376908 0.27509353 +H 0.87421964 0.80644863 0.83470621 0.86089629 0.20960226 -0.00773959 +H -0.93623579 0.97946084 -1.66259762 0.77713830 0.14534009 1.15500195 +H -1.68684701 0.64192845 -0.18087009 -0.63977244 -0.49900620 0.98822373 +H -0.63927364 2.01125895 -0.22046398 0.21738247 2.68785051 0.62793477 +H 0.84661425 -1.44252294 1.05392915 1.05687617 -0.11779333 0.68865988 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.677426000176 pbc="F F F" +C -0.12000791 0.00652996 0.59367128 0.93263513 -2.54461991 -1.65758527 +C -1.18538477 -0.15014386 -0.55209181 1.33765235 -0.66830414 -0.69996981 +O 1.21543527 0.13978459 0.03346226 -0.48042467 -0.24280329 2.55941265 +H -0.29764564 0.84590460 1.18481564 -0.72310398 2.29730295 1.31442248 +H -0.13735045 -0.86273494 1.33316395 -0.09194073 0.34459983 -0.67825544 +H -2.08932602 0.39842229 -0.28442448 -0.54546425 0.25095827 -0.19077895 +H -0.75682602 0.21373550 -1.57314543 -0.60011486 0.14531787 1.38819326 +H -1.45067758 -1.21445308 -0.81978283 0.09102058 0.44740753 0.57011548 +H 0.99296020 0.11008919 -0.86725018 0.07974043 -0.02985905 -2.60555441 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5752902763115 pbc="F F F" +C -0.34763852 0.19234382 0.35426193 0.17892678 -1.40141198 0.80150327 +C 0.01550612 1.05808177 -0.82660023 -3.76729311 0.81171132 -0.02624058 +O 0.29292195 -1.15122223 0.46918278 -0.32535028 0.51100785 -2.11391694 +H 0.03559108 0.67964600 1.26788789 0.21658975 0.27080462 0.10743492 +H -1.44177621 0.19247114 0.55542409 -0.24814352 -0.63214274 -0.34600550 +H 1.03268115 1.07364610 -0.76007922 3.78707097 0.13903014 -0.95213371 +H -0.48925609 0.88173969 -1.82947105 0.79561215 -0.49397274 0.69376733 +H -0.31049013 2.11287007 -0.59847729 0.10022487 -0.40558811 0.07680243 +H 0.48032225 -1.56828116 -0.45437034 -0.73763756 1.20056170 1.75878881 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.67689600817 pbc="F F F" +C -0.36745637 -0.41497340 -0.20605936 0.49868974 2.18599029 -0.33910641 +C -0.71681775 0.66193643 0.83998780 2.06855943 1.53919276 -2.84049922 +O 0.97071487 -0.25304985 -0.62342671 -0.61733056 -1.26853840 -1.79935255 +H -0.72332230 -1.36522511 0.16214511 0.49369681 -1.53165264 0.90384951 +H -0.96678363 -0.38802238 -1.14517684 -0.06624717 0.72367214 0.00439227 +H -0.30535746 1.74027045 0.54937991 -0.88975246 -1.89637948 0.29006311 +H -1.74795887 0.65473897 0.93203672 -2.93263874 0.48466417 0.49140215 +H -0.30552470 0.41662201 1.77948534 0.89882568 -0.50998378 1.79653210 +H 1.55974990 0.01403577 0.06406373 0.54619732 0.27303490 1.49271903 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.605215422126 pbc="F F F" +C 0.04427435 -0.59134739 -0.17988363 -2.90353513 3.34819611 0.98659437 +C -0.83612049 0.60211787 -0.80937661 0.56531867 -0.49127334 -0.59287360 +O 0.76879763 -0.08379840 0.89730415 1.67395250 -1.71795263 0.48922793 +H -0.75808355 -1.19128703 0.23428604 -0.38753181 -1.32469224 0.18945180 +H 0.59449945 -1.15271414 -0.89294685 1.25656097 -0.69107846 -1.12061369 +H -0.74707995 0.66679009 -1.94075876 -0.00363153 0.19056051 0.85339000 +H -1.91540546 0.45630242 -0.57534843 0.16909406 -0.01635094 -0.08432861 +H -0.55307492 1.58340921 -0.32131130 0.01713147 -0.47964542 -0.57186316 +H 0.61045653 0.83781997 1.04095297 -0.38735924 1.18223642 -0.14898504 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.373364914006 pbc="F F F" +C -0.19285415 -0.46816284 -0.15220772 -5.53237464 0.78727658 0.62780550 +C -1.00234893 0.81070064 0.49769131 2.41018279 -0.34789583 -1.13821593 +O 1.10456191 -0.33944588 -0.30107541 3.57816665 -0.19450777 -0.44490343 +H -0.37203266 -1.32937784 0.48347352 0.29572890 -0.45030907 1.36552199 +H -0.91730441 -0.88859330 -0.93843658 1.06374122 0.74726012 -0.85932771 +H -1.70004020 0.42987007 1.21819118 -0.92058637 -0.37984262 0.80210218 +H -0.16473879 1.34592100 1.09635714 -1.28876204 -0.08441264 -0.86951761 +H -1.58737665 1.43125347 -0.27119524 0.97647523 -0.35003627 0.81913811 +H 1.44953164 0.31586491 -0.92612222 -0.58257181 0.27246750 -0.30260316 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5603737373 pbc="F F F" +C -0.30617170 0.14022714 0.41122962 -1.42873639 -0.73496937 1.53570172 +C 0.08222995 1.16950694 -0.63626058 3.02478855 -0.82720007 -0.13016389 +O 0.13362695 -1.20972065 0.19655678 -0.72672081 0.67007347 -0.17202239 +H -0.03847355 0.45292654 1.51968130 -0.37341861 -0.16130269 -1.58108443 +H -1.45030460 0.08916882 0.34538297 0.99136310 -0.16011154 0.50170889 +H 0.72130632 1.93391855 -0.16919340 -0.65559743 0.99206172 0.32792416 +H 1.02181789 0.73586075 -1.21771115 -2.15363814 0.28010132 -0.08930622 +H -0.79892372 1.55282625 -1.18467079 0.57470783 0.06467916 -0.43744836 +H 1.09098825 -1.17076740 0.26798176 0.74725184 -0.12333200 0.04469057 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.55974391189 pbc="F F F" +C 0.11332485 -0.17403943 0.55041453 1.09767563 -3.19140957 0.59838590 +C -1.23421066 0.44447707 0.11140480 1.05169046 -1.49731694 0.13429355 +O 1.04669436 -0.19480207 -0.53745075 -0.09760986 1.00459354 -0.16377444 +H 0.71740420 0.24080337 1.47565544 -1.37478969 -0.33663347 -1.38892922 +H 0.01394997 -1.37250166 0.70150430 -0.53931123 2.12546336 0.79683224 +H -2.10830700 0.16679540 0.76342996 0.49775983 0.86412765 -0.11361837 +H -0.97003887 1.45990662 -0.16861766 -0.69904169 1.07743858 0.28873421 +H -1.42546790 -0.05168620 -0.86461156 -0.26287153 -0.08133168 -0.02734014 +H 0.51348036 -0.57521153 -1.26250446 0.32649802 0.03506852 -0.12458372 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.709855762186 pbc="F F F" +C 0.03478677 -0.40438856 0.42803953 0.55419186 2.50479459 -1.02381630 +C -1.12660745 0.61073639 0.34500061 -1.49322652 -1.15668957 -1.04397370 +O 0.98239132 -0.16621295 -0.71129341 -1.54829771 0.42802269 1.59830682 +H 0.41906856 -0.33108760 1.46082698 0.86756558 -0.08095352 0.00200418 +H -0.39362773 -1.34031075 0.26836297 -0.85033764 -2.60505494 -0.02733006 +H -1.92073166 0.57833936 1.18086207 1.40212222 -0.00671706 -0.39925877 +H -0.69232513 1.61814215 0.22178165 -0.33839812 0.21926648 -0.10251377 +H -1.80233391 0.27916334 -0.54828163 1.11366019 0.98610993 0.74130241 +H 1.80533363 -0.62624630 -0.50454491 0.29272014 -0.28877859 0.25527931 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.570340168101 pbc="F F F" +C 0.01902180 -0.21080670 -0.55289949 2.63721071 4.27450246 0.15372425 +C -1.25754369 0.13437095 0.10693576 -2.53167846 1.44188527 -2.82468981 +O 1.11858153 0.10353502 0.40754575 -0.57173645 -0.22908521 -0.68541792 +H 0.15192145 -1.19539831 -0.81637657 -0.01832272 -3.15144016 -1.07534534 +H 0.23636392 0.48245962 -1.51560369 -0.59652401 -1.40151066 1.61821961 +H -1.39750627 -0.39943018 1.03497646 -0.09078291 0.04178589 1.01613405 +H -1.35741470 1.28492116 0.07978022 0.11737038 -1.33019132 0.96886435 +H -2.15963667 -0.15723344 -0.59344621 1.22209377 0.16016939 0.94935425 +H 1.52796347 -0.74945314 0.65568952 -0.16763027 0.19388433 -0.12084333 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.655489598739 pbc="F F F" +C 0.50023669 0.10925198 -0.20243644 -0.33545426 1.64471869 0.93967856 +C -0.75486007 1.10660349 -0.30144739 1.66255974 -0.29479214 2.79888302 +O 0.24504314 -1.13279040 0.39959683 -0.71603705 -1.49369425 0.21618151 +H 0.77655878 0.04327957 -1.29800942 0.22812290 -0.88737866 0.76071137 +H 1.39302443 0.53264246 0.35686340 -0.51832717 0.52018721 -0.58131073 +H -1.38398643 0.74817317 -1.08997557 -1.07323451 -0.16298023 -0.68951930 +H -1.26615156 1.21394538 0.71219118 -0.01883236 -0.66771664 -0.81644210 +H -0.45157707 2.15818772 -0.41807403 0.35863235 0.16706304 -0.76311535 +H 0.07559761 -1.20477122 1.39838108 0.41257036 1.17459299 -1.86506704 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.552424405577 pbc="F F F" +C -0.32303624 0.24092118 0.43339159 0.46645350 -3.69459257 -2.04769831 +C 0.06102252 1.02109890 -0.77384261 -1.20735497 1.34738948 -2.26752997 +O 0.26583089 -1.11885776 0.39000157 0.16391092 -0.17928673 0.14364079 +H 0.12141816 0.64575064 1.29816125 0.16441058 0.77817045 1.97962510 +H -1.42661975 0.09012430 0.41722139 0.03678525 0.50783172 0.59484667 +H 0.92624396 1.74544194 -0.85994059 -0.26473805 -0.77352842 0.70852145 +H 0.14288280 0.30315126 -1.65060909 -0.12325806 0.62352579 0.47029462 +H -0.87726519 1.64945381 -0.95610260 0.92877467 -0.14512700 -0.39527238 +H 0.01489806 -1.71372409 -0.38252399 -0.16498389 1.53561723 0.81357203 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.765205315692 pbc="F F F" +C -0.39485744 -0.02972354 -0.48424627 1.79672771 0.02919139 0.48402422 +C 0.97830770 0.81184202 -0.38763217 -0.93479280 0.07353342 -0.85537782 +O -0.57766867 -0.68150074 0.77053971 0.07370147 -1.18434529 0.82706904 +H -1.26230962 0.71201294 -0.57670382 0.73885724 -0.89820563 -0.27475136 +H -0.33053658 -0.82286010 -1.27289976 -0.39528776 0.61680575 -0.32551612 +H 1.91260600 0.21042029 -0.27036956 -0.45695383 -0.15050405 -0.01374281 +H 1.20614198 1.61834324 -1.16382061 -0.53397342 -0.85772935 0.29650944 +H 0.77737200 1.34530346 0.53641177 0.37308509 0.48725214 0.78674220 +H -0.08716053 -1.56680095 0.90570223 -0.66136365 1.88400162 -0.92495673 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6719816716495 pbc="F F F" +C -0.16336381 0.54072060 0.21876603 0.07101950 -1.18233304 1.59320518 +C -0.57437703 0.00981098 -1.11961271 -2.56799659 0.06211803 0.39415359 +O 0.71247462 -0.46326190 0.76081772 0.00737506 -0.96655941 0.70164344 +H 0.51413588 1.40050960 0.32719818 -0.72160811 1.18436570 -0.72552493 +H -1.13528995 0.62145018 0.84313601 1.12192366 0.42387113 -0.50023266 +H -1.41275071 0.61150452 -1.55653127 0.84212167 0.36397557 -0.48317236 +H 0.20579667 -0.32940428 -1.78116878 0.75134699 0.19359683 -0.71274706 +H -1.19505225 -0.88688940 -0.87775006 0.48833879 -0.26114400 0.04015278 +H 0.50378459 -0.62532707 1.70294499 0.00747908 0.18210934 -0.30747797 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6047855672305 pbc="F F F" +C 0.42258230 0.05117006 -0.42032106 -0.83087042 0.24093934 0.55557434 +C -0.67866889 1.07465755 -0.18223618 -1.14135175 -1.80123151 1.20223925 +O 0.32662389 -1.02456133 0.50925387 -1.55429857 -0.18801769 0.78756074 +H 0.27480129 -0.38189704 -1.41155386 0.70763056 0.15864463 -0.99739301 +H 1.35051573 0.61419152 -0.19273714 0.51896480 -0.63888675 -0.67545865 +H -1.48984244 0.42655695 0.23628177 -0.50594828 0.30671075 -0.46924777 +H -0.46718626 1.65295020 0.68112981 0.65157577 1.15387642 1.40897797 +H -1.12935158 1.74996877 -0.88959885 0.05851221 0.31238014 -1.31288604 +H -0.67299644 -1.21549306 0.67302961 2.09578567 0.45558467 -0.49936682 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.838035654311 pbc="F F F" +C -0.09475729 0.37297332 -0.45668990 0.02789540 -0.78832924 -0.00345474 +C -1.19118905 -0.12698534 0.52297564 1.40142237 -1.14567269 1.11902845 +O 1.15987226 -0.21852127 -0.03531386 -2.18162532 0.22547430 1.21720538 +H -0.40520941 -0.02857255 -1.48166705 0.36500473 0.48031566 0.49029931 +H -0.13481270 1.54435795 -0.51168834 0.34176375 -1.44896074 0.17148996 +H -1.00678373 0.20361686 1.59635309 -0.43026593 0.36702880 -0.95130880 +H -2.14428982 0.11546346 0.08952741 -1.18284767 0.76934395 0.06338584 +H -1.27697920 -1.26200002 0.69277537 0.65968585 0.90143879 -0.76412703 +H 1.87945701 -0.03691189 -0.61461720 0.99896689 0.63936117 -1.34251837 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.468676231701 pbc="F F F" +C 0.22311957 0.50105152 0.37391949 0.40502576 -1.47962563 -1.32337224 +C -0.83614856 0.54957545 -0.82623399 0.21792071 2.86650918 3.14189494 +O 0.54239790 -0.95471403 0.37916148 0.44319118 0.16269113 2.48268901 +H 1.19808710 0.98448884 0.01427431 -0.96601675 0.19770787 0.48461506 +H -0.12192461 1.04294052 1.37319767 0.32226424 -1.29278258 -1.48558231 +H -1.36011178 1.54752763 -0.69177218 0.29527695 -0.44856324 -0.47777191 +H -0.41185304 0.51846585 -1.79606797 0.97872674 -0.13188643 -1.42245292 +H -1.62993476 -0.16583698 -0.76535795 -0.64659101 -1.19475512 0.44955240 +H 1.01997416 -1.29392297 1.23697609 -1.04979782 1.32070487 -1.84957197 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.52062898645 pbc="F F F" +C -0.12622922 0.34850842 -0.45079495 0.60809495 -4.20369739 -1.07187126 +C -1.23739334 -0.11009809 0.49410606 1.40696983 1.65365014 2.55511608 +O 1.19809925 -0.23508421 -0.02216537 -0.01428886 1.86507460 -1.82193373 +H -0.35986328 -0.15737389 -1.47434426 0.26077639 1.22429263 0.78929484 +H -0.03783758 1.39350957 -0.48658553 -0.01185459 2.25366982 -0.33887588 +H -0.69454947 0.08242463 1.54368684 -1.31221231 -0.39973571 -1.42562227 +H -2.19004438 0.56834392 0.49925360 1.29347348 -1.32278155 -0.31110672 +H -1.35915347 -1.20866879 0.44184759 -0.53775134 0.13666148 -0.11075679 +H 1.87163590 0.21092392 -0.68811819 -1.69320750 -1.20713406 1.73575578 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.843865718105 pbc="F F F" +C -0.31964515 -0.10609831 -0.49381139 2.82131380 -0.83171071 -0.76446929 +C 0.88768414 0.83229730 -0.31271620 -1.10811123 1.09408215 -0.88069610 +O -0.53487678 -0.71629867 0.70352442 -0.55710631 -3.34130071 0.22093523 +H -1.19385742 0.39721276 -0.83767825 -1.34254995 0.86672714 -1.00958339 +H -0.00679074 -0.96856307 -1.19484556 -0.57389392 1.16459108 0.23486099 +H 1.76818631 0.23257089 -0.14516502 0.87975899 -0.29268332 0.33692549 +H 1.02578800 1.48546342 -1.18878172 0.30705065 -0.06637207 -0.51742137 +H 0.74336466 1.60589536 0.48652912 -0.08321934 -0.58048530 0.17460871 +H -0.61618686 -0.03745879 1.32329355 -0.34324270 1.98715185 2.20483967 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.409751995675 pbc="F F F" +C 0.15438705 0.50780820 0.02333166 -2.23213605 1.90936304 -1.71942016 +C -1.30059152 -0.02417825 -0.26614398 -0.99695371 2.81516942 0.35096038 +O 1.06923479 -0.44264440 0.28506996 1.42622457 -1.44771875 1.69734544 +H 0.57020976 1.20331813 -0.75966619 -0.56486816 -0.13272702 -0.39070888 +H -0.08231420 1.23647151 0.81550952 0.95867481 -0.19112615 0.95692440 +H -1.27715040 -0.99260562 -0.73547711 -0.15628374 -1.55348018 0.49517551 +H -1.96601107 0.21910636 0.71438481 1.07084750 -1.38278135 -2.13804717 +H -1.80453909 0.53023472 -1.13963190 0.46971556 0.10716130 1.02673815 +H 1.24473273 -0.93474520 -0.52676629 0.02477922 -0.12386042 -0.27896767 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.399383059931 pbc="F F F" +C 0.09540970 0.38247934 0.37189192 0.49100626 -1.19238729 -1.53797391 +C -0.84772236 0.66118151 -0.91042048 1.67794702 0.32627855 1.08125888 +O 0.64179318 -0.96558861 0.43878802 1.26197371 -0.05388911 1.57203980 +H 0.92779679 1.06841402 0.33219404 0.86301385 0.98642700 -0.12808675 +H -0.35189495 0.48961928 1.34246607 -1.33970044 0.91876551 0.80042608 +H -0.82082394 1.80054301 -1.13392188 -0.32601537 -1.36190614 0.57803072 +H -0.35325312 0.20987662 -1.86994700 -1.13964793 0.08918728 1.52023987 +H -1.85717460 0.32335306 -0.53991483 0.32061066 0.05548684 -1.25823115 +H 1.23156554 -1.00251802 1.32123389 -1.80918769 0.23203725 -2.62770354 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.749994517109 pbc="F F F" +C 0.08820024 -0.06082092 0.55045102 1.58040041 -2.55308229 -1.50551104 +C -1.30077972 0.17495254 0.03687613 -1.21179578 2.73634117 0.37812867 +O 1.07303288 -0.08778045 -0.54827963 -2.04420588 1.59379283 -0.59686966 +H 0.46216790 0.56831664 1.36443324 -0.31154391 0.55883964 0.45404252 +H 0.16633392 -1.13514258 0.83082082 -0.49925935 0.07790384 1.08339881 +H -2.06892509 0.40523611 0.87877904 0.96407701 -0.99535356 -0.82312970 +H -1.33506719 1.20813653 -0.45007751 0.21094700 -0.80930878 -0.07638925 +H -1.67654424 -0.55089475 -0.71903706 0.17490912 -0.02371406 0.41023420 +H 1.86760422 -0.46378324 -0.20051651 1.13647133 -0.58541874 0.67609546 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.628529262244 pbc="F F F" +C 0.25600313 0.13286140 0.53887707 0.75546102 -0.59911115 -2.70851231 +C -1.24618391 0.14662910 0.33100373 -1.40463866 -1.60349243 0.69834672 +O 0.95728354 -0.23041028 -0.72470274 -0.14756414 0.53471682 0.10934648 +H 0.71173197 1.08543064 0.88402559 -0.28149105 0.00394161 0.26361355 +H 0.64083184 -0.74363959 1.04495863 -0.30231519 -0.15448170 1.82199940 +H -1.87664979 0.58396906 1.19061911 0.77229877 -0.42630519 -0.93032813 +H -1.55742068 0.59481494 -0.62284595 0.19716666 0.97023516 -0.15151151 +H -1.64743211 -0.92423229 0.10991358 0.62426221 1.04872536 0.76447289 +H 0.33171769 -0.27088930 -1.46877415 -0.21317965 0.22577152 0.13257296 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.473128609215 pbc="F F F" +C -0.16731269 -0.21278229 0.50656204 2.33302350 -1.23072980 -2.18362641 +C -1.07222510 0.69916888 -0.25626966 -2.23431398 2.01410149 2.66345346 +O 1.10296819 -0.45386408 -0.25431328 0.18388366 0.66387012 0.47242134 +H 0.06356991 0.17557221 1.47670951 0.12805142 0.14426161 1.37836116 +H -0.55428451 -1.23563241 0.46233556 -0.80376959 -0.26232131 0.98961033 +H -1.61091721 1.52927302 0.44985371 1.07018395 -1.73711152 -1.07775796 +H -0.62292896 1.32436563 -0.98221968 1.19266250 0.69212084 -1.34053785 +H -1.91097120 0.17897143 -0.69227231 -0.62751563 -0.50384887 -0.63482621 +H 1.89716480 -0.56552417 0.33989534 -1.24220577 0.21965739 -0.26709786 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.823064427773 pbc="F F F" +C 0.13370169 -0.19811400 -0.54344842 -0.30375059 1.13755551 -0.57085035 +C -0.38654613 1.24239308 -0.15048084 2.39457367 -0.60923410 -1.51287078 +O 0.23811714 -0.99205516 0.58486227 0.67222847 -0.69253098 1.95049233 +H -0.65361272 -0.71060405 -1.13226841 -0.09602025 0.20539681 -0.52480985 +H 1.08897739 -0.20694302 -1.23515066 -1.04449559 0.28443121 1.11578778 +H -0.92088743 1.70902760 -1.00147786 0.13403160 0.28135854 0.15996283 +H -1.02797314 1.12388894 0.68573227 -1.39715624 -0.23165529 1.14724791 +H 0.47790896 1.86902455 0.22613912 -0.52656401 -0.14261734 -0.50120696 +H 0.26779355 -0.48235966 1.44221391 0.16715298 -0.23270425 -1.26375296 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518472460792 pbc="F F F" +C 0.44393830 0.32545469 0.08836990 -0.78953915 -2.68891922 0.47818817 +C -0.65145891 0.84315997 -0.79945578 -1.17971103 -1.18294527 -1.92118544 +O 0.22009035 -1.07639216 0.61036656 0.34411415 1.90489452 -1.11168424 +H 1.44592822 0.29537469 -0.26558827 1.32081440 -0.29863060 -1.88915319 +H 0.69617993 0.97944116 0.87861314 -0.53598273 1.32501188 2.08523566 +H -0.90321042 1.90786406 -0.71161041 0.16617153 0.34030454 0.08890934 +H -0.53574211 0.58839633 -1.90315275 0.60235054 0.51238170 0.64246038 +H -1.62026306 0.26758243 -0.70445595 0.49481499 0.31454460 0.87542410 +H -0.10462275 -0.87950577 1.49098348 -0.42303264 -0.22664215 0.75180522 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.656851845465 pbc="F F F" +C -0.29258480 -0.44234871 -0.16210345 -2.72555801 -0.35997313 -0.72463924 +C -0.83159203 0.77806530 0.68020932 -0.88634405 -1.62529199 -1.17508885 +O 1.06829596 -0.36805531 -0.43940729 -0.38540556 1.98638875 -0.87466943 +H -0.51237491 -1.47553549 0.23975326 0.13588167 0.68776231 0.27409198 +H -1.08184379 -0.41508554 -1.13288790 1.97661804 -0.09461529 1.40784807 +H -1.95736417 0.66187202 0.57325352 0.71233095 0.63084130 0.24343306 +H -0.59329600 0.79632985 1.75227937 0.41557320 0.05025470 0.19530363 +H -0.47191705 1.68097234 0.13118651 -0.29684394 0.10220283 0.38816138 +H 1.05414271 0.59179524 -0.76250661 1.05374770 -1.37756946 0.26555941 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5698189182185 pbc="F F F" +C 0.04636451 -0.35454971 0.39634530 -0.60046746 -3.29654453 0.38065812 +C -1.12633168 0.61562370 0.33898348 -1.33085867 0.42806938 0.28851464 +O 1.00804121 -0.29487179 -0.68990014 -1.47615433 -0.59758875 1.08172538 +H 0.57495620 -0.35661355 1.42136963 -0.48055040 0.24025810 -0.87342600 +H -0.48883395 -1.52258460 0.37685473 1.57139019 2.87085707 -0.20175741 +H -1.93381098 0.42906473 1.13863821 0.62760228 -0.62598161 -1.07771250 +H -0.98600413 1.66342527 0.61705435 1.17724128 0.73467462 0.06969286 +H -1.57340983 0.72996808 -0.69005978 0.02733248 -0.65340002 0.52142257 +H 1.27408916 0.62486724 -0.67506119 0.48446460 0.89965573 -0.18911766 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539369262651 pbc="F F F" +C -0.12961611 -0.53978409 0.21841367 1.94241346 2.33805911 0.84690064 +C -1.02480104 0.71730460 0.50226379 1.17539574 -1.95117912 -2.04287081 +O 1.01453178 -0.12568159 -0.69470745 -0.23908028 -1.33755362 2.48374475 +H 0.10331938 -0.94786110 1.30193530 0.50195931 0.52147374 -1.62661472 +H -0.56590602 -1.36650305 -0.28670006 -1.38056619 -1.04032942 -0.79931248 +H -1.92179762 0.23687258 0.82307106 -1.81366532 0.04902849 0.21978121 +H -0.63558855 1.24290718 1.33031012 0.83028359 1.08903225 1.36891410 +H -1.09997534 1.39961005 -0.37629485 -0.31187358 -0.38406823 0.17060499 +H 1.77105960 -0.68688581 -0.35263114 -0.70486668 0.71553681 -0.62114762 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.746180198954 pbc="F F F" +C 0.08919035 -0.35066972 -0.37928371 4.48416407 -0.56141116 0.31696396 +C -1.29045810 0.06816951 -0.26701259 -1.47177466 1.58431898 1.13992725 +O 1.11327929 0.26957021 0.52838379 -1.73644360 -0.66278095 1.11457283 +H 0.11980279 -1.50925859 -0.21809804 0.19941791 1.31824612 -0.66659878 +H 0.60479881 -0.00570465 -1.33763519 -0.81538111 -0.88860898 0.32722112 +H -1.45535067 1.19432992 -0.21228717 0.25934001 -0.83285505 -0.27119383 +H -1.83546898 -0.35502427 -1.12019769 -0.52826942 -0.10689355 -0.08635619 +H -1.65099944 -0.34389924 0.69988686 -0.58503966 0.01733510 -0.15210929 +H 0.85914954 0.10536700 1.50242466 0.19398646 0.13264948 -1.72242702 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542597619836 pbc="F F F" +C -0.44794902 0.17080476 0.37300239 1.40589053 -0.75546395 -3.43111606 +C 0.80235267 0.99228475 0.14376805 0.36823064 -0.86272712 1.72012603 +O -0.40220623 -1.02942836 -0.47692921 -4.01421371 2.36030456 0.19324480 +H -0.56719518 -0.09568366 1.37059515 -0.23336225 -0.70032513 2.71616500 +H -1.27357258 0.80096527 0.08386095 -1.25390512 0.04806998 -0.41415164 +H 1.56593778 0.23957227 0.08240166 1.23006317 -0.94947936 -0.47402571 +H 0.84911723 1.54027949 -0.79329471 -0.09329225 0.80553044 -0.16685745 +H 1.15885748 1.41816437 1.11497055 -0.41375306 1.07885911 -0.60117092 +H 0.42712807 -1.42378039 -0.44594311 3.00434205 -1.02476853 0.45778590 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625407651709 pbc="F F F" +C -0.13102136 -0.19312992 -0.43082050 -1.36498087 -2.79556326 -1.58894810 +C -1.15928515 0.06717563 0.67040404 -0.25847638 0.83836704 1.07706649 +O 1.18425799 0.15061002 -0.27663422 0.39284264 2.08029966 -1.62844694 +H -0.21878456 -1.36672985 -0.63240452 0.10098659 1.48922526 0.14004732 +H -0.47291701 0.23499174 -1.44912353 0.37886421 -0.14689633 1.23815392 +H -0.78787525 0.57731890 1.57751495 0.69508872 0.50461712 -0.12802561 +H -2.05583264 0.66665702 0.42611238 0.04077010 0.11078980 -0.55123977 +H -1.56104862 -0.81444867 1.16478180 -0.22199514 -1.02829588 -0.18399957 +H 1.67271263 -0.18909498 0.44933691 0.23690014 -1.05254340 1.62539222 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6807840200845 pbc="F F F" +C -0.31395613 -0.13237703 -0.42995651 1.14522198 -0.72968688 0.63433523 +C -0.95569460 0.16283987 0.93689368 -1.21925723 3.91945290 -3.22440557 +O 1.15194701 0.02775617 -0.47823285 -0.90700775 -0.55032445 0.11572390 +H -0.70088111 -1.16819467 -0.50232548 0.63497985 -0.54068852 -0.98065389 +H -0.71310685 0.42208994 -1.30430095 -0.06327600 0.28230542 0.28148797 +H -2.07448192 0.13188580 0.75454803 0.65885914 0.04095800 0.45792612 +H -0.66599217 -0.55840516 1.58682061 0.98867651 -2.71612731 2.71593735 +H -0.66122331 1.17617847 1.31127926 -0.22855608 -0.30166239 0.04987541 +H 1.65868784 -0.80863611 -0.29556378 -1.00964041 0.59577324 -0.05022647 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.702035353988 pbc="F F F" +C -0.31831952 0.16915230 0.36360517 -2.44835058 -0.39122330 0.29535732 +C 0.03612102 1.06406777 -0.80571702 0.40721032 -0.64108186 1.19094043 +O 0.26765738 -1.14055679 0.45722866 -0.48040559 1.70579845 0.39842779 +H -0.25937937 0.64341420 1.32944747 0.94012599 0.73480523 0.96469541 +H -1.43548640 0.17920492 0.30134507 -0.39710486 -1.01801784 -0.03960925 +H 1.07078763 1.26368989 -0.62296297 1.55268222 0.72967819 -0.68118254 +H -0.13928858 0.56735288 -1.75818236 0.00147083 -0.27232162 -0.64398057 +H -0.54622143 1.98853668 -0.76794412 -0.18938922 0.37165802 0.01702127 +H 0.42267738 -1.23438071 -0.47121785 0.61376084 -1.21929528 -1.50166987 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.737729138231 pbc="F F F" +C -0.47962481 0.07813691 -0.28576174 2.31695472 0.62021622 0.07797865 +C -0.43241159 0.20707966 1.21967073 -1.15502683 -2.60535875 -1.13511646 +O 0.80766120 -0.28516216 -0.83343759 0.77631781 0.79788881 -0.65886798 +H -1.11503143 -0.77618647 -0.42080628 -1.06213387 -0.67227331 -0.96370826 +H -0.78628336 1.00534871 -0.74919417 -0.93555364 0.61185385 -0.61331614 +H -1.49841323 0.22784025 1.52724958 0.19458244 0.32675498 0.56074678 +H -0.02716251 -0.80935897 1.45397065 0.06315007 0.51695096 0.80645172 +H 0.18107603 0.98706889 1.56318763 1.05564379 1.56326930 0.93484304 +H 1.29242845 0.49160536 -1.27348804 -1.25393448 -1.15930207 0.99098875 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.560958336449 pbc="F F F" +C 0.38726344 0.03744885 -0.40391777 -0.31344597 -0.04536183 0.31724395 +C -0.61904540 1.17391666 -0.14829578 3.91129617 2.89210081 3.03532298 +O 0.17290133 -1.10443425 0.50887071 0.56404813 0.97742679 -1.22074688 +H 0.03981532 -0.19153519 -1.44454101 1.14768222 -0.71066334 -0.19641013 +H 1.49857138 0.36661112 -0.27675009 -1.46824731 -0.12760415 -0.69129336 +H -1.62076350 0.88060291 -0.22297534 -2.14248926 -0.74894790 -0.07325368 +H -0.36006659 1.58810044 0.95265157 -1.05498980 -0.83183474 -1.70397210 +H -0.44980921 2.15811131 -0.74313808 -0.04289573 -1.61338269 0.19269597 +H 0.90867131 -1.70703818 0.23748657 -0.60095844 0.20826709 0.34041325 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.849329532847 pbc="F F F" +C 0.32562548 0.02092936 -0.41674665 2.51111868 0.46105439 -2.26985728 +C -0.63002751 1.14541677 -0.11263289 -1.34346382 -2.15680059 2.53858106 +O 0.33366055 -1.07852952 0.45028859 -1.17876039 0.10254735 0.41376227 +H 0.21658793 -0.31682929 -1.51943904 0.08721504 0.27071309 0.90163713 +H 1.39615260 0.42115286 -0.32279315 -0.84829855 -0.08643959 -0.41857923 +H -1.69403193 0.95382599 -0.40311778 0.31903652 0.01558274 -0.11088889 +H -0.61835917 1.12640011 1.01964800 -0.30848672 0.30518989 -0.35882261 +H -0.36790289 2.13892192 -0.33787036 0.77147833 1.73765068 -1.00200074 +H -0.60247066 -1.10335954 0.72410910 -0.00983910 -0.64949795 0.30616840 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.829371887515 pbc="F F F" +C -0.25920403 0.49166245 -0.20314442 2.18579591 -0.51837473 -0.44411642 +C -0.60705098 -0.13172627 1.16167962 -1.02297236 -0.19063924 -0.40735878 +O 0.75550110 -0.31420369 -0.91616782 -0.04868185 -0.02264099 0.53940292 +H -1.07921072 0.50363768 -0.94707911 -0.37240406 -0.13442951 0.37632874 +H 0.12946169 1.54595873 -0.20594817 -0.26256222 -0.12625823 0.61358092 +H -1.28599742 0.41200443 1.82095266 -0.48385365 1.17594657 -0.03023166 +H -1.26511378 -1.01964108 0.98370202 0.86580020 -0.30784543 0.05166011 +H 0.22004400 -0.31319592 1.87652766 0.40762870 -0.38162167 -0.56158337 +H 1.60985136 -0.43182455 -0.40747661 -1.26875062 0.50586333 -0.13768236 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.566297458845 pbc="F F F" +C 0.35250900 0.02203317 -0.39419649 0.09551461 -1.95423832 -1.32425150 +C -0.61241734 1.16274778 -0.09443658 -0.23343851 0.76509412 -2.49045174 +O 0.19326793 -1.05807174 0.49939768 0.44455551 -0.22800324 0.82244558 +H 0.29788282 -0.48322753 -1.44737678 -0.98267457 1.21698612 0.57995581 +H 1.39223836 0.40838819 -0.57316628 0.20135339 0.21330064 1.16596426 +H -1.73189798 0.98535781 -0.39431360 1.74392911 0.13570102 0.37553237 +H -0.59657827 1.66567173 0.89209974 0.33293375 -0.54715901 0.22328115 +H -0.10153582 1.90959300 -0.81327802 -1.35620698 -0.10401689 0.64230951 +H 0.76817942 -1.81007595 0.23150691 -0.24596631 0.50233562 0.00521456 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.71278682962 pbc="F F F" +C -0.08322457 0.33165489 -0.47136373 0.02355851 0.27983464 1.09371114 +C -1.17519708 -0.26582273 0.39068122 -3.38598948 0.72149504 -1.53054866 +O 1.15967105 -0.08150304 0.02855898 1.75212342 -0.05224159 0.45391541 +H -0.10996097 0.09710535 -1.55691772 -0.23217059 -0.54870055 0.13228413 +H -0.22644184 1.40480020 -0.45814162 0.15608052 1.30939736 0.04528851 +H -1.16939650 -1.32366563 0.27380260 0.28129323 -1.75325980 0.06858384 +H -1.13272228 -0.05835090 1.48280142 0.11389250 0.38580316 -0.28910229 +H -2.30894089 -0.03354311 -0.04470285 2.42369158 -0.02707558 1.11147681 +H 1.53405192 0.42141976 0.81125079 -1.13247969 -0.31525268 -1.08560882 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7215553473 pbc="F F F" +C -0.43190868 0.16925187 -0.37631773 0.16898787 -1.07918261 0.09181860 +C -0.54079398 0.12786519 1.18403018 -0.06332871 -0.00402722 -1.13622358 +O 0.86801445 -0.25410361 -0.69398939 1.30812379 -0.60581495 0.14468754 +H -1.15519917 -0.57742419 -0.80473423 -0.31136944 0.60256368 -0.10987916 +H -0.51936086 1.19844108 -0.85201944 -0.87645080 -0.38156217 0.77997166 +H -1.47249029 0.66815210 1.45940833 0.50008724 0.15015597 0.52630865 +H -0.44376436 -0.83955103 1.74325361 -0.74958954 -0.28400652 -1.00595278 +H 0.42891603 0.50883881 1.48441232 0.35475661 1.45560535 0.62540234 +H 0.97340784 -0.46694995 -1.63914453 -0.33121708 0.14626841 0.08386669 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.385986583303 pbc="F F F" +C 0.15339154 -0.34103808 -0.38621582 -0.09377408 3.13867231 1.61293671 +C -1.39893045 0.05810691 -0.24982954 3.31728917 -1.28213132 -1.18297417 +O 1.14382639 0.20771952 0.55451798 -0.67464536 -1.01096443 0.06469407 +H 0.34193221 -1.35848088 -0.20031811 -0.32258516 -2.29555362 -0.37762694 +H 0.55802169 -0.00218313 -1.30793718 0.13522609 0.00666842 -2.05058865 +H -1.58517112 1.06341482 0.04249426 0.03433077 1.83886358 -0.20367638 +H -1.83609825 -0.21283306 -1.23820372 -0.48018849 -0.08364588 0.67461785 +H -1.63233852 -0.47455304 0.62854193 -1.53696578 -1.48771186 1.20816533 +H 0.83823956 1.05735954 0.85252768 -0.37868717 1.17580274 0.25445214 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.150073468466 pbc="F F F" +C 0.52074979 0.21126015 -0.13340856 0.56244412 -1.77794944 -3.95680523 +C -0.75126131 0.98565760 -0.31234185 -1.51386739 -2.63550155 0.15284463 +O 0.19385081 -1.12571430 0.35467812 1.70835017 1.81777615 2.29269049 +H 1.24387689 0.07555571 -1.13240055 -1.72160118 0.42073289 1.94077175 +H 1.07664462 0.83328217 0.53546250 1.22756858 0.29325915 1.16042651 +H -1.55327555 0.59601947 -1.06370524 0.82226452 -0.37428688 1.66227995 +H -1.00165161 1.15753302 0.75824727 -1.25984077 -0.25374185 -0.33937509 +H -0.68340159 1.92223503 -0.70600427 1.17334194 3.69387636 -1.32440371 +H 0.58654870 -0.97982621 1.29006518 -0.99866000 -1.18416490 -1.58842941 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525927505176 pbc="F F F" +C -0.31062295 0.03249332 -0.47739893 -0.07778731 -1.36888165 0.46424585 +C 0.42199502 1.22852528 0.05807204 -2.12825440 1.69401987 -0.27494173 +O -0.12152662 -1.16524767 0.33368091 -1.90733686 0.32234003 -1.60256282 +H -1.36271965 0.20827722 -0.32926201 -1.18591726 0.43769616 -0.27457396 +H -0.16388076 -0.19417486 -1.53169680 0.33290064 -0.16508838 -0.84138351 +H 1.50796157 1.28320360 -0.15431686 -0.15488439 0.28497161 0.02427204 +H -0.25320063 2.22641796 -0.13007198 1.98312406 -1.84752732 -0.02372281 +H 0.17462781 1.00718900 1.08976215 0.68921786 0.52514064 1.39290013 +H 0.69813985 -1.06241734 0.75568192 2.44893766 0.11732899 1.13576680 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.25524426337 pbc="F F F" +C -0.37629975 0.17255070 0.41257731 5.26392526 -1.79157378 -1.44914334 +C 0.03079134 1.07818943 -0.83704143 -0.79975816 -0.11788579 1.52168463 +O 0.32156510 -1.11389225 0.42131123 0.94628815 0.94649513 1.45959452 +H 0.09929975 0.42987402 1.38013113 -0.82453810 1.59385670 -0.06236434 +H -1.36546364 -0.10996690 0.46440289 -3.37302942 0.25371562 0.24489498 +H 1.14549471 1.21698837 -0.96817897 -0.76742858 -0.24547605 0.31559052 +H -0.45173337 0.86427160 -1.85293248 0.26637347 -0.02615589 1.19058757 +H -0.41371244 1.97378736 -0.35421636 0.19579831 0.91357733 -1.05801275 +H -0.00208644 -1.59916305 -0.29888223 -0.90763099 -1.52655327 -2.16283179 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.693459888844 pbc="F F F" +C 0.17339996 -0.10446737 -0.42266457 2.50348024 -0.10352314 -2.15357293 +C -0.46030922 1.25471295 -0.21387097 -1.97708125 -0.72786700 0.90139277 +O 0.30082669 -1.06416153 0.56866316 1.29621186 -0.40963765 -0.14230768 +H -0.22486204 -0.60414356 -1.35807174 -0.21950554 0.31390789 0.32977495 +H 1.28040114 0.14475696 -0.72770674 -1.30493151 -0.39676285 0.13863372 +H -0.88323680 1.53560499 -1.20821989 0.50667688 0.50365717 0.23193292 +H -1.45500336 1.10930755 0.40651142 1.59801387 0.57642574 -0.47300807 +H 0.28305258 1.97991957 0.21465303 -0.85669942 -0.07828878 -0.06063759 +H -0.35763722 -0.98154642 1.23124822 -1.54616508 0.32208853 1.22779196 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.557896633946 pbc="F F F" +C 0.03457898 -0.33432832 0.35030983 0.43426631 -0.25542720 -0.92273262 +C -1.14518422 0.59401059 0.40765823 -0.77527297 -0.34161262 -0.64722145 +O 0.97956663 -0.27058864 -0.70932624 -0.21084395 0.32213584 -1.57538779 +H 0.56804861 -0.03786165 1.19065900 1.35400051 -0.34419097 2.88501943 +H -0.36767689 -1.36085086 0.34684705 0.13320299 -0.39259185 0.45999982 +H -1.86892742 0.35344158 1.22772438 0.30107613 -0.29454110 -0.39252269 +H -0.92107699 1.62512683 0.51884170 0.90792018 1.70841995 0.51503091 +H -1.62909330 0.61044958 -0.55419121 -1.06210729 -0.36362651 -0.94430450 +H 1.90278556 0.00895037 -0.50249910 -1.08224191 -0.03856553 0.62211888 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712191818493 pbc="F F F" +C -0.27962897 -0.55128273 0.04023827 1.74192010 1.04611821 1.02658939 +C -0.91844720 0.78129333 0.45785079 1.08248930 0.18456999 -1.15697907 +O 1.06987112 -0.24111095 -0.51675974 -1.70814232 -1.18795522 0.23895913 +H -0.20696400 -1.19362986 0.96892210 0.21771240 0.09875071 -0.37843011 +H -0.96627586 -1.14396717 -0.60559534 0.66529379 0.33751212 -0.69214984 +H -1.96446981 0.49900016 0.54466835 -0.99364141 0.93920198 0.21337459 +H -0.49412285 1.23581512 1.36601179 -0.09678407 -0.45756031 0.69980315 +H -0.61005061 1.60313908 -0.28002720 -1.07781679 -0.98850887 0.07331241 +H 1.53481766 0.08455839 0.27346426 0.16896910 0.02787138 -0.02447964 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7292837756 pbc="F F F" +C -0.08564249 0.49533997 -0.35731204 0.29925188 -0.60049549 1.72488093 +C -1.21012780 -0.24971361 0.43994516 1.51967891 -0.93571320 -2.58574683 +O 1.16286789 -0.19150145 -0.03801082 -1.20706932 0.68183432 0.88847791 +H -0.23091720 0.42206777 -1.42114238 -0.56419798 -0.10008963 -1.18517915 +H 0.01153134 1.59326771 -0.14550643 -0.18234727 -0.24874542 0.28502437 +H -1.03718168 -0.30654655 1.45927020 1.33430030 0.11425174 2.90022031 +H -2.22924241 0.06547842 0.47798915 -1.40342850 0.79611917 -1.03206466 +H -1.12537410 -1.32552413 0.12148454 -0.39470144 0.47038431 -0.05239499 +H 1.59207845 -0.33737584 -0.87339873 0.59851342 -0.17754579 -0.94321784 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.475797140094 pbc="F F F" +C 0.25764386 -0.45108284 -0.38815163 -0.49172308 0.43777623 0.28129992 +C -1.29974040 0.14501317 -0.35886763 2.45897165 0.05544704 0.60747331 +O 0.94955353 0.23919940 0.68460882 0.13972120 -1.32966146 -0.65322060 +H 0.28041834 -1.57711296 -0.07922640 -0.47945079 1.52537457 -0.20236466 +H 0.82763342 -0.51659523 -1.42069283 -0.87043467 0.78757940 1.27822797 +H -1.46392920 1.29827481 -0.57996874 0.74549789 -1.91719324 0.45559881 +H -1.87443356 -0.41501572 -1.09378346 -0.76554396 -0.39822303 -0.12747400 +H -1.49441763 -0.11385545 0.73868861 -0.60554591 0.50307636 -1.20597583 +H 1.06884149 1.17305738 0.46948271 -0.13149233 0.33582414 -0.43356486 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.394206014498 pbc="F F F" +C -0.22506633 -0.47001094 0.14107838 -1.11377455 -1.87475840 2.10599769 +C -0.94865090 0.90728419 0.37037248 1.23440376 -0.89004278 -1.14289636 +O 1.06717323 -0.37392158 -0.47301249 -0.69757297 1.12099298 -0.12088853 +H -0.08697767 -0.88200464 1.24037811 -0.09629936 0.29520373 -1.42344290 +H -1.02969314 -1.23850568 -0.27517142 1.56079652 1.11318057 -0.10820862 +H -2.01950187 0.99204025 0.49475256 -1.12580870 -0.92090205 -0.60874739 +H -0.68064721 1.40074113 1.26510179 1.29493007 0.61242587 1.77285069 +H -0.63414872 1.59277001 -0.40056802 0.08802787 0.63229043 -1.00472025 +H 1.49646455 -1.14173323 -0.91068553 -1.14470267 -0.08839034 0.53005572 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.401701077644 pbc="F F F" +C 0.18198572 -0.45782046 -0.37263005 -1.14592775 1.54634290 3.19254399 +C -1.26898606 0.17652609 -0.30236939 1.31746106 -1.78728384 2.96988859 +O 1.01438329 0.17480825 0.62165047 0.41442572 -2.88969226 0.64323742 +H 0.33768483 -1.54589410 -0.14435878 -0.45876441 0.40852498 -0.77575634 +H 0.51188469 -0.02719341 -1.27523056 0.88628465 -0.54138961 -2.49815368 +H -1.15897099 1.11995034 -0.73751963 0.16793680 2.55627555 -0.42029889 +H -1.93637355 -0.27646299 -0.94805744 -1.85895167 -1.73694923 -1.97758492 +H -1.82911413 0.20556890 0.70135448 1.07711919 0.05153572 -0.79628953 +H 0.92501304 1.09966367 0.57947831 -0.39958361 2.39263578 -0.33758658 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.509848427609 pbc="F F F" +C -0.46439932 0.23027178 -0.28813214 3.39708873 -0.64836878 -2.29334535 +C -0.50998076 0.11628866 1.13927800 0.31140754 -1.68483563 0.69149005 +O 0.88451577 -0.27465636 -0.74597825 -1.18065292 0.29451287 -0.06611964 +H -1.16056194 -0.40553488 -0.82232326 -1.14064325 0.11844814 -0.33959106 +H -0.48884538 1.31601940 -0.49109761 -0.50965663 0.10916044 -0.80834868 +H -1.47107589 0.42747185 1.40024440 -2.07122803 0.87010490 1.50105301 +H -0.27049122 -0.86196174 1.52950930 -0.42331963 -1.33652395 0.00766801 +H 0.28931223 0.63783357 1.56683079 1.38289468 1.96734725 1.03122422 +H 0.67122804 -0.88525178 -1.48430577 0.23410951 0.31015470 0.27596950 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.61197047206 pbc="F F F" +C 0.17465950 0.35897203 0.43982044 -2.52554525 -1.60804266 0.79589579 +C -0.47036422 0.86339759 -0.86450552 -3.11550240 2.67153310 2.75695788 +O 0.30223350 -1.12372696 0.44357865 -0.22495751 0.94608833 -2.18946061 +H 1.11693547 0.82974234 0.65690318 1.27105618 0.43513879 0.00105071 +H -0.51406077 0.61520437 1.36558543 0.95424017 -0.32162537 -1.42010329 +H 0.13110390 0.66621865 -1.70426384 0.92408302 -0.63170550 -1.84817581 +H -1.58626889 0.50185041 -0.91177612 1.83407500 0.08122642 -0.35243748 +H -0.64504317 2.06443439 -0.83901143 0.63469981 -2.25603421 0.02896534 +H 0.22252449 -1.40748345 -0.54793911 0.24785093 0.68342115 2.22730747 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4075521658315 pbc="F F F" +C 0.26513297 0.44895669 0.19480686 -1.64857797 -1.52322276 0.93999435 +C -0.81283978 0.60918416 -0.92776000 -1.13035539 0.59269846 -0.11828297 +O 0.56771501 -0.97986110 0.65001221 -2.69466173 2.28930841 1.35427058 +H 1.15423886 0.90762218 -0.22081919 1.02326696 0.12980527 0.26162773 +H -0.11258795 0.94881439 1.15971839 0.69183812 0.11263441 -1.21704366 +H -1.02414065 -0.26577077 -1.56251580 0.02205529 -0.81590670 0.51433954 +H -1.82983926 1.05474109 -0.63348985 0.95681220 -0.71662099 0.18415394 +H -0.52837832 1.28269843 -1.75832649 0.63353582 0.54486333 0.25703003 +H -0.14530809 -0.98480969 1.43148446 2.14608670 -0.61355952 -2.17608948 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.773049495788 pbc="F F F" +C 0.13028334 -0.53067302 0.01592706 -2.03553391 0.67669201 1.04915648 +C -1.10128945 0.03323325 -0.76751852 0.90671727 1.04499309 1.22877309 +O 0.92508907 0.42047953 0.71549920 0.17317301 -4.31850686 1.51872133 +H -0.24537331 -1.19763120 0.82704839 -0.21527592 -0.01521718 -0.11920996 +H 0.55974990 -1.24177054 -0.67397367 1.64547531 -0.29972584 -0.78662866 +H -0.82436987 0.80841986 -1.53984122 -0.11064664 -0.48287694 0.34932536 +H -1.63463305 -0.77854558 -1.22008174 -0.39723177 -1.01472107 -0.90865938 +H -1.85589774 0.45413598 -0.07341382 0.14390752 0.43463979 0.06826605 +H 0.88585056 1.20700122 0.27891047 -0.11058483 3.97472304 -2.39974437 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.849518343043 pbc="F F F" +C -0.00103897 0.16074068 0.52434816 -1.81609532 0.42153389 -1.05277624 +C 0.10800778 1.14520204 -0.71559276 -0.09035909 -1.17186808 0.77818392 +O -0.12094376 -1.19084319 0.20085832 1.40512239 -1.30308180 -0.91900612 +H 0.64707847 0.33472681 1.40501610 0.82473756 0.41524143 -0.27387868 +H -0.99870013 0.31783514 0.94634128 -0.56272566 0.60556529 0.35730252 +H -0.63480267 0.95736551 -1.55382332 0.62938570 -0.60285514 0.67510636 +H -0.24014720 2.11911006 -0.36166172 0.60206823 0.80277545 0.17143355 +H 1.15585680 1.10064446 -1.09144428 -0.25856971 0.53476439 -0.19820584 +H 0.71486041 -1.49021900 -0.25383850 -0.73356411 0.29792452 0.46184047 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.350123773642 pbc="F F F" +C 0.13485553 -0.39808490 -0.50788138 1.92039313 0.39696139 3.50486479 +C -1.19863047 0.14932876 -0.26208175 -1.43500762 0.33660246 -2.17886535 +O 1.01925801 0.24511059 0.65059863 -0.26481826 -0.78462104 -2.69491441 +H 0.04114720 -1.47240719 -0.28574640 0.67332998 -0.52037469 -0.24170599 +H 0.52962901 -0.23580738 -1.55681424 0.12226212 0.19313640 1.05140810 +H -1.26543916 1.14689871 -0.68043826 -0.27627161 0.79115031 -0.67950294 +H -1.86333061 -0.54680877 -0.81440351 -0.68635247 0.39273748 -0.05621894 +H -1.60386169 0.32300615 0.71749309 0.13207638 -0.61695580 1.45281745 +H 0.65784510 -0.14291197 1.46766664 -0.18561160 -0.18863655 -0.15788276 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.768218100981 pbc="F F F" +C 0.22407209 -0.43201290 -0.33095370 -1.65746915 2.49721683 -1.57526170 +C -1.29164437 0.17738018 -0.34422578 0.71373493 0.11486808 -0.08911436 +O 1.01811026 0.24732499 0.59091097 0.79260879 0.39575585 -0.54167608 +H 0.31139206 -1.52473685 -0.21767732 -0.47841793 -0.39239300 0.01176578 +H 0.56592809 -0.15528305 -1.39294044 0.12978517 -0.51803123 1.02946928 +H -1.48573484 1.06937271 -1.03189972 0.82187603 -0.65021071 0.53881398 +H -1.93125050 -0.59074866 -0.75177796 -0.82617867 -0.80406162 -0.31444679 +H -1.73612188 0.49319984 0.63935968 0.57008899 -0.39971324 -0.13576170 +H 0.83524509 -0.18495872 1.42068691 -0.06602816 -0.24343090 1.07621159 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.521868952494 pbc="F F F" +C -0.24806093 0.21961062 0.47980091 1.41514764 -0.57482373 -1.66980706 +C -0.48813676 0.76114674 -0.97617822 0.35891748 0.12326999 1.38539523 +O 0.65183357 -0.89347267 0.52243910 0.91564553 -1.31999972 -2.42899073 +H 0.28734785 1.05076353 0.97887837 -0.47610244 0.01997876 0.82180111 +H -1.18643452 -0.17193659 0.95923429 0.07999013 0.99203185 -0.03567628 +H -0.57107517 1.85640561 -0.89409574 -1.08034577 0.27989738 0.00014892 +H 0.39895960 0.78319247 -1.66147442 -0.13946347 -1.02916620 0.30075258 +H -1.37855463 0.22412014 -1.31554233 -0.20571522 0.27749046 -1.01945118 +H 0.87457040 -1.24841644 -0.44499218 -0.86807383 1.23132126 2.64582736 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5320248919015 pbc="F F F" +C 0.54912571 0.25127543 0.11214831 -2.43846113 -0.36589217 -1.91221502 +C -0.79118823 0.97143857 -0.55482527 4.70016066 0.96394830 -2.31557907 +O 0.28544187 -1.13756786 0.44772227 1.11712732 1.20989656 0.29231334 +H 1.26919653 0.19756757 -0.77239361 0.04607418 0.67914798 1.22890694 +H 0.81337516 0.87261219 1.00438776 0.49085744 -0.36051738 -0.28542109 +H -0.81787660 0.71823100 -1.68765737 -0.48976976 -0.17442097 1.55905418 +H -1.67798206 0.84810989 -0.02309616 -2.19468149 -0.65623440 1.21417097 +H -0.59425440 2.10243897 -0.61365113 -0.14045489 -0.98429025 0.32926412 +H -0.63993309 -1.25339494 0.26052808 -1.09085223 -0.31163766 -0.11049438 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.575036065845 pbc="F F F" +C 0.20563881 0.58577893 0.10924268 -1.15429211 -2.66999723 -0.40190583 +C -1.11533703 -0.09698617 0.71194795 -0.91001887 0.30470308 -0.14673270 +O 0.86060516 -0.40025301 -0.72101144 -0.60781141 -0.09732014 -1.79728625 +H 0.22253560 1.58148074 -0.35456396 -0.62641216 0.41408937 -0.08649215 +H 0.87719339 0.56945394 0.94229224 0.84363251 0.57548682 1.14126114 +H -1.34371686 0.16218090 1.81684901 0.32936707 0.05831881 -1.31407122 +H -2.15261362 0.00202453 0.12296327 2.04729547 -0.09152673 0.83005862 +H -0.79276783 -1.18653270 0.72872160 -0.51045501 0.72596773 -0.06171946 +H 0.36772251 -0.60124198 -1.59676244 0.58869453 0.78027824 1.83688789 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.691502105976 pbc="F F F" +C 0.14324162 -0.37879579 -0.32410306 1.57665658 1.71686140 0.81109575 +C -1.04243153 0.44800027 -0.60826521 -2.04945865 1.32439219 -0.81600337 +O 0.89548133 -0.05841356 0.81640162 -0.36014447 0.40079969 2.47450539 +H -0.23822591 -1.36206800 -0.26180130 -0.43275198 -2.23344474 -0.12366476 +H 0.91894145 -0.29858913 -1.10450163 -0.18135838 -0.22715082 -0.56442038 +H -1.09628857 1.54952164 -0.86743518 0.99863311 -0.67956419 0.03629103 +H -1.55515360 -0.09811204 -1.39907741 -0.28379404 -0.01078815 -1.12785032 +H -1.85727178 0.36939512 0.11563203 -0.07362721 -0.19940609 1.17164280 +H 0.32753139 -0.05907463 1.66832293 0.80584494 -0.09169940 -1.86159605 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.62750754937 pbc="F F F" +C 0.10240599 -0.29669627 0.53915134 2.03777982 2.99703749 -0.42763682 +C -1.10120018 0.60449739 0.20615172 -0.66437364 -1.20937036 0.35848040 +O 0.89647671 -0.35314565 -0.65175181 0.34196357 0.24430990 -0.80307586 +H 0.87026109 0.26792511 1.26482950 -1.88851268 -1.42273780 -0.05570945 +H -0.20971793 -1.30269437 0.82387738 0.22647945 -0.50958022 0.28292305 +H -1.32015889 0.35716035 -0.90297076 -0.33455679 0.20896226 1.44191134 +H -1.96410804 0.35498688 0.95611821 0.88699248 0.82599298 -1.32862685 +H -0.75621875 1.65776339 0.24408837 -0.44724751 0.11370229 0.15201344 +H 1.05056866 0.60118377 -0.92154370 -0.15852466 -1.24831646 0.37972070 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.360023742521 pbc="F F F" +C 0.53194608 0.33628259 0.11102103 -1.42116937 -3.37337143 1.11570797 +C -0.71969574 0.92610411 -0.53300811 0.07651811 -2.61738308 0.06433000 +O 0.18547284 -1.09357182 0.46175976 0.57195711 1.50622417 0.66525424 +H 1.25504916 0.31544561 -0.70329162 0.97656506 0.19759073 -0.18896941 +H 1.02140700 0.56716599 1.10348599 -0.64537673 1.17466796 -0.81073600 +H -1.06635104 0.20498729 -1.34023880 0.98196418 0.51946375 -0.05149875 +H -1.68008407 0.94234668 -0.05658076 -0.66115431 0.51551325 1.69576426 +H -0.44510191 1.83734170 -0.93407633 0.20998891 2.78196248 -1.42501142 +H 0.20725464 -1.55283109 -0.37054559 -0.08929290 -0.70466783 -1.06484089 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.645586964505 pbc="F F F" +C 0.01706717 -0.02516890 -0.52805416 0.85506734 -0.34959708 0.71111472 +C 0.83553438 1.05475896 0.22758734 -1.68569936 -0.29668561 0.91683940 +O -0.77793927 -0.92577772 0.31157750 1.04444272 -0.59699262 -0.59098590 +H -0.69085264 0.50540346 -1.13207512 -0.85793293 0.77729401 -1.00030545 +H 0.83923570 -0.34623706 -1.23830618 -0.81132555 -1.29767451 0.24847550 +H 1.18110442 1.73946648 -0.54024658 0.31335402 0.53792171 -0.59638475 +H 0.12680212 1.65576435 0.87511029 0.75393101 -0.38606608 0.01457477 +H 1.73898983 0.69461371 0.76686277 -0.36993358 -0.11381522 0.16879673 +H -1.00742791 -1.82398688 -0.09674018 0.75809635 1.72561539 0.12787499 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.60741792625 pbc="F F F" +C 0.19446825 -0.31806896 -0.33958458 -0.12848995 0.21448494 2.51394124 +C -1.30359571 0.02608643 -0.46012777 1.32527963 -0.93891536 0.09670760 +O 1.02750708 0.26106063 0.73406022 -1.11181491 -1.49348568 -1.12857814 +H 0.20131348 -1.32851691 0.00246668 -0.14167292 -1.59478260 0.50644188 +H 0.68005918 -0.45520504 -1.28416133 0.85582843 0.75846432 -1.47074638 +H -1.54960116 0.81990791 -1.16068572 -0.37805195 0.62493357 -0.07055444 +H -1.74359098 -0.92315641 -0.76937337 -0.34822257 -0.39976189 -1.03984472 +H -1.76933848 0.03278042 0.51681206 -0.22437351 1.03663438 0.93682433 +H 1.08663190 1.18806798 0.57237689 0.15151778 1.79242836 -0.34419143 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.761806452434 pbc="F F F" +C 0.08635537 0.54161812 -0.16990960 -2.09335598 -2.03053002 -0.05293559 +C -1.11067748 0.05260505 0.71946605 0.02020070 -2.56723385 -2.09493505 +O 0.99471770 -0.49944405 -0.47097320 0.96666626 0.79202381 0.43714847 +H -0.35773504 1.01194705 -1.07742489 0.04821828 0.02959706 -0.18799558 +H 0.46645953 1.36476017 0.41263951 1.58108798 0.48494107 0.36803745 +H -1.84283332 -0.60583203 0.03936095 1.23449303 0.92748634 1.24585000 +H -0.77226508 -0.62951820 1.58981489 -0.45227232 1.25778008 -0.79942679 +H -1.67312096 0.94644967 0.91935591 -0.78671608 0.71856634 1.03396774 +H 0.59489892 -1.24226337 -0.95637861 -0.51832192 0.38736922 0.05028941 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.552394383465 pbc="F F F" +C -0.27445411 -0.01179154 -0.46869381 -2.10970342 -3.56864807 1.13002609 +C 0.88356703 0.85558787 -0.45690377 2.88804752 2.79723129 1.29704655 +O -0.52337615 -0.80806118 0.81045059 1.71751467 0.15734534 -1.94806500 +H -1.21135851 0.50544288 -0.63422213 -0.58412434 0.96530008 -0.30537738 +H -0.29153073 -0.77488234 -1.29826616 0.41383627 0.09875384 0.42685099 +H 1.93301813 0.47247589 -0.15673053 -1.48193433 -0.38966547 -0.02650263 +H 1.17916808 1.31727175 -1.46756261 -0.97527329 -0.11493935 0.90740488 +H 0.64761533 1.66412096 0.36971552 0.67867968 -0.72877717 -1.53043558 +H -1.20840264 -0.41402877 1.35198810 -0.54704270 0.78339946 0.04905209 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.657634131767 pbc="F F F" +C -0.50908711 0.08266268 -0.31987756 3.78720847 0.37974260 2.39754947 +C -0.40934529 0.19318729 1.24165534 -1.26856077 0.27432220 -0.36996644 +O 0.80893689 -0.28387526 -0.88838889 -4.14457475 -2.42244933 -0.79915148 +H -1.22308624 -0.68063092 -0.44542902 -0.87203050 -1.88303792 -0.92365565 +H -0.91920873 0.95194706 -0.75312865 -0.57151570 1.90785304 -0.97551405 +H -1.40553208 0.42133848 1.75375353 0.41271758 -0.79536964 -0.66142710 +H 0.00108830 -0.78533702 1.54235373 0.02373818 0.05061758 0.56262960 +H 0.14665575 1.03221427 1.68032549 0.92604107 0.19294917 -0.37352881 +H 1.50266257 0.27797157 -0.66013710 1.70697643 2.29537225 1.14306451 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.890122432793 pbc="F F F" +C 0.25127784 -0.16203058 -0.53292499 0.69759539 1.78232886 0.02554196 +C -0.43874499 1.18626735 -0.14801151 -0.74740945 0.37962603 -1.02067703 +O 0.14673815 -0.99466710 0.58676551 2.18092331 0.44977804 1.74212157 +H -0.28380427 -0.67789388 -1.33504213 -0.26314684 -0.04880871 -0.53387510 +H 1.35973462 0.03702223 -0.91734910 -1.55740770 -0.38190434 0.58679767 +H -0.61207862 1.92091879 -0.97237282 0.17674566 -0.42269742 -0.39195226 +H -1.49136990 1.00345928 0.23650570 0.93469386 -0.04693103 0.09847426 +H 0.14599576 1.83357258 0.53705671 0.06024081 -0.47788627 0.51534145 +H 0.78517977 -0.53475848 1.25135619 -1.48223499 -1.23350516 -1.02177248 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.723661169862 pbc="F F F" +C -0.46050266 0.07067610 -0.31282303 -0.57100678 -1.51985122 -0.44495151 +C -0.46362114 0.15238750 1.22816912 -1.01806350 1.90014065 -0.41834609 +O 0.86595445 -0.24047565 -0.78827964 -0.90759926 -0.02013288 -0.44503363 +H -1.35219872 -0.58302842 -0.82213548 1.68786747 0.29988566 1.37287648 +H -0.69696385 0.98949177 -0.81508345 -0.58498566 1.70932061 0.18955423 +H -1.50833572 0.31640083 1.64495047 0.60379689 0.07059295 -0.51648852 +H -0.14697604 -0.75301685 1.72096680 0.68347581 -0.88776006 0.19079448 +H 0.16908627 1.04997066 1.57360505 -0.51097042 -1.10661989 -0.34365150 +H 0.80072646 0.13779449 -1.69699564 0.61748545 -0.44557577 0.41524605 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.477977473056 pbc="F F F" +C -0.12801456 0.23933535 0.48940583 -2.13808327 -0.73893628 0.69573355 +C -0.05591106 1.03039593 -0.85955473 1.87466317 0.51192754 2.90876450 +O 0.23383016 -1.12051554 0.31786535 2.88320546 1.56525168 -0.78688279 +H 0.24803309 0.49686336 1.50531816 1.27630041 1.18717175 -0.60626098 +H -1.21208466 0.33347033 0.84365546 0.15703445 -0.35810491 -0.76407499 +H 0.99210212 1.31095015 -1.14126484 -0.38008358 0.10244415 0.15246822 +H -0.36897265 0.29968258 -1.55225635 -0.96955618 -0.96656429 -1.49274937 +H -0.70487438 1.90367631 -0.73551634 -0.14012676 0.37305758 -0.52288496 +H -0.47519058 -1.69001772 0.44519721 -2.56335364 -1.67624726 0.41588672 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.510515974948 pbc="F F F" +C -0.32898505 -0.39500518 -0.25749249 0.38352495 -1.28892849 0.91191655 +C -0.90340597 0.78425321 0.67519207 0.99206702 -3.12053323 -0.46475374 +O 1.13934210 -0.38586554 -0.36846995 -1.82376600 2.87963153 -1.19020082 +H -0.49580639 -1.42328873 0.20508170 -0.25305361 0.85668430 -0.04431360 +H -0.92848977 -0.50347271 -1.26266838 1.06381224 0.69857004 0.98222216 +H -1.96002229 0.57897403 0.57800292 -1.24427201 1.03311608 -0.49855013 +H -0.79105390 0.53727035 1.77271714 0.83081961 0.52752560 -0.67265254 +H -0.44763173 1.71350505 0.29835689 -0.56112052 0.47583643 0.34900310 +H 1.22209912 0.58218341 -0.71997638 0.61198832 -2.06190228 0.62732912 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.475931586446 pbc="F F F" +C 0.33178364 -0.11216916 0.52517312 -4.05517736 -0.31995322 -3.79565706 +C -1.22715638 0.37511613 0.37801323 2.56848953 -0.64509720 0.20096392 +O 0.82918613 -0.19725038 -0.83290498 0.51216865 -2.47399096 1.09664786 +H 0.82341055 0.62400216 1.01797432 1.98146318 3.18139805 1.82428768 +H 0.51402775 -1.00049401 1.12296555 -0.34294985 -0.96886584 0.23540108 +H -1.45776324 0.70234425 1.35544121 -0.95833023 0.61134529 1.87518356 +H -1.32965772 1.26965288 -0.26857447 0.35794396 -0.25578901 -0.21884019 +H -1.93710551 -0.39770187 0.09354994 -0.21975401 -0.56361218 -0.35345692 +H 0.89346336 -1.20157502 -0.86279776 0.15614618 1.43456503 -0.86452987 +9 +Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.725347153307 pbc="F F F" +C -0.12187994 -0.51859944 0.21179879 3.70095024 -0.36075109 -0.57333620 +C -1.13759438 0.50077884 0.31072109 0.39760422 4.23569278 -1.39452677 +O 1.12558642 -0.07247005 -0.50146592 -1.28552553 -0.12189383 0.10442914 +H 0.27111133 -0.74152541 1.22059613 -0.47057596 -0.75733695 0.32653088 +H -0.41333211 -1.41577335 -0.35015651 -0.15563741 -0.36901477 0.07067564 +H -2.02502300 0.25401994 0.84484167 -1.53006478 -0.70292076 0.26970820 +H -0.72964697 1.34546763 0.95070076 -0.08071158 -0.36923121 -0.25086154 +H -1.29666194 1.07139631 -0.70515738 -0.29173747 -1.23038898 1.31816791 +H 1.33372361 0.84761012 -0.22726487 -0.28430168 -0.32415518 0.12921268 diff --git a/tests/resources/options.yaml b/tests/resources/options.yaml index 0efe59586..c16640880 100644 --- a/tests/resources/options.yaml +++ b/tests/resources/options.yaml @@ -1,19 +1,19 @@ seed: 42 architecture: - name: experimental.soap_bpnn + name: experimental.nanopet training: - batch_size: 16 + batch_size: 32 num_epochs: 100 training_set: systems: - read_from: qm9_reduced_100.xyz + read_from: ethanol_train_1.xyz length_unit: angstrom targets: energy: - key: U0 + key: energy unit: eV -test_set: 0.5 +test_set: 0.1 validation_set: 0.1 From 713cfbbc3ea548ca8309d344d3e7d5038e3ac62c Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 15 Oct 2024 12:53:28 +0200 Subject: [PATCH 027/126] Fair comparison to PET --- src/metatrain/cli/train.py | 2 - src/metatrain/experimental/nanopet/trainer.py | 152 +++++++++--------- tests/resources/options.yaml | 4 +- tests/resources/options_nanopet.yaml | 23 --- tests/resources/options_pet.yaml | 13 +- 5 files changed, 88 insertions(+), 106 deletions(-) delete mode 100644 tests/resources/options_nanopet.yaml diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index d36338efb..28cc23902 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -119,8 +119,6 @@ def train_model( :param continue_from: File to continue training from. """ - print(torch.cuda.is_available()) - ########################### # VALIDATE BASE OPTIONS ### ########################### diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 73a4ac7f3..025159e03 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -258,88 +258,88 @@ def systems_and_targets_to_dtype( val_rmse_calculator = RMSEAccumulator() train_loss = 0.0 - count = 0 + # count = 0 for batch in train_dataloader: - print(count) - if count == 20: - with torch.profiler.profile() as prof: - optimizer.zero_grad() - - systems, targets = batch - systems, targets = apply_random_augmentations(systems, targets) - systems, targets = systems_and_targets_to_device(systems, targets, device) - with torch.profiler.record_function("additive_models"): - for additive_model in (model.module if is_distributed else model).additive_models: - targets = remove_additive( - systems, targets, additive_model, train_targets - ) - systems, targets = systems_and_targets_to_dtype(systems, targets, dtype) - with torch.profiler.record_function("evaluate_model"): - predictions = evaluate_model( - model, - systems, - TargetInfoDict( - **{key: train_targets[key] for key in targets.keys()} - ), - is_training=True, - ) - - # average by the number of atoms - predictions = average_by_num_atoms( - predictions, systems, per_structure_targets - ) - targets = average_by_num_atoms(targets, systems, per_structure_targets) - - train_loss_batch = loss_fn(predictions, targets) - train_loss_batch.backward() - optimizer.step() - - if is_distributed: - # sum the loss over all processes - torch.distributed.all_reduce(train_loss_batch) - train_loss += train_loss_batch.item() - train_rmse_calculator.update(predictions, targets) - - if is_main_process(): - prof.export_chrome_trace("trace.json") - exit() - else: - optimizer.zero_grad() - - systems, targets = batch - systems, targets = apply_random_augmentations(systems, targets) - systems, targets = systems_and_targets_to_device(systems, targets, device) - for additive_model in (model.module if is_distributed else model).additive_models: - targets = remove_additive( - systems, targets, additive_model, train_targets - ) - systems, targets = systems_and_targets_to_dtype(systems, targets, dtype) - predictions = evaluate_model( - model, - systems, - TargetInfoDict( - **{key: train_targets[key] for key in targets.keys()} - ), - is_training=True, - ) + # print(count) + # if count == 20: + # with torch.profiler.profile() as prof: + # optimizer.zero_grad() + + # systems, targets = batch + # systems, targets = apply_random_augmentations(systems, targets) + # systems, targets = systems_and_targets_to_device(systems, targets, device) + # with torch.profiler.record_function("additive_models"): + # for additive_model in (model.module if is_distributed else model).additive_models: + # targets = remove_additive( + # systems, targets, additive_model, train_targets + # ) + # systems, targets = systems_and_targets_to_dtype(systems, targets, dtype) + # with torch.profiler.record_function("evaluate_model"): + # predictions = evaluate_model( + # model, + # systems, + # TargetInfoDict( + # **{key: train_targets[key] for key in targets.keys()} + # ), + # is_training=True, + # ) + + # # average by the number of atoms + # predictions = average_by_num_atoms( + # predictions, systems, per_structure_targets + # ) + # targets = average_by_num_atoms(targets, systems, per_structure_targets) + + # train_loss_batch = loss_fn(predictions, targets) + # train_loss_batch.backward() + # optimizer.step() + + # if is_distributed: + # # sum the loss over all processes + # torch.distributed.all_reduce(train_loss_batch) + # train_loss += train_loss_batch.item() + # train_rmse_calculator.update(predictions, targets) + + # if is_main_process(): + # prof.export_chrome_trace("trace.json") + # exit() + # else: + optimizer.zero_grad() - # average by the number of atoms - predictions = average_by_num_atoms( - predictions, systems, per_structure_targets + systems, targets = batch + systems, targets = apply_random_augmentations(systems, targets) + systems, targets = systems_and_targets_to_device(systems, targets, device) + for additive_model in (model.module if is_distributed else model).additive_models: + targets = remove_additive( + systems, targets, additive_model, train_targets ) - targets = average_by_num_atoms(targets, systems, per_structure_targets) + systems, targets = systems_and_targets_to_dtype(systems, targets, dtype) + predictions = evaluate_model( + model, + systems, + TargetInfoDict( + **{key: train_targets[key] for key in targets.keys()} + ), + is_training=True, + ) + + # average by the number of atoms + predictions = average_by_num_atoms( + predictions, systems, per_structure_targets + ) + targets = average_by_num_atoms(targets, systems, per_structure_targets) - train_loss_batch = loss_fn(predictions, targets) - train_loss_batch.backward() - optimizer.step() + train_loss_batch = loss_fn(predictions, targets) + train_loss_batch.backward() + optimizer.step() - if is_distributed: - # sum the loss over all processes - torch.distributed.all_reduce(train_loss_batch) - train_loss += train_loss_batch.item() - train_rmse_calculator.update(predictions, targets) + if is_distributed: + # sum the loss over all processes + torch.distributed.all_reduce(train_loss_batch) + train_loss += train_loss_batch.item() + train_rmse_calculator.update(predictions, targets) - count += 1 + # count += 1 finalized_train_info = train_rmse_calculator.finalize( not_per_atom=["positions_gradients"] + per_structure_targets, diff --git a/tests/resources/options.yaml b/tests/resources/options.yaml index c16640880..57d67a254 100644 --- a/tests/resources/options.yaml +++ b/tests/resources/options.yaml @@ -1,10 +1,12 @@ seed: 42 +base_precision: 32 architecture: name: experimental.nanopet training: batch_size: 32 - num_epochs: 100 + num_epochs: 3 + log_interval: 1 training_set: systems: diff --git a/tests/resources/options_nanopet.yaml b/tests/resources/options_nanopet.yaml deleted file mode 100644 index b6dd4645b..000000000 --- a/tests/resources/options_nanopet.yaml +++ /dev/null @@ -1,23 +0,0 @@ -seed: 42 -device: cuda -base_precision: 32 - -architecture: - name: experimental.nanopet - training: - batch_size: 8 - num_epochs: 10000 - log_interval: 10 - learning_rate: 3e-4 - -training_set: - systems: - read_from: ethanol_reduced_100.xyz - length_unit: angstrom - targets: - energy: - key: energy - unit: kcal/mol - -test_set: 0.0 -validation_set: 0.5 diff --git a/tests/resources/options_pet.yaml b/tests/resources/options_pet.yaml index 4a594c05c..f1b5438ec 100644 --- a/tests/resources/options_pet.yaml +++ b/tests/resources/options_pet.yaml @@ -4,17 +4,22 @@ base_precision: 32 architecture: name: experimental.pet + model: + N_GNN_LAYERS: 2 + N_TRANS_LAYERS: 2 training: - EPOCHS_WARMUP_ATOMIC: 250000 + ATOMIC_BATCH_SIZE: 288 + EPOCH_NUM: 5 + EPOCHS_WARMUP: 2 training_set: systems: - read_from: ethanol_reduced_100.xyz + read_from: ethanol_train_1.xyz length_unit: angstrom targets: energy: key: energy unit: kcal/mol -test_set: 0.0 -validation_set: 0.5 +test_set: 0.1 +validation_set: 0.1 From 33e2c70d48bc8e82ca7b170a94c2f9b0fba06951 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 16 Oct 2024 13:13:05 +0200 Subject: [PATCH 028/126] Calculate displacements independently + format --- src/metatrain/experimental/nanopet/model.py | 137 +++++++++--------- .../experimental/nanopet/modules/attention.py | 6 +- .../nanopet/modules/augmentation.py | 3 +- .../nanopet/modules/feedforward.py | 2 +- .../nanopet/modules/structures.py | 21 +-- src/metatrain/experimental/nanopet/trainer.py | 49 +++---- 6 files changed, 106 insertions(+), 112 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index cac5f859e..5ca69b0e5 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -13,7 +13,7 @@ ) from nanopet_neighbors import get_corresponding_edges, get_nef_indices -from ...utils.additive import CompositionModel +from ...utils.additive import ZBL, CompositionModel from ...utils.data import DatasetInfo from ...utils.dtype import dtype_to_str from ...utils.export import export @@ -120,6 +120,13 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: additive_models.append(ZBL(model_hypers, dataset_info)) self.additive_models = torch.nn.ModuleList(additive_models) + # cache + self.single_label = Labels.single() + self.property_label = Labels( + names=["energy"], + values=torch.tensor([[0]]), + ) + def restart(self, dataset_info: DatasetInfo) -> "NanoPET": # merge old and new dataset info merged_info = self.dataset_info.union(dataset_info) @@ -160,16 +167,64 @@ def forward( # Checks on systems (species) and outputs are done in the # MetatensorAtomisticModel wrapper + device = systems[0].device + + if self.single_label.values.device != device: + self.single_label = self.single_label.to(device) + + if self.property_label.values.device != device: + self.property_label = self.property_label.to(device) + + segment_indices = torch.concatenate( + [ + torch.full( + (len(system),), + i_system, + device=device, + ) + for i_system, system in enumerate(systems) + ], + ) + + sample_values = torch.stack( + [ + segment_indices, + torch.concatenate( + [ + torch.arange( + len(system), + device=device, + ) + for system in systems + ], + ), + ], + dim=1, + ) + sample_labels = Labels( + names=["system", "atom"], + values=sample_values, + ) + ( positions, centers, neighbors, species, - segment_indices, - edge_vectors, + cells, cell_shifts, ) = concatenate_structures(systems) + edge_vectors = ( + positions[neighbors] + - positions[centers] + + torch.einsum( + "ab, abc -> ac", + cell_shifts.to(cells.dtype), + cells[segment_indices[centers]], + ) + ) + bincount = torch.bincount(centers) if bincount.numel() == 0: # no edges max_edges_per_node = 0 @@ -235,7 +290,7 @@ def forward( new_features = contraction(new_features) new_features = edge_array_to_nef(new_features, nef_indices) new_features = transformer(new_features, radial_mask) - features = (features + new_features) * 0.5 ** 0.5 + features = (features + new_features) * 0.5**0.5 edge_features = features * radial_mask[:, :, None] node_features = torch.sum(edge_features, dim=1) * 0.1 @@ -245,31 +300,11 @@ def forward( # output the hidden features, if requested: if "mtt::aux::last_layer_features" in outputs: last_layer_feature_tmap = TensorMap( - keys=Labels( - names=["_"], - values=torch.tensor([[0]], device=node_features.device), - ), + keys=self.single_label, blocks=[ TensorBlock( values=node_features, - samples=Labels( - names=["system", "atom"], - values=torch.stack( - [ - segment_indices, - torch.concatenate( - [ - torch.arange( - len(system), - device=node_features.device, - ) - for system in systems - ], - ), - ], - dim=1, - ), - ), + samples=sample_labels, components=[], properties=Labels( names=["property"], @@ -292,41 +327,16 @@ def forward( for output_name, last_layer in self.last_layers.items(): if output_name in outputs: atomic_energies = last_layer(node_features) + block = TensorBlock( + values=atomic_energies, + samples=sample_labels, + components=[], + properties=self.property_label, + ) atomic_energies_tmap_dict[output_name] = TensorMap( - keys=Labels( - names=["_"], - values=torch.tensor([[0]], device=node_features.device), - ), + keys=self.single_label, blocks=[ - TensorBlock( - values=atomic_energies, - samples=Labels( - names=["system", "atom", "center_type"], - values=torch.stack( - [ - segment_indices, - torch.concatenate( - [ - torch.arange( - len(system), - device=atomic_energies.device, - ) - for system in systems - ], - ), - species, - ], - dim=1, - ), - ), - components=[], - properties=Labels( - names=["energy"], - values=torch.tensor( - [[0]], device=atomic_energies.device - ), - ), - ) + block, ], ) @@ -338,13 +348,10 @@ def forward( for output_name, atomic_energy in atomic_energies_tmap_dict.items(): if outputs[output_name].per_atom: - # this operation should just remove the center_type label - return_dict[output_name] = metatensor.torch.remove_dimension( - atomic_energy, axis="samples", name="center_type" - ) + return_dict[output_name] = atomic_energy else: return_dict[output_name] = metatensor.torch.sum_over_samples( - atomic_energy, ["atom", "center_type"] + atomic_energy, ["atom"] ) if not self.training: @@ -398,7 +405,7 @@ def export(self) -> MetatensorAtomisticModel: # float64 self.to(dtype) - interaction_ranges = [self.hypers["num_gnn_layers"]*self.hypers["cutoff"]] + interaction_ranges = [self.hypers["num_gnn_layers"] * self.hypers["cutoff"]] for additive_model in self.additive_models: if hasattr(additive_model, "cutoff_radius"): interaction_ranges.append(additive_model.cutoff_radius) diff --git a/src/metatrain/experimental/nanopet/modules/attention.py b/src/metatrain/experimental/nanopet/modules/attention.py index 5ebc20864..e1f36bcf2 100644 --- a/src/metatrain/experimental/nanopet/modules/attention.py +++ b/src/metatrain/experimental/nanopet/modules/attention.py @@ -55,13 +55,15 @@ def forward( attention_output = torch.matmul(attention_weights, v) attention_output = attention_output.transpose(1, 2) attention_output = attention_output.reshape( - attention_output.size(0), attention_output.size(1), attention_output.size(2)*attention_output.size(3) + attention_output.size(0), + attention_output.size(1), + attention_output.size(2) * attention_output.size(3), ) # Output projection outputs = self.out_proj(attention_output) # Residual connection - outputs = (outputs + inputs) * 0.5 ** 0.5 + outputs = (outputs + inputs) * 0.5**0.5 return outputs diff --git a/src/metatrain/experimental/nanopet/modules/augmentation.py b/src/metatrain/experimental/nanopet/modules/augmentation.py index 008bd3958..b2de962a6 100644 --- a/src/metatrain/experimental/nanopet/modules/augmentation.py +++ b/src/metatrain/experimental/nanopet/modules/augmentation.py @@ -15,8 +15,7 @@ def apply_random_augmentations( """ transformations = [ - torch.from_numpy(get_random_augmentation()) - for _ in range(len(systems)) + torch.from_numpy(get_random_augmentation()) for _ in range(len(systems)) ] return _apply_random_augmentations(systems, targets, transformations) diff --git a/src/metatrain/experimental/nanopet/modules/feedforward.py b/src/metatrain/experimental/nanopet/modules/feedforward.py index 2734cafa6..775b5d4bd 100644 --- a/src/metatrain/experimental/nanopet/modules/feedforward.py +++ b/src/metatrain/experimental/nanopet/modules/feedforward.py @@ -41,6 +41,6 @@ def forward( outputs = self.dropout(outputs) # Residual connection - outputs = (outputs + inputs) * 0.5 ** 0.5 + outputs = (outputs + inputs) * 0.5**0.5 return outputs diff --git a/src/metatrain/experimental/nanopet/modules/structures.py b/src/metatrain/experimental/nanopet/modules/structures.py index 4b4275d72..d7d584ebc 100644 --- a/src/metatrain/experimental/nanopet/modules/structures.py +++ b/src/metatrain/experimental/nanopet/modules/structures.py @@ -10,39 +10,31 @@ def concatenate_structures(systems: List[System]): centers = [] neighbors = [] species = [] - segment_indices = [] - edge_vectors = [] cell_shifts = [] + cells = [] node_counter = 0 - for i, system in enumerate(systems): + for system in systems: positions.append(system.positions) species.append(system.types) - segment_indices.append( - torch.full((len(system.positions),), i, device=system.device) - ) assert len(system.known_neighbor_lists()) == 1 neighbor_list = system.get_neighbor_list(system.known_neighbor_lists()[0]) nl_values = neighbor_list.samples.values - edge_vectors_system = neighbor_list.values.reshape( - neighbor_list.values.shape[0], 3 - ) centers.append(nl_values[:, 0] + node_counter) neighbors.append(nl_values[:, 1] + node_counter) - edge_vectors.append(edge_vectors_system) - cell_shifts.append(nl_values[:, 2:]) + cells.append(system.cell) + node_counter += len(system.positions) positions = torch.cat(positions) centers = torch.cat(centers) neighbors = torch.cat(neighbors) species = torch.cat(species) - segment_indices = torch.cat(segment_indices) - edge_vectors = torch.cat(edge_vectors) + cells = torch.stack(cells) cell_shifts = torch.cat(cell_shifts) return ( @@ -50,7 +42,6 @@ def concatenate_structures(systems: List[System]): centers, neighbors, species, - segment_indices, - edge_vectors, + cells, cell_shifts, ) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 025159e03..9cf37e876 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -1,21 +1,19 @@ import logging from pathlib import Path -from typing import List, Union - -from metatensor.torch.atomistic import System -from metatensor.torch import TensorMap -from typing import Dict, List, Tuple +from typing import Dict, List, Tuple, Union import torch import torch.distributed +from metatensor.torch import TensorMap +from metatensor.torch.atomistic import System from torch.utils.data import DataLoader, DistributedSampler from ...utils.additive import remove_additive from ...utils.data import CombinedDataLoader, Dataset, TargetInfoDict, collate_fn from ...utils.data.extract_targets import get_targets_dict from ...utils.distributed.distributed_data_parallel import DistributedDataParallel -from ...utils.distributed.slurm import DistributedEnvironment from ...utils.distributed.logging import is_main_process +from ...utils.distributed.slurm import DistributedEnvironment from ...utils.evaluate_model import evaluate_model from ...utils.external_naming import to_external_name from ...utils.io import check_file_extension @@ -26,7 +24,6 @@ get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from ...utils.neighbor_lists import get_system_with_neighbor_lists from ...utils.per_atom import average_by_num_atoms from .model import NanoPET from .modules.augmentation import apply_random_augmentations @@ -105,7 +102,9 @@ def train( # The additive models of the SOAP-BPNN are always on CPU (to avoid OOM # errors during the linear algebra training) and in float64 (to avoid # numerical errors in the composition weights, which can be very large). - for additive_model in (model.module if is_distributed else model).additive_models: + for additive_model in ( + model.module if is_distributed else model + ).additive_models: additive_model.to(dtype=torch.float64) logger.info("Setting up data loaders") @@ -230,23 +229,17 @@ def systems_and_targets_to_device( ) -> Tuple[List[System], Dict[str, TensorMap]]: return ( [system.to(device=device) for system in systems], - { - key: value.to(device=device) - for key, value in targets.items() - }, + {key: value.to(device=device) for key, value in targets.items()}, ) - + @torch.jit.script def systems_and_targets_to_dtype( systems: List[System], targets: Dict[str, TensorMap], dtype: torch.dtype ) -> Tuple[List[System], Dict[str, TensorMap]]: return ( [system.to(dtype=dtype) for system in systems], - { - key: value.to(dtype=dtype) - for key, value in targets.items() - }, - ) + {key: value.to(dtype=dtype) for key, value in targets.items()}, + ) # Train the model: logger.info("Starting training") @@ -308,8 +301,12 @@ def systems_and_targets_to_dtype( systems, targets = batch systems, targets = apply_random_augmentations(systems, targets) - systems, targets = systems_and_targets_to_device(systems, targets, device) - for additive_model in (model.module if is_distributed else model).additive_models: + systems, targets = systems_and_targets_to_device( + systems, targets, device + ) + for additive_model in ( + model.module if is_distributed else model + ).additive_models: targets = remove_additive( systems, targets, additive_model, train_targets ) @@ -352,18 +349,16 @@ def systems_and_targets_to_dtype( systems, targets = batch systems = [system.to(device=device) for system in systems] targets = { - key: value.to(device=device) - for key, value in targets.items() + key: value.to(device=device) for key, value in targets.items() } - for additive_model in (model.module if is_distributed else model).additive_models: + for additive_model in ( + model.module if is_distributed else model + ).additive_models: targets = remove_additive( systems, targets, additive_model, train_targets ) systems = [system.to(dtype=dtype) for system in systems] - targets = { - key: value.to(dtype=dtype) - for key, value in targets.items() - } + targets = {key: value.to(dtype=dtype) for key, value in targets.items()} predictions = evaluate_model( model, systems, From 4b8d8c1536cdccd01d733db5be06c27e388fd538 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 16 Oct 2024 14:48:12 +0200 Subject: [PATCH 029/126] Fix pyproject.toml --- pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 63f9e9ab0..17359368e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,9 +10,9 @@ authors = [{name = "metatrain developers"}] dependencies = [ "ase < 3.23.0", - "metatensor-learn==0.2.3", - "metatensor-operations==0.2.3", - "metatensor-torch==0.5.5", + "metatensor-learn", + "metatensor-operations", + "metatensor-torch", "jsonschema", "omegaconf", "python-hostlist", From 3377b2ded24db28544d66d5f5522ee7414c7043a Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 17 Oct 2024 11:21:44 +0200 Subject: [PATCH 030/126] Dependencies --- pyproject.toml | 3 --- src/metatrain/cli/eval.py | 4 +++- src/metatrain/experimental/nanopet/model.py | 3 ++- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 17359368e..a672edab1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,9 +10,6 @@ authors = [{name = "metatrain developers"}] dependencies = [ "ase < 3.23.0", - "metatensor-learn", - "metatensor-operations", - "metatensor-torch", "jsonschema", "omegaconf", "python-hostlist", diff --git a/src/metatrain/cli/eval.py b/src/metatrain/cli/eval.py index 449d8d356..48f8093db 100644 --- a/src/metatrain/cli/eval.py +++ b/src/metatrain/cli/eval.py @@ -219,8 +219,10 @@ def _eval_targets( check_consistency=check_consistency, ) + import tqdm + # Evaluate the model - for batch in dataloader: + for batch in tqdm.tqdm(dataloader): systems, batch_targets = batch systems = [system.to(dtype=dtype, device=device) for system in systems] batch_targets = { diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 5ca69b0e5..7470c62f1 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -390,7 +390,8 @@ def load_checkpoint(cls, path: Union[str, Path]) -> "NanoPET": # Create the model model = cls(**model_hypers) - dtype = next(iter(model_state_dict.values())).dtype + # dtype = next(iter(model_state_dict.values())).dtype + dtype = torch.float32 # HACK: firts state_dict value is somehow an integer ???? model.to(dtype).load_state_dict(model_state_dict) return model From 63bcfacbed9b1cddb9f7ac37cc7d9d0f12358231 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 17 Oct 2024 18:48:26 +0200 Subject: [PATCH 031/126] Merge branch 'mae-logging' into nanopet --- src/metatrain/cli/eval.py | 13 ++- .../alchemical_model/default-hypers.yaml | 1 + .../alchemical_model/schema-hypers.json | 3 + .../experimental/alchemical_model/trainer.py | 23 ++++- .../experimental/nanopet/default-hypers.yaml | 1 + src/metatrain/experimental/nanopet/trainer.py | 27 +++++- .../soap_bpnn/default-hypers.yaml | 1 + .../experimental/soap_bpnn/schema-hypers.json | 3 + .../experimental/soap_bpnn/trainer.py | 32 +++++-- src/metatrain/utils/logging.py | 10 ++- src/metatrain/utils/metrics.py | 87 ++++++++++++++++++- tests/cli/test_eval_model.py | 1 + tests/utils/test_metrics.py | 20 ++++- 13 files changed, 206 insertions(+), 16 deletions(-) diff --git a/src/metatrain/cli/eval.py b/src/metatrain/cli/eval.py index 48f8093db..f40fde7aa 100644 --- a/src/metatrain/cli/eval.py +++ b/src/metatrain/cli/eval.py @@ -24,7 +24,7 @@ from ..utils.errors import ArchitectureError from ..utils.evaluate_model import evaluate_model from ..utils.logging import MetricLogger -from ..utils.metrics import RMSEAccumulator +from ..utils.metrics import MAEAccumulator, RMSEAccumulator from ..utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, @@ -197,6 +197,7 @@ def _eval_targets( # Initialize RMSE accumulator: rmse_accumulator = RMSEAccumulator() + mae_accumulator = MAEAccumulator() # If we're returning the predictions, we need to store them: if return_predictions: @@ -251,6 +252,7 @@ def _eval_targets( batch_targets, systems, per_structure_keys=[] ) rmse_accumulator.update(batch_predictions, batch_targets) + mae_accumulator.update(batch_predictions, batch_targets) if return_predictions: all_predictions.append(batch_predictions) @@ -258,15 +260,18 @@ def _eval_targets( total_time += time_taken timings_per_atom.append(time_taken / sum(len(system) for system in systems)) - # Finalize the RMSEs + # Finalize the metrics rmse_values = rmse_accumulator.finalize(not_per_atom=["positions_gradients"]) + mae_values = mae_accumulator.finalize(not_per_atom=["positions_gradients"]) + metrics = {**rmse_values, **mae_values} + # print the RMSEs with MetricLogger metric_logger = MetricLogger( log_obj=logger, dataset_info=model.capabilities(), - initial_metrics=rmse_values, + initial_metrics=metrics, ) - metric_logger.log(rmse_values) + metric_logger.log(metrics) # Log timings timings_per_atom = np.array(timings_per_atom) diff --git a/src/metatrain/experimental/alchemical_model/default-hypers.yaml b/src/metatrain/experimental/alchemical_model/default-hypers.yaml index 4d3f91eb2..9ffe7be84 100644 --- a/src/metatrain/experimental/alchemical_model/default-hypers.yaml +++ b/src/metatrain/experimental/alchemical_model/default-hypers.yaml @@ -26,3 +26,4 @@ training: checkpoint_interval: 25 per_structure_targets: [] loss_weights: {} + log_mae: False diff --git a/src/metatrain/experimental/alchemical_model/schema-hypers.json b/src/metatrain/experimental/alchemical_model/schema-hypers.json index 4e9e141ed..997bfa010 100644 --- a/src/metatrain/experimental/alchemical_model/schema-hypers.json +++ b/src/metatrain/experimental/alchemical_model/schema-hypers.json @@ -101,6 +101,9 @@ } }, "additionalProperties": false + }, + "log_mae": { + "type": "boolean" } }, "additionalProperties": false diff --git a/src/metatrain/experimental/alchemical_model/trainer.py b/src/metatrain/experimental/alchemical_model/trainer.py index 24d03ebe8..7b7229113 100644 --- a/src/metatrain/experimental/alchemical_model/trainer.py +++ b/src/metatrain/experimental/alchemical_model/trainer.py @@ -19,7 +19,7 @@ from ...utils.io import check_file_extension from ...utils.logging import MetricLogger from ...utils.loss import TensorMapDictLoss -from ...utils.metrics import RMSEAccumulator +from ...utils.metrics import MAEAccumulator, RMSEAccumulator from ...utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, @@ -223,6 +223,9 @@ def train( for epoch in range(start_epoch, start_epoch + self.hypers["num_epochs"]): train_rmse_calculator = RMSEAccumulator() val_rmse_calculator = RMSEAccumulator() + if self.hypers["log_mae"]: + train_mae_calculator = MAEAccumulator() + val_mae_calculator = MAEAccumulator() train_loss = 0.0 for batch in train_dataloader: @@ -260,9 +263,18 @@ def train( train_loss_batch.backward() optimizer.step() train_rmse_calculator.update(predictions, targets) + if self.hypers["log_mae"]: + train_mae_calculator.update(predictions, targets) + finalized_train_info = train_rmse_calculator.finalize( not_per_atom=["positions_gradients"] + per_structure_targets ) + if self.hypers["log_mae"]: + finalized_train_info.update( + train_mae_calculator.finalize( + not_per_atom=["positions_gradients"] + per_structure_targets + ) + ) val_loss = 0.0 for batch in val_dataloader: @@ -297,9 +309,18 @@ def train( val_loss_batch = loss_fn(predictions, targets) val_loss += val_loss_batch.item() val_rmse_calculator.update(predictions, targets) + if self.hypers["log_mae"]: + val_mae_calculator.update(predictions, targets) + finalized_val_info = val_rmse_calculator.finalize( not_per_atom=["positions_gradients"] + per_structure_targets ) + if self.hypers["log_mae"]: + finalized_val_info.update( + val_mae_calculator.finalize( + not_per_atom=["positions_gradients"] + per_structure_targets + ) + ) lr_scheduler.step(val_loss) diff --git a/src/metatrain/experimental/nanopet/default-hypers.yaml b/src/metatrain/experimental/nanopet/default-hypers.yaml index ca121794a..c9aac9d22 100644 --- a/src/metatrain/experimental/nanopet/default-hypers.yaml +++ b/src/metatrain/experimental/nanopet/default-hypers.yaml @@ -25,3 +25,4 @@ training: fixed_composition_weights: {} per_structure_targets: [] loss_weights: {} + log_mae: true diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 9cf37e876..fe381bca5 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -12,14 +12,13 @@ from ...utils.data import CombinedDataLoader, Dataset, TargetInfoDict, collate_fn from ...utils.data.extract_targets import get_targets_dict from ...utils.distributed.distributed_data_parallel import DistributedDataParallel -from ...utils.distributed.logging import is_main_process from ...utils.distributed.slurm import DistributedEnvironment from ...utils.evaluate_model import evaluate_model from ...utils.external_naming import to_external_name from ...utils.io import check_file_extension from ...utils.logging import MetricLogger from ...utils.loss import TensorMapDictLoss -from ...utils.metrics import RMSEAccumulator +from ...utils.metrics import MAEAccumulator, RMSEAccumulator from ...utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, @@ -249,6 +248,9 @@ def systems_and_targets_to_dtype( train_rmse_calculator = RMSEAccumulator() val_rmse_calculator = RMSEAccumulator() + if self.hypers["log_mae"]: + train_mae_calculator = MAEAccumulator() + val_mae_calculator = MAEAccumulator() train_loss = 0.0 # count = 0 @@ -335,6 +337,8 @@ def systems_and_targets_to_dtype( torch.distributed.all_reduce(train_loss_batch) train_loss += train_loss_batch.item() train_rmse_calculator.update(predictions, targets) + if self.hypers["log_mae"]: + train_mae_calculator.update(predictions, targets) # count += 1 @@ -343,6 +347,14 @@ def systems_and_targets_to_dtype( is_distributed=is_distributed, device=device, ) + if self.hypers["log_mae"]: + finalized_train_info.update( + train_mae_calculator.finalize( + not_per_atom=["positions_gradients"] + per_structure_targets, + is_distributed=is_distributed, + device=device, + ) + ) val_loss = 0.0 for batch in val_dataloader: @@ -381,11 +393,22 @@ def systems_and_targets_to_dtype( torch.distributed.all_reduce(val_loss_batch) val_loss += val_loss_batch.item() val_rmse_calculator.update(predictions, targets) + if self.hypers["log_mae"]: + val_mae_calculator.update(predictions, targets) + finalized_val_info = val_rmse_calculator.finalize( not_per_atom=["positions_gradients"] + per_structure_targets, is_distributed=is_distributed, device=device, ) + if self.hypers["log_mae"]: + finalized_val_info.update( + val_mae_calculator.finalize( + not_per_atom=["positions_gradients"] + per_structure_targets, + is_distributed=is_distributed, + device=device, + ) + ) lr_scheduler.step(val_loss) diff --git a/src/metatrain/experimental/soap_bpnn/default-hypers.yaml b/src/metatrain/experimental/soap_bpnn/default-hypers.yaml index 1c7fe1c66..33198a800 100644 --- a/src/metatrain/experimental/soap_bpnn/default-hypers.yaml +++ b/src/metatrain/experimental/soap_bpnn/default-hypers.yaml @@ -35,3 +35,4 @@ training: fixed_composition_weights: {} per_structure_targets: [] loss_weights: {} + log_mae: False diff --git a/src/metatrain/experimental/soap_bpnn/schema-hypers.json b/src/metatrain/experimental/soap_bpnn/schema-hypers.json index b2ca893b0..32d46da0d 100644 --- a/src/metatrain/experimental/soap_bpnn/schema-hypers.json +++ b/src/metatrain/experimental/soap_bpnn/schema-hypers.json @@ -149,6 +149,9 @@ } }, "additionalProperties": false + }, + "log_mae": { + "type": "boolean" } }, "additionalProperties": false diff --git a/src/metatrain/experimental/soap_bpnn/trainer.py b/src/metatrain/experimental/soap_bpnn/trainer.py index 5fe4ae00a..d4f28acb7 100644 --- a/src/metatrain/experimental/soap_bpnn/trainer.py +++ b/src/metatrain/experimental/soap_bpnn/trainer.py @@ -17,7 +17,7 @@ from ...utils.io import check_file_extension from ...utils.logging import MetricLogger from ...utils.loss import TensorMapDictLoss -from ...utils.metrics import RMSEAccumulator +from ...utils.metrics import MAEAccumulator, RMSEAccumulator from ...utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, @@ -244,6 +244,9 @@ def train( train_rmse_calculator = RMSEAccumulator() val_rmse_calculator = RMSEAccumulator() + if self.hypers["log_mae"]: + train_mae_calculator = MAEAccumulator() + val_mae_calculator = MAEAccumulator() train_loss = 0.0 for batch in train_dataloader: @@ -285,11 +288,22 @@ def train( torch.distributed.all_reduce(train_loss_batch) train_loss += train_loss_batch.item() train_rmse_calculator.update(predictions, targets) + if self.hypers["log_mae"]: + train_mae_calculator.update(predictions, targets) + finalized_train_info = train_rmse_calculator.finalize( not_per_atom=["positions_gradients"] + per_structure_targets, is_distributed=is_distributed, device=device, ) + if self.hypers["log_mae"]: + finalized_train_info.update( + train_mae_calculator.finalize( + not_per_atom=["positions_gradients"] + per_structure_targets, + is_distributed=is_distributed, + device=device, + ) + ) val_loss = 0.0 for batch in val_dataloader: @@ -326,20 +340,28 @@ def train( torch.distributed.all_reduce(val_loss_batch) val_loss += val_loss_batch.item() val_rmse_calculator.update(predictions, targets) + if self.hypers["log_mae"]: + val_mae_calculator.update(predictions, targets) + finalized_val_info = val_rmse_calculator.finalize( not_per_atom=["positions_gradients"] + per_structure_targets, is_distributed=is_distributed, device=device, ) + if self.hypers["log_mae"]: + finalized_val_info.update( + val_mae_calculator.finalize( + not_per_atom=["positions_gradients"] + per_structure_targets, + is_distributed=is_distributed, + device=device, + ) + ) lr_scheduler.step(val_loss) # Now we log the information: finalized_train_info = {"loss": train_loss, **finalized_train_info} - finalized_val_info = { - "loss": val_loss, - **finalized_val_info, - } + finalized_val_info = {"loss": val_loss, **finalized_val_info} if epoch == start_epoch: metric_logger = MetricLogger( diff --git a/src/metatrain/utils/logging.py b/src/metatrain/utils/logging.py index dbaf0356b..dfb3d4d4d 100644 --- a/src/metatrain/utils/logging.py +++ b/src/metatrain/utils/logging.py @@ -274,6 +274,12 @@ def _sort_metric_names(name_list): # loss goes first loss_index = name_list.index("loss") sorted_name_list.append(name_list.pop(loss_index)) - # then alphabetical order - sorted_name_list.extend(sorted(name_list)) + # then alphabetical order, except for the MAEs, which should come + # after the corresponding RMSEs + sorted_remaining_name_list = sorted( + name_list, + key=lambda x: x.replace("RMSE", "AAA").replace("MAE", "ZZZ"), + ) + # add the rest + sorted_name_list.extend(sorted_remaining_name_list) return sorted_name_list diff --git a/src/metatrain/utils/metrics.py b/src/metatrain/utils/metrics.py index 3086d500f..357b567d0 100644 --- a/src/metatrain/utils/metrics.py +++ b/src/metatrain/utils/metrics.py @@ -54,7 +54,7 @@ def finalize( is_distributed: bool = False, device: torch.device = None, ) -> Dict[str, float]: - """Finalizes the accumulator and return the RMSE for each key. + """Finalizes the accumulator and returns the RMSE for each key. All keys will be returned as "{key} RMSE (per atom)" in the output dictionary, unless ``key`` contains one or more of the strings in ``not_per_atom``, @@ -85,3 +85,88 @@ def finalize( finalized_info[out_key] = (value[0] / value[1]) ** 0.5 return finalized_info + + +class MAEAccumulator: + """Accumulates the MAE between predictions and targets for an arbitrary + number of keys, each corresponding to one target.""" + + def __init__(self): + """Initialize the accumulator.""" + self.information: Dict[str, Tuple[float, int]] = {} + + def update(self, predictions: Dict[str, TensorMap], targets: Dict[str, TensorMap]): + """Updates the accumulator with new predictions and targets. + + :param predictions: A dictionary of predictions, where the keys correspond + to the keys in the targets dictionary, and the values are the predictions. + + :param targets: A dictionary of targets, where the keys correspond to the keys + in the predictions dictionary, and the values are the targets. + """ + + for key, target in targets.items(): + if key not in self.information: + self.information[key] = (0.0, 0) + prediction = predictions[key] + + self.information[key] = ( + self.information[key][0] + + (prediction.block().values - target.block().values) + .abs() + .sum() + .item(), + self.information[key][1] + prediction.block().values.numel(), + ) + + for gradient_name, target_gradient in target.block().gradients(): + if f"{key}_{gradient_name}_gradients" not in self.information: + self.information[f"{key}_{gradient_name}_gradients"] = (0.0, 0) + prediction_gradient = prediction.block().gradient(gradient_name) + self.information[f"{key}_{gradient_name}_gradients"] = ( + self.information[f"{key}_{gradient_name}_gradients"][0] + + (prediction_gradient.values - target_gradient.values) + .abs() + .sum() + .item(), + self.information[f"{key}_{gradient_name}_gradients"][1] + + prediction_gradient.values.numel(), + ) + + def finalize( + self, + not_per_atom: List[str], + is_distributed: bool = False, + device: torch.device = None, + ) -> Dict[str, float]: + """Finalizes the accumulator and returns the MAE for each key. + + All keys will be returned as "{key} MAE (per atom)" in the output dictionary, + unless ``key`` contains one or more of the strings in ``not_per_atom``, + in which case "{key} MAE" will be returned. + + :param not_per_atom: a list of strings. If any of these strings are present in + a key, the MAE key will not be labeled as "(per atom)". + :param is_distributed: if true, the MAE will be computed across all ranks + of the distributed system. + :param device: the local device to use for the computation. Only needed if + ``is_distributed`` is :obj:`python:True`. + """ + + if is_distributed: + for key, value in self.information.items(): + sae = torch.tensor(value[0]).to(device) + n_elems = torch.tensor(value[1]).to(device) + torch.distributed.all_reduce(sae) + torch.distributed.all_reduce(n_elems) + self.information[key] = (sae.item(), n_elems.item()) # type: ignore + + finalized_info = {} + for key, value in self.information.items(): + if any([s in key for s in not_per_atom]): + out_key = f"{key} MAE" + else: + out_key = f"{key} MAE (per atom)" + finalized_info[out_key] = value[0] / value[1] + + return finalized_info diff --git a/tests/cli/test_eval_model.py b/tests/cli/test_eval_model.py index 7eda92af0..6510deee9 100644 --- a/tests/cli/test_eval_model.py +++ b/tests/cli/test_eval_model.py @@ -67,6 +67,7 @@ def test_eval(monkeypatch, tmp_path, caplog, model_name, options): # Test target predictions log = "".join([rec.message for rec in caplog.records]) assert "energy RMSE (per atom)" in log + assert "energy MAE (per atom)" in log assert "dataset with index" not in log assert "evaluation time" in log assert "ms per atom" in log diff --git a/tests/utils/test_metrics.py b/tests/utils/test_metrics.py index 17d195c57..a9c0cedd2 100644 --- a/tests/utils/test_metrics.py +++ b/tests/utils/test_metrics.py @@ -2,7 +2,7 @@ import torch from metatensor.torch import Labels, TensorBlock, TensorMap -from metatrain.utils.metrics import RMSEAccumulator +from metatrain.utils.metrics import MAEAccumulator, RMSEAccumulator @pytest.fixture @@ -63,3 +63,21 @@ def test_rmse_accumulator(tensor_map_with_grad_1, tensor_map_with_grad_2): assert "energy RMSE (per atom)" in rmses assert "energy_gradient_gradients RMSE" in rmses + + +def test_mae_accumulator(tensor_map_with_grad_1, tensor_map_with_grad_2): + """Tests the MAEAccumulator class.""" + + mae_accumulator = MAEAccumulator() + for _ in range(10): + mae_accumulator.update( + {"energy": tensor_map_with_grad_1}, {"energy": tensor_map_with_grad_2} + ) + + assert mae_accumulator.information["energy"][1] == 30 + assert mae_accumulator.information["energy_gradient_gradients"][1] == 30 + + maes = mae_accumulator.finalize(not_per_atom=["gradient_gradients"]) + + assert "energy MAE (per atom)" in maes + assert "energy_gradient_gradients MAE" in maes From f79a36d5aa004e4f9fb7d7f575ca297300bc2e58 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 17 Oct 2024 21:37:24 +0200 Subject: [PATCH 032/126] Automatic continuation --- src/metatrain/cli/train.py | 24 +++++++++++++++++++ tests/cli/test_train_model.py | 44 +++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index 5523b6ef4..29de6b1a1 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -98,6 +98,29 @@ def _prepare_train_model_args(args: argparse.Namespace) -> None: args.options = OmegaConf.merge(args.options, override_options) +def _process_continue_from(continue_from: Optional[str]) -> Optional[str]: + # covers the case where `continue_from` is `auto` + if continue_from == "auto": + # try to find the `outputs` directory; if it doesn't exist + # then we are not continuing from a previous run + if Path("outputs/").exists(): + # take the latest day directory + dir = sorted(Path("outputs/").iterdir())[-1] + # take the latest second directory + dir = sorted(dir.iterdir())[-1] + # take the latest checkpoint. This cannot be done with + # `sorted` because some checkpoint files are named with + # the epoch number (e.g. `epoch_10.ckpt` would be before + # `epoch_8.ckpt`). We therefore sort by file creation time. + continue_from = str( + sorted(dir.glob("*.ckpt"), key=lambda f: f.stat().st_ctime)[-1] + ) + else: + continue_from = None + + return continue_from + + def train_model( options: Union[DictConfig, Dict], output: str = "model.pt", @@ -334,6 +357,7 @@ def train_model( logger.info("Setting up model") try: + continue_from = _process_continue_from(continue_from) if continue_from is not None: logger.info(f"Loading checkpoint from `{continue_from}`") trainer = Trainer.load_checkpoint(continue_from, hypers["training"]) diff --git a/tests/cli/test_train_model.py b/tests/cli/test_train_model.py index a6abc91e3..5fec166a2 100644 --- a/tests/cli/test_train_model.py +++ b/tests/cli/test_train_model.py @@ -421,6 +421,50 @@ def test_continue(options, monkeypatch, tmp_path): train_model(options, continue_from=MODEL_PATH_64_BIT) +def test_continue_auto(options, caplog, monkeypatch, tmp_path): + """Test that continuing with the `auto` keyword results in + a continuation from the most recent checkpoint.""" + monkeypatch.chdir(tmp_path) + shutil.copy(DATASET_PATH_QM9, "qm9_reduced_100.xyz") + caplog.set_level(logging.INFO) + + # Make up an output directory with some checkpoints + true_checkpoint_dir = Path("outputs/2021-09-02/00-10-05") + true_checkpoint_dir.mkdir(parents=True, exist_ok=True) + # as well as some lower-priority checkpoints + fake_checkpoints_dirs = [ + Path("outputs/2021-08-01/00-00-00"), + Path("outputs/2021-09-01/00-00-00"), + Path("outputs/2021-09-02/00-00-00"), + Path("outputs/2021-09-02/00-10-00"), + ] + for fake_checkpoint_dir in fake_checkpoints_dirs: + fake_checkpoint_dir.mkdir(parents=True, exist_ok=True) + + for i in range(1, 4): + shutil.copy(MODEL_PATH_64_BIT, true_checkpoint_dir / f"model_{i}.ckpt") + for fake_checkpoint_dir in fake_checkpoints_dirs: + shutil.copy(MODEL_PATH_64_BIT, fake_checkpoint_dir / f"model_{i}.ckpt") + + train_model(options, continue_from="auto") + + assert "Loading checkpoint from" in caplog.text + assert str(true_checkpoint_dir) in caplog.text + assert "model_3.ckpt" in caplog.text + + +def test_continue_auto_no_outputs(options, caplog, monkeypatch, tmp_path): + """Test that continuing with the `auto` keyword results in + training from scratch if `outputs/` is not present.""" + monkeypatch.chdir(tmp_path) + shutil.copy(DATASET_PATH_QM9, "qm9_reduced_100.xyz") + caplog.set_level(logging.INFO) + + train_model(options, continue_from="auto") + + assert "Loading checkpoint from" not in caplog.text + + def test_continue_different_dataset(options, monkeypatch, tmp_path): """Test that continuing training from a checkpoint runs without an error raise with a different dataset than the original.""" From 3c136bfa693897dd4e0b90cbf54027fd02177bd9 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 18 Oct 2024 06:24:19 +0200 Subject: [PATCH 033/126] Call processing function before new `outputs/` directory is created --- src/metatrain/cli/train.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index 29de6b1a1..66abef34f 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -74,7 +74,7 @@ def _add_train_model_parser(subparser: argparse._SubParsersAction) -> None: "-c", "--continue", dest="continue_from", - type=str, + type=_process_continue_from, required=False, help="File to continue training from.", ) @@ -98,7 +98,7 @@ def _prepare_train_model_args(args: argparse.Namespace) -> None: args.options = OmegaConf.merge(args.options, override_options) -def _process_continue_from(continue_from: Optional[str]) -> Optional[str]: +def _process_continue_from(continue_from: str) -> Optional[str]: # covers the case where `continue_from` is `auto` if continue_from == "auto": # try to find the `outputs` directory; if it doesn't exist @@ -112,13 +112,13 @@ def _process_continue_from(continue_from: Optional[str]) -> Optional[str]: # `sorted` because some checkpoint files are named with # the epoch number (e.g. `epoch_10.ckpt` would be before # `epoch_8.ckpt`). We therefore sort by file creation time. - continue_from = str( + new_continue_from = str( sorted(dir.glob("*.ckpt"), key=lambda f: f.stat().st_ctime)[-1] ) else: - continue_from = None + new_continue_from = None - return continue_from + return new_continue_from def train_model( @@ -357,7 +357,6 @@ def train_model( logger.info("Setting up model") try: - continue_from = _process_continue_from(continue_from) if continue_from is not None: logger.info(f"Loading checkpoint from `{continue_from}`") trainer = Trainer.load_checkpoint(continue_from, hypers["training"]) From c33bcf273fbea129c5493bea1315a79edacabc6e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 18 Oct 2024 06:40:21 +0200 Subject: [PATCH 034/126] Make it distributed-proof --- src/metatrain/__main__.py | 4 +++- src/metatrain/utils/logging.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/metatrain/__main__.py b/src/metatrain/__main__.py index 40b3eae8e..0aaacade0 100644 --- a/src/metatrain/__main__.py +++ b/src/metatrain/__main__.py @@ -16,6 +16,7 @@ export_model, ) from .cli.train import _add_train_model_parser, _prepare_train_model_args, train_model +from .utils.distributed.logging import is_main_process from .utils.logging import get_cli_input, setup_logging @@ -81,7 +82,8 @@ def main(): if callable == "train_model": # define and create `checkpoint_dir` based on current directory, date and time checkpoint_dir = _datetime_output_path(now=datetime.now()) - os.makedirs(checkpoint_dir, exist_ok=True) # exist_ok=True for distributed + if is_main_process(): + os.makedirs(checkpoint_dir) args.checkpoint_dir = checkpoint_dir log_file = checkpoint_dir / "train.log" diff --git a/src/metatrain/utils/logging.py b/src/metatrain/utils/logging.py index dbaf0356b..cf3801542 100644 --- a/src/metatrain/utils/logging.py +++ b/src/metatrain/utils/logging.py @@ -221,7 +221,7 @@ def setup_logging( stream_handler.setFormatter(formatter) handlers.append(stream_handler) - if log_file: + if log_file and is_main_process(): log_file = check_file_extension(filename=log_file, extension=".log") file_handler = logging.FileHandler(filename=str(log_file), encoding="utf-8") file_handler.setFormatter(formatter) From 129c9b9020afda581230352b1910de963e8eec49 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 18 Oct 2024 07:00:02 +0200 Subject: [PATCH 035/126] Only save checkpoints from the main process --- src/metatrain/experimental/nanopet/trainer.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index fe381bca5..0ab8a5818 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -441,10 +441,11 @@ def systems_and_targets_to_dtype( self.optimizer_state_dict = optimizer.state_dict() self.scheduler_state_dict = lr_scheduler.state_dict() self.epoch = epoch - self.save_checkpoint( - (model.module if is_distributed else model), - Path(checkpoint_dir) / f"model_{epoch}.ckpt", - ) + if rank == 0: + self.save_checkpoint( + (model.module if is_distributed else model), + Path(checkpoint_dir) / f"model_{epoch}.ckpt", + ) # early stopping criterion: if val_loss < best_val_loss: From a675bfef66a33747e3cc1442a3d9be841eac9870 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 18 Oct 2024 20:03:23 +0200 Subject: [PATCH 036/126] Get rid of nanopet-neighbors --- pyproject.toml | 4 +- src/metatrain/experimental/nanopet/model.py | 8 +- .../experimental/nanopet/modules/nef.py | 86 +++++++++++++++++++ 3 files changed, 93 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a672edab1..fd770e2e6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -63,9 +63,7 @@ alchemical-model = [ pet = [ "pet @ git+https://github.com/lab-cosmo/pet@8841021", ] -nanopet = [ - "nanopet-neighbors @ git+https://github.com/frostedoyster/nanopet-neighbors" -] +nanopet = [] gap = [ "rascaline-torch @ git+https://github.com/luthaf/rascaline@d181b28#subdirectory=python/rascaline-torch", "skmatter", diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 7470c62f1..8d069b62d 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -11,14 +11,18 @@ NeighborListOptions, System, ) -from nanopet_neighbors import get_corresponding_edges, get_nef_indices from ...utils.additive import ZBL, CompositionModel from ...utils.data import DatasetInfo from ...utils.dtype import dtype_to_str from ...utils.export import export from .modules.encoder import Encoder -from .modules.nef import edge_array_to_nef, nef_array_to_edges +from .modules.nef import ( + edge_array_to_nef, + get_corresponding_edges, + get_nef_indices, + nef_array_to_edges, +) from .modules.radial_mask import get_radial_mask from .modules.structures import concatenate_structures from .modules.transformer import Transformer diff --git a/src/metatrain/experimental/nanopet/modules/nef.py b/src/metatrain/experimental/nanopet/modules/nef.py index fc03ff0ae..9617d153d 100644 --- a/src/metatrain/experimental/nanopet/modules/nef.py +++ b/src/metatrain/experimental/nanopet/modules/nef.py @@ -3,6 +3,92 @@ import torch +def get_nef_indices(centers, n_nodes: int, n_edges_per_node: int): + + bincount = torch.bincount(centers, minlength=n_nodes) + + arange = torch.arange(n_edges_per_node, device=centers.device) + arange_expanded = arange.view(1, -1).expand(n_nodes, -1) + nef_mask = arange_expanded < bincount.view(-1, 1) + + argsort = torch.argsort(centers, stable=True) + + edges_to_nef = torch.zeros( + (n_nodes, n_edges_per_node), dtype=torch.long, device=centers.device + ) + edges_to_nef[nef_mask] = argsort + + nef_to_edges_neighbor = torch.empty_like(centers, dtype=torch.long) + nef_to_edges_neighbor[argsort] = arange_expanded[nef_mask] + + return edges_to_nef, nef_to_edges_neighbor, nef_mask + + +def get_corresponding_edges(array): + array = array.to(torch.int64) # avoid overflow + + centers = array[:, 0] + neighbors = array[:, 1] + cell_shifts_x = array[:, 2] + cell_shifts_y = array[:, 3] + cell_shifts_z = array[:, 4] + + # will be useful later + negative_cell_shifts_x = -cell_shifts_x + negative_cell_shifts_y = -cell_shifts_y + negative_cell_shifts_z = -cell_shifts_z + + # create a unique identifier for each edge + # first, we shift the cell_shifts so that the minimum value is 0 + min_cell_shift_x = cell_shifts_x.min() + cell_shifts_x = cell_shifts_x - min_cell_shift_x + negative_cell_shifts_x = negative_cell_shifts_x - min_cell_shift_x + + min_cell_shift_y = cell_shifts_y.min() + cell_shifts_y = cell_shifts_y - min_cell_shift_y + negative_cell_shifts_y = negative_cell_shifts_y - min_cell_shift_y + + min_cell_shift_z = cell_shifts_z.min() + cell_shifts_z = cell_shifts_z - min_cell_shift_z + negative_cell_shifts_z = negative_cell_shifts_z - min_cell_shift_z + + max_centers_neigbors = centers.max() + 1 # same as neighbors.max() + 1 + max_shift_x = cell_shifts_x.max() + 1 + max_shift_y = cell_shifts_y.max() + 1 + max_shift_z = cell_shifts_z.max() + 1 + + size_1 = max_shift_z + size_2 = max_shift_y * size_1 + size_3 = max_shift_x * size_2 + size_4 = max_centers_neigbors * size_3 + + unique_id = ( + centers * size_4 + + neighbors * size_3 + + cell_shifts_x * size_2 + + cell_shifts_y * size_1 + + cell_shifts_z + ) + + # the inverse is the same, but centers and neighbors are swapped + # and we use the negative values of the cell_shifts + unique_id_inverse = ( + neighbors * size_4 + + centers * size_3 + + negative_cell_shifts_x * size_2 + + negative_cell_shifts_y * size_1 + + negative_cell_shifts_z + ) + + unique_id_argsort = unique_id.argsort() + unique_id_inverse_argsort = unique_id_inverse.argsort() + + corresponding_edges = torch.empty_like(centers) + corresponding_edges[unique_id_argsort] = unique_id_inverse_argsort + + return corresponding_edges.to(array.dtype) + + def edge_array_to_nef( edge_array, nef_indices, From 72a650282c91e1bdfaf5209ec2af8291f977fcfd Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 18 Oct 2024 21:31:28 +0200 Subject: [PATCH 037/126] Speed up --- src/metatrain/cli/train.py | 9 ++++++--- src/metatrain/experimental/nanopet/model.py | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index 63095b156..9acb6d30d 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -112,9 +112,12 @@ def _process_continue_from(continue_from: str) -> Optional[str]: # `sorted` because some checkpoint files are named with # the epoch number (e.g. `epoch_10.ckpt` would be before # `epoch_8.ckpt`). We therefore sort by file creation time. - new_continue_from = str( - sorted(dir.glob("*.ckpt"), key=lambda f: f.stat().st_ctime)[-1] - ) + try: + new_continue_from = str( + sorted(dir.glob("*.ckpt"), key=lambda f: f.stat().st_ctime)[-1] + ) + except IndexError: + new_continue_from = None else: new_continue_from = None diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 8d069b62d..72d81ad33 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -219,14 +219,22 @@ def forward( cell_shifts, ) = concatenate_structures(systems) - edge_vectors = ( - positions[neighbors] - - positions[centers] - + torch.einsum( + # somehow the backward of this operation is very slow at evaluation, + # where there is only one cell, therefore we simplify the calculation + # for that case + if len(cells) == 1: + cell_contributions = cell_shifts.to(cells.dtype) @ cells[0] + else: + cell_contributions = torch.einsum( "ab, abc -> ac", cell_shifts.to(cells.dtype), cells[segment_indices[centers]], ) + + edge_vectors = ( + positions[neighbors] + - positions[centers] + + cell_contributions ) bincount = torch.bincount(centers) From fc33c703ff23c7136a155a6ceae3c266a7899704 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sun, 20 Oct 2024 11:39:05 +0200 Subject: [PATCH 038/126] Proper cutoff parameters --- src/metatrain/cli/train.py | 14 ++++---- .../experimental/nanopet/default-hypers.yaml | 2 +- src/metatrain/experimental/nanopet/model.py | 5 ++- .../nanopet/tests/print_energies.py | 36 +++++++++++++++++++ .../nanopet/tests/test_nanopet.py | 2 ++ 5 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 src/metatrain/experimental/nanopet/tests/print_energies.py diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index 9acb6d30d..15594f449 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -112,15 +112,17 @@ def _process_continue_from(continue_from: str) -> Optional[str]: # `sorted` because some checkpoint files are named with # the epoch number (e.g. `epoch_10.ckpt` would be before # `epoch_8.ckpt`). We therefore sort by file creation time. - try: - new_continue_from = str( - sorted(dir.glob("*.ckpt"), key=lambda f: f.stat().st_ctime)[-1] - ) - except IndexError: - new_continue_from = None + new_continue_from = str( + sorted(dir.glob("*.ckpt"), key=lambda f: f.stat().st_ctime)[-1] + ) else: new_continue_from = None + # the main thread will proceed to create a new outputs/ folder + # or a new folder within outputs/ + import time + time.sleep(5) + return new_continue_from diff --git a/src/metatrain/experimental/nanopet/default-hypers.yaml b/src/metatrain/experimental/nanopet/default-hypers.yaml index c9aac9d22..4929572f1 100644 --- a/src/metatrain/experimental/nanopet/default-hypers.yaml +++ b/src/metatrain/experimental/nanopet/default-hypers.yaml @@ -2,6 +2,7 @@ name: experimental.nanopet model: cutoff: 5.0 + cutoff_width: 0.2 d_pet: 128 num_heads: 4 num_attention_layers: 2 @@ -14,7 +15,6 @@ training: distributed: False distributed_port: 39591 batch_size: 16 - num_warmup_steps: 1000 num_epochs: 10000 learning_rate: 3e-4 early_stopping_patience: 1000 diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 72d81ad33..7da04dfc1 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -40,6 +40,9 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.new_outputs = list(dataset_info.targets.keys()) self.atomic_types = dataset_info.atomic_types + self.cutoff = self.hypers["cutoff"] + self.cutoff_width = self.hypers["cutoff_width"] + self.outputs = { key: ModelOutput( quantity=value.quantity, @@ -250,7 +253,7 @@ def forward( # Get radial mask r = torch.sqrt(torch.sum(edge_vectors**2, dim=-1)) - radial_mask = get_radial_mask(r, 5.0, 3.0) + radial_mask = get_radial_mask(r, self.cutoff, self.cutoff-self.cutoff_width) # Element indices element_indices_nodes = self.species_to_species_index[species] diff --git a/src/metatrain/experimental/nanopet/tests/print_energies.py b/src/metatrain/experimental/nanopet/tests/print_energies.py new file mode 100644 index 000000000..8e2154a23 --- /dev/null +++ b/src/metatrain/experimental/nanopet/tests/print_energies.py @@ -0,0 +1,36 @@ +import torch +import numpy as np +from metatensor.torch.atomistic import ModelOutput, System + +from metatrain.experimental.nanopet.model import NanoPET +from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists + +from metatrain.utils.architectures import get_default_hypers + +DEFAULT_HYPERS = get_default_hypers("experimental.nanopet") +MODEL_HYPERS = DEFAULT_HYPERS["model"] + + +dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), +) + +MODEL_HYPERS["cutoff_width"] = 0.4 +model = NanoPET(MODEL_HYPERS, dataset_info) + +systems = [ + System( + types=torch.tensor([6, 6]), + positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, float(a)]]), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]) + ) for a in np.arange(4.5, 5.5, 0.001) +] +systems = [get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) for system in systems] +outputs = {"energy": ModelOutput(per_atom=False)} + +outputs = model(systems, outputs) +print(outputs["energy"].block().values.squeeze()) diff --git a/src/metatrain/experimental/nanopet/tests/test_nanopet.py b/src/metatrain/experimental/nanopet/tests/test_nanopet.py index f4038fa47..b4a283e58 100644 --- a/src/metatrain/experimental/nanopet/tests/test_nanopet.py +++ b/src/metatrain/experimental/nanopet/tests/test_nanopet.py @@ -24,6 +24,7 @@ def test_nanopet_padding(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]) ) system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) outputs = {"energy": ModelOutput(per_atom=False)} @@ -43,6 +44,7 @@ def test_nanopet_padding(): ] ), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]) ) system_2 = get_system_with_neighbor_lists( system_2, model.requested_neighbor_lists() From a9516389d70a4baf61c460b934d4776895cb55f4 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sun, 20 Oct 2024 11:58:32 +0200 Subject: [PATCH 039/126] MLP for geometric embedding --- src/metatrain/experimental/nanopet/model.py | 2 +- .../experimental/nanopet/modules/encoder.py | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index d73a393b0..860aa8f31 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -235,7 +235,7 @@ def forward( features = (features + new_features) * 0.5 ** 0.5 edge_features = features * radial_mask[:, :, None] - node_features = torch.sum(edge_features, dim=1) * 0.5 + node_features = torch.sum(edge_features, dim=1) return_dict: Dict[str, TensorMap] = {} diff --git a/src/metatrain/experimental/nanopet/modules/encoder.py b/src/metatrain/experimental/nanopet/modules/encoder.py index e274c0d7c..07806ab1e 100644 --- a/src/metatrain/experimental/nanopet/modules/encoder.py +++ b/src/metatrain/experimental/nanopet/modules/encoder.py @@ -12,8 +12,12 @@ def __init__( ): super().__init__() - self.cartesian_encoder = torch.nn.Linear( - in_features=3, out_features=hidden_size, bias=False + self.cartesian_encoder = torch.nn.Sequential( + torch.nn.Linear(in_features=3, out_features=4 * hidden_dim, bias=False), + torch.nn.SiLU(), + torch.nn.Linear(in_features=4 * hidden_dim, out_features=4 * hidden_dim, bias=False), + torch.nn.SiLU(), + torch.nn.Linear(in_features=4 * hidden_dim, out_features=hidden_dim, bias=False) ) self.center_encoder = torch.nn.Embedding( num_embeddings=n_species, embedding_dim=hidden_size @@ -31,10 +35,10 @@ def forward( ): # Encode cartesian coordinates cartesian_features = features["cartesian"] - r = torch.sqrt(torch.sum(torch.square(cartesian_features), dim=-1, keepdim=True)) - cartesian_features = cartesian_features * torch.exp(-r/2.5) / r + # r = torch.sqrt(torch.sum(torch.square(cartesian_features), dim=-1, keepdim=True)) + # cartesian_features = cartesian_features * torch.exp(-r/2.5) / r cartesian_features = self.cartesian_encoder(cartesian_features) - cartesian_features = torch.sin(10.0*cartesian_features) + # cartesian_features = torch.sin(10.0*cartesian_features) # Encode centers center_features = self.center_encoder(features["center"]) From 45c2fc7d165bfe12ed0dfa2b42f52a8a556f8006 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sun, 20 Oct 2024 12:12:19 +0200 Subject: [PATCH 040/126] Fix bug --- src/metatrain/experimental/nanopet/modules/encoder.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/metatrain/experimental/nanopet/modules/encoder.py b/src/metatrain/experimental/nanopet/modules/encoder.py index 68b82dbf9..dd872452d 100644 --- a/src/metatrain/experimental/nanopet/modules/encoder.py +++ b/src/metatrain/experimental/nanopet/modules/encoder.py @@ -13,11 +13,11 @@ def __init__( super().__init__() self.cartesian_encoder = torch.nn.Sequential( - torch.nn.Linear(in_features=3, out_features=4 * hidden_dim, bias=False), + torch.nn.Linear(in_features=3, out_features=4 * hidden_size, bias=False), torch.nn.SiLU(), - torch.nn.Linear(in_features=4 * hidden_dim, out_features=4 * hidden_dim, bias=False), + torch.nn.Linear(in_features=4 * hidden_size, out_features=4 * hidden_size, bias=False), torch.nn.SiLU(), - torch.nn.Linear(in_features=4 * hidden_dim, out_features=hidden_dim, bias=False) + torch.nn.Linear(in_features=4 * hidden_size, out_features=hidden_size, bias=False) ) self.center_encoder = torch.nn.Embedding( num_embeddings=n_species, embedding_dim=hidden_size From b8cd9ba167b2590e0ad98445f7896300deae7d09 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sat, 26 Oct 2024 13:56:24 +0200 Subject: [PATCH 041/126] Add sample `TensorMap` to `TargetInfo` --- src/metatrain/cli/eval.py | 71 ++- src/metatrain/cli/train.py | 18 +- .../alchemical_model/tests/test_exported.py | 7 +- .../tests/test_functionality.py | 7 +- .../alchemical_model/tests/test_invariance.py | 7 +- .../alchemical_model/tests/test_regression.py | 6 +- .../test_torch_alchemical_compatibility.py | 7 +- .../tests/test_torchscript.py | 11 +- .../experimental/alchemical_model/trainer.py | 15 +- .../experimental/gap/tests/test_errors.py | 10 +- .../experimental/gap/tests/test_regression.py | 21 +- .../gap/tests/test_torchscript.py | 15 +- .../experimental/pet/tests/test_exported.py | 7 +- .../pet/tests/test_functionality.py | 15 +- .../pet/tests/test_pet_compatibility.py | 7 +- .../pet/tests/test_torchscript.py | 11 +- src/metatrain/experimental/soap_bpnn/model.py | 6 +- .../soap_bpnn/tests/test_continue.py | 9 +- .../soap_bpnn/tests/test_exported.py | 7 +- .../soap_bpnn/tests/test_functionality.py | 19 +- .../soap_bpnn/tests/test_invariance.py | 7 +- .../soap_bpnn/tests/test_regression.py | 7 +- .../soap_bpnn/tests/test_torchscript.py | 15 +- .../experimental/soap_bpnn/trainer.py | 15 +- src/metatrain/utils/additive/remove.py | 8 +- src/metatrain/utils/data/__init__.py | 2 - src/metatrain/utils/data/dataset.py | 252 ++++++----- src/metatrain/utils/data/extract_targets.py | 48 -- src/metatrain/utils/data/get_dataset.py | 8 +- src/metatrain/utils/data/readers/readers.py | 46 +- src/metatrain/utils/evaluate_model.py | 6 +- src/metatrain/utils/llpr.py | 9 +- src/metatrain/utils/metrics.py | 4 +- src/metatrain/utils/testing.py | 73 ++++ tests/cli/test_eval_model.py | 5 +- tests/cli/test_export_model.py | 9 +- tests/cli/test_train_model.py | 1 + tests/utils/data/test_dataset.py | 409 ++++++++---------- tests/utils/data/test_readers.py | 4 +- tests/utils/test_additive.py | 73 ++-- tests/utils/test_evaluate_model.py | 3 +- tests/utils/test_export.py | 15 +- tests/utils/test_external_naming.py | 7 +- tests/utils/test_output_gradient.py | 12 +- 44 files changed, 738 insertions(+), 576 deletions(-) delete mode 100644 src/metatrain/utils/data/extract_targets.py create mode 100644 src/metatrain/utils/testing.py diff --git a/src/metatrain/cli/eval.py b/src/metatrain/cli/eval.py index 1a9de5a42..25bcbdb2c 100644 --- a/src/metatrain/cli/eval.py +++ b/src/metatrain/cli/eval.py @@ -15,7 +15,6 @@ from ..utils.data import ( Dataset, TargetInfo, - TargetInfoDict, collate_fn, read_systems, read_targets, @@ -159,7 +158,7 @@ def _concatenate_tensormaps( def _eval_targets( model: Union[MetatensorAtomisticModel, torch.jit._script.RecursiveScriptModule], dataset: Union[Dataset, torch.utils.data.Subset], - options: TargetInfoDict, + options: Dict[str, TargetInfo], return_predictions: bool, check_consistency: bool = False, ) -> Optional[Dict[str, TensorMap]]: @@ -335,17 +334,17 @@ def eval_model( # (but we don't/can't calculate RMSEs) # TODO: allow the user to specify which outputs to evaluate eval_targets = {} - eval_info_dict = TargetInfoDict() - gradients = ["positions"] - if all(not torch.all(system.cell == 0) for system in eval_systems): - # only add strain if all structures have cells - gradients.append("strain") + eval_info_dict = {} + do_strain_grad = all( + not torch.all(system.cell == 0) for system in eval_systems + ) + layout = _get_energy_layout(do_strain_grad) # TODO: layout from the user for key in model.capabilities().outputs.keys(): eval_info_dict[key] = TargetInfo( quantity=model.capabilities().outputs[key].quantity, unit=model.capabilities().outputs[key].unit, - per_atom=False, # TODO: allow the user to specify this - gradients=gradients, + # TODO: allow the user to specify whether per-atom or not + layout=layout, ) eval_dataset = Dataset.from_dict({"system": eval_systems, **eval_targets}) @@ -368,3 +367,57 @@ def eval_model( capabilities=model.capabilities(), predictions=predictions, ) + + +def _get_energy_layout(strain_gradient: bool) -> TensorMap: + block = TensorBlock( + values=torch.empty(0, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[], + properties=Labels.range("energy", 1), + ) + position_gradient_block = TensorBlock( + values=torch.empty(0, 3, 1), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), + ) + block.add_gradient("positions", position_gradient_block) + + if strain_gradient: + strain_gradient_block = TensorBlock( + values=torch.empty(0, 3, 3, 1), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz_1"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + Labels( + names=["xyz_2"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), + ) + block.add_gradient("strain", strain_gradient_block) + + energy_layout = TensorMap( + keys=Labels.single(), + blocks=[block], + ) + return energy_layout diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index 3325560ae..d941fa8aa 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -21,7 +21,7 @@ ) from ..utils.data import ( DatasetInfo, - TargetInfoDict, + TargetInfo, get_atomic_types, get_dataset, get_stats, @@ -227,11 +227,17 @@ def train_model( options["training_set"] = expand_dataset_config(options["training_set"]) train_datasets = [] - target_infos = TargetInfoDict() - for train_options in options["training_set"]: - dataset, target_info_dict = get_dataset(train_options) + target_info_dict: Dict[str, TargetInfo] = {} + for train_options in options["training_set"]: # loop over training sets + dataset, target_info_dict_single = get_dataset(train_options) train_datasets.append(dataset) - target_infos.update(target_info_dict) + intersecting_keys = target_info_dict.keys() & target_info_dict_single.keys() + for key in intersecting_keys: + if target_info_dict[key] != target_info_dict_single[key]: + raise ValueError( + f"Target information for key {key} differs between training sets." + ) + target_info_dict.update(target_info_dict_single) train_size = 1.0 @@ -320,7 +326,7 @@ def train_model( dataset_info = DatasetInfo( length_unit=options["training_set"][0]["systems"]["length_unit"], atomic_types=atomic_types, - targets=target_infos, + targets=target_info_dict, ) ########################### diff --git a/src/metatrain/experimental/alchemical_model/tests/test_exported.py b/src/metatrain/experimental/alchemical_model/tests/test_exported.py index 891983693..d4a1e6147 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_exported.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_exported.py @@ -3,11 +3,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, System from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -22,7 +23,9 @@ def test_to(device, dtype): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info).to(dtype=dtype) exported = model.export() diff --git a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py index 7ee3331af..18acedc5e 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py @@ -2,11 +2,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, System from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -18,7 +19,9 @@ def test_prediction_subset_elements(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_invariance.py b/src/metatrain/experimental/alchemical_model/tests/test_invariance.py index 9d9a84dd9..c8a42676d 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_invariance.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_invariance.py @@ -5,11 +5,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, systems_to_torch from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, MODEL_HYPERS @@ -20,7 +21,9 @@ def test_rotational_invariance(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_regression.py b/src/metatrain/experimental/alchemical_model/tests/test_regression.py index 648c91c18..0d82379c3 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_regression.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_regression.py @@ -13,11 +13,11 @@ read_systems, read_targets, ) -from metatrain.utils.data.dataset import TargetInfoDict from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS @@ -31,8 +31,8 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" - targets = TargetInfoDict() - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + targets = {} + targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py index 03b7ef1df..fdcb9b8bf 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py @@ -14,8 +14,9 @@ from metatrain.experimental.alchemical_model.utils import ( systems_to_torch_alchemical_batch, ) -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict, read_systems +from metatrain.utils.data import DatasetInfo, TargetInfo, read_systems from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS, QM9_DATASET_PATH @@ -70,7 +71,9 @@ def test_alchemical_model_inference(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=unique_numbers, - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) alchemical_model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py b/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py index 33e0b9e9f..30d5511d7 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py @@ -1,7 +1,8 @@ import torch from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -12,7 +13,9 @@ def test_torchscript(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) @@ -25,7 +28,9 @@ def test_torchscript_save_load(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) torch.jit.save( diff --git a/src/metatrain/experimental/alchemical_model/trainer.py b/src/metatrain/experimental/alchemical_model/trainer.py index 3ed190c00..4127e7036 100644 --- a/src/metatrain/experimental/alchemical_model/trainer.py +++ b/src/metatrain/experimental/alchemical_model/trainer.py @@ -9,7 +9,6 @@ from ...utils.data import ( CombinedDataLoader, Dataset, - TargetInfoDict, check_datasets, collate_fn, get_all_targets, @@ -247,12 +246,7 @@ def train( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{ - key: model.dataset_info.targets[key] - for key in targets.keys() - } - ), + {key: model.dataset_info.targets[key] for key in targets.keys()}, is_training=True, ) @@ -295,12 +289,7 @@ def train( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{ - key: model.dataset_info.targets[key] - for key in targets.keys() - } - ), + {key: model.dataset_info.targets[key] for key in targets.keys()}, is_training=False, ) diff --git a/src/metatrain/experimental/gap/tests/test_errors.py b/src/metatrain/experimental/gap/tests/test_errors.py index b0359bd80..791e061c6 100644 --- a/src/metatrain/experimental/gap/tests/test_errors.py +++ b/src/metatrain/experimental/gap/tests/test_errors.py @@ -12,10 +12,10 @@ Dataset, DatasetInfo, TargetInfo, - TargetInfoDict, read_systems, read_targets, ) +from metatrain.utils.testing import energy_force_layout from . import DATASET_ETHANOL_PATH, DEFAULT_HYPERS @@ -61,9 +61,11 @@ def test_ethanol_regression_train_and_invariance(): hypers = copy.deepcopy(DEFAULT_HYPERS) hypers["model"]["krr"]["num_sparse_points"] = 30 - target_info_dict = TargetInfoDict( - energy=TargetInfo(quantity="energy", unit="kcal/mol", gradients=["positions"]) - ) + target_info_dict = { + "energy": TargetInfo( + quantity="energy", unit="kcal/mol", layout=energy_force_layout + ) + } dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict diff --git a/src/metatrain/experimental/gap/tests/test_regression.py b/src/metatrain/experimental/gap/tests/test_regression.py index 81212353c..a3d703e76 100644 --- a/src/metatrain/experimental/gap/tests/test_regression.py +++ b/src/metatrain/experimental/gap/tests/test_regression.py @@ -8,8 +8,9 @@ from omegaconf import OmegaConf from metatrain.experimental.gap import GAP, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.testing import energy_force_layout, energy_layout from . import DATASET_ETHANOL_PATH, DATASET_PATH, DEFAULT_HYPERS @@ -25,8 +26,8 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" - targets = TargetInfoDict() - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + targets = {} + targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets @@ -57,8 +58,10 @@ def test_regression_train_and_invariance(): targets, _ = read_targets(OmegaConf.create(conf)) dataset = Dataset.from_dict({"system": systems, "mtt::U0": targets["mtt::U0"]}) - target_info_dict = TargetInfoDict() - target_info_dict["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + target_info_dict = {} + target_info_dict["mtt::U0"] = TargetInfo( + quantity="energy", unit="eV", layout=energy_layout + ) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict @@ -138,9 +141,11 @@ def test_ethanol_regression_train_and_invariance(): hypers = copy.deepcopy(DEFAULT_HYPERS) hypers["model"]["krr"]["num_sparse_points"] = 900 - target_info_dict = TargetInfoDict( - energy=TargetInfo(quantity="energy", unit="kcal/mol", gradients=["positions"]) - ) + target_info_dict = { + "energy": TargetInfo( + quantity="energy", unit="kcal/mol", layout=energy_force_layout + ) + } dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict diff --git a/src/metatrain/experimental/gap/tests/test_torchscript.py b/src/metatrain/experimental/gap/tests/test_torchscript.py index 967a83353..e7d1cbc2f 100644 --- a/src/metatrain/experimental/gap/tests/test_torchscript.py +++ b/src/metatrain/experimental/gap/tests/test_torchscript.py @@ -2,8 +2,9 @@ from omegaconf import OmegaConf from metatrain.experimental.gap import GAP, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, DEFAULT_HYPERS @@ -13,8 +14,10 @@ def test_torchscript(): """Tests that the model can be jitted.""" - target_info_dict = TargetInfoDict() - target_info_dict["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + target_info_dict = {} + target_info_dict["mtt::U0"] = TargetInfo( + quantity="energy", unit="eV", layout=energy_layout + ) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict @@ -34,8 +37,6 @@ def test_torchscript(): targets, _ = read_targets(OmegaConf.create(conf)) systems = read_systems(DATASET_PATH) - # for system in systems: - # system.types = torch.ones(len(system.types), dtype=torch.int32) dataset = Dataset.from_dict({"system": systems, "mtt::U0": targets["mtt::U0"]}) hypers = DEFAULT_HYPERS.copy() @@ -64,8 +65,8 @@ def test_torchscript(): def test_torchscript_save(): """Tests that the model can be jitted and saved.""" - targets = TargetInfoDict() - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + targets = {} + targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/pet/tests/test_exported.py b/src/metatrain/experimental/pet/tests/test_exported.py index f67a15e4c..3267c2992 100644 --- a/src/metatrain/experimental/pet/tests/test_exported.py +++ b/src/metatrain/experimental/pet/tests/test_exported.py @@ -11,12 +11,13 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.export import export from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout DEFAULT_HYPERS = get_default_hypers("experimental.pet") @@ -32,7 +33,9 @@ def test_to(device): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) diff --git a/src/metatrain/experimental/pet/tests/test_functionality.py b/src/metatrain/experimental/pet/tests/test_functionality.py index ddf527603..4ca004a91 100644 --- a/src/metatrain/experimental/pet/tests/test_functionality.py +++ b/src/metatrain/experimental/pet/tests/test_functionality.py @@ -18,12 +18,13 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.jsonschema import validate from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout DEFAULT_HYPERS = get_default_hypers("experimental.pet") @@ -65,7 +66,9 @@ def test_prediction(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -115,7 +118,9 @@ def test_per_atom_predictions_functionality(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -166,7 +171,9 @@ def test_selected_atoms_functionality(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) diff --git a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py index 04ecae1bc..205e4e25b 100644 --- a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py +++ b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py @@ -17,8 +17,9 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.experimental.pet.utils import systems_to_batch_dict from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists +from metatrain.utils.testing import energy_layout from . import DATASET_PATH @@ -97,7 +98,9 @@ def test_predictions_compatibility(cutoff): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=structure.numbers, - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) capabilities = ModelCapabilities( length_unit="Angstrom", diff --git a/src/metatrain/experimental/pet/tests/test_torchscript.py b/src/metatrain/experimental/pet/tests/test_torchscript.py index df0584cd3..15adc95a8 100644 --- a/src/metatrain/experimental/pet/tests/test_torchscript.py +++ b/src/metatrain/experimental/pet/tests/test_torchscript.py @@ -4,7 +4,8 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout DEFAULT_HYPERS = get_default_hypers("experimental.pet") @@ -16,7 +17,9 @@ def test_torchscript(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -31,7 +34,9 @@ def test_torchscript_save_load(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index 556f3ef52..2684e34db 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -204,7 +204,11 @@ def restart(self, dataset_info: DatasetInfo) -> "SoapBpnn": new_atomic_types = [ at for at in merged_info.atomic_types if at not in self.atomic_types ] - new_targets = merged_info.targets - self.dataset_info.targets + new_targets = { + key: value + for key, value in merged_info.targets.items() + if key not in self.dataset_info.targets + } if len(new_atomic_types) > 0: raise ValueError( diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py index fc732897e..50fa7118a 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py @@ -6,8 +6,9 @@ from omegaconf import OmegaConf from metatrain.experimental.soap_bpnn import SoapBpnn, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS @@ -22,8 +23,10 @@ def test_continue(monkeypatch, tmp_path): systems = read_systems(DATASET_PATH) systems = [system.to(torch.float32) for system in systems] - target_info_dict = TargetInfoDict() - target_info_dict["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + target_info_dict = {} + target_info_dict["mtt::U0"] = TargetInfo( + quantity="energy", unit="eV", layout=energy_layout + ) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py index 63242161e..f23e7b3c8 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py @@ -3,11 +3,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, System from metatrain.experimental.soap_bpnn import SoapBpnn -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -22,7 +23,9 @@ def test_to(device, dtype): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info).to(dtype=dtype) exported = model.export() diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index 25dd250b6..de5f5e3bb 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -7,7 +7,8 @@ from metatrain.experimental.soap_bpnn import SoapBpnn from metatrain.utils.architectures import check_architecture_options -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import DEFAULT_HYPERS, MODEL_HYPERS @@ -19,7 +20,9 @@ def test_prediction_subset_elements(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -42,7 +45,9 @@ def test_prediction_subset_atoms(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -108,7 +113,9 @@ def test_output_last_layer_features(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -179,7 +186,9 @@ def test_output_per_atom(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py b/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py index 2b5835b74..92c96767d 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py @@ -5,7 +5,8 @@ from metatensor.torch.atomistic import systems_to_torch from metatrain.experimental.soap_bpnn import SoapBpnn -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, MODEL_HYPERS @@ -16,7 +17,9 @@ def test_rotational_invariance(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index 7b4161ddb..35f691051 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -6,8 +6,9 @@ from omegaconf import OmegaConf from metatrain.experimental.soap_bpnn import SoapBpnn, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS @@ -21,8 +22,8 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" - targets = TargetInfoDict() - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + targets = {} + targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py index 4d6b89898..d35f8deee 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py @@ -4,7 +4,8 @@ from metatensor.torch.atomistic import System from metatrain.experimental.soap_bpnn import SoapBpnn -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -15,7 +16,9 @@ def test_torchscript(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) model = torch.jit.script(model) @@ -39,7 +42,9 @@ def test_torchscript_with_identity(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) hypers = copy.deepcopy(MODEL_HYPERS) hypers["bpnn"]["layernorm"] = False @@ -65,7 +70,9 @@ def test_torchscript_save_load(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) torch.jit.save( diff --git a/src/metatrain/experimental/soap_bpnn/trainer.py b/src/metatrain/experimental/soap_bpnn/trainer.py index aed858bcd..810d9e471 100644 --- a/src/metatrain/experimental/soap_bpnn/trainer.py +++ b/src/metatrain/experimental/soap_bpnn/trainer.py @@ -8,8 +8,7 @@ from torch.utils.data import DataLoader, DistributedSampler from ...utils.additive import remove_additive -from ...utils.data import CombinedDataLoader, Dataset, TargetInfoDict, collate_fn -from ...utils.data.extract_targets import get_targets_dict +from ...utils.data import CombinedDataLoader, Dataset, collate_fn from ...utils.distributed.distributed_data_parallel import DistributedDataParallel from ...utils.distributed.slurm import DistributedEnvironment from ...utils.evaluate_model import evaluate_model @@ -182,9 +181,7 @@ def train( val_dataloader = CombinedDataLoader(val_dataloaders, shuffle=False) # Extract all the possible outputs and their gradients: - train_targets = get_targets_dict( - train_datasets, (model.module if is_distributed else model).dataset_info - ) + train_targets = (model.module if is_distributed else model).dataset_info.targets outputs_list = [] for target_name, target_info in train_targets.items(): outputs_list.append(target_name) @@ -270,9 +267,7 @@ def train( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{key: train_targets[key] for key in targets.keys()} - ), + {key: train_targets[key] for key in targets.keys()}, is_training=True, ) @@ -325,9 +320,7 @@ def train( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{key: train_targets[key] for key in targets.keys()} - ), + {key: train_targets[key] for key in targets.keys()}, is_training=False, ) diff --git a/src/metatrain/utils/additive/remove.py b/src/metatrain/utils/additive/remove.py index 4235af1fc..899a96a07 100644 --- a/src/metatrain/utils/additive/remove.py +++ b/src/metatrain/utils/additive/remove.py @@ -1,12 +1,12 @@ import warnings -from typing import Dict, List, Union +from typing import Dict, List import metatensor.torch import torch from metatensor.torch import TensorMap from metatensor.torch.atomistic import System -from ..data import TargetInfo, TargetInfoDict +from ..data import TargetInfo from ..evaluate_model import evaluate_model @@ -14,7 +14,7 @@ def remove_additive( systems: List[System], targets: Dict[str, TensorMap], additive_model: torch.nn.Module, - target_info_dict: Union[Dict[str, TargetInfo], TargetInfoDict], + target_info_dict: Dict[str, TargetInfo], ): """Remove an additive contribution from the training targets. @@ -35,7 +35,7 @@ def remove_additive( additive_contribution = evaluate_model( additive_model, systems, - TargetInfoDict(**{key: target_info_dict[key] for key in targets.keys()}), + {key: target_info_dict[key] for key in targets.keys()}, is_training=False, # we don't need any gradients w.r.t. any parameters ) diff --git a/src/metatrain/utils/data/__init__.py b/src/metatrain/utils/data/__init__.py index 0aa128433..e93621947 100644 --- a/src/metatrain/utils/data/__init__.py +++ b/src/metatrain/utils/data/__init__.py @@ -1,7 +1,6 @@ from .dataset import ( # noqa: F401 Dataset, TargetInfo, - TargetInfoDict, DatasetInfo, get_atomic_types, get_all_targets, @@ -21,5 +20,4 @@ from .writers import write_predictions # noqa: F401 from .combine_dataloaders import CombinedDataLoader # noqa: F401 from .system_to_ase import system_to_ase # noqa: F401 -from .extract_targets import get_targets_dict # noqa: F401 from .get_dataset import get_dataset # noqa: F401 diff --git a/src/metatrain/utils/data/dataset.py b/src/metatrain/utils/data/dataset.py index cd6a68ab2..f9761b129 100644 --- a/src/metatrain/utils/data/dataset.py +++ b/src/metatrain/utils/data/dataset.py @@ -1,8 +1,8 @@ import math import warnings -from collections import UserDict -from typing import Any, Dict, List, Optional, Tuple, Union +from typing import Any, Dict, List, Tuple, Union +import metatensor.torch import numpy as np from metatensor.learn.data import Dataset, group_and_join from metatensor.torch import TensorMap @@ -15,40 +15,49 @@ class TargetInfo: """A class that contains information about a target. - :param quantity: The quantity of the target. + :param quantity: The physical quantity of the target (e.g., "energy"). + :param layout: The layout of the target, as a ``TensorMap`` with 0 samples. + This ``TensorMap`` will contain important information such as the names of + the ``samples``, as well as the ``components`` and ``properties`` of the + target and their gradients. :param unit: The unit of the target. If :py:obj:`None` the ``unit`` will be set to an empty string ``""``. - :param per_atom: Whether the target is a per-atom quantity. - :param gradients: List containing the gradient names of the target that are present - in the target. Examples are ``"positions"`` or ``"strain"``. ``gradients`` will - be stored as a sorted list of **unique** gradients. """ def __init__( self, quantity: str, + layout: TensorMap, unit: Union[None, str] = "", - per_atom: bool = False, - gradients: Optional[List[str]] = None, ): + # one of these will be set to True inside the _check_layout method + self.is_scalar = False + self.is_cartesian = False + self.is_spherical = False + + self._check_layout(layout) + self.quantity = quantity + self.layout = layout self.unit = unit if unit is not None else "" - self.per_atom = per_atom - self._gradients = set(gradients) if gradients is not None else set() @property def gradients(self) -> List[str]: """Sorted and unique list of gradient names.""" - return sorted(self._gradients) + if self.is_scalar: + return sorted(self.layout.block().gradients_list()) + else: + return [] - @gradients.setter - def gradients(self, value: List[str]): - self._gradients = set(value) + @property + def per_atom(self) -> bool: + """Whether the target is per atom.""" + return "atom" in self.layout.block(0).samples.names def __repr__(self): return ( f"TargetInfo(quantity={self.quantity!r}, unit={self.unit!r}, " - f"per_atom={self.per_atom!r}, gradients={self.gradients!r})" + f"layout={self.layout!r})" ) def __eq__(self, other): @@ -60,109 +69,126 @@ def __eq__(self, other): return ( self.quantity == other.quantity and self.unit == other.unit - and self.per_atom == other.per_atom - and self._gradients == other._gradients + and metatensor.torch.equal(self.layout, other.layout) ) - def copy(self) -> "TargetInfo": - """Return a shallow copy of the TargetInfo.""" - return TargetInfo( - quantity=self.quantity, - unit=self.unit, - per_atom=self.per_atom, - gradients=self.gradients.copy(), - ) - - def update(self, other: "TargetInfo") -> None: - """Update this instance with the union of itself and ``other``. + def _check_layout(self, layout: TensorMap) -> None: + """Check that the layout is a valid layout.""" + + # examine basic properties of all blocks + for block in layout.blocks(): + for sample_name in block.samples.names: + if sample_name not in ["system", "atom"]: + raise ValueError( + "The layout ``TensorMap`` of a target should only have samples " + "named 'system' or 'atom', but found " + f"'{sample_name}' instead." + ) + if len(block.values) != 0: + raise ValueError( + "The layout ``TensorMap`` of a target should have 0 " + f"samples, but found {len(block.values)} samples." + ) - :raises ValueError: If ``quantity``, ``unit`` or ``per_atom`` do not match. - """ - if self.quantity != other.quantity: - raise ValueError( - f"Can't update TargetInfo with a different `quantity`: " - f"({self.quantity} != {other.quantity})" - ) + # examine the components of the first block to decide whether this is + # a scalar, a Cartesian tensor or a spherical tensor - if self.unit != other.unit: + if len(layout) == 0: raise ValueError( - f"Can't update TargetInfo with a different `unit`: " - f"({self.unit} != {other.unit})" + "The layout ``TensorMap`` of a target should have at least one " + "block, but found 0 blocks." ) - - if self.per_atom != other.per_atom: - raise ValueError( - f"Can't update TargetInfo with a different `per_atom` property: " - f"({self.per_atom} != {other.per_atom})" - ) - - self.gradients = self.gradients + other.gradients - - def union(self, other: "TargetInfo") -> "TargetInfo": - """Return the union of this instance with ``other``.""" - new = self.copy() - new.update(other) - return new - - -class TargetInfoDict(UserDict): - """ - A custom dictionary class for storing and managing ``TargetInfo`` instances. - - The subclass handles the update of :py:class:`TargetInfo` if a ``key`` is already - present. - """ - - # We use a `UserDict` with special methods because a normal dict does not support - # the update of nested instances. - def __setitem__(self, key, value): - if not isinstance(value, TargetInfo): - raise ValueError("value to set is not a `TargetInfo` instance") - if key in self: - self[key].update(value) - else: - super().__setitem__(key, value) - - def __and__(self, other: "TargetInfoDict") -> "TargetInfoDict": - return self.intersection(other) - - def __sub__(self, other: "TargetInfoDict") -> "TargetInfoDict": - return self.difference(other) - - def union(self, other: "TargetInfoDict") -> "TargetInfoDict": - """Union of this instance with ``other``.""" - new = self.copy() - new.update(other) - return new - - def intersection(self, other: "TargetInfoDict") -> "TargetInfoDict": - """Intersection of the the two instances as a new ``TargetInfoDict``. - - (i.e. all elements that are in both sets.) - - :raises ValueError: If intersected items with the same key are not the same. - """ - new_keys = self.keys() & other.keys() - - self_intersect = TargetInfoDict(**{key: self[key] for key in new_keys}) - other_intersect = TargetInfoDict(**{key: other[key] for key in new_keys}) - - if self_intersect == other_intersect: - return self_intersect + components_first_block = layout.block(0).components + if len(components_first_block) == 0: + self.is_scalar = True + elif components_first_block[0].names[0].startswith("xyz"): + self.is_cartesian = True + elif ( + len(components_first_block) == 1 + and components_first_block[0].names[0] == "o3_mu" + ): + self.is_spherical = True else: raise ValueError( - "Intersected items with the same key are not the same. Intersected " - f"keys are {','.join(new_keys)}" + "The layout ``TensorMap`` of a target should be " + "either scalars, Cartesian tensors or spherical tensors. The type of " + "the target could not be determined." ) - def difference(self, other: "TargetInfoDict") -> "TargetInfoDict": - """Difference of two instances as a new ``TargetInfoDict``. - - (i.e. all elements that are in this set but not in the other.) - """ + if self.is_scalar: + if layout.keys.names != ["_"]: + raise ValueError( + "The layout ``TensorMap`` of a scalar target should have " + "a single key sample named '_'." + ) + if len(layout.blocks()) != 1: + raise ValueError( + "The layout ``TensorMap`` of a scalar target should have " + "a single block." + ) + gradients_names = layout.block(0).gradients_list() + for gradient_name in gradients_names: + if gradient_name not in ["positions", "strain"]: + raise ValueError( + "Only `positions` and `strain` gradients are supported for " + "scalar targets. " + f"Found '{gradient_name}' instead." + ) + if self.is_cartesian: + if layout.keys.names != ["_"]: + raise ValueError( + "The layout ``TensorMap`` of a Cartesian tensor target should have " + "a single key sample named '_'." + ) + if len(layout.blocks()) != 1: + raise ValueError( + "The layout ``TensorMap`` of a Cartesian tensor target should have " + "a single block." + ) + if len(layout.block(0).gradients_list()) > 0: + raise ValueError( + "Gradients of Cartesian tensor targets are not supported." + ) - new_keys = self.keys() - other.keys() - return TargetInfoDict(**{key: self[key] for key in new_keys}) + if self.is_spherical: + if layout.keys.names != ["o3_lambda", "o3_sigma"]: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target " + "should have two keys named 'o3_lambda' and 'o3_sigma'." + f"Found '{layout.keys.names}' instead." + ) + for key, block in layout.items(): + o3_lambda, o3_sigma = int(key.values[0].item()), int( + key.values[1].item() + ) + if o3_sigma not in [-1, 1]: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target should " + "have a key sample 'o3_sigma' that is either -1 or 1." + f"Found '{o3_sigma}' instead." + ) + if o3_lambda < 0: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target should " + "have a key sample 'o3_lambda' that is non-negative." + f"Found '{o3_lambda}' instead." + ) + components = block.components + if len(components) != 1: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target should " + "have a single component." + ) + if len(components[0]) != 2 * o3_lambda + 1: + raise ValueError( + "Each ``TensorBlock`` of a spherical tensor target should have " + "a component with 2*o3_lambda + 1 elements." + f"Found '{len(components[0])}' elements instead." + ) + if len(block.gradients_list()) > 0: + raise ValueError( + "Gradients of spherical tensor targets are not supported." + ) class DatasetInfo: @@ -180,7 +206,7 @@ class DatasetInfo: """ def __init__( - self, length_unit: str, atomic_types: List[int], targets: TargetInfoDict + self, length_unit: str, atomic_types: List[int], targets: Dict[str, TargetInfo] ): self.length_unit = length_unit if length_unit is not None else "" self._atomic_types = set(atomic_types) @@ -233,6 +259,14 @@ def update(self, other: "DatasetInfo") -> None: ) self.atomic_types = self.atomic_types + other.atomic_types + + intersecting_target_keys = self.targets.keys() & other.targets.keys() + for key in intersecting_target_keys: + if self.targets[key] != other.targets[key]: + raise ValueError( + f"Can't update DatasetInfo with different target information for " + f"target '{key}': {self.targets[key]} != {other.targets[key]}" + ) self.targets.update(other.targets) def union(self, other: "DatasetInfo") -> "DatasetInfo": diff --git a/src/metatrain/utils/data/extract_targets.py b/src/metatrain/utils/data/extract_targets.py deleted file mode 100644 index ee86b29d4..000000000 --- a/src/metatrain/utils/data/extract_targets.py +++ /dev/null @@ -1,48 +0,0 @@ -from typing import Dict, List, Union - -import torch - -from metatrain.utils.data import Dataset - -from .dataset import DatasetInfo, TargetInfo - - -def get_targets_dict( - datasets: List[Union[Dataset, torch.utils.data.Subset]], dataset_info: DatasetInfo -) -> Dict[str, TargetInfo]: - """ - This is a helper function that extracts all the possible targets and their - gradients from a list of datasets. - - :param datasets: A list of Datasets or Subsets. - :param dataset_info: A DatasetInfo object containing further - information about the dataset, namely the unit and quantity of the - targets. - - :returns: A dictionary mapping target names to ``TargetInfo`` objects. - - :raises ValueError: If the ``DatasetInfo`` object does not contain any of - the expected targets. - """ - - targets_dict = {} - for dataset in datasets: - targets = next(iter(dataset)) - targets = targets._asdict() - targets.pop("system") # system not needed - - # targets is now a dictionary of TensorMaps - for target_name, target_tmap in targets.items(): - if target_name not in dataset_info.targets.keys(): - raise ValueError( - f"Target {target_name} not found in the targets " - "specified in dataset_info." - ) - if target_name not in targets_dict: - targets_dict[target_name] = TargetInfo( - quantity=dataset_info.targets[target_name].quantity, - unit=dataset_info.targets[target_name].unit, - gradients=target_tmap.block(0).gradients_list(), - ) - - return targets_dict diff --git a/src/metatrain/utils/data/get_dataset.py b/src/metatrain/utils/data/get_dataset.py index 2f95263c5..502aea40f 100644 --- a/src/metatrain/utils/data/get_dataset.py +++ b/src/metatrain/utils/data/get_dataset.py @@ -1,12 +1,12 @@ -from typing import Tuple +from typing import Dict, Tuple from omegaconf import DictConfig -from .dataset import Dataset, TargetInfoDict +from .dataset import Dataset, TargetInfo from .readers import read_systems, read_targets -def get_dataset(options: DictConfig) -> Tuple[Dataset, TargetInfoDict]: +def get_dataset(options: DictConfig) -> Tuple[Dataset, Dict[str, TargetInfo]]: """ Gets a dataset given a configuration dictionary. @@ -18,7 +18,7 @@ def get_dataset(options: DictConfig) -> Tuple[Dataset, TargetInfoDict]: systems and targets in the dataset. :returns: A tuple containing a ``Dataset`` object and a - ``TargetInfoDict`` containing additional information (units, + ``Dict[str, TargetInfo]`` containing additional information (units, physical quantities, ...) on the targets in the dataset """ diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index b095195b1..dc81af7c3 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -8,7 +8,7 @@ from metatensor.torch.atomistic import System from omegaconf import DictConfig -from ..dataset import TargetInfo, TargetInfoDict +from ..dataset import TargetInfo logger = logging.getLogger(__name__) @@ -161,7 +161,7 @@ def read_virial( def read_targets( conf: DictConfig, -) -> Tuple[Dict[str, List[TensorMap]], TargetInfoDict]: +) -> Tuple[Dict[str, List[TensorMap]], Dict[str, TargetInfo]]: """Reading all target information from a fully expanded config. To get such a config you can use :func:`expand_dataset_config @@ -175,9 +175,8 @@ def read_targets( :param conf: config containing the keys for what should be read. :returns: Dictionary containing a list of TensorMaps for each target section in the - config as well as a :py:class:`TargetInfoDict - ` instance containing the metadata of the - targets. + config as well as a ``Dict[str, TargetInfo]`` object + containing the metadata of the targets. :raises ValueError: if the target name is not valid. Valid target names are those that either start with ``mtt::`` or those that are in the list of @@ -185,7 +184,7 @@ def read_targets( https://docs.metatensor.org/latest/atomistic/outputs.html) """ target_dictionary = {} - target_info_dictionary = TargetInfoDict() + target_info_dictionary = {} standard_outputs_list = ["energy"] for target_key, target in conf.items(): @@ -288,8 +287,39 @@ def read_targets( target_info_dictionary[target_key] = TargetInfo( quantity=target["quantity"], unit=target["unit"], - per_atom=False, # TODO: read this from the config - gradients=target_info_gradients, + layout=_empty_tensor_map_like(target_dictionary[target_key][0]), ) return target_dictionary, target_info_dictionary + + +def _empty_tensor_map_like(tensor_map: TensorMap) -> TensorMap: + new_keys = tensor_map.keys + new_blocks: List[TensorBlock] = [] + for block in tensor_map.blocks(): + new_block = _empty_tensor_block_like(block) + new_blocks.append(new_block) + return TensorMap(keys=new_keys, blocks=new_blocks) + + +def _empty_tensor_block_like(tensor_block: TensorBlock) -> TensorBlock: + new_block = TensorBlock( + values=torch.empty( + (0,) + tensor_block.values.shape[1:], + dtype=tensor_block.values.dtype, + device=tensor_block.values.device, + ), + samples=Labels( + names=tensor_block.samples.names, + values=torch.empty( + (0, tensor_block.samples.values.shape[1]), + dtype=tensor_block.samples.values.dtype, + device=tensor_block.samples.values.device, + ), + ), + components=tensor_block.components, + properties=tensor_block.properties, + ) + for gradient_name, gradient in tensor_block.gradients(): + new_block.add_gradient(gradient_name, _empty_tensor_block_like(gradient)) + return new_block diff --git a/src/metatrain/utils/evaluate_model.py b/src/metatrain/utils/evaluate_model.py index 48447b879..71ad28686 100644 --- a/src/metatrain/utils/evaluate_model.py +++ b/src/metatrain/utils/evaluate_model.py @@ -12,7 +12,7 @@ register_autograd_neighbors, ) -from .data import TargetInfoDict +from .data import TargetInfo from .export import is_exported from .output_gradient import compute_gradient @@ -33,7 +33,7 @@ def evaluate_model( torch.jit._script.RecursiveScriptModule, ], systems: List[System], - targets: TargetInfoDict, + targets: Dict[str, TargetInfo], is_training: bool, check_consistency: bool = False, ) -> Dict[str, TensorMap]: @@ -234,7 +234,7 @@ def _get_model_outputs( torch.jit._script.RecursiveScriptModule, ], systems: List[System], - targets: TargetInfoDict, + targets: Dict[str, TargetInfo], check_consistency: bool, ) -> Dict[str, TensorMap]: if is_exported(model): diff --git a/src/metatrain/utils/llpr.py b/src/metatrain/utils/llpr.py index 164dd4267..6cfa42394 100644 --- a/src/metatrain/utils/llpr.py +++ b/src/metatrain/utils/llpr.py @@ -12,8 +12,7 @@ ) from torch.utils.data import DataLoader -from .data import DatasetInfo, TargetInfoDict, get_atomic_types -from .data.extract_targets import get_targets_dict +from .data import DatasetInfo, TargetInfo, get_atomic_types from .evaluate_model import evaluate_model from .per_atom import average_by_num_atoms @@ -261,7 +260,7 @@ class in ``metatrain``. def compute_covariance_as_pseudo_hessian( self, train_loader: DataLoader, - target_infos: TargetInfoDict, + target_infos: Dict[str, TargetInfo], loss_fn: Callable, parameters: List[torch.nn.Parameter], ) -> None: @@ -305,7 +304,7 @@ class in ``metatrain``. atomic_types=get_atomic_types(dataset), targets=target_infos, ) - train_targets = get_targets_dict([train_loader.dataset], dataset_info) + train_targets = dataset_info.targets device = self.covariance.device dtype = self.covariance.dtype for batch in train_loader: @@ -318,7 +317,7 @@ class in ``metatrain``. predictions = evaluate_model( self.model, systems, - TargetInfoDict(**{key: train_targets[key] for key in targets.keys()}), + {key: train_targets[key] for key in targets.keys()}, is_training=True, # keep the computational graph ) diff --git a/src/metatrain/utils/metrics.py b/src/metatrain/utils/metrics.py index 357b567d0..29ace5104 100644 --- a/src/metatrain/utils/metrics.py +++ b/src/metatrain/utils/metrics.py @@ -8,7 +8,7 @@ class RMSEAccumulator: """Accumulates the RMSE between predictions and targets for an arbitrary number of keys, each corresponding to one target.""" - def __init__(self): + def __init__(self) -> None: """Initialize the accumulator.""" self.information: Dict[str, Tuple[float, int]] = {} @@ -91,7 +91,7 @@ class MAEAccumulator: """Accumulates the MAE between predictions and targets for an arbitrary number of keys, each corresponding to one target.""" - def __init__(self): + def __init__(self) -> None: """Initialize the accumulator.""" self.information: Dict[str, Tuple[float, int]] = {} diff --git a/src/metatrain/utils/testing.py b/src/metatrain/utils/testing.py new file mode 100644 index 000000000..62dc7382c --- /dev/null +++ b/src/metatrain/utils/testing.py @@ -0,0 +1,73 @@ +# This file contains some example TensorMap layouts that can be +# used for testing purposes. + +import torch +from metatensor.torch import Labels, TensorBlock, TensorMap + + +block = TensorBlock( + values=torch.empty(0, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[], + properties=Labels.range("energy", 1), +) +energy_layout = TensorMap( + keys=Labels.single(), + blocks=[block], +) + +block_with_position_gradients = block.copy() +position_gradient_block = TensorBlock( + values=torch.empty(0, 3, 1), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), +) +block_with_position_gradients.add_gradient("positions", position_gradient_block) +energy_force_layout = TensorMap( + keys=Labels.single(), + blocks=[block_with_position_gradients], +) + +block_with_position_and_strain_gradients = block_with_position_gradients.copy() +strain_gradient_block = TensorBlock( + values=torch.empty(0, 3, 3, 1), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz_1"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + Labels( + names=["xyz_2"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), +) +block_with_position_and_strain_gradients.add_gradient("strain", strain_gradient_block) +energy_force_stress_layout = TensorMap( + keys=Labels.single(), + blocks=[block_with_position_and_strain_gradients], +) + +block_with_strain_gradients = block.copy() +block_with_strain_gradients.add_gradient("strain", strain_gradient_block) +energy_stress_layout = TensorMap( + keys=Labels.single(), + blocks=[block_with_strain_gradients], +) diff --git a/tests/cli/test_eval_model.py b/tests/cli/test_eval_model.py index 6510deee9..6da30fb5c 100644 --- a/tests/cli/test_eval_model.py +++ b/tests/cli/test_eval_model.py @@ -11,6 +11,7 @@ from metatrain.cli.eval import eval_model from metatrain.experimental.soap_bpnn import __model__ from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import EVAL_OPTIONS_PATH, MODEL_HYPERS, MODEL_PATH, RESOURCES_PATH @@ -84,9 +85,7 @@ def test_eval_export(monkeypatch, tmp_path, options): length_unit="angstrom", atomic_types={1, 6, 7, 8}, targets={ - "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=[] - ) + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/cli/test_export_model.py b/tests/cli/test_export_model.py index a3e62e9d7..ca93a7b00 100644 --- a/tests/cli/test_export_model.py +++ b/tests/cli/test_export_model.py @@ -15,6 +15,7 @@ from metatrain.experimental.soap_bpnn import __model__ from metatrain.utils.architectures import find_all_architectures from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS, RESOURCES_PATH @@ -28,9 +29,7 @@ def test_export(monkeypatch, tmp_path, path): length_unit="angstrom", atomic_types={1}, targets={ - "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=[] - ) + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -93,9 +92,7 @@ def test_reexport(monkeypatch, tmp_path): length_unit="angstrom", atomic_types={1, 6, 7, 8}, targets={ - "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=[] - ) + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/cli/test_train_model.py b/tests/cli/test_train_model.py index 5e33c5c7e..dee3da5b8 100644 --- a/tests/cli/test_train_model.py +++ b/tests/cli/test_train_model.py @@ -473,6 +473,7 @@ def test_continue_different_dataset(options, monkeypatch, tmp_path): options["training_set"]["systems"]["read_from"] = "ethanol_reduced_100.xyz" options["training_set"]["targets"]["energy"]["key"] = "energy" + options["training_set"]["targets"]["energy"]["forces"] = False train_model(options, continue_from=MODEL_PATH_64_BIT) diff --git a/tests/utils/data/test_dataset.py b/tests/utils/data/test_dataset.py index 20100aa3d..9c76c5a7b 100644 --- a/tests/utils/data/test_dataset.py +++ b/tests/utils/data/test_dataset.py @@ -2,13 +2,13 @@ import pytest import torch +from metatensor.torch import Labels, TensorBlock, TensorMap from omegaconf import OmegaConf from metatrain.utils.data import ( Dataset, DatasetInfo, TargetInfo, - TargetInfoDict, check_datasets, collate_fn, get_all_targets, @@ -22,81 +22,159 @@ RESOURCES_PATH = Path(__file__).parents[2] / "resources" -def test_target_info_default(): - target_info = TargetInfo(quantity="energy", unit="kcal/mol") +@pytest.fixture +def layout_scalar(): + return TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.empty(0, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[], + properties=Labels.range("energy", 1), + ) + ], + ) + + +@pytest.fixture +def layout_spherical(): + return TensorMap( + keys=Labels( + names=["o3_lambda", "o3_sigma"], + values=torch.tensor([[0, 1], [2, 1]]), + ), + blocks=[ + TensorBlock( + values=torch.empty(0, 1, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[ + Labels( + names=["o3_mu"], + values=torch.arange(0, 1, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.single(), + ), + TensorBlock( + values=torch.empty(0, 5, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[ + Labels( + names=["o3_mu"], + values=torch.arange(-2, 3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.single(), + ), + ], + ) + + +@pytest.fixture +def layout_cartesian(): + return TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.empty(0, 3, 3, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz_1"], + values=torch.arange(0, 3, dtype=torch.int32).reshape(-1, 1), + ), + Labels( + names=["xyz_2"], + values=torch.arange(0, 3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.single(), + ), + ], + ) + + +def test_target_info_scalar(layout_scalar): + target_info = TargetInfo(quantity="energy", unit="kcal/mol", layout=layout_scalar) assert target_info.quantity == "energy" assert target_info.unit == "kcal/mol" - assert target_info.per_atom is False assert target_info.gradients == [] + assert not target_info.per_atom - expected = ( - "TargetInfo(quantity='energy', unit='kcal/mol', per_atom=False, gradients=[])" - ) - assert target_info.__repr__() == expected + expected_start = "TargetInfo(quantity='energy', unit='kcal/mol'" + assert target_info.__repr__()[: len(expected_start)] == expected_start -def test_target_info_gradients(): +def test_target_info_spherical(layout_spherical): target_info = TargetInfo( - quantity="energy", - unit="kcal/mol", - per_atom=True, - gradients=["positions", "positions"], + quantity="mtt::spherical", unit="kcal/mol", layout=layout_spherical ) - assert target_info.quantity == "energy" + assert target_info.quantity == "mtt::spherical" assert target_info.unit == "kcal/mol" - assert target_info.per_atom is True - assert target_info.gradients == ["positions"] + assert target_info.gradients == [] + assert not target_info.per_atom - expected = ( - "TargetInfo(quantity='energy', unit='kcal/mol', per_atom=True, " - "gradients=['positions'])" - ) - assert target_info.__repr__() == expected + expected_start = "TargetInfo(quantity='mtt::spherical', unit='kcal/mol'" + assert target_info.__repr__()[: len(expected_start)] == expected_start -def test_list_gradients(): - info1 = TargetInfo(quantity="energy", unit="eV") +def test_target_info_cartesian(layout_cartesian): + target_info = TargetInfo( + quantity="mtt::cartesian", unit="kcal/mol", layout=layout_cartesian + ) - info1.gradients = ["positions"] - assert info1.gradients == ["positions"] + assert target_info.quantity == "mtt::cartesian" + assert target_info.unit == "kcal/mol" + assert target_info.gradients == [] + assert not target_info.per_atom - info1.gradients += ["strain"] - assert info1.gradients == ["positions", "strain"] + expected_start = "TargetInfo(quantity='mtt::cartesian', unit='kcal/mol'" + assert target_info.__repr__()[: len(expected_start)] == expected_start -def test_unit_none_conversion(): - info = TargetInfo(quantity="energy", unit=None) +def test_unit_none_conversion(layout_scalar): + info = TargetInfo(quantity="energy", unit=None, layout=layout_scalar) assert info.unit == "" -def test_length_unit_none_conversion(): +def test_length_unit_none_conversion(layout_scalar): dataset_info = DatasetInfo( length_unit=None, atomic_types=[1, 2, 3], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="kcal/mol")), + targets={ + "energy": TargetInfo( + quantity="energy", unit="kcal/mol", layout=layout_scalar + ) + }, ) assert dataset_info.length_unit == "" -def test_target_info_copy(): - info = TargetInfo(quantity="energy", unit="eV", gradients=["positions"]) - copy = info.copy() - assert copy == info - assert copy is not info - - -def test_target_info_eq(): - info1 = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - info2 = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) +def test_target_info_eq(layout_scalar): + info1 = TargetInfo(quantity="energy", unit="kcal/mol", layout=layout_scalar) + info2 = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) assert info1 == info1 assert info1 != info2 -def test_target_info_eq_error(): - info = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) +def test_target_info_eq_error(layout_scalar): + info = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) match = ( "Comparison between a TargetInfo instance and a list instance is not " @@ -106,152 +184,15 @@ def test_target_info_eq_error(): _ = info == [1, 2, 3] -def test_target_info_update(): - info1 = TargetInfo(quantity="energy", unit="eV", gradients=["strain", "aaa"]) - info2 = TargetInfo(quantity="energy", unit="eV", gradients=["positions"]) - info1.update(info2) - assert info1.gradients == ["aaa", "positions", "strain"] - - -def test_target_info_union(): - info1 = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - info2 = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - info_new = info1.union(info2) - assert isinstance(info_new, TargetInfo) - assert info_new.gradients == ["position", "strain"] - - -def test_target_info_update_non_matching_quantity(): - info1 = TargetInfo(quantity="energy", unit="eV") - info2 = TargetInfo(quantity="force", unit="eV") - match = r"Can't update TargetInfo with a different `quantity`: \(energy != force\)" - with pytest.raises(ValueError, match=match): - info1.update(info2) - - -def test_target_info_update_non_matching_unit(): - info1 = TargetInfo(quantity="energy", unit="eV") - info2 = TargetInfo(quantity="energy", unit="kcal") - match = r"Can't update TargetInfo with a different `unit`: \(eV != kcal\)" - with pytest.raises(ValueError, match=match): - info1.update(info2) - - -def test_target_info_update_non_matching_per_atom(): - info1 = TargetInfo(quantity="energy", unit="eV", per_atom=True) - info2 = TargetInfo(quantity="energy", unit="eV", per_atom=False) - match = "Can't update TargetInfo with a different `per_atom` property: " - with pytest.raises(ValueError, match=match): - info1.update(info2) - - -def test_target_info_dict_setitem_new_entry(): - tid = TargetInfoDict() - info = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - tid["energy"] = info - assert tid["energy"] == info - - -def test_target_info_dict_setitem_update_entry(): - tid = TargetInfoDict() - info1 = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - info2 = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - tid["energy"] = info1 - tid["energy"] = info2 - assert tid["energy"].gradients == ["position", "strain"] - - -def test_target_info_dict_setitem_value_error(): - tid = TargetInfoDict() - with pytest.raises(ValueError, match="value to set is not a `TargetInfo` instance"): - tid["energy"] = "not a TargetInfo" - - -def test_target_info_dict_union(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - - tid2 = TargetInfoDict() - tid2["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - merged = tid1.union(tid2) - assert merged["energy"] == tid1["energy"] - assert merged["myenergy"] == tid2["myenergy"] - - -def test_target_info_dict_merge_error(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - - tid2 = TargetInfoDict() - tid2["energy"] = TargetInfo( - quantity="energy", unit="kcal/mol", gradients=["strain"] - ) - - match = r"Can't update TargetInfo with a different `unit`: \(eV != kcal/mol\)" - with pytest.raises(ValueError, match=match): - tid1.union(tid2) - - -def test_target_info_dict_intersection(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - tid1["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - tid2 = TargetInfoDict() - tid2["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - intersection = tid1.intersection(tid2) - assert len(intersection) == 1 - assert intersection["myenergy"] == tid1["myenergy"] - - # Test `&` operator - intersection_and = tid1 & tid2 - assert intersection_and == intersection - - -def test_target_info_dict_intersection_error(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - tid1["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - tid2 = TargetInfoDict() - tid2["myenergy"] = TargetInfo( - quantity="energy", unit="kcal/mol", gradients=["strain"] - ) - - match = ( - r"Intersected items with the same key are not the same. Intersected " - r"keys are myenergy" - ) - - with pytest.raises(ValueError, match=match): - tid1.intersection(tid2) - - -def test_target_info_dict_difference(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - tid1["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - tid2 = TargetInfoDict() - tid2["myenergy"] = TargetInfo( - quantity="energy", unit="kcal/mol", gradients=["strain"] - ) - - difference = tid1.difference(tid2) - assert len(difference) == 1 - assert difference["energy"] == tid1["energy"] - - difference_sub = tid1 - tid2 - assert difference_sub == difference - - -def test_dataset_info(): +def test_dataset_info(layout_scalar): """Tests the DatasetInfo class.""" - targets = TargetInfoDict(energy=TargetInfo(quantity="energy", unit="kcal/mol")) - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="kcal/mol") + targets = { + "energy": TargetInfo(quantity="energy", unit="kcal/mol", layout=layout_scalar) + } + targets["mtt::U0"] = TargetInfo( + quantity="energy", unit="kcal/mol", layout=layout_scalar + ) dataset_info = DatasetInfo( length_unit="angstrom", atomic_types=[3, 1, 2], targets=targets @@ -271,9 +212,13 @@ def test_dataset_info(): assert dataset_info.__repr__() == expected -def test_set_atomic_types(): - targets = TargetInfoDict(energy=TargetInfo(quantity="energy", unit="kcal/mol")) - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="kcal/mol") +def test_set_atomic_types(layout_scalar): + targets = { + "energy": TargetInfo(quantity="energy", unit="kcal/mol", layout=layout_scalar) + } + targets["mtt::U0"] = TargetInfo( + quantity="energy", unit="kcal/mol", layout=layout_scalar + ) dataset_info = DatasetInfo( length_unit="angstrom", atomic_types=[3, 1, 2], targets=targets @@ -286,10 +231,12 @@ def test_set_atomic_types(): assert dataset_info.atomic_types == [1, 4, 5, 7] -def test_dataset_info_copy(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") - targets["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") +def test_dataset_info_copy(layout_scalar, layout_cartesian): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) + targets["mtt::my-target"] = TargetInfo( + quantity="mtt::my-target", unit="eV/Angstrom", layout=layout_cartesian + ) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) copy = info.copy() @@ -298,31 +245,35 @@ def test_dataset_info_copy(): assert copy is not info -def test_dataset_info_update(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_update(layout_scalar, layout_spherical): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) targets2 = targets.copy() - targets2["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") + targets2["mtt::my-target"] = TargetInfo( + quantity="mtt::my-target", unit="eV/Angstrom", layout=layout_spherical + ) info2 = DatasetInfo(length_unit="angstrom", atomic_types=[8], targets=targets2) info.update(info2) assert info.atomic_types == [1, 6, 8] assert info.targets["energy"] == targets["energy"] - assert info.targets["forces"] == targets2["forces"] + assert info.targets["mtt::my-target"] == targets2["mtt::my-target"] -def test_dataset_info_update_non_matching_length_unit(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_update_non_matching_length_unit(layout_scalar): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) targets2 = targets.copy() - targets2["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") + targets2["mtt::my-target"] = TargetInfo( + quantity="mtt::my-target", unit="eV/Angstrom", layout=layout_scalar + ) info2 = DatasetInfo(length_unit="nanometer", atomic_types=[8], targets=targets2) @@ -335,23 +286,25 @@ def test_dataset_info_update_non_matching_length_unit(): info.update(info2) -def test_dataset_info_eq(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_eq(layout_scalar): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) targets2 = targets.copy() - targets2["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") + targets2["my-target"] = TargetInfo( + quantity="mtt::my-target", unit="eV/Angstrom", layout=layout_scalar + ) info2 = DatasetInfo(length_unit="nanometer", atomic_types=[8], targets=targets2) assert info == info assert info != info2 -def test_dataset_info_eq_error(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_eq_error(layout_scalar): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) @@ -363,31 +316,39 @@ def test_dataset_info_eq_error(): _ = info == [1, 2, 3] -def test_dataset_info_update_different_target_info(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_update_different_target_info(layout_scalar): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) - targets2 = TargetInfoDict() - targets2["energy"] = TargetInfo(quantity="energy", unit="eV/Angstrom") + targets2 = {} + targets2["energy"] = TargetInfo( + quantity="energy", unit="eV/Angstrom", layout=layout_scalar + ) info2 = DatasetInfo(length_unit="angstrom", atomic_types=[8], targets=targets2) - match = r"Can't update TargetInfo with a different `unit`: \(eV != eV/Angstrom\)" + match = ( + "Can't update DatasetInfo with different target information for target 'energy'" + ) with pytest.raises(ValueError, match=match): info.update(info2) -def test_dataset_info_union(): +def test_dataset_info_union(layout_scalar, layout_cartesian): """Tests the union method.""" - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") - targets["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) + targets["forces"] = TargetInfo( + quantity="mtt::forces", unit="eV/Angstrom", layout=layout_scalar + ) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) other_targets = targets.copy() - other_targets["mtt::stress"] = TargetInfo(quantity="mtt::stress", unit="GPa") + other_targets["mtt::stress"] = TargetInfo( + quantity="mtt::stress", unit="GPa", layout=layout_cartesian + ) other_info = DatasetInfo( length_unit="angstrom", atomic_types=[1], targets=other_targets @@ -606,7 +567,7 @@ def test_collate_fn(): assert isinstance(batch[1], dict) -def test_get_stats(): +def test_get_stats(layout_scalar): """Tests the get_stats method of Dataset and Subset.""" systems = read_systems(RESOURCES_PATH / "qm9_reduced_100.xyz") @@ -644,8 +605,8 @@ def test_get_stats(): length_unit="angstrom", atomic_types=[1, 6], targets={ - "mtt::U0": TargetInfo(quantity="energy", unit="eV"), - "energy": TargetInfo(quantity="energy", unit="eV"), + "mtt::U0": TargetInfo(quantity="energy", unit="eV", layout=layout_scalar), + "energy": TargetInfo(quantity="energy", unit="eV", layout=layout_scalar), }, ) diff --git a/tests/utils/data/test_readers.py b/tests/utils/data/test_readers.py index 92b5e656b..5876d8e70 100644 --- a/tests/utils/data/test_readers.py +++ b/tests/utils/data/test_readers.py @@ -11,7 +11,7 @@ from omegaconf import OmegaConf from test_targets_ase import ase_system, ase_systems -from metatrain.utils.data.dataset import TargetInfo, TargetInfoDict +from metatrain.utils.data.dataset import TargetInfo from metatrain.utils.data.readers import ( read_energy, read_forces, @@ -178,7 +178,7 @@ def test_read_targets(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): assert any(["Forces found" in rec.message for rec in caplog.records]) assert type(result) is dict - assert type(target_info_dict) is TargetInfoDict + assert type(target_info_dict) is dict if stress_dict: assert any(["Stress found" in rec.message for rec in caplog.records]) diff --git a/tests/utils/test_additive.py b/tests/utils/test_additive.py index fd2179e5e..a1b9a7af4 100644 --- a/tests/utils/test_additive.py +++ b/tests/utils/test_additive.py @@ -8,12 +8,13 @@ from omegaconf import OmegaConf from metatrain.utils.additive import ZBL, CompositionModel, remove_additive -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout RESOURCES_PATH = Path(__file__).parents[1] / "resources" @@ -79,14 +80,12 @@ def test_composition_model_train(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1, 8], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="energy", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="energy", + layout=energy_layout, + ) + }, ), ) @@ -207,14 +206,12 @@ def test_composition_model_torchscript(tmpdir): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1, 8], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="energy", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="energy", + layout=energy_layout, + ) + }, ), ) composition_model = torch.jit.script(composition_model) @@ -335,14 +332,12 @@ def test_composition_model_missing_types(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="energy", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="energy", + layout=energy_layout, + ) + }, ), ) with pytest.raises( @@ -356,14 +351,12 @@ def test_composition_model_missing_types(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1, 8, 100], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="energy", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="energy", + layout=energy_layout, + ) + }, ), ) with pytest.warns( @@ -387,14 +380,12 @@ def test_composition_model_wrong_target(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="FOO", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="FOO", + layout=energy_layout, + ) + }, ), ) diff --git a/tests/utils/test_evaluate_model.py b/tests/utils/test_evaluate_model.py index e2bd81eca..9c147378d 100644 --- a/tests/utils/test_evaluate_model.py +++ b/tests/utils/test_evaluate_model.py @@ -10,6 +10,7 @@ get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_force_stress_layout from . import MODEL_HYPERS, RESOURCES_PATH @@ -27,7 +28,7 @@ def test_evaluate_model(training, exported): targets = { "energy": TargetInfo( - quantity="energy", unit="eV", gradients=["positions", "strain"] + quantity="energy", unit="eV", layout=energy_force_stress_layout ) } diff --git a/tests/utils/test_export.py b/tests/utils/test_export.py index 439a279f4..a0dcc1784 100644 --- a/tests/utils/test_export.py +++ b/tests/utils/test_export.py @@ -7,6 +7,7 @@ from metatrain.experimental.soap_bpnn import __model__ from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.export import export, is_exported +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS, RESOURCES_PATH @@ -18,7 +19,9 @@ def test_export(tmp_path): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1}, - targets={"energy": TargetInfo(quantity="energy", unit="eV")}, + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -48,7 +51,9 @@ def test_reexport(monkeypatch, tmp_path): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1}, - targets={"energy": TargetInfo(quantity="energy", unit="eV")}, + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -79,7 +84,9 @@ def test_length_units_warning(): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1}, - targets={"energy": TargetInfo(quantity="energy", unit="eV")}, + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -100,7 +107,7 @@ def test_units_warning(): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1}, - targets={"mtt::output": TargetInfo(quantity="energy")}, + targets={"mtt::output": TargetInfo(quantity="energy", layout=energy_layout)}, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/utils/test_external_naming.py b/tests/utils/test_external_naming.py index 666d1c890..0e3db1371 100644 --- a/tests/utils/test_external_naming.py +++ b/tests/utils/test_external_naming.py @@ -1,14 +1,15 @@ from metatrain.utils.data.dataset import TargetInfo from metatrain.utils.external_naming import to_external_name, to_internal_name +from metatrain.utils.testing import energy_layout def test_to_external_name(): """Tests the to_external_name function.""" quantities = { - "energy": TargetInfo(quantity="energy"), - "mtt::free_energy": TargetInfo(quantity="energy"), - "mtt::foo": TargetInfo(quantity="bar"), + "energy": TargetInfo(quantity="energy", layout=energy_layout), + "mtt::free_energy": TargetInfo(quantity="energy", layout=energy_layout), + "mtt::foo": TargetInfo(quantity="bar", layout=energy_layout), } assert to_external_name("energy_positions_gradients", quantities) == "forces" diff --git a/tests/utils/test_output_gradient.py b/tests/utils/test_output_gradient.py index 7bad9279e..94b475f6f 100644 --- a/tests/utils/test_output_gradient.py +++ b/tests/utils/test_output_gradient.py @@ -6,6 +6,11 @@ from metatrain.experimental.soap_bpnn import __model__ from metatrain.utils.data import DatasetInfo, TargetInfo, read_systems from metatrain.utils.output_gradient import compute_gradient +from metatrain.utils.testing import ( + energy_force_layout, + energy_force_stress_layout, + energy_stress_layout, +) from . import MODEL_HYPERS, RESOURCES_PATH @@ -19,7 +24,7 @@ def test_forces(is_training): atomic_types={1, 6, 7, 8}, targets={ "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=["positions"] + quantity="energy", unit="eV", layout=energy_force_layout ) }, ) @@ -76,7 +81,7 @@ def test_virial(is_training): atomic_types={6}, targets={ "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=["strain"] + quantity="energy", unit="eV", layout=energy_stress_layout ) }, ) @@ -147,8 +152,7 @@ def test_both(is_training): "energy": TargetInfo( quantity="energy", unit="eV", - per_atom=False, - gradients=["positions", "strain"], + layout=energy_force_stress_layout, ) }, ) From 60b6b0d7a156b28b71f7558a9e3045ce74411acf Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 28 Oct 2024 10:34:37 +0100 Subject: [PATCH 042/126] Change `TensorMap`s inside `TargetInfo` to `float64` to avoid serialization problems --- src/metatrain/cli/eval.py | 9 ++++++--- src/metatrain/utils/data/readers/readers.py | 2 +- src/metatrain/utils/testing.py | 9 ++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/metatrain/cli/eval.py b/src/metatrain/cli/eval.py index 25bcbdb2c..bf17745dd 100644 --- a/src/metatrain/cli/eval.py +++ b/src/metatrain/cli/eval.py @@ -371,7 +371,8 @@ def eval_model( def _get_energy_layout(strain_gradient: bool) -> TensorMap: block = TensorBlock( - values=torch.empty(0, 1), + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 1, dtype=torch.float64), samples=Labels( names=["system"], values=torch.empty((0, 1), dtype=torch.int32), @@ -380,7 +381,8 @@ def _get_energy_layout(strain_gradient: bool) -> TensorMap: properties=Labels.range("energy", 1), ) position_gradient_block = TensorBlock( - values=torch.empty(0, 3, 1), + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 1, dtype=torch.float64), samples=Labels( names=["sample", "atom"], values=torch.empty((0, 2), dtype=torch.int32), @@ -397,7 +399,8 @@ def _get_energy_layout(strain_gradient: bool) -> TensorMap: if strain_gradient: strain_gradient_block = TensorBlock( - values=torch.empty(0, 3, 3, 1), + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 3, 1, dtype=torch.float64), samples=Labels( names=["sample", "atom"], values=torch.empty((0, 2), dtype=torch.int32), diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index dc81af7c3..7a6076143 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -306,7 +306,7 @@ def _empty_tensor_block_like(tensor_block: TensorBlock) -> TensorBlock: new_block = TensorBlock( values=torch.empty( (0,) + tensor_block.values.shape[1:], - dtype=tensor_block.values.dtype, + dtype=torch.float64, # metatensor can't serialize otherwise device=tensor_block.values.device, ), samples=Labels( diff --git a/src/metatrain/utils/testing.py b/src/metatrain/utils/testing.py index 62dc7382c..faedbdb00 100644 --- a/src/metatrain/utils/testing.py +++ b/src/metatrain/utils/testing.py @@ -6,7 +6,8 @@ block = TensorBlock( - values=torch.empty(0, 1), + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 1, dtype=torch.float64), samples=Labels( names=["system"], values=torch.empty((0, 1), dtype=torch.int32), @@ -21,7 +22,8 @@ block_with_position_gradients = block.copy() position_gradient_block = TensorBlock( - values=torch.empty(0, 3, 1), + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 1, dtype=torch.float64), samples=Labels( names=["sample", "atom"], values=torch.empty((0, 2), dtype=torch.int32), @@ -42,7 +44,8 @@ block_with_position_and_strain_gradients = block_with_position_gradients.copy() strain_gradient_block = TensorBlock( - values=torch.empty(0, 3, 3, 1), + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 3, 1, dtype=torch.float64), samples=Labels( names=["sample", "atom"], values=torch.empty((0, 2), dtype=torch.int32), From 4c614f735af2513363e93cf57a9ca47ec45725d7 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 28 Oct 2024 10:45:57 +0100 Subject: [PATCH 043/126] Better documentation --- src/metatrain/utils/data/dataset.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/metatrain/utils/data/dataset.py b/src/metatrain/utils/data/dataset.py index f9761b129..79eb7b794 100644 --- a/src/metatrain/utils/data/dataset.py +++ b/src/metatrain/utils/data/dataset.py @@ -17,9 +17,11 @@ class TargetInfo: :param quantity: The physical quantity of the target (e.g., "energy"). :param layout: The layout of the target, as a ``TensorMap`` with 0 samples. - This ``TensorMap`` will contain important information such as the names of + This ``TensorMap`` will be used to retrieve the names of the ``samples``, as well as the ``components`` and ``properties`` of the - target and their gradients. + target and their gradients. For example, this allows to infer the type of + the target (scalar, Cartesian tensor, spherical tensor), whether it is per + atom, the names of its gradients, etc. :param unit: The unit of the target. If :py:obj:`None` the ``unit`` will be set to an empty string ``""``. """ @@ -37,7 +39,7 @@ def __init__( self._check_layout(layout) - self.quantity = quantity + self.quantity = quantity # float64: otherwise metatensor can't serialize self.layout = layout self.unit = unit if unit is not None else "" From 172af0b6f222e44ab856c28452f4ef6ab85c3c97 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 29 Oct 2024 19:05:39 +0100 Subject: [PATCH 044/126] Upgrade to `metatensor-torch` 0.6.0 --- pyproject.toml | 4 ++-- .../experimental/alchemical_model/tests/test_exported.py | 1 + .../alchemical_model/tests/test_functionality.py | 1 + src/metatrain/experimental/pet/tests/test_exported.py | 1 + src/metatrain/experimental/pet/tests/test_functionality.py | 3 +++ .../experimental/soap_bpnn/tests/test_exported.py | 1 + .../experimental/soap_bpnn/tests/test_functionality.py | 5 +++++ .../experimental/soap_bpnn/tests/test_torchscript.py | 2 ++ src/metatrain/utils/evaluate_model.py | 3 +++ tests/utils/data/test_system_to_ase.py | 1 + tests/utils/data/test_target_writers.py | 1 + tests/utils/test_additive.py | 7 +++++++ tests/utils/test_output_gradient.py | 6 ++++++ tests/utils/test_per_atom.py | 3 +++ tests/utils/test_transfer.py | 2 ++ 15 files changed, 39 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7e3f2d703..d78526820 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,8 +11,8 @@ authors = [{name = "metatrain developers"}] dependencies = [ "ase < 3.23.0", "metatensor-learn==0.2.3", - "metatensor-operations==0.2.3", - "metatensor-torch==0.5.5", + "metatensor-operations==0.3.0", + "metatensor-torch==0.6.0", "jsonschema", "omegaconf", "python-hostlist", diff --git a/src/metatrain/experimental/alchemical_model/tests/test_exported.py b/src/metatrain/experimental/alchemical_model/tests/test_exported.py index 891983693..8b06c2d74 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_exported.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_exported.py @@ -33,6 +33,7 @@ def test_to(device, dtype): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(exported) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py index 7ee3331af..9f998f925 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py @@ -27,6 +27,7 @@ def test_prediction_subset_elements(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/pet/tests/test_exported.py b/src/metatrain/experimental/pet/tests/test_exported.py index f67a15e4c..5ed9ecf6e 100644 --- a/src/metatrain/experimental/pet/tests/test_exported.py +++ b/src/metatrain/experimental/pet/tests/test_exported.py @@ -61,6 +61,7 @@ def test_to(device): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(exported) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/pet/tests/test_functionality.py b/src/metatrain/experimental/pet/tests/test_functionality.py index ddf527603..35c44be0b 100644 --- a/src/metatrain/experimental/pet/tests/test_functionality.py +++ b/src/metatrain/experimental/pet/tests/test_functionality.py @@ -76,6 +76,7 @@ def test_prediction(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) @@ -126,6 +127,7 @@ def test_per_atom_predictions_functionality(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) @@ -177,6 +179,7 @@ def test_selected_atoms_functionality(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py index 63242161e..ff926aa60 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py @@ -33,6 +33,7 @@ def test_to(device, dtype): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(exported) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index 25dd250b6..12bbe4c7a 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -28,6 +28,7 @@ def test_prediction_subset_elements(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) model( [system], @@ -56,6 +57,7 @@ def test_prediction_subset_atoms(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0]], ), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) energy_monomer = model( @@ -76,6 +78,7 @@ def test_prediction_subset_atoms(): ], ), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) selection_labels = metatensor.torch.Labels( @@ -119,6 +122,7 @@ def test_output_last_layer_features(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]], ), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) # last-layer features per atom: @@ -190,6 +194,7 @@ def test_output_per_atom(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]], ), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) outputs = model( diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py index 4d6b89898..9e41046a3 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py @@ -26,6 +26,7 @@ def test_torchscript(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]] ), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) model( [system], @@ -52,6 +53,7 @@ def test_torchscript_with_identity(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]] ), cell=torch.zeros(3, 3), + pbcs=torch.tensor([False, False, False]), ) model( [system], diff --git a/src/metatrain/utils/evaluate_model.py b/src/metatrain/utils/evaluate_model.py index 48447b879..5b4500a21 100644 --- a/src/metatrain/utils/evaluate_model.py +++ b/src/metatrain/utils/evaluate_model.py @@ -278,6 +278,7 @@ def _prepare_system( positions=system.positions @ strain, cell=system.cell @ strain, types=system.types, + pbc=system.pbc, ) else: if positions_grad: @@ -285,6 +286,7 @@ def _prepare_system( positions=system.positions.detach().clone().requires_grad_(True), cell=system.cell, types=system.types, + pbc=system.pbc, ) strain = None else: @@ -292,6 +294,7 @@ def _prepare_system( positions=system.positions, cell=system.cell, types=system.types, + pbc=system.pbc, ) strain = None diff --git a/tests/utils/data/test_system_to_ase.py b/tests/utils/data/test_system_to_ase.py index e6062b52d..3d66f7e7c 100644 --- a/tests/utils/data/test_system_to_ase.py +++ b/tests/utils/data/test_system_to_ase.py @@ -11,6 +11,7 @@ def test_system_to_ase(): positions=torch.tensor([[0.0, 0.0, 0.0], [1.0, 1.0, 1.0]]), types=torch.tensor([1, 8]), cell=torch.tensor([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]), + pbc=torch.tensor([True, True, True]), ) # Convert the system to an ASE atoms object diff --git a/tests/utils/data/test_target_writers.py b/tests/utils/data/test_target_writers.py index 190d37fbe..525ccd446 100644 --- a/tests/utils/data/test_target_writers.py +++ b/tests/utils/data/test_target_writers.py @@ -20,6 +20,7 @@ def systems_capabilities_predictions( types=torch.tensor([1, 1]), positions=torch.tensor([[0, 0, 0], [0, 0, 0.74]]), cell=cell, + pbc=torch.logical_not(torch.all(cell == 0, dim=1)), ), ] diff --git a/tests/utils/test_additive.py b/tests/utils/test_additive.py index fd2179e5e..3daf3c980 100644 --- a/tests/utils/test_additive.py +++ b/tests/utils/test_additive.py @@ -33,6 +33,7 @@ def test_composition_model_train(): positions=torch.tensor([[0.0, 0.0, 0.0]], dtype=torch.float64), types=torch.tensor([8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor( @@ -40,6 +41,7 @@ def test_composition_model_train(): ), types=torch.tensor([1, 1, 8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor( @@ -55,6 +57,7 @@ def test_composition_model_train(): ), types=torch.tensor([1, 1, 8, 1, 1, 8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), ] energies = [1.0, 5.0, 10.0] @@ -200,6 +203,7 @@ def test_composition_model_torchscript(tmpdir): positions=torch.tensor([[0.0, 0.0, 0.0]], dtype=torch.float64), types=torch.tensor([8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ) composition_model = CompositionModel( @@ -289,6 +293,7 @@ def test_composition_model_missing_types(): positions=torch.tensor([[0.0, 0.0, 0.0]], dtype=torch.float64), types=torch.tensor([8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor( @@ -296,6 +301,7 @@ def test_composition_model_missing_types(): ), types=torch.tensor([1, 1, 8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor( @@ -311,6 +317,7 @@ def test_composition_model_missing_types(): ), types=torch.tensor([1, 1, 8, 1, 1, 8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), ] energies = [1.0, 5.0, 10.0] diff --git a/tests/utils/test_output_gradient.py b/tests/utils/test_output_gradient.py index 7bad9279e..513d43930 100644 --- a/tests/utils/test_output_gradient.py +++ b/tests/utils/test_output_gradient.py @@ -32,6 +32,7 @@ def test_forces(is_training): positions=system.positions.requires_grad_(True), cell=system.cell, types=system.types, + pbc=system.pbc, ) for system in systems ] @@ -50,6 +51,7 @@ def test_forces(is_training): positions=system.positions.requires_grad_(True), cell=system.cell, types=system.types, + pbc=system.pbc, ) for system in systems ] @@ -96,6 +98,7 @@ def test_virial(is_training): positions=system.positions @ strain, cell=system.cell @ strain, types=system.types, + pbc=system.pbc, ) for system, strain in zip(systems, strains) ] @@ -121,6 +124,7 @@ def test_virial(is_training): positions=system.positions @ strain, cell=system.cell @ strain, types=system.types, + pbc=system.pbc, ) for system, strain in zip(systems, strains) ] @@ -170,6 +174,7 @@ def test_both(is_training): positions=system.positions @ strain, cell=system.cell @ strain, types=system.types, + pbc=system.pbc, ) for system, strain in zip(systems, strains) ] @@ -193,6 +198,7 @@ def test_both(is_training): positions=system.positions @ strain, cell=system.cell @ strain, types=system.types, + pbc=system.pbc, ) for system, strain in zip(systems, strains) ] diff --git a/tests/utils/test_per_atom.py b/tests/utils/test_per_atom.py index 3f4f34945..0f84180e7 100644 --- a/tests/utils/test_per_atom.py +++ b/tests/utils/test_per_atom.py @@ -13,16 +13,19 @@ def test_average_by_num_atoms(): positions=torch.tensor([[0.0, 0.0, 0.0]]), cell=torch.eye(3), types=torch.tensor([0]), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]), cell=torch.eye(3), types=torch.tensor([0, 0]), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]), cell=torch.eye(3), types=torch.tensor([0, 0, 0]), + pbc=torch.tensor([True, True, True]), ), ] diff --git a/tests/utils/test_transfer.py b/tests/utils/test_transfer.py index b669c0c29..283842779 100644 --- a/tests/utils/test_transfer.py +++ b/tests/utils/test_transfer.py @@ -14,6 +14,7 @@ def test_systems_and_targets_to_dtype(): positions=torch.tensor([[1.0, 1.0, 1.0]]), cell=torch.tensor([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]), types=torch.tensor([1]), + pbc=torch.tensor([True, True, True]), ) targets = TensorMap( keys=Labels.single(), @@ -39,6 +40,7 @@ def test_systems_and_targets_to_dtype_and_device(): positions=torch.tensor([[1.0, 1.0, 1.0]]), cell=torch.tensor([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]), types=torch.tensor([1]), + pbc=torch.tensor([True, True, True]), ) targets = TensorMap( keys=Labels.single(), From 0f3bfd7b19d98ea3a9be62d13d10f6ba55a18e6b Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 30 Oct 2024 15:35:41 +0100 Subject: [PATCH 045/126] Upgrade `metatensor-learn` --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d78526820..6e09fc511 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ authors = [{name = "metatrain developers"}] dependencies = [ "ase < 3.23.0", - "metatensor-learn==0.2.3", + "metatensor-learn==0.3.0", "metatensor-operations==0.3.0", "metatensor-torch==0.6.0", "jsonschema", From 0e8e2f71bd0dcf3c1bad534e0ae74270c84c5cb3 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 30 Oct 2024 17:30:22 +0100 Subject: [PATCH 046/126] Update strict NL --- pyproject.toml | 4 ++-- src/metatrain/experimental/alchemical_model/model.py | 1 + .../tests/test_torch_alchemical_compatibility.py | 1 + src/metatrain/experimental/pet/model.py | 1 + .../experimental/pet/tests/test_pet_compatibility.py | 4 ++-- src/metatrain/utils/additive/zbl.py | 1 + src/metatrain/utils/metrics.py | 4 ++-- tests/utils/test_neighbor_list.py | 8 ++++---- 8 files changed, 14 insertions(+), 10 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 6e09fc511..f75f0c018 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,7 +59,7 @@ build-backend = "setuptools.build_meta" [project.optional-dependencies] soap-bpnn = [ - "rascaline-torch @ git+https://github.com/luthaf/rascaline@d181b28#subdirectory=python/rascaline-torch", + "rascaline-torch @ git+https://github.com/luthaf/rascaline@b70b19e#subdirectory=python/rascaline-torch", ] alchemical-model = [ "torch_alchemical @ git+https://github.com/abmazitov/torch_alchemical.git@51ff519", @@ -68,7 +68,7 @@ pet = [ "pet @ git+https://github.com/lab-cosmo/pet@7eddb2e", ] gap = [ - "rascaline-torch @ git+https://github.com/luthaf/rascaline@d181b28#subdirectory=python/rascaline-torch", + "rascaline-torch @ git+https://github.com/luthaf/rascaline@b70b19e#subdirectory=python/rascaline-torch", "skmatter", "metatensor-learn", "scipy", diff --git a/src/metatrain/experimental/alchemical_model/model.py b/src/metatrain/experimental/alchemical_model/model.py index 8ffbd8dc7..4e985dc75 100644 --- a/src/metatrain/experimental/alchemical_model/model.py +++ b/src/metatrain/experimental/alchemical_model/model.py @@ -78,6 +78,7 @@ def requested_neighbor_lists(self) -> List[NeighborListOptions]: NeighborListOptions( cutoff=self.cutoff, full_list=True, + strict=True, ) ] diff --git a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py index 03b7ef1df..7b560e786 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py @@ -29,6 +29,7 @@ nl_options = NeighborListOptions( cutoff=5.0, full_list=True, + strict=True, ) systems = [get_system_with_neighbor_lists(system, [nl_options]) for system in systems] diff --git a/src/metatrain/experimental/pet/model.py b/src/metatrain/experimental/pet/model.py index bf567dee1..512dc319b 100644 --- a/src/metatrain/experimental/pet/model.py +++ b/src/metatrain/experimental/pet/model.py @@ -73,6 +73,7 @@ def requested_neighbor_lists( NeighborListOptions( cutoff=self.cutoff, full_list=True, + strict=True, ) ] diff --git a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py index 04ecae1bc..4a2bdd71e 100644 --- a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py +++ b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py @@ -59,7 +59,7 @@ def test_batch_dicts_compatibility(cutoff): structure = ase.io.read(DATASET_PATH) atomic_types = sorted(set(structure.numbers)) system = systems_to_torch(structure) - options = NeighborListOptions(cutoff=cutoff, full_list=True) + options = NeighborListOptions(cutoff=cutoff, full_list=True, strict=True) system = get_system_with_neighbor_lists(system, [options]) ARCHITECTURAL_HYPERS = Hypers(DEFAULT_HYPERS["model"]) @@ -121,7 +121,7 @@ def test_predictions_compatibility(cutoff): model.set_trained_model(raw_pet) system = systems_to_torch(structure) - options = NeighborListOptions(cutoff=cutoff, full_list=True) + options = NeighborListOptions(cutoff=cutoff, full_list=True, strict=True) system = get_system_with_neighbor_lists(system, [options]) evaluation_options = ModelEvaluationOptions( diff --git a/src/metatrain/utils/additive/zbl.py b/src/metatrain/utils/additive/zbl.py index edf2ec7b2..cec2ee96e 100644 --- a/src/metatrain/utils/additive/zbl.py +++ b/src/metatrain/utils/additive/zbl.py @@ -251,6 +251,7 @@ def requested_neighbor_lists(self) -> List[NeighborListOptions]: NeighborListOptions( cutoff=self.cutoff_radius, full_list=True, + strict=True, ) ] diff --git a/src/metatrain/utils/metrics.py b/src/metatrain/utils/metrics.py index 357b567d0..29ace5104 100644 --- a/src/metatrain/utils/metrics.py +++ b/src/metatrain/utils/metrics.py @@ -8,7 +8,7 @@ class RMSEAccumulator: """Accumulates the RMSE between predictions and targets for an arbitrary number of keys, each corresponding to one target.""" - def __init__(self): + def __init__(self) -> None: """Initialize the accumulator.""" self.information: Dict[str, Tuple[float, int]] = {} @@ -91,7 +91,7 @@ class MAEAccumulator: """Accumulates the MAE between predictions and targets for an arbitrary number of keys, each corresponding to one target.""" - def __init__(self): + def __init__(self) -> None: """Initialize the accumulator.""" self.information: Dict[str, Tuple[float, int]] = {} diff --git a/tests/utils/test_neighbor_list.py b/tests/utils/test_neighbor_list.py index 9c35e05d5..768114d6c 100644 --- a/tests/utils/test_neighbor_list.py +++ b/tests/utils/test_neighbor_list.py @@ -14,9 +14,9 @@ def test_attach_neighbor_lists(): systems = read_systems_ase(filename) requested_neighbor_lists = [ - NeighborListOptions(cutoff=4.0, full_list=True), - NeighborListOptions(cutoff=5.0, full_list=False), - NeighborListOptions(cutoff=6.0, full_list=True), + NeighborListOptions(cutoff=4.0, full_list=True, strict=True), + NeighborListOptions(cutoff=5.0, full_list=False, strict=True), + NeighborListOptions(cutoff=6.0, full_list=True, strict=True), ] new_system = get_system_with_neighbor_lists(systems[0], requested_neighbor_lists) @@ -25,7 +25,7 @@ def test_attach_neighbor_lists(): assert requested_neighbor_lists[1] in new_system.known_neighbor_lists() assert requested_neighbor_lists[2] in new_system.known_neighbor_lists() - extraneous_nl = NeighborListOptions(cutoff=5.0, full_list=True) + extraneous_nl = NeighborListOptions(cutoff=5.0, full_list=True, strict=True) assert extraneous_nl not in new_system.known_neighbor_lists() for nl_options in new_system.known_neighbor_lists(): From d632dc2f68a6b92b96e55874de2b2cbe7a8892d4 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 30 Oct 2024 17:39:08 +0100 Subject: [PATCH 047/126] Fix PBCs --- .../experimental/pet/tests/test_functionality.py | 6 +++--- .../experimental/soap_bpnn/tests/test_exported.py | 2 +- .../experimental/soap_bpnn/tests/test_functionality.py | 10 +++++----- .../experimental/soap_bpnn/tests/test_torchscript.py | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/metatrain/experimental/pet/tests/test_functionality.py b/src/metatrain/experimental/pet/tests/test_functionality.py index 35c44be0b..b0f5771ea 100644 --- a/src/metatrain/experimental/pet/tests/test_functionality.py +++ b/src/metatrain/experimental/pet/tests/test_functionality.py @@ -76,7 +76,7 @@ def test_prediction(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) @@ -127,7 +127,7 @@ def test_per_atom_predictions_functionality(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) @@ -179,7 +179,7 @@ def test_selected_atoms_functionality(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py index ff926aa60..349e89cfd 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py @@ -33,7 +33,7 @@ def test_to(device, dtype): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(exported) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index 12bbe4c7a..b1fb4f1d3 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -28,7 +28,7 @@ def test_prediction_subset_elements(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) model( [system], @@ -57,7 +57,7 @@ def test_prediction_subset_atoms(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0]], ), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) energy_monomer = model( @@ -78,7 +78,7 @@ def test_prediction_subset_atoms(): ], ), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) selection_labels = metatensor.torch.Labels( @@ -122,7 +122,7 @@ def test_output_last_layer_features(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]], ), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) # last-layer features per atom: @@ -194,7 +194,7 @@ def test_output_per_atom(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]], ), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) outputs = model( diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py index 9e41046a3..6be11f582 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py @@ -26,7 +26,7 @@ def test_torchscript(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]] ), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) model( [system], @@ -53,7 +53,7 @@ def test_torchscript_with_identity(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]] ), cell=torch.zeros(3, 3), - pbcs=torch.tensor([False, False, False]), + pbc=torch.tensor([False, False, False]), ) model( [system], From b65536ae32134750d893854ded737efa31b70f96 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 1 Nov 2024 07:06:07 +0100 Subject: [PATCH 048/126] Draft --- src/metatrain/share/schema-dataset.json | 42 ++ src/metatrain/utils/data/__init__.py | 12 +- src/metatrain/utils/data/dataset.py | 183 +------- src/metatrain/utils/data/readers/__init__.py | 4 - src/metatrain/utils/data/readers/ase.py | 169 +++++++- src/metatrain/utils/data/readers/mts.py | 146 +++++++ src/metatrain/utils/data/readers/readers.py | 285 ++++--------- src/metatrain/utils/data/target_info.py | 392 ++++++++++++++++++ src/metatrain/utils/data/writers/xyz.py | 7 +- src/metatrain/utils/omegaconf.py | 52 ++- src/metatrain/utils/testing.py | 76 ---- tests/resources/options.yaml | 8 +- tests/resources/test.yaml | 21 + tests/utils/data/readers/test_ase.py | 0 tests/utils/data/readers/test_mts.py | 0 .../utils/data/{ => readers}/test_readers.py | 0 tests/utils/data/test_target_info.py | 117 ++++++ tests/utils/data/test_target_writers.py | 93 ++++- tests/utils/data/test_targets_ase.py | 4 +- 19 files changed, 1112 insertions(+), 499 deletions(-) create mode 100644 src/metatrain/utils/data/readers/mts.py create mode 100644 src/metatrain/utils/data/target_info.py delete mode 100644 src/metatrain/utils/testing.py create mode 100644 tests/resources/test.yaml create mode 100644 tests/utils/data/readers/test_ase.py create mode 100644 tests/utils/data/readers/test_mts.py rename tests/utils/data/{ => readers}/test_readers.py (100%) create mode 100644 tests/utils/data/test_target_info.py diff --git a/src/metatrain/share/schema-dataset.json b/src/metatrain/share/schema-dataset.json index ef33134dd..b99cde34c 100644 --- a/src/metatrain/share/schema-dataset.json +++ b/src/metatrain/share/schema-dataset.json @@ -132,6 +132,48 @@ } ] }, + "per_atom": { + "type": "boolean" + }, + "num_properties": { + "type": "integer" + }, + "type": { + "oneOf": [ + { "enum": ["scalar"] }, + { + "cartesian": { + "type": "object", + "properties": { + "rank": { + "type": "integer" + } + }, + "additionalProperties": false + } + }, + { + "spherical": { + "type": "object", + "properties": { + "type": "array", + "items": { + "o3_lambda": + { + "type": "integer" + }, + "o3_sigma": + { + "type": "number" + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + } + ] + }, "forces": { "$ref": "#/$defs/gradient_section" }, diff --git a/src/metatrain/utils/data/__init__.py b/src/metatrain/utils/data/__init__.py index e93621947..a4886839d 100644 --- a/src/metatrain/utils/data/__init__.py +++ b/src/metatrain/utils/data/__init__.py @@ -1,6 +1,5 @@ from .dataset import ( # noqa: F401 Dataset, - TargetInfo, DatasetInfo, get_atomic_types, get_all_targets, @@ -8,15 +7,8 @@ check_datasets, get_stats, ) -from .readers import ( # noqa: F401 - read_energy, - read_forces, - read_stress, - read_systems, - read_targets, - read_virial, -) - +from .target_info import TargetInfo # noqa: F401 +from .readers import read_systems, read_targets # noqa: F401 from .writers import write_predictions # noqa: F401 from .combine_dataloaders import CombinedDataLoader # noqa: F401 from .system_to_ase import system_to_ase # noqa: F401 diff --git a/src/metatrain/utils/data/dataset.py b/src/metatrain/utils/data/dataset.py index 79eb7b794..673d28e43 100644 --- a/src/metatrain/utils/data/dataset.py +++ b/src/metatrain/utils/data/dataset.py @@ -2,7 +2,6 @@ import warnings from typing import Any, Dict, List, Tuple, Union -import metatensor.torch import numpy as np from metatensor.learn.data import Dataset, group_and_join from metatensor.torch import TensorMap @@ -10,187 +9,7 @@ from ..external_naming import to_external_name from ..units import get_gradient_units - - -class TargetInfo: - """A class that contains information about a target. - - :param quantity: The physical quantity of the target (e.g., "energy"). - :param layout: The layout of the target, as a ``TensorMap`` with 0 samples. - This ``TensorMap`` will be used to retrieve the names of - the ``samples``, as well as the ``components`` and ``properties`` of the - target and their gradients. For example, this allows to infer the type of - the target (scalar, Cartesian tensor, spherical tensor), whether it is per - atom, the names of its gradients, etc. - :param unit: The unit of the target. If :py:obj:`None` the ``unit`` will be set to - an empty string ``""``. - """ - - def __init__( - self, - quantity: str, - layout: TensorMap, - unit: Union[None, str] = "", - ): - # one of these will be set to True inside the _check_layout method - self.is_scalar = False - self.is_cartesian = False - self.is_spherical = False - - self._check_layout(layout) - - self.quantity = quantity # float64: otherwise metatensor can't serialize - self.layout = layout - self.unit = unit if unit is not None else "" - - @property - def gradients(self) -> List[str]: - """Sorted and unique list of gradient names.""" - if self.is_scalar: - return sorted(self.layout.block().gradients_list()) - else: - return [] - - @property - def per_atom(self) -> bool: - """Whether the target is per atom.""" - return "atom" in self.layout.block(0).samples.names - - def __repr__(self): - return ( - f"TargetInfo(quantity={self.quantity!r}, unit={self.unit!r}, " - f"layout={self.layout!r})" - ) - - def __eq__(self, other): - if not isinstance(other, TargetInfo): - raise NotImplementedError( - "Comparison between a TargetInfo instance and a " - f"{type(other).__name__} instance is not implemented." - ) - return ( - self.quantity == other.quantity - and self.unit == other.unit - and metatensor.torch.equal(self.layout, other.layout) - ) - - def _check_layout(self, layout: TensorMap) -> None: - """Check that the layout is a valid layout.""" - - # examine basic properties of all blocks - for block in layout.blocks(): - for sample_name in block.samples.names: - if sample_name not in ["system", "atom"]: - raise ValueError( - "The layout ``TensorMap`` of a target should only have samples " - "named 'system' or 'atom', but found " - f"'{sample_name}' instead." - ) - if len(block.values) != 0: - raise ValueError( - "The layout ``TensorMap`` of a target should have 0 " - f"samples, but found {len(block.values)} samples." - ) - - # examine the components of the first block to decide whether this is - # a scalar, a Cartesian tensor or a spherical tensor - - if len(layout) == 0: - raise ValueError( - "The layout ``TensorMap`` of a target should have at least one " - "block, but found 0 blocks." - ) - components_first_block = layout.block(0).components - if len(components_first_block) == 0: - self.is_scalar = True - elif components_first_block[0].names[0].startswith("xyz"): - self.is_cartesian = True - elif ( - len(components_first_block) == 1 - and components_first_block[0].names[0] == "o3_mu" - ): - self.is_spherical = True - else: - raise ValueError( - "The layout ``TensorMap`` of a target should be " - "either scalars, Cartesian tensors or spherical tensors. The type of " - "the target could not be determined." - ) - - if self.is_scalar: - if layout.keys.names != ["_"]: - raise ValueError( - "The layout ``TensorMap`` of a scalar target should have " - "a single key sample named '_'." - ) - if len(layout.blocks()) != 1: - raise ValueError( - "The layout ``TensorMap`` of a scalar target should have " - "a single block." - ) - gradients_names = layout.block(0).gradients_list() - for gradient_name in gradients_names: - if gradient_name not in ["positions", "strain"]: - raise ValueError( - "Only `positions` and `strain` gradients are supported for " - "scalar targets. " - f"Found '{gradient_name}' instead." - ) - if self.is_cartesian: - if layout.keys.names != ["_"]: - raise ValueError( - "The layout ``TensorMap`` of a Cartesian tensor target should have " - "a single key sample named '_'." - ) - if len(layout.blocks()) != 1: - raise ValueError( - "The layout ``TensorMap`` of a Cartesian tensor target should have " - "a single block." - ) - if len(layout.block(0).gradients_list()) > 0: - raise ValueError( - "Gradients of Cartesian tensor targets are not supported." - ) - - if self.is_spherical: - if layout.keys.names != ["o3_lambda", "o3_sigma"]: - raise ValueError( - "The layout ``TensorMap`` of a spherical tensor target " - "should have two keys named 'o3_lambda' and 'o3_sigma'." - f"Found '{layout.keys.names}' instead." - ) - for key, block in layout.items(): - o3_lambda, o3_sigma = int(key.values[0].item()), int( - key.values[1].item() - ) - if o3_sigma not in [-1, 1]: - raise ValueError( - "The layout ``TensorMap`` of a spherical tensor target should " - "have a key sample 'o3_sigma' that is either -1 or 1." - f"Found '{o3_sigma}' instead." - ) - if o3_lambda < 0: - raise ValueError( - "The layout ``TensorMap`` of a spherical tensor target should " - "have a key sample 'o3_lambda' that is non-negative." - f"Found '{o3_lambda}' instead." - ) - components = block.components - if len(components) != 1: - raise ValueError( - "The layout ``TensorMap`` of a spherical tensor target should " - "have a single component." - ) - if len(components[0]) != 2 * o3_lambda + 1: - raise ValueError( - "Each ``TensorBlock`` of a spherical tensor target should have " - "a component with 2*o3_lambda + 1 elements." - f"Found '{len(components[0])}' elements instead." - ) - if len(block.gradients_list()) > 0: - raise ValueError( - "Gradients of spherical tensor targets are not supported." - ) +from .target_info import TargetInfo class DatasetInfo: diff --git a/src/metatrain/utils/data/readers/__init__.py b/src/metatrain/utils/data/readers/__init__.py index 39ca25823..6694cd3bf 100644 --- a/src/metatrain/utils/data/readers/__init__.py +++ b/src/metatrain/utils/data/readers/__init__.py @@ -1,8 +1,4 @@ from .readers import ( # noqa: F401 - read_energy, - read_forces, - read_stress, read_systems, read_targets, - read_virial, ) diff --git a/src/metatrain/utils/data/readers/ase.py b/src/metatrain/utils/data/readers/ase.py index 400e81e15..c273387d6 100644 --- a/src/metatrain/utils/data/readers/ase.py +++ b/src/metatrain/utils/data/readers/ase.py @@ -1,10 +1,17 @@ +import logging import warnings -from typing import List +from typing import List, Tuple import ase.io import torch -from metatensor.torch import Labels, TensorBlock +from metatensor.torch import Labels, TensorBlock, TensorMap from metatensor.torch.atomistic import System, systems_to_torch +from omegaconf import DictConfig + +from ..target_info import TargetInfo, get_energy_target_info, get_generic_target_info + + +logger = logging.getLogger(__name__) def _wrapped_ase_io_read(filename): @@ -14,7 +21,7 @@ def _wrapped_ase_io_read(filename): raise ValueError(f"Failed to read '{filename}' with ASE: {e}") from e -def read_systems_ase(filename: str) -> List[System]: +def read_ase_systems(filename: str) -> List[System]: """Store system informations using ase. :param filename: name of the file to read @@ -182,3 +189,159 @@ def _read_virial_stress_ase( blocks.append(block) return blocks + + +def read_ase_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: + target_key = target["key"] + + blocks = read_energy_ase( + filename=target["read_from"], + key=target["key"], + ) + + if target["forces"]: + try: + position_gradients = read_forces_ase( + filename=target["forces"]["read_from"], + key=target["forces"]["key"], + ) + except Exception: + logger.warning(f"No forces found in section {target_key!r}.") + add_position_gradients = False + else: + logger.info( + f"Forces found in section {target_key!r}, " + "we will use this gradient to train the model" + ) + for block, position_gradient in zip(blocks, position_gradients): + block.add_gradient(parameter="positions", gradient=position_gradient) + add_position_gradients = True + + if target["stress"] and target["virial"]: + raise ValueError("Cannot use stress and virial at the same time") + + if target["stress"]: + try: + strain_gradients = read_stress_ase( + filename=target["stress"]["read_from"], + key=target["stress"]["key"], + ) + except Exception: + logger.warning(f"No stress found in section {target_key!r}.") + add_strain_gradients = False + else: + logger.info( + f"Stress found in section {target_key!r}, " + "we will use this gradient to train the model" + ) + for block, strain_gradient in zip(blocks, strain_gradients): + block.add_gradient(parameter="strain", gradient=strain_gradient) + add_strain_gradients = True + + if target["virial"]: + try: + strain_gradients = read_virial_ase( + filename=target["virial"]["read_from"], + key=target["virial"]["key"], + ) + except Exception: + logger.warning(f"No virial found in section {target_key!r}.") + add_strain_gradients = False + else: + logger.info( + f"Virial found in section {target_key!r}, " + "we will use this gradient to train the model" + ) + for block, strain_gradient in zip(blocks, strain_gradients): + block.add_gradient(parameter="strain", gradient=strain_gradient) + add_strain_gradients = True + tensor_map_list = [ + TensorMap( + keys=Labels(["_"], torch.tensor([[0]])), + blocks=[block], + ) + for block in blocks + ] + target_info = get_energy_target_info( + target, add_position_gradients, add_strain_gradients + ) + return tensor_map_list, target_info + + +def read_ase_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: + filename = target["read_from"] + frames = _wrapped_ase_io_read(filename) + + # we don't allow ASE to read spherical tensors with more than one irrep, + # otherwise it's a mess + if ( + isinstance(target["type"], dict) + and next(iter(target["type"].keys())) == "spherical" + ): + irreps = target["type"]["spherical"] + if len(irreps) > 1: + raise ValueError( + "The metatrain ASE reader does not support reading " + "spherical tensors with more than one irreducible " + "representation." + ) + + target_info = get_generic_target_info(target) + components = target_info.layout.block().components + properties = target_info.layout.block().properties + shape_after_samples = target_info.layout.block().shape[1:] + per_atom = target_info.per_atom + keys = target_info.layout.keys + + target_key = target["key"] + + tensor_maps = [] + for i_system, atoms in enumerate(frames): + + if not per_atom and target_key not in atoms.info: + raise ValueError( + f"Target key {target_key!r} was not found in system {filename!r} at " + f"index {i_system}" + ) + if per_atom and target_key not in atoms.arrays: + raise ValueError( + f"Target key {target_key!r} was not found in system {filename!r} at " + f"index {i_system}" + ) + + # here we reshape to allow for more flexibility; this is actually + # necessary for the `arrays`, which are stored in a 2D array + if per_atom: + values = torch.tensor( + atoms.arrays[target_key], dtype=torch.float64 + ).reshape([-1] + shape_after_samples) + else: + values = torch.tensor(atoms.info[target_key], dtype=torch.float64).reshape( + [-1] + shape_after_samples + ) + + samples = ( + Labels( + ["system", "atom"], + torch.tensor([[i_system, a] for a in range(len(values))]), + ) + if per_atom + else Labels( + ["system"], + torch.tensor([[i_system]]), + ) + ) + + block = TensorBlock( + values=values, + samples=samples, + components=components, + properties=properties, + ) + tensor_map = TensorMap( + keys=keys, + blocks=[block], + ) + tensor_maps.append(tensor_map) + + return tensor_maps, target_info diff --git a/src/metatrain/utils/data/readers/mts.py b/src/metatrain/utils/data/readers/mts.py new file mode 100644 index 000000000..653fac96e --- /dev/null +++ b/src/metatrain/utils/data/readers/mts.py @@ -0,0 +1,146 @@ +import logging +from typing import List, Tuple + +import torch +from metatensor.torch import TensorMap +from metatensor.torch.atomistic import System +from omegaconf import DictConfig + +from ..target_info import TargetInfo, get_energy_target_info, get_generic_target_info + + +logger = logging.getLogger(__name__) + + +def read_metatensor_systems(filename: str) -> List[System]: + """Read system information using metatensor. + + :param filename: name of the file to read + + :raises NotImplementedError: Serialization of systems is not yet + available in metatensor. + """ + raise NotImplementedError("Reading metatensor systems is not yet implemented.") + + +def _wrapped_metatensor_read(filename) -> List[TensorMap]: + try: + return torch.load(filename) + except Exception as e: + raise ValueError(f"Failed to read '{filename}' with torch: {e}") from e + + +def read_metatensor_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: + tensor_maps = _wrapped_metatensor_read(target["read_from"]) + + has_position_gradients = [] + has_strain_gradients = [] + for tensor_map in tensor_maps: + if len(tensor_map) != 1: + raise ValueError("Energy TensorMaps should have exactly one block.") + has_position_gradients.append( + "positions" in tensor_map.block().gradients_list() + ) + has_strain_gradients.append("strain" in tensor_map.block().gradients_list()) + + if not (all(has_position_gradients) or any(has_position_gradients)): + raise ValueError( + "Found a mix of targets with and without position gradients. " + "Either all targets should have position gradients or none." + ) + if not (all(has_strain_gradients) or any(has_strain_gradients)): + raise ValueError( + "Found a mix of targets with and without strain gradients. " + "Either all targets should have strain gradients or none." + ) + + add_position_gradients = all(has_position_gradients) + add_strain_gradients = all(has_strain_gradients) + target_info = get_energy_target_info( + target, add_position_gradients, add_strain_gradients + ) + + # now check all the expected metadata (from target_info.layout) matches + # the actual metadata in the tensor maps + _check_tensor_maps_metadata(tensor_maps, target_info.layout) + + return tensor_maps, target_info + + +def read_metatensor_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: + tensor_maps = _wrapped_metatensor_read(target["read_from"]) + + for tensor_map in tensor_maps: + for block in tensor_map.blocks(): + if len(block.gradients_list()) > 0: + raise ValueError("Only energy targets can have gradient blocks.") + + target_info = get_generic_target_info(target) + + _check_tensor_maps_metadata(tensor_maps, target_info.layout) + + return tensor_maps, target_info + + +def _check_tensor_maps_metadata(tensor_maps: List[TensorMap], layout: TensorMap): + for i, tensor_map in enumerate(tensor_maps): + if tensor_map.keys != layout.keys: + raise ValueError( + f"Unexpected keys in metatensor targets at index {i}: " + f"expected: {layout.keys} " + f"actual: {tensor_map.keys}" + ) + for key in layout.keys: + block = tensor_map.block(key) + block_from_layout = tensor_map.block(key) + if block.labels.names != block_from_layout.labels.names: + raise ValueError( + f"Unexpected samples in metatensor targets at index {i}: " + f"expected: {block_from_layout.labels.names} " + f"actual: {block.labels.names}" + ) + if block.components != block_from_layout.components: + raise ValueError( + f"Unexpected components in metatensor targets at index {i}: " + f"expected: {block_from_layout.components} " + f"actual: {block.components}" + ) + if block.properties != block_from_layout.properties: + raise ValueError( + f"Unexpected properties in metatensor targets at index {i}: " + f"expected: {block_from_layout.properties} " + f"actual: {block.properties}" + ) + if set(block.gradients_list()) != set(block_from_layout.gradients_list()): + raise ValueError( + f"Unexpected gradients in metatensor targets at index {i}: " + f"expected: {block_from_layout.gradients_list()} " + f"actual: {block.gradients_list()}" + ) + for name in block_from_layout.gradients_list(): + gradient_block = block.gradient(name) + gradient_block_from_layout = block_from_layout.gradient(name) + if ( + gradient_block.labels.names + != gradient_block_from_layout.labels.names + ): + raise ValueError( + f"Unexpected samples in metatensor targets at index {i} " + f"for `{name}` gradient block: " + f"expected: {gradient_block_from_layout.labels.names} " + f"actual: {gradient_block.labels.names}" + ) + if gradient_block.components != gradient_block_from_layout.components: + raise ValueError( + f"Unexpected components in metatensor targets at index {i} " + f"for `{name}` gradient block: " + f"expected: {gradient_block_from_layout.components} " + f"actual: {gradient_block.components}" + ) + if gradient_block.properties != gradient_block_from_layout.properties: + raise ValueError( + f"Unexpected properties in metatensor targets at index {i} " + f"for `{name}` gradient block: " + f"expected: {gradient_block_from_layout.properties} " + f"actual: {gradient_block.properties}" + ) diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index 7a6076143..652b0e1e6 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -1,10 +1,10 @@ import importlib import logging +import warnings from pathlib import Path -from typing import Any, Dict, List, Optional, Tuple +from typing import Dict, List, Optional, Tuple -import torch -from metatensor.torch import Labels, TensorBlock, TensorMap +from metatensor.torch import TensorMap from metatensor.torch.atomistic import System from omegaconf import DictConfig @@ -13,22 +13,17 @@ logger = logging.getLogger(__name__) -AVAILABLE_READERS = ["ase"] +AVAILABLE_READERS = ["ase", "metatensor"] """:py:class:`list`: list containing all implemented reader libraries""" -DEFAULT_READER = { - ".xyz": "ase", - ".extxyz": "ase", -} +DEFAULT_READER = {".xyz": "ase", ".extxyz": "ase", ".mts": "metatensor"} """:py:class:`dict`: dictionary mapping file extensions to a default reader""" -def _base_reader( - target: str, - filename: str, - reader: Optional[str] = None, - **reader_kwargs, -) -> List[Any]: +def _call_base_systems_reader( + filename: str, reader: Optional[str] = None +) -> List[System]: + if reader is None: try: file_suffix = Path(filename).suffix @@ -51,74 +46,18 @@ def _base_reader( ) try: - reader_met = getattr(reader_mod, f"read_{target}_{reader}") + reader_met = getattr(reader_mod, f"read_{reader}_systems") except AttributeError: - raise ValueError(f"Reader library {reader!r} can't read {target!r}.") + raise ValueError(f"Reader library {reader!r} can't read systems.") - data = reader_met(filename, **reader_kwargs) + systems = reader_met(filename) # elements in data are `torch.ScriptObject`s and their `dtype` is an integer. # A C++ double/torch.float64 is `7` according to # https://github.com/pytorch/pytorch/blob/207564bab1c4fe42750931765734ee604032fb69/c10/core/ScalarType.h#L54-L93 - assert all(d.dtype == 7 for d in data) + assert all(s.dtype == 7 for s in systems) - return data - - -def read_energy( - filename: str, - target_value: str = "energy", - reader: Optional[str] = None, -) -> List[TensorBlock]: - """Read energy informations from a file. - - :param filename: name of the file to read - :param target_value: target value key name to be parsed from the file. - :param reader: reader library for parsing the file. If :py:obj:`None` the library is - is tried to determined from the file extension. - :returns: energy stored stored in double precision as a - :class:`metatensor.TensorBlock` - """ - return _base_reader( - target="energy", filename=filename, reader=reader, key=target_value - ) - - -def read_forces( - filename: str, - target_value: str = "forces", - reader: Optional[str] = None, -) -> List[TensorBlock]: - """Read force informations from a file. - - :param filename: name of the file to read - :param target_value: target value key name to be parsed from the file - :param reader: reader library for parsing the file. If :py:obj:`None` the library is - is tried to determined from the file extension. - :returns: forces stored in double precision stored as a - :class:`metatensor.TensorBlock` - """ - return _base_reader( - target="forces", filename=filename, reader=reader, key=target_value - ) - - -def read_stress( - filename: str, - target_value: str = "stress", - reader: Optional[str] = None, -) -> List[TensorBlock]: - """Read stress informations from a file. - - :param filename: name of the file to read - :param target_value: target value key name to be parsed from the file. - :param reader: reader library for parsing the file. If :py:obj:`None` the library is - is tried to determined from the file extension. - :returns: stress stored in double precision as a :class:`metatensor.TensorBlock` - """ - return _base_reader( - target="stress", filename=filename, reader=reader, key=target_value - ) + return systems def read_systems( @@ -135,28 +74,50 @@ def read_systems( determined from the file extension. :returns: list of systems stored in double precision """ - return _base_reader(target="systems", filename=filename, reader=reader) + return _call_base_systems_reader(filename=filename, reader=reader) -def read_virial( - filename: str, - target_value: str = "virial", - reader: Optional[str] = None, -) -> List[TensorBlock]: - """Read virial informations from a file. +def _call_base_target_reader( + target: DictConfig, target_kind: str +) -> Tuple[List[TensorMap], TargetInfo]: + reader = target["reader"] + filename = target["read_from"] - :param filename: name of the file to read - :param target_value: target value key name to be parsed from the file. - :param reader: reader library for parsing the file. If :py:obj:`None` the library is - is tried to determined from the file extension. - :returns: virial stored in double precision as a :class:`metatensor.TensorBlock` - """ - return _base_reader( - target="virial", - filename=filename, - reader=reader, - key=target_value, - ) + if reader is None: + try: + file_suffix = Path(filename).suffix + reader = DEFAULT_READER[file_suffix] + except KeyError: + raise ValueError( + f"File extension {file_suffix!r} is not linked to a default reader " + "library. You can try reading it by setting a specific 'reader' from " + f"the known ones: {', '.join(AVAILABLE_READERS)} " + ) + + try: + reader_mod = importlib.import_module( + name=f".{reader}", package="metatrain.utils.data.readers" + ) + except ImportError: + raise ValueError( + f"Reader library {reader!r} not supported. Choose from " + f"{', '.join(AVAILABLE_READERS)}" + ) + + try: + reader_met = getattr(reader_mod, f"read_{reader}_{target_kind}") + except AttributeError: + raise ValueError(f"Reader library {reader!r} can't read {target!r}.") + + target_data_and_target_info = reader_met(target) + + # elements in data are `torch.ScriptObject`s and their `dtype` is an integer. + # A C++ double/torch.float64 is `7` according to + # https://github.com/pytorch/pytorch/blob/207564bab1c4fe42750931765734ee604032fb69/c10/core/ScalarType.h#L54-L93 + data = target_data_and_target_info[0] + assert all(d.dtype == 7 for d in data) + + return target_data_and_target_info def read_targets( @@ -188,14 +149,14 @@ def read_targets( standard_outputs_list = ["energy"] for target_key, target in conf.items(): - target_info_gradients: List[str] = [] is_standard_target = target_key in standard_outputs_list if not is_standard_target and not target_key.startswith("mtt::"): if target_key.lower() in ["force", "forces", "virial", "stress"]: - raise ValueError( - f"{target_key!r} should not be it's own top-level target, " - "but rather a sub-section of the 'energy' target" + warnings.warn( + f"{target_key!r} should not be its own top-level target, " + "but rather a sub-section of the 'energy' target", + stacklevel=2, ) else: raise ValueError( @@ -203,123 +164,17 @@ def read_targets( f"{standard_outputs_list} or start with `mtt::`." ) - if target["quantity"] == "energy": - blocks = read_energy( - filename=target["read_from"], - target_value=target["key"], - reader=target["reader"], - ) - - if target["forces"]: - try: - position_gradients = read_forces( - filename=target["forces"]["read_from"], - target_value=target["forces"]["key"], - reader=target["forces"]["reader"], - ) - except Exception: - logger.warning(f"No forces found in section {target_key!r}.") - else: - logger.info( - f"Forces found in section {target_key!r}, " - "we will use this gradient to train the model" - ) - for block, position_gradient in zip(blocks, position_gradients): - block.add_gradient( - parameter="positions", gradient=position_gradient - ) - - target_info_gradients.append("positions") - - if target["stress"] and target["virial"]: - raise ValueError("Cannot use stress and virial at the same time") - - if target["stress"]: - try: - strain_gradients = read_stress( - filename=target["stress"]["read_from"], - target_value=target["stress"]["key"], - reader=target["stress"]["reader"], - ) - except Exception: - logger.warning(f"No stress found in section {target_key!r}.") - else: - logger.info( - f"Stress found in section {target_key!r}, " - "we will use this gradient to train the model" - ) - for block, strain_gradient in zip(blocks, strain_gradients): - block.add_gradient(parameter="strain", gradient=strain_gradient) - - target_info_gradients.append("strain") - - if target["virial"]: - try: - strain_gradients = read_virial( - filename=target["virial"]["read_from"], - target_value=target["virial"]["key"], - reader=target["virial"]["reader"], - ) - except Exception: - logger.warning(f"No virial found in section {target_key!r}.") - else: - logger.info( - f"Virial found in section {target_key!r}, " - "we will use this gradient to train the model" - ) - for block, strain_gradient in zip(blocks, strain_gradients): - block.add_gradient(parameter="strain", gradient=strain_gradient) - - target_info_gradients.append("strain") - else: - raise ValueError( - f"Quantity: {target['quantity']!r} is not supported. Choose 'energy'." - ) - - target_dictionary[target_key] = [ - TensorMap( - keys=Labels(["_"], torch.tensor([[0]])), - blocks=[block], - ) - for block in blocks - ] - - target_info_dictionary[target_key] = TargetInfo( - quantity=target["quantity"], - unit=target["unit"], - layout=_empty_tensor_map_like(target_dictionary[target_key][0]), + is_energy = ( + (target["quantity"] == "energy") + and (not target["per_atom"]) + and target["num_properties"] == 1 + and target["type"] == "scalar" + ) + energy_or_generic = "energy" if is_energy else "generic" + targets_as_list_of_tensor_maps, target_info = _call_base_target_reader( + target, energy_or_generic ) + target_dictionary[target_key] = targets_as_list_of_tensor_maps + target_info_dictionary[target_key] = target_info return target_dictionary, target_info_dictionary - - -def _empty_tensor_map_like(tensor_map: TensorMap) -> TensorMap: - new_keys = tensor_map.keys - new_blocks: List[TensorBlock] = [] - for block in tensor_map.blocks(): - new_block = _empty_tensor_block_like(block) - new_blocks.append(new_block) - return TensorMap(keys=new_keys, blocks=new_blocks) - - -def _empty_tensor_block_like(tensor_block: TensorBlock) -> TensorBlock: - new_block = TensorBlock( - values=torch.empty( - (0,) + tensor_block.values.shape[1:], - dtype=torch.float64, # metatensor can't serialize otherwise - device=tensor_block.values.device, - ), - samples=Labels( - names=tensor_block.samples.names, - values=torch.empty( - (0, tensor_block.samples.values.shape[1]), - dtype=tensor_block.samples.values.dtype, - device=tensor_block.samples.values.device, - ), - ), - components=tensor_block.components, - properties=tensor_block.properties, - ) - for gradient_name, gradient in tensor_block.gradients(): - new_block.add_gradient(gradient_name, _empty_tensor_block_like(gradient)) - return new_block diff --git a/src/metatrain/utils/data/target_info.py b/src/metatrain/utils/data/target_info.py new file mode 100644 index 000000000..9bb0e0c2e --- /dev/null +++ b/src/metatrain/utils/data/target_info.py @@ -0,0 +1,392 @@ +from typing import List, Union + +import metatensor.torch +import torch +from metatensor.torch import Labels, TensorBlock, TensorMap +from omegaconf import DictConfig + + +class TargetInfo: + """A class that contains information about a target. + + :param quantity: The physical quantity of the target (e.g., "energy"). + :param layout: The layout of the target, as a ``TensorMap`` with 0 samples. + This ``TensorMap`` will be used to retrieve the names of + the ``samples``, as well as the ``components`` and ``properties`` of the + target and their gradients. For example, this allows to infer the type of + the target (scalar, Cartesian tensor, spherical tensor), whether it is per + atom, the names of its gradients, etc. + :param unit: The unit of the target. If :py:obj:`None` the ``unit`` will be set to + an empty string ``""``. + """ + + def __init__( + self, + quantity: str, + layout: TensorMap, + unit: Union[None, str] = "", + ): + # one of these will be set to True inside the _check_layout method + self.is_scalar = False + self.is_cartesian = False + self.is_spherical = False + + self._check_layout(layout) + + self.quantity = quantity # float64: otherwise metatensor can't serialize + self.layout = layout + self.unit = unit if unit is not None else "" + + @property + def gradients(self) -> List[str]: + """Sorted and unique list of gradient names.""" + if self.is_scalar: + return sorted(self.layout.block().gradients_list()) + else: + return [] + + @property + def per_atom(self) -> bool: + """Whether the target is per atom.""" + return "atom" in self.layout.block(0).samples.names + + def __repr__(self): + return ( + f"TargetInfo(quantity={self.quantity!r}, unit={self.unit!r}, " + f"layout={self.layout!r})" + ) + + def __eq__(self, other): + if not isinstance(other, TargetInfo): + raise NotImplementedError( + "Comparison between a TargetInfo instance and a " + f"{type(other).__name__} instance is not implemented." + ) + return ( + self.quantity == other.quantity + and self.unit == other.unit + and metatensor.torch.equal(self.layout, other.layout) + ) + + def _check_layout(self, layout: TensorMap) -> None: + """Check that the layout is a valid layout.""" + + # examine basic properties of all blocks + for block in layout.blocks(): + for sample_name in block.samples.names: + if sample_name not in ["system", "atom"]: + raise ValueError( + "The layout ``TensorMap`` of a target should only have samples " + "named 'system' or 'atom', but found " + f"'{sample_name}' instead." + ) + if len(block.values) != 0: + raise ValueError( + "The layout ``TensorMap`` of a target should have 0 " + f"samples, but found {len(block.values)} samples." + ) + + # examine the components of the first block to decide whether this is + # a scalar, a Cartesian tensor or a spherical tensor + + if len(layout) == 0: + raise ValueError( + "The layout ``TensorMap`` of a target should have at least one " + "block, but found 0 blocks." + ) + components_first_block = layout.block(0).components + if len(components_first_block) == 0: + self.is_scalar = True + elif components_first_block[0].names[0].startswith("xyz"): + self.is_cartesian = True + elif ( + len(components_first_block) == 1 + and components_first_block[0].names[0] == "o3_mu" + ): + self.is_spherical = True + else: + raise ValueError( + "The layout ``TensorMap`` of a target should be " + "either scalars, Cartesian tensors or spherical tensors. The type of " + "the target could not be determined." + ) + + if self.is_scalar: + if layout.keys.names != ["_"]: + raise ValueError( + "The layout ``TensorMap`` of a scalar target should have " + "a single key sample named '_'." + ) + if len(layout.blocks()) != 1: + raise ValueError( + "The layout ``TensorMap`` of a scalar target should have " + "a single block." + ) + gradients_names = layout.block(0).gradients_list() + for gradient_name in gradients_names: + if gradient_name not in ["positions", "strain"]: + raise ValueError( + "Only `positions` and `strain` gradients are supported for " + "scalar targets. " + f"Found '{gradient_name}' instead." + ) + if self.is_cartesian: + if layout.keys.names != ["_"]: + raise ValueError( + "The layout ``TensorMap`` of a Cartesian tensor target should have " + "a single key sample named '_'." + ) + if len(layout.blocks()) != 1: + raise ValueError( + "The layout ``TensorMap`` of a Cartesian tensor target should have " + "a single block." + ) + if len(layout.block(0).gradients_list()) > 0: + raise ValueError( + "Gradients of Cartesian tensor targets are not supported." + ) + + if self.is_spherical: + if layout.keys.names != ["o3_lambda", "o3_sigma"]: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target " + "should have two keys named 'o3_lambda' and 'o3_sigma'." + f"Found '{layout.keys.names}' instead." + ) + for key, block in layout.items(): + o3_lambda, o3_sigma = int(key.values[0].item()), int( + key.values[1].item() + ) + if o3_sigma not in [-1, 1]: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target should " + "have a key sample 'o3_sigma' that is either -1 or 1." + f"Found '{o3_sigma}' instead." + ) + if o3_lambda < 0: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target should " + "have a key sample 'o3_lambda' that is non-negative." + f"Found '{o3_lambda}' instead." + ) + components = block.components + if len(components) != 1: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target should " + "have a single component." + ) + if len(components[0]) != 2 * o3_lambda + 1: + raise ValueError( + "Each ``TensorBlock`` of a spherical tensor target should have " + "a component with 2*o3_lambda + 1 elements." + f"Found '{len(components[0])}' elements instead." + ) + if len(block.gradients_list()) > 0: + raise ValueError( + "Gradients of spherical tensor targets are not supported." + ) + + +def get_energy_target_info( + target: DictConfig, + add_position_gradients: bool = False, + add_strain_gradients: bool = False, +) -> TargetInfo: + + block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 1, dtype=torch.float64), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[], + properties=Labels.range("energy", 1), + ) + + if add_position_gradients: + position_gradient_block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 1, dtype=torch.float64), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), + ) + block.add_gradient("positions", position_gradient_block) + + if add_strain_gradients: + strain_gradient_block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 3, 1, dtype=torch.float64), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz_1"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + Labels( + names=["xyz_2"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), + ) + block.add_gradient("strain", strain_gradient_block) + + layout = TensorMap( + keys=Labels.single(), + blocks=[block], + ) + + target_info = TargetInfo( + quantity=target["quantity"], + unit=target["unit"], + layout=layout, + ) + return target_info + + +def get_generic_target_info(target: DictConfig) -> TargetInfo: + if target["type"] == "scalar": + return _get_scalar_target_info(target) + elif len(target["type"]) == 1 and next(iter(target["type"])).lower() == "cartesian": + return _get_cartesian_target_info(target) + elif len(target["type"]) == 1 and next(iter(target["type"])) == "spherical": + return _get_spherical_target_info(target) + else: + raise ValueError( + f"Target type {target['type']} is not supported. " + "Supported types are 'scalar', 'cartesian' and 'spherical'." + ) + + +def _get_scalar_target_info(target: DictConfig) -> TargetInfo: + sample_names = ["system"] + if target["per_atom"]: + sample_names.append("atom") + + block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, target["num_properties"], dtype=torch.float64), + samples=Labels( + names=sample_names, + values=torch.empty((0, len(sample_names)), dtype=torch.int32), + ), + components=[], + properties=Labels.range("properties", target["num_properties"]), + ) + layout = TensorMap( + keys=Labels.single(), + blocks=[block], + ) + + target_info = TargetInfo( + quantity=target["quantity"], + unit=target["unit"], + layout=layout, + ) + return target_info + + +def _get_cartesian_target_info(target: DictConfig) -> TargetInfo: + sample_names = ["system"] + if target["per_atom"]: + sample_names.append("atom") + + cartesian_key = next(iter(target["type"])) + + if target["type"][cartesian_key]["rank"] == 1: + components = [Labels(["xyz"], torch.arange(3).reshape(-1, 1))] + else: + components = [] + for component in range(target["rank"][cartesian_key]): + components.append( + Labels( + names=[f"xyz_{component}"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ) + ) + + block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty( + [0] + [3] * len(components) + [target["num_properties"]], + dtype=torch.float64, + ), + samples=Labels( + names=sample_names, + values=torch.empty((0, len(sample_names)), dtype=torch.int32), + ), + components=components, + properties=Labels.range("properties", target["num_properties"]), + ) + layout = TensorMap( + keys=Labels.single(), + blocks=[block], + ) + + target_info = TargetInfo( + quantity=target["quantity"], + unit=target["unit"], + layout=layout, + ) + return target_info + + +def _get_spherical_target_info(target: DictConfig) -> TargetInfo: + sample_names = ["system"] + if target["per_atom"]: + sample_names.append("atom") + + irreps = target["type"]["spherical"] + keys = [] + blocks = [] + for irrep in irreps: + components = [ + Labels( + names=["o3_mu"], + values=torch.arange( + 2 * irrep["o3_lambda"] + 1, dtype=torch.int32 + ).reshape(-1, 1), + ) + ] + block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty( + 0, + 2 * irrep["o3_lambda"] + 1, + target["num_properties"], + dtype=torch.float64, + ), + samples=Labels( + names=sample_names, + values=torch.empty((0, len(sample_names)), dtype=torch.int32), + ), + components=components, + properties=Labels.range("properties", target["num_properties"]), + ) + keys.append([irrep["o3_lambda"], irrep["o3_sigma"]]) + blocks.append(block) + + layout = TensorMap( + keys=Labels(["o3_lambda", "o3_sigma"], torch.tensor(keys, dtype=torch.int32)), + blocks=blocks, + ) + + target_info = TargetInfo( + quantity=target["quantity"], + unit=target["unit"], + layout=layout, + ) + return target_info diff --git a/src/metatrain/utils/data/writers/xyz.py b/src/metatrain/utils/data/writers/xyz.py index f87f125d3..553432689 100644 --- a/src/metatrain/utils/data/writers/xyz.py +++ b/src/metatrain/utils/data/writers/xyz.py @@ -56,13 +56,16 @@ def write_xyz( block = target_map.block() if "atom" in block.samples.names: # save inside arrays - arrays[target_name] = block.values.detach().cpu().numpy() + values = block.values.detach().cpu().numpy() + arrays[target_name] = values.reshape(values.shape[0], -1) + # reshaping here is necessary because `arrays` only accepts 2D arrays else: # save inside info if block.values.numel() == 1: info[target_name] = block.values.item() else: - info[target_name] = block.values.detach().cpu().numpy() + info[target_name] = block.values.detach().cpu().numpy().squeeze(0) + # squeeze the sample dimension, which corresponds to the system for gradient_name, gradient_block in block.gradients(): # here, we assume that gradients are always an array, and never a scalar diff --git a/src/metatrain/utils/omegaconf.py b/src/metatrain/utils/omegaconf.py index 3a223df5d..78087ef78 100644 --- a/src/metatrain/utils/omegaconf.py +++ b/src/metatrain/utils/omegaconf.py @@ -96,6 +96,9 @@ def _resolve_single_str(config: str) -> DictConfig: "reader": None, "key": None, "unit": None, + "per_atom": False, + "type": "scalar", + "num_properties": 1, } ) @@ -108,7 +111,7 @@ def _resolve_single_str(config: str) -> DictConfig: } ) -KNWON_GRADIENTS = list(CONF_GRADIENTS.keys()) +KNOWN_GRADIENTS = list(CONF_GRADIENTS.keys()) # Merge configs to get default configs for energies and other targets CONF_TARGET = OmegaConf.merge(CONF_TARGET_FIELDS, CONF_GRADIENTS) @@ -242,6 +245,9 @@ def expand_dataset_config(conf: Union[str, DictConfig, ListConfig]) -> ListConfi else: target = OmegaConf.merge(CONF_TARGET, target) + if target["type"] != "scalar": + _check_non_scalar_target_type(target["type"]) + if target["key"] is None: target["key"] = target_key @@ -253,7 +259,7 @@ def expand_dataset_config(conf: Union[str, DictConfig, ListConfig]) -> ListConfi for gradient_key, gradient_conf in conf_element["targets"][ target_key ].items(): - if gradient_key in KNWON_GRADIENTS: + if gradient_key in KNOWN_GRADIENTS: if gradient_conf is True: gradient_conf = CONF_GRADIENT.copy() elif type(gradient_conf) is str: @@ -352,3 +358,45 @@ def check_units( f"Target {target!r} is not present in one of the given dataset " "options." ) + + +def _check_non_scalar_target_type(target_type: Any) -> None: + if not isinstance(target_type, dict): + raise ValueError("Non-scalar target type must be a dictionary.") + if len(target_type) != 1: + raise ValueError("Non-scalar target type must have exactly one key.") + dict_key = next(iter(target_type.keys())) + if dict_key.lower() not in ["cartesian", "spherical"]: + raise ValueError( + "Non-scalar target `type` must be either `cartesian` or `spherical`." + ) + if dict_key.lower() == "cartesian": + if not isinstance(target_type[dict_key], dict): + raise ValueError( + "Cartesian target `type` must be a dictionary of the type " + "`{'rank': integer}`." + ) + if "rank" not in target_type[dict_key]: + raise ValueError( + "Cartesian target `type` must have a `rank` key, corresponding " + "to an integer value." + ) + if dict_key.lower() == "spherical": + if not isinstance(target_type[dict_key], list): + raise ValueError( + "Spherical target `type` must be a list where each element is a " + "dictionary of the type `{`o3_lambda`: integer, `o3_sigma`: integer}`." + ) + for element in target_type[dict_key]: + if not isinstance(element, dict): + raise ValueError( + "Spherical target `type` must be a list where each element is a " + "dictionary of the type " + "`{`o3_lambda`: integer, `o3_sigma`: integer}`." + ) + if "o3_lambda" not in element or "o3_sigma" not in element: + raise ValueError( + "Spherical target `type` must be a list where each element is a " + "dictionary of the type " + "`{`o3_lambda`: integer, `o3_sigma`: integer}`." + ) diff --git a/src/metatrain/utils/testing.py b/src/metatrain/utils/testing.py deleted file mode 100644 index faedbdb00..000000000 --- a/src/metatrain/utils/testing.py +++ /dev/null @@ -1,76 +0,0 @@ -# This file contains some example TensorMap layouts that can be -# used for testing purposes. - -import torch -from metatensor.torch import Labels, TensorBlock, TensorMap - - -block = TensorBlock( - # float64: otherwise metatensor can't serialize - values=torch.empty(0, 1, dtype=torch.float64), - samples=Labels( - names=["system"], - values=torch.empty((0, 1), dtype=torch.int32), - ), - components=[], - properties=Labels.range("energy", 1), -) -energy_layout = TensorMap( - keys=Labels.single(), - blocks=[block], -) - -block_with_position_gradients = block.copy() -position_gradient_block = TensorBlock( - # float64: otherwise metatensor can't serialize - values=torch.empty(0, 3, 1, dtype=torch.float64), - samples=Labels( - names=["sample", "atom"], - values=torch.empty((0, 2), dtype=torch.int32), - ), - components=[ - Labels( - names=["xyz"], - values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), - ), - ], - properties=Labels.range("energy", 1), -) -block_with_position_gradients.add_gradient("positions", position_gradient_block) -energy_force_layout = TensorMap( - keys=Labels.single(), - blocks=[block_with_position_gradients], -) - -block_with_position_and_strain_gradients = block_with_position_gradients.copy() -strain_gradient_block = TensorBlock( - # float64: otherwise metatensor can't serialize - values=torch.empty(0, 3, 3, 1, dtype=torch.float64), - samples=Labels( - names=["sample", "atom"], - values=torch.empty((0, 2), dtype=torch.int32), - ), - components=[ - Labels( - names=["xyz_1"], - values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), - ), - Labels( - names=["xyz_2"], - values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), - ), - ], - properties=Labels.range("energy", 1), -) -block_with_position_and_strain_gradients.add_gradient("strain", strain_gradient_block) -energy_force_stress_layout = TensorMap( - keys=Labels.single(), - blocks=[block_with_position_and_strain_gradients], -) - -block_with_strain_gradients = block.copy() -block_with_strain_gradients.add_gradient("strain", strain_gradient_block) -energy_stress_layout = TensorMap( - keys=Labels.single(), - blocks=[block_with_strain_gradients], -) diff --git a/tests/resources/options.yaml b/tests/resources/options.yaml index 977c68e9f..bb3c66aa4 100644 --- a/tests/resources/options.yaml +++ b/tests/resources/options.yaml @@ -8,12 +8,16 @@ architecture: training_set: systems: - read_from: qm9_reduced_100.xyz + read_from: carbon_reduced_100.xyz length_unit: angstrom targets: energy: - key: U0 + key: energy unit: eV + forces: + key: force + virial: + key: virial test_set: 0.5 validation_set: 0.1 diff --git a/tests/resources/test.yaml b/tests/resources/test.yaml new file mode 100644 index 000000000..548e9afe0 --- /dev/null +++ b/tests/resources/test.yaml @@ -0,0 +1,21 @@ +seed: 42 + +architecture: + name: experimental.soap_bpnn + training: + batch_size: 2 + num_epochs: 1 + +training_set: + systems: + read_from: ethanol_reduced_100.xyz + length_unit: angstrom + targets: + forces: + quantity: force + key: forces + per_atom: true + num_properties: 3 + +test_set: 0.5 +validation_set: 0.1 diff --git a/tests/utils/data/readers/test_ase.py b/tests/utils/data/readers/test_ase.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/utils/data/readers/test_mts.py b/tests/utils/data/readers/test_mts.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/utils/data/test_readers.py b/tests/utils/data/readers/test_readers.py similarity index 100% rename from tests/utils/data/test_readers.py rename to tests/utils/data/readers/test_readers.py diff --git a/tests/utils/data/test_target_info.py b/tests/utils/data/test_target_info.py new file mode 100644 index 000000000..8e98cb6c3 --- /dev/null +++ b/tests/utils/data/test_target_info.py @@ -0,0 +1,117 @@ +import pytest +from omegaconf import DictConfig + +from metatrain.utils.data.target_info import ( + get_energy_target_info, + get_generic_target_info, +) + + +@pytest.fixture +def energy_target_config() -> DictConfig: + return DictConfig( + { + "quantity": "energy", + "unit": "eV", + "per_atom": False, + "num_properties": 1, + "type": "scalar", + } + ) + + +@pytest.fixture +def scalar_target_config() -> DictConfig: + return DictConfig( + { + "quantity": "scalar", + "unit": "", + "per_atom": False, + "num_properties": 10, + "type": "scalar", + } + ) + + +@pytest.fixture +def cartesian_target_config() -> DictConfig: + return DictConfig( + { + "quantity": "dipole", + "unit": "D", + "per_atom": True, + "num_properties": 5, + "type": { + "Cartesian": { + "rank": 1, + } + }, + } + ) + + +@pytest.fixture +def spherical_target_config() -> DictConfig: + return DictConfig( + { + "quantity": "spherical", + "unit": "", + "per_atom": False, + "num_properties": 1, + "type": { + "spherical": [ + {"o3_lambda": 0, "o3_sigma": 1}, + {"o3_lambda": 2, "o3_sigma": 1}, + ], + }, + } + ) + + +def test_layout_energy(energy_target_config): + + target_info = get_energy_target_info(energy_target_config) + assert target_info.quantity == "energy" + assert target_info.unit == "eV" + assert target_info.per_atom is False + assert target_info.gradients == [] + + target_info = get_energy_target_info( + energy_target_config, add_position_gradients=True + ) + assert target_info.quantity == "energy" + assert target_info.unit == "eV" + assert target_info.per_atom is False + assert target_info.gradients == ["positions"] + + target_info = get_energy_target_info( + energy_target_config, add_position_gradients=True, add_strain_gradients=True + ) + assert target_info.quantity == "energy" + assert target_info.unit == "eV" + assert target_info.per_atom is False + assert target_info.gradients == ["positions", "strain"] + + +def test_layout_scalar(scalar_target_config): + target_info = get_generic_target_info(scalar_target_config) + assert target_info.quantity == "scalar" + assert target_info.unit == "" + assert target_info.per_atom is False + assert target_info.gradients == [] + + +def test_layout_cartesian(cartesian_target_config): + target_info = get_generic_target_info(cartesian_target_config) + assert target_info.quantity == "dipole" + assert target_info.unit == "D" + assert target_info.per_atom is True + assert target_info.gradients == [] + + +def test_layout_spherical(spherical_target_config): + target_info = get_generic_target_info(spherical_target_config) + assert target_info.quantity == "spherical" + assert target_info.unit == "" + assert target_info.per_atom is False + assert target_info.gradients == [] diff --git a/tests/utils/data/test_target_writers.py b/tests/utils/data/test_target_writers.py index 190d37fbe..b49db6c9d 100644 --- a/tests/utils/data/test_target_writers.py +++ b/tests/utils/data/test_target_writers.py @@ -85,6 +85,93 @@ def test_write_xyz(monkeypatch, tmp_path): assert all(atoms.pbc == 3 * [False]) +def test_write_components_and_properties_xyz(monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + systems, _, _ = systems_capabilities_predictions() + + capabilities = ModelCapabilities( + length_unit="angstrom", + outputs={"energy": ModelOutput(quantity="dos", unit="")}, + interaction_range=1.0, + dtype="float32", + ) + + predictions = { + "dos": TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.rand(2, 3, 100), + samples=Labels(["system"], torch.tensor([[0], [1]])), + components=[ + Labels.range("xyz", 3), + ], + properties=Labels( + ["property"], + torch.arange(100, dtype=torch.int32).reshape(-1, 1), + ), + ) + ], + ) + } + + filename = "test_output.xyz" + + write_xyz(filename, systems, capabilities, predictions) + + # Read the file and verify its contents + frames = ase.io.read(filename, index=":") + assert len(frames) == len(systems) + for atoms in frames: + assert atoms.info["dos"].shape == (3, 100) + + +def test_write_components_and_properties_xyz_per_atom(monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + systems, _, _ = systems_capabilities_predictions() + + capabilities = ModelCapabilities( + length_unit="angstrom", + outputs={"energy": ModelOutput(quantity="dos", unit="", per_atom=True)}, + interaction_range=1.0, + dtype="float32", + ) + + predictions = { + "dos": TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.rand(4, 3, 100), + samples=Labels( + ["system", "atom"], + torch.tensor([[0, 0], [0, 1], [1, 0], [1, 1]]), + ), + components=[ + Labels.range("xyz", 3), + ], + properties=Labels( + ["property"], + torch.arange(100, dtype=torch.int32).reshape(-1, 1), + ), + ) + ], + ) + } + + filename = "test_output.xyz" + + write_xyz(filename, systems, capabilities, predictions) + + # Read the file and verify its contents + frames = ase.io.read(filename, index=":") + assert len(frames) == len(systems) + for atoms in frames: + assert atoms.arrays["dos"].shape == (2, 300) + + def test_write_xyz_cell(monkeypatch, tmp_path): monkeypatch.chdir(tmp_path) @@ -99,10 +186,14 @@ def test_write_xyz_cell(monkeypatch, tmp_path): # Read the file and verify its contents frames = ase.io.read(filename, index=":") - for atoms in frames: + for i, atoms in enumerate(frames): cell_actual = torch.tensor(atoms.cell.array, dtype=cell_expected.dtype) torch.testing.assert_close(cell_actual, cell_expected) assert all(atoms.pbc == 3 * [True]) + assert atoms.info["energy"] == float(predictions["energy"].block().values[i, 0]) + assert atoms.arrays["forces"].shape == (2, 3) + assert atoms.info["stress"].shape == (3, 3) + assert atoms.info["virial"].shape == (3, 3) @pytest.mark.parametrize("fileformat", (None, ".xyz")) diff --git a/tests/utils/data/test_targets_ase.py b/tests/utils/data/test_targets_ase.py index 9444216ff..05269eb94 100644 --- a/tests/utils/data/test_targets_ase.py +++ b/tests/utils/data/test_targets_ase.py @@ -9,10 +9,10 @@ import torch from metatrain.utils.data.readers.ase import ( + read_ase_systems, read_energy_ase, read_forces_ase, read_stress_ase, - read_systems_ase, read_virial_ase, ) @@ -40,7 +40,7 @@ def test_read_ase(monkeypatch, tmp_path): systems = ase_system() ase.io.write(filename, systems) - result = read_systems_ase(filename) + result = read_ase_systems(filename) assert isinstance(result, list) assert len(result) == 1 From cf62ee7b32f7ca5ee2f8cf1d5f49bf77386ec3f5 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 1 Nov 2024 12:33:06 +0100 Subject: [PATCH 049/126] Upgrade rascaline-torch --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f75f0c018..bec22e930 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,7 +59,7 @@ build-backend = "setuptools.build_meta" [project.optional-dependencies] soap-bpnn = [ - "rascaline-torch @ git+https://github.com/luthaf/rascaline@b70b19e#subdirectory=python/rascaline-torch", + "rascaline-torch @ git+https://github.com/luthaf/rascaline@5326b6e#subdirectory=python/rascaline-torch", ] alchemical-model = [ "torch_alchemical @ git+https://github.com/abmazitov/torch_alchemical.git@51ff519", @@ -68,7 +68,7 @@ pet = [ "pet @ git+https://github.com/lab-cosmo/pet@7eddb2e", ] gap = [ - "rascaline-torch @ git+https://github.com/luthaf/rascaline@b70b19e#subdirectory=python/rascaline-torch", + "rascaline-torch @ git+https://github.com/luthaf/rascaline@5326b6e#subdirectory=python/rascaline-torch", "skmatter", "metatensor-learn", "scipy", From 0ebcc9aba44ff12aa06b90b35725e7f8ae018796 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sat, 2 Nov 2024 01:34:31 +0100 Subject: [PATCH 050/126] Fix `slice` argument name --- src/metatrain/experimental/pet/model.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/metatrain/experimental/pet/model.py b/src/metatrain/experimental/pet/model.py index 512dc319b..d0d21d73f 100644 --- a/src/metatrain/experimental/pet/model.py +++ b/src/metatrain/experimental/pet/model.py @@ -112,9 +112,7 @@ def forward( values=predictions, ) if selected_atoms is not None: - block = metatensor.torch.slice_block( - block, axis="samples", labels=selected_atoms - ) + block = metatensor.torch.slice_block(block, "samples", selected_atoms) output_tmap = TensorMap(keys=empty_labels, blocks=[block]) if not outputs[output_name].per_atom: output_tmap = metatensor.torch.sum_over_samples(output_tmap, "atom") From d85052896ecd7b3e40c3586a60cace53bd8fab7a Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 4 Nov 2024 11:03:09 +0100 Subject: [PATCH 051/126] Merge branch 'adapt-models' into nanopet --- .../src/advanced-concepts/auto-restarting.rst | 12 + docs/src/advanced-concepts/index.rst | 1 + .../llpr_forces/ethanol_reduced_100.xyz | 1 + .../programmatic/llpr_forces/force_llpr.py | 229 ++++++++++ .../programmatic/llpr_forces/options.yaml | 35 ++ examples/programmatic/llpr_forces/readme.txt | 4 + examples/programmatic/llpr_forces/split.py | 13 + pyproject.toml | 10 +- src/metatrain/cli/eval.py | 82 +++- src/metatrain/cli/train.py | 38 +- .../experimental/alchemical_model/model.py | 1 + .../alchemical_model/tests/test_exported.py | 8 +- .../tests/test_functionality.py | 8 +- .../alchemical_model/tests/test_invariance.py | 7 +- .../alchemical_model/tests/test_regression.py | 6 +- .../test_torch_alchemical_compatibility.py | 8 +- .../tests/test_torchscript.py | 11 +- .../experimental/alchemical_model/trainer.py | 15 +- .../experimental/gap/tests/test_errors.py | 10 +- .../experimental/gap/tests/test_regression.py | 21 +- .../gap/tests/test_torchscript.py | 15 +- src/metatrain/experimental/nanopet/model.py | 131 ++++-- .../nanopet/modules/augmentation.py | 131 +++--- .../experimental/nanopet/modules/encoder.py | 8 +- .../nanopet/tests/print_energies.py | 14 +- .../nanopet/tests/test_nanopet.py | 4 +- src/metatrain/experimental/nanopet/trainer.py | 15 +- src/metatrain/experimental/pet/model.py | 5 +- .../experimental/pet/tests/test_exported.py | 8 +- .../pet/tests/test_functionality.py | 18 +- .../pet/tests/test_pet_compatibility.py | 11 +- .../pet/tests/test_torchscript.py | 11 +- src/metatrain/experimental/soap_bpnn/model.py | 195 ++++++++- .../soap_bpnn/tests/test_continue.py | 9 +- .../soap_bpnn/tests/test_exported.py | 8 +- .../soap_bpnn/tests/test_functionality.py | 24 +- .../soap_bpnn/tests/test_invariance.py | 7 +- .../soap_bpnn/tests/test_regression.py | 7 +- .../soap_bpnn/tests/test_torchscript.py | 17 +- .../experimental/soap_bpnn/trainer.py | 15 +- src/metatrain/share/schema-dataset.json | 53 +++ src/metatrain/utils/additive/composition.py | 28 +- src/metatrain/utils/additive/remove.py | 19 +- src/metatrain/utils/additive/zbl.py | 1 + src/metatrain/utils/data/__init__.py | 14 +- src/metatrain/utils/data/dataset.py | 167 +------ src/metatrain/utils/data/extract_targets.py | 48 -- src/metatrain/utils/data/get_dataset.py | 8 +- src/metatrain/utils/data/readers/__init__.py | 4 - src/metatrain/utils/data/readers/ase.py | 169 +++++++- src/metatrain/utils/data/readers/mts.py | 146 +++++++ src/metatrain/utils/data/readers/readers.py | 265 ++++-------- src/metatrain/utils/data/target_info.py | 392 +++++++++++++++++ src/metatrain/utils/data/writers/xyz.py | 7 +- src/metatrain/utils/evaluate_model.py | 6 +- src/metatrain/utils/llpr.py | 111 ++++- src/metatrain/utils/metrics.py | 4 +- src/metatrain/utils/neighbor_lists.py | 68 ++- src/metatrain/utils/omegaconf.py | 7 +- tests/cli/test_eval_model.py | 5 +- tests/cli/test_export_model.py | 9 +- tests/cli/test_train_model.py | 7 +- tests/resources/options.yaml | 21 +- tests/resources/test.yaml | 21 + tests/utils/data/readers/test_ase.py | 0 tests/utils/data/readers/test_mts.py | 0 .../utils/data/{ => readers}/test_readers.py | 4 +- tests/utils/data/test_dataset.py | 409 ++++++++---------- tests/utils/data/test_system_to_ase.py | 1 + tests/utils/data/test_target_info.py | 117 +++++ tests/utils/data/test_target_writers.py | 94 +++- tests/utils/data/test_targets_ase.py | 4 +- tests/utils/test_additive.py | 80 ++-- tests/utils/test_evaluate_model.py | 3 +- tests/utils/test_export.py | 15 +- tests/utils/test_external_naming.py | 7 +- tests/utils/test_llpr.py | 138 ++++++ tests/utils/test_neighbor_list.py | 8 +- tests/utils/test_output_gradient.py | 18 +- tests/utils/test_per_atom.py | 3 + tests/utils/test_transfer.py | 2 + 81 files changed, 2608 insertions(+), 1048 deletions(-) create mode 100644 docs/src/advanced-concepts/auto-restarting.rst create mode 120000 examples/programmatic/llpr_forces/ethanol_reduced_100.xyz create mode 100644 examples/programmatic/llpr_forces/force_llpr.py create mode 100644 examples/programmatic/llpr_forces/options.yaml create mode 100644 examples/programmatic/llpr_forces/readme.txt create mode 100644 examples/programmatic/llpr_forces/split.py delete mode 100644 src/metatrain/utils/data/extract_targets.py create mode 100644 src/metatrain/utils/data/readers/mts.py create mode 100644 src/metatrain/utils/data/target_info.py create mode 100644 tests/resources/test.yaml create mode 100644 tests/utils/data/readers/test_ase.py create mode 100644 tests/utils/data/readers/test_mts.py rename tests/utils/data/{ => readers}/test_readers.py (98%) create mode 100644 tests/utils/data/test_target_info.py diff --git a/docs/src/advanced-concepts/auto-restarting.rst b/docs/src/advanced-concepts/auto-restarting.rst new file mode 100644 index 000000000..855dab325 --- /dev/null +++ b/docs/src/advanced-concepts/auto-restarting.rst @@ -0,0 +1,12 @@ +Automatic restarting +==================== + +When restarting multiple times (for example, when training an expensive model +or running on an HPC cluster with short time limits), it is useful to be able +to train and restart multiple times with the same command. + +In ``metatrain``, this functionality is provided via the ``--continue auto`` +(or ``-c auto``) flag of ``mtt train``. This flag will automatically restart +the training from the last checkpoint, if one is found in the ``outputs/`` +of the current directory. If no checkpoint is found, the training will start +from scratch. diff --git a/docs/src/advanced-concepts/index.rst b/docs/src/advanced-concepts/index.rst index a138e6c31..cfd9f494a 100644 --- a/docs/src/advanced-concepts/index.rst +++ b/docs/src/advanced-concepts/index.rst @@ -11,3 +11,4 @@ such as output naming, auxiliary outputs, and wrapper models. output-naming auxiliary-outputs multi-gpu + auto-restarting diff --git a/examples/programmatic/llpr_forces/ethanol_reduced_100.xyz b/examples/programmatic/llpr_forces/ethanol_reduced_100.xyz new file mode 120000 index 000000000..d9345ce62 --- /dev/null +++ b/examples/programmatic/llpr_forces/ethanol_reduced_100.xyz @@ -0,0 +1 @@ +../../ase/ethanol_reduced_100.xyz \ No newline at end of file diff --git a/examples/programmatic/llpr_forces/force_llpr.py b/examples/programmatic/llpr_forces/force_llpr.py new file mode 100644 index 000000000..155e33527 --- /dev/null +++ b/examples/programmatic/llpr_forces/force_llpr.py @@ -0,0 +1,229 @@ +import matplotlib.pyplot as plt +import numpy as np +import torch +from metatensor.torch.atomistic import ( + MetatensorAtomisticModel, + ModelEvaluationOptions, + ModelMetadata, + ModelOutput, + load_atomistic_model, +) + +from metatrain.utils.data import Dataset, collate_fn, read_systems, read_targets +from metatrain.utils.llpr import LLPRUncertaintyModel +from metatrain.utils.loss import TensorMapDictLoss +from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists + + +model = load_atomistic_model("model.pt", extensions_directory="extensions/") +model = model.to("cuda") + +train_systems = read_systems("train.xyz") +train_target_config = { + "energy": { + "quantity": "energy", + "read_from": "train.xyz", + "file_format": ".xyz", + "reader": "ase", + "key": "energy", + "unit": "kcal/mol", + "forces": { + "read_from": "train.xyz", + "file_format": ".xyz", + "reader": "ase", + "key": "forces", + }, + "stress": { + "read_from": "train.xyz", + "file_format": ".xyz", + "reader": "ase", + "key": "stress", + }, + "virial": False, + }, +} +train_targets, _ = read_targets(train_target_config) + +valid_systems = read_systems("valid.xyz") +valid_target_config = { + "energy": { + "quantity": "energy", + "read_from": "valid.xyz", + "file_format": ".xyz", + "reader": "ase", + "key": "energy", + "unit": "kcal/mol", + "forces": { + "read_from": "valid.xyz", + "file_format": ".xyz", + "reader": "ase", + "key": "forces", + }, + "stress": { + "read_from": "valid.xyz", + "file_format": ".xyz", + "reader": "ase", + "key": "stress", + }, + "virial": False, + }, +} +valid_targets, _ = read_targets(valid_target_config) + +test_systems = read_systems("test.xyz") +test_target_config = { + "energy": { + "quantity": "energy", + "read_from": "test.xyz", + "file_format": ".xyz", + "reader": "ase", + "key": "energy", + "unit": "kcal/mol", + "forces": { + "read_from": "test.xyz", + "file_format": ".xyz", + "reader": "ase", + "key": "forces", + }, + "stress": { + "read_from": "test.xyz", + "file_format": ".xyz", + "reader": "ase", + "key": "stress", + }, + "virial": False, + }, +} +test_targets, target_info = read_targets(test_target_config) + +requested_neighbor_lists = model.requested_neighbor_lists() +train_systems = [ + get_system_with_neighbor_lists(system, requested_neighbor_lists) + for system in train_systems +] +train_dataset = Dataset({"system": train_systems, **train_targets}) +valid_systems = [ + get_system_with_neighbor_lists(system, requested_neighbor_lists) + for system in valid_systems +] +valid_dataset = Dataset({"system": valid_systems, **valid_targets}) +test_systems = [ + get_system_with_neighbor_lists(system, requested_neighbor_lists) + for system in test_systems +] +test_dataset = Dataset({"system": test_systems, **test_targets}) + +train_dataloader = torch.utils.data.DataLoader( + train_dataset, + batch_size=4, + shuffle=False, + collate_fn=collate_fn, +) +valid_dataloader = torch.utils.data.DataLoader( + valid_dataset, + batch_size=4, + shuffle=False, + collate_fn=collate_fn, +) +test_dataloader = torch.utils.data.DataLoader( + test_dataset, + batch_size=4, + shuffle=False, + collate_fn=collate_fn, +) + +loss_weight_dict = { + "energy": 1.0, + "energy_positions_grad": 1.0, + "energy_grain_grad": 1.0, +} +loss_fn = TensorMapDictLoss(loss_weight_dict) + +llpr_model = LLPRUncertaintyModel(model) + +print("Last layer parameters:") +parameters = [] +for name, param in llpr_model.named_parameters(): + if "last_layers" in name: + parameters.append(param) + print(name) + +llpr_model.compute_covariance_as_pseudo_hessian( + train_dataloader, target_info, loss_fn, parameters +) +llpr_model.compute_inverse_covariance() +llpr_model.calibrate(valid_dataloader) + +exported_model = MetatensorAtomisticModel( + llpr_model.eval(), + ModelMetadata(), + llpr_model.capabilities, +) + +evaluation_options = ModelEvaluationOptions( + length_unit="angstrom", + outputs={ + "mtt::aux::last_layer_features": ModelOutput(per_atom=False), + "mtt::aux::energy_uncertainty": ModelOutput(per_atom=False), + "energy": ModelOutput(per_atom=False), + }, + selected_atoms=None, +) + +force_errors = [] +force_uncertainties = [] + +for batch in test_dataloader: + systems, targets = batch + systems = [system.to("cuda", torch.float64) for system in systems] + for system in systems: + system.positions.requires_grad = True + targets = {name: tmap.to("cuda", torch.float64) for name, tmap in targets.items()} + + outputs = exported_model(systems, evaluation_options, check_consistency=True) + energy = outputs["energy"].block().values + energy_sum = torch.sum(energy) + energy_sum.backward(retain_graph=True) + + predicted_forces = -torch.concatenate( + [system.positions.grad.flatten() for system in systems] + ) + true_forces = -targets["energy"].block().gradient("positions").values.flatten() + + force_error = (predicted_forces - true_forces) ** 2 + force_errors.append(force_error.detach().clone().cpu().numpy()) + + last_layer_features = outputs["mtt::aux::last_layer_features"].block().values + last_layer_features = torch.sum(last_layer_features, dim=0) + ll_feature_grads = [] + for ll_feature in last_layer_features.reshape((-1,)): + ll_feature_grad = torch.autograd.grad( + ll_feature.reshape(()), + [system.positions for system in systems], + retain_graph=True, + ) + ll_feature_grad = torch.concatenate( + [ll_feature_g.flatten() for ll_feature_g in ll_feature_grad] + ) + ll_feature_grads.append(ll_feature_grad) + ll_feature_grads = torch.stack(ll_feature_grads, dim=1) + + force_uncertainty = torch.einsum( + "if, fg, ig -> i", + ll_feature_grads, + exported_model._module.inv_covariance, + ll_feature_grads, + ) + force_uncertainties.append(force_uncertainty.detach().clone().cpu().numpy()) + +force_errors = np.concatenate(force_errors) +force_uncertainties = np.concatenate(force_uncertainties) + + +plt.scatter(force_uncertainties, force_errors, s=1) +plt.xscale("log") +plt.yscale("log") +plt.xlabel("Predicted variance") +plt.ylabel("Squared error") + +plt.savefig("figure.pdf") diff --git a/examples/programmatic/llpr_forces/options.yaml b/examples/programmatic/llpr_forces/options.yaml new file mode 100644 index 000000000..492cfaa0b --- /dev/null +++ b/examples/programmatic/llpr_forces/options.yaml @@ -0,0 +1,35 @@ +seed: 42 + +architecture: + name: experimental.soap_bpnn + training: + batch_size: 8 + num_epochs: 100 + log_interval: 1 + +training_set: + systems: + read_from: train.xyz + length_unit: angstrom + targets: + energy: + key: energy + unit: eV + +validation_set: + systems: + read_from: valid.xyz + length_unit: angstrom + targets: + energy: + key: energy + unit: eV + +test_set: + systems: + read_from: test.xyz + length_unit: angstrom + targets: + energy: + key: energy + unit: eV diff --git a/examples/programmatic/llpr_forces/readme.txt b/examples/programmatic/llpr_forces/readme.txt new file mode 100644 index 000000000..3dce78c15 --- /dev/null +++ b/examples/programmatic/llpr_forces/readme.txt @@ -0,0 +1,4 @@ +This is a small example of how to calculate force uncertainties with the LLPR. +In order to run it, it is sufficient to split the ethanol dataset with `python split.py`. +Then train a model with `mtt train options.yaml`, and finally run the example +with `python force_llpr.py`. diff --git a/examples/programmatic/llpr_forces/split.py b/examples/programmatic/llpr_forces/split.py new file mode 100644 index 000000000..4c5902b62 --- /dev/null +++ b/examples/programmatic/llpr_forces/split.py @@ -0,0 +1,13 @@ +import ase.io +import numpy as np + + +structures = ase.io.read("ethanol_reduced_100.xyz", ":") +np.random.shuffle(structures) +train = structures[:50] +valid = structures[50:60] +test = structures[60:] + +ase.io.write("train.xyz", train) +ase.io.write("valid.xyz", valid) +ase.io.write("test.xyz", test) diff --git a/pyproject.toml b/pyproject.toml index fd770e2e6..240af2a3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,11 +10,15 @@ authors = [{name = "metatrain developers"}] dependencies = [ "ase < 3.23.0", + "metatensor-learn==0.3.0", + "metatensor-operations==0.3.0", + "metatensor-torch==0.6.0", "jsonschema", "omegaconf", "python-hostlist", "torch", "vesin", + "numpy < 2.0.0" ] keywords = ["machine learning", "molecular modeling"] @@ -55,17 +59,17 @@ build-backend = "setuptools.build_meta" [project.optional-dependencies] soap-bpnn = [ - "rascaline-torch @ git+https://github.com/luthaf/rascaline@d181b28#subdirectory=python/rascaline-torch", + "rascaline-torch @ git+https://github.com/luthaf/rascaline@5326b6e#subdirectory=python/rascaline-torch", ] alchemical-model = [ "torch_alchemical @ git+https://github.com/abmazitov/torch_alchemical.git@51ff519", ] pet = [ - "pet @ git+https://github.com/lab-cosmo/pet@8841021", + "pet @ git+https://github.com/lab-cosmo/pet@7eddb2e", ] nanopet = [] gap = [ - "rascaline-torch @ git+https://github.com/luthaf/rascaline@d181b28#subdirectory=python/rascaline-torch", + "rascaline-torch @ git+https://github.com/luthaf/rascaline@5326b6e#subdirectory=python/rascaline-torch", "skmatter", "metatensor-learn", "scipy", diff --git a/src/metatrain/cli/eval.py b/src/metatrain/cli/eval.py index f40fde7aa..7213bd4c9 100644 --- a/src/metatrain/cli/eval.py +++ b/src/metatrain/cli/eval.py @@ -15,7 +15,6 @@ from ..utils.data import ( Dataset, TargetInfo, - TargetInfoDict, collate_fn, read_systems, read_targets, @@ -159,7 +158,7 @@ def _concatenate_tensormaps( def _eval_targets( model: Union[MetatensorAtomisticModel, torch.jit._script.RecursiveScriptModule], dataset: Union[Dataset, torch.utils.data.Subset], - options: TargetInfoDict, + options: Dict[str, TargetInfo], return_predictions: bool, check_consistency: bool = False, ) -> Optional[Dict[str, TensorMap]]: @@ -245,14 +244,14 @@ def _eval_targets( torch.cuda.synchronize() end_time = time.time() - batch_predictions = average_by_num_atoms( + batch_predictions_per_atom = average_by_num_atoms( batch_predictions, systems, per_structure_keys=[] ) - batch_targets = average_by_num_atoms( + batch_targets_per_atom = average_by_num_atoms( batch_targets, systems, per_structure_keys=[] ) - rmse_accumulator.update(batch_predictions, batch_targets) - mae_accumulator.update(batch_predictions, batch_targets) + rmse_accumulator.update(batch_predictions_per_atom, batch_targets_per_atom) + mae_accumulator.update(batch_predictions_per_atom, batch_targets_per_atom) if return_predictions: all_predictions.append(batch_predictions) @@ -337,17 +336,17 @@ def eval_model( # (but we don't/can't calculate RMSEs) # TODO: allow the user to specify which outputs to evaluate eval_targets = {} - eval_info_dict = TargetInfoDict() - gradients = ["positions"] - if all(not torch.all(system.cell == 0) for system in eval_systems): - # only add strain if all structures have cells - gradients.append("strain") + eval_info_dict = {} + do_strain_grad = all( + not torch.all(system.cell == 0) for system in eval_systems + ) + layout = _get_energy_layout(do_strain_grad) # TODO: layout from the user for key in model.capabilities().outputs.keys(): eval_info_dict[key] = TargetInfo( quantity=model.capabilities().outputs[key].quantity, unit=model.capabilities().outputs[key].unit, - per_atom=False, # TODO: allow the user to specify this - gradients=gradients, + # TODO: allow the user to specify whether per-atom or not + layout=layout, ) eval_dataset = Dataset.from_dict({"system": eval_systems, **eval_targets}) @@ -370,3 +369,60 @@ def eval_model( capabilities=model.capabilities(), predictions=predictions, ) + + +def _get_energy_layout(strain_gradient: bool) -> TensorMap: + block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 1, dtype=torch.float64), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[], + properties=Labels.range("energy", 1), + ) + position_gradient_block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 1, dtype=torch.float64), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), + ) + block.add_gradient("positions", position_gradient_block) + + if strain_gradient: + strain_gradient_block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 3, 1, dtype=torch.float64), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz_1"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + Labels( + names=["xyz_2"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), + ) + block.add_gradient("strain", strain_gradient_block) + + energy_layout = TensorMap( + keys=Labels.single(), + blocks=[block], + ) + return energy_layout diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index 15594f449..4c6f0be21 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -4,6 +4,7 @@ import logging import os import random +import time from pathlib import Path from typing import Dict, Optional, Union @@ -20,7 +21,7 @@ ) from ..utils.data import ( DatasetInfo, - TargetInfoDict, + TargetInfo, get_atomic_types, get_dataset, get_stats, @@ -104,9 +105,9 @@ def _process_continue_from(continue_from: str) -> Optional[str]: # try to find the `outputs` directory; if it doesn't exist # then we are not continuing from a previous run if Path("outputs/").exists(): - # take the latest day directory + # take the latest year-month-day directory dir = sorted(Path("outputs/").iterdir())[-1] - # take the latest second directory + # take the latest hour-minute-second directory dir = sorted(dir.iterdir())[-1] # take the latest checkpoint. This cannot be done with # `sorted` because some checkpoint files are named with @@ -115,13 +116,18 @@ def _process_continue_from(continue_from: str) -> Optional[str]: new_continue_from = str( sorted(dir.glob("*.ckpt"), key=lambda f: f.stat().st_ctime)[-1] ) + logger.info(f"Auto-continuing from `{new_continue_from}`") else: new_continue_from = None - - # the main thread will proceed to create a new outputs/ folder - # or a new folder within outputs/ - import time - time.sleep(5) + logger.info( + "Auto-continuation did not find any previous runs, " + "training from scratch" + ) + # sleep for a few seconds to allow all processes to catch up. This is + # necessary because the `outputs` directory is created by the main + # process and the other processes might detect it by mistake if they're + # still executing this function + time.sleep(3) return new_continue_from @@ -222,11 +228,17 @@ def train_model( options["training_set"] = expand_dataset_config(options["training_set"]) train_datasets = [] - target_infos = TargetInfoDict() - for train_options in options["training_set"]: - dataset, target_info_dict = get_dataset(train_options) + target_info_dict: Dict[str, TargetInfo] = {} + for train_options in options["training_set"]: # loop over training sets + dataset, target_info_dict_single = get_dataset(train_options) train_datasets.append(dataset) - target_infos.update(target_info_dict) + intersecting_keys = target_info_dict.keys() & target_info_dict_single.keys() + for key in intersecting_keys: + if target_info_dict[key] != target_info_dict_single[key]: + raise ValueError( + f"Target information for key {key} differs between training sets." + ) + target_info_dict.update(target_info_dict_single) train_size = 1.0 @@ -315,7 +327,7 @@ def train_model( dataset_info = DatasetInfo( length_unit=options["training_set"][0]["systems"]["length_unit"], atomic_types=atomic_types, - targets=target_infos, + targets=target_info_dict, ) ########################### diff --git a/src/metatrain/experimental/alchemical_model/model.py b/src/metatrain/experimental/alchemical_model/model.py index 8ffbd8dc7..4e985dc75 100644 --- a/src/metatrain/experimental/alchemical_model/model.py +++ b/src/metatrain/experimental/alchemical_model/model.py @@ -78,6 +78,7 @@ def requested_neighbor_lists(self) -> List[NeighborListOptions]: NeighborListOptions( cutoff=self.cutoff, full_list=True, + strict=True, ) ] diff --git a/src/metatrain/experimental/alchemical_model/tests/test_exported.py b/src/metatrain/experimental/alchemical_model/tests/test_exported.py index 891983693..04874e6c3 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_exported.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_exported.py @@ -3,11 +3,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, System from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -22,7 +23,9 @@ def test_to(device, dtype): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info).to(dtype=dtype) exported = model.export() @@ -33,6 +36,7 @@ def test_to(device, dtype): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(exported) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py index 7ee3331af..6b2eae8df 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py @@ -2,11 +2,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, System from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -18,7 +19,9 @@ def test_prediction_subset_elements(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) @@ -27,6 +30,7 @@ def test_prediction_subset_elements(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_invariance.py b/src/metatrain/experimental/alchemical_model/tests/test_invariance.py index 9d9a84dd9..c8a42676d 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_invariance.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_invariance.py @@ -5,11 +5,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, systems_to_torch from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, MODEL_HYPERS @@ -20,7 +21,9 @@ def test_rotational_invariance(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_regression.py b/src/metatrain/experimental/alchemical_model/tests/test_regression.py index 648c91c18..0d82379c3 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_regression.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_regression.py @@ -13,11 +13,11 @@ read_systems, read_targets, ) -from metatrain.utils.data.dataset import TargetInfoDict from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS @@ -31,8 +31,8 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" - targets = TargetInfoDict() - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + targets = {} + targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py index 03b7ef1df..9f17dd9d0 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py @@ -14,8 +14,9 @@ from metatrain.experimental.alchemical_model.utils import ( systems_to_torch_alchemical_batch, ) -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict, read_systems +from metatrain.utils.data import DatasetInfo, TargetInfo, read_systems from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS, QM9_DATASET_PATH @@ -29,6 +30,7 @@ nl_options = NeighborListOptions( cutoff=5.0, full_list=True, + strict=True, ) systems = [get_system_with_neighbor_lists(system, [nl_options]) for system in systems] @@ -70,7 +72,9 @@ def test_alchemical_model_inference(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=unique_numbers, - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) alchemical_model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py b/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py index 33e0b9e9f..30d5511d7 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py @@ -1,7 +1,8 @@ import torch from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -12,7 +13,9 @@ def test_torchscript(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) @@ -25,7 +28,9 @@ def test_torchscript_save_load(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) torch.jit.save( diff --git a/src/metatrain/experimental/alchemical_model/trainer.py b/src/metatrain/experimental/alchemical_model/trainer.py index 3ed190c00..4127e7036 100644 --- a/src/metatrain/experimental/alchemical_model/trainer.py +++ b/src/metatrain/experimental/alchemical_model/trainer.py @@ -9,7 +9,6 @@ from ...utils.data import ( CombinedDataLoader, Dataset, - TargetInfoDict, check_datasets, collate_fn, get_all_targets, @@ -247,12 +246,7 @@ def train( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{ - key: model.dataset_info.targets[key] - for key in targets.keys() - } - ), + {key: model.dataset_info.targets[key] for key in targets.keys()}, is_training=True, ) @@ -295,12 +289,7 @@ def train( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{ - key: model.dataset_info.targets[key] - for key in targets.keys() - } - ), + {key: model.dataset_info.targets[key] for key in targets.keys()}, is_training=False, ) diff --git a/src/metatrain/experimental/gap/tests/test_errors.py b/src/metatrain/experimental/gap/tests/test_errors.py index b0359bd80..791e061c6 100644 --- a/src/metatrain/experimental/gap/tests/test_errors.py +++ b/src/metatrain/experimental/gap/tests/test_errors.py @@ -12,10 +12,10 @@ Dataset, DatasetInfo, TargetInfo, - TargetInfoDict, read_systems, read_targets, ) +from metatrain.utils.testing import energy_force_layout from . import DATASET_ETHANOL_PATH, DEFAULT_HYPERS @@ -61,9 +61,11 @@ def test_ethanol_regression_train_and_invariance(): hypers = copy.deepcopy(DEFAULT_HYPERS) hypers["model"]["krr"]["num_sparse_points"] = 30 - target_info_dict = TargetInfoDict( - energy=TargetInfo(quantity="energy", unit="kcal/mol", gradients=["positions"]) - ) + target_info_dict = { + "energy": TargetInfo( + quantity="energy", unit="kcal/mol", layout=energy_force_layout + ) + } dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict diff --git a/src/metatrain/experimental/gap/tests/test_regression.py b/src/metatrain/experimental/gap/tests/test_regression.py index 81212353c..a3d703e76 100644 --- a/src/metatrain/experimental/gap/tests/test_regression.py +++ b/src/metatrain/experimental/gap/tests/test_regression.py @@ -8,8 +8,9 @@ from omegaconf import OmegaConf from metatrain.experimental.gap import GAP, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.testing import energy_force_layout, energy_layout from . import DATASET_ETHANOL_PATH, DATASET_PATH, DEFAULT_HYPERS @@ -25,8 +26,8 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" - targets = TargetInfoDict() - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + targets = {} + targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets @@ -57,8 +58,10 @@ def test_regression_train_and_invariance(): targets, _ = read_targets(OmegaConf.create(conf)) dataset = Dataset.from_dict({"system": systems, "mtt::U0": targets["mtt::U0"]}) - target_info_dict = TargetInfoDict() - target_info_dict["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + target_info_dict = {} + target_info_dict["mtt::U0"] = TargetInfo( + quantity="energy", unit="eV", layout=energy_layout + ) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict @@ -138,9 +141,11 @@ def test_ethanol_regression_train_and_invariance(): hypers = copy.deepcopy(DEFAULT_HYPERS) hypers["model"]["krr"]["num_sparse_points"] = 900 - target_info_dict = TargetInfoDict( - energy=TargetInfo(quantity="energy", unit="kcal/mol", gradients=["positions"]) - ) + target_info_dict = { + "energy": TargetInfo( + quantity="energy", unit="kcal/mol", layout=energy_force_layout + ) + } dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict diff --git a/src/metatrain/experimental/gap/tests/test_torchscript.py b/src/metatrain/experimental/gap/tests/test_torchscript.py index 967a83353..e7d1cbc2f 100644 --- a/src/metatrain/experimental/gap/tests/test_torchscript.py +++ b/src/metatrain/experimental/gap/tests/test_torchscript.py @@ -2,8 +2,9 @@ from omegaconf import OmegaConf from metatrain.experimental.gap import GAP, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, DEFAULT_HYPERS @@ -13,8 +14,10 @@ def test_torchscript(): """Tests that the model can be jitted.""" - target_info_dict = TargetInfoDict() - target_info_dict["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + target_info_dict = {} + target_info_dict["mtt::U0"] = TargetInfo( + quantity="energy", unit="eV", layout=energy_layout + ) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict @@ -34,8 +37,6 @@ def test_torchscript(): targets, _ = read_targets(OmegaConf.create(conf)) systems = read_systems(DATASET_PATH) - # for system in systems: - # system.types = torch.ones(len(system.types), dtype=torch.int32) dataset = Dataset.from_dict({"system": systems, "mtt::U0": targets["mtt::U0"]}) hypers = DEFAULT_HYPERS.copy() @@ -64,8 +65,8 @@ def test_torchscript(): def test_torchscript_save(): """Tests that the model can be jitted and saved.""" - targets = TargetInfoDict() - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + targets = {} + targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 0f15c83eb..7e7f00a9d 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -1,3 +1,5 @@ +import copy +from math import prod from pathlib import Path from typing import Dict, List, Optional, Union @@ -35,6 +37,14 @@ class NanoPET(torch.nn.Module): def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: super().__init__() + + for target in dataset_info.targets.values(): + if target.is_spherical: + raise ValueError( + "The NanoPET model does not support spherical tensor targets. " + "Only scalar and Cartesian tensor targets are supported." + ) + self.hypers = model_hypers self.dataset_info = dataset_info self.new_outputs = list(dataset_info.targets.keys()) @@ -52,11 +62,6 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: for key, value in dataset_info.targets.items() } - # the model is always capable of outputting the last layer features - self.outputs["mtt::aux::last_layer_features"] = ModelOutput( - unit="unitless", per_atom=True - ) - # buffers cannot be indexed by strings (torchscript), so we create a single # tensor for all outputs. Due to this, we need to slice the tensor when we use # it and use the output name to select the correct slice via a dictionary @@ -97,10 +102,33 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.gnn_contractions = torch.nn.ModuleList(gnn_contractions) self.gnn_transformers = torch.nn.ModuleList(gnn_transformers) + self.output_shapes = { + output_name: ( + tuple( + len(comp.values) + for comp in dataset_info.targets[output_name] + .layout.block() + .components + ) + + ( + len( + dataset_info.targets[output_name] + .layout.block() + .properties.values + ), + ) + ) + for output_name in self.outputs.keys() + } + self.last_layer_feature_size = self.hypers["d_pet"] self.last_layers = torch.nn.ModuleDict( { - output_name: torch.nn.Linear(self.hypers["d_pet"], 1, bias=False) + output_name: torch.nn.Linear( + self.hypers["d_pet"], + prod(self.output_shapes[output_name]), + bias=False, + ) for output_name in self.outputs.keys() if "mtt::aux::" not in output_name } @@ -127,11 +155,28 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: additive_models.append(ZBL(model_hypers, dataset_info)) self.additive_models = torch.nn.ModuleList(additive_models) - # cache + # cache keys, components, properties labels self.single_label = Labels.single() - self.property_label = Labels( - names=["energy"], - values=torch.tensor([[0]]), + self.key_labels = { + output_name: copy.deepcopy(dataset_info.targets[output_name].layout.keys) + for output_name in self.outputs.keys() + } + self.component_labels = { + output_name: copy.deepcopy( + dataset_info.targets[output_name].layout.block().components + ) + for output_name in self.outputs.keys() + } + self.property_labels = { + output_name: copy.deepcopy( + dataset_info.targets[output_name].layout.block().properties + ) + for output_name in self.outputs.keys() + } + + # the model is always capable of outputting the last layer features + self.outputs["mtt::aux::last_layer_features"] = ModelOutput( + unit="unitless", per_atom=True ) def restart(self, dataset_info: DatasetInfo) -> "NanoPET": @@ -178,9 +223,18 @@ def forward( if self.single_label.values.device != device: self.single_label = self.single_label.to(device) - - if self.property_label.values.device != device: - self.property_label = self.property_label.to(device) + self.key_labels = { + output_name: label.to(device) + for output_name, label in self.key_labels.items() + } + self.component_labels = { + output_name: [label.to(device) for label in labels] + for output_name, labels in self.component_labels.items() + } + self.property_labels = { + output_name: label.to(device) + for output_name, label in self.property_labels.items() + } segment_indices = torch.concatenate( [ @@ -234,11 +288,7 @@ def forward( cells[segment_indices[centers]], ) - edge_vectors = ( - positions[neighbors] - - positions[centers] - + cell_contributions - ) + edge_vectors = positions[neighbors] - positions[centers] + cell_contributions bincount = torch.bincount(centers) if bincount.numel() == 0: # no edges @@ -253,7 +303,7 @@ def forward( # Get radial mask r = torch.sqrt(torch.sum(edge_vectors**2, dim=-1)) - radial_mask = get_radial_mask(r, self.cutoff, self.cutoff-self.cutoff_width) + radial_mask = get_radial_mask(r, self.cutoff, self.cutoff - self.cutoff_width) # Element indices element_indices_nodes = self.species_to_species_index[species] @@ -338,44 +388,50 @@ def forward( metatensor.torch.sum_over_samples(last_layer_feature_tmap, ["atom"]) ) - atomic_energies_tmap_dict: Dict[str, TensorMap] = {} + atomic_properties_tmap_dict: Dict[str, TensorMap] = {} for output_name, last_layer in self.last_layers.items(): if output_name in outputs: - atomic_energies = last_layer(node_features) + atomic_properties = last_layer(node_features) block = TensorBlock( - values=atomic_energies, + values=atomic_properties.reshape( + (-1,) + self.output_shapes[output_name] + ), samples=sample_labels, - components=[], - properties=self.property_label, + components=self.component_labels[output_name], + properties=self.property_labels[output_name], ) - atomic_energies_tmap_dict[output_name] = TensorMap( - keys=self.single_label, - blocks=[ - block, - ], + atomic_properties_tmap_dict[output_name] = TensorMap( + keys=self.key_labels[output_name], + blocks=[block], ) if selected_atoms is not None: - for output_name, tmap in atomic_energies_tmap_dict.items(): - atomic_energies_tmap_dict[output_name] = metatensor.torch.slice( - tmap, axis="samples", labels=selected_atoms + for output_name, tmap in atomic_properties_tmap_dict.items(): + atomic_properties_tmap_dict[output_name] = metatensor.torch.slice( + tmap, axis="samples", selection=selected_atoms ) - for output_name, atomic_energy in atomic_energies_tmap_dict.items(): + for output_name, atomic_property in atomic_properties_tmap_dict.items(): if outputs[output_name].per_atom: - return_dict[output_name] = atomic_energy + return_dict[output_name] = atomic_property else: return_dict[output_name] = metatensor.torch.sum_over_samples( - atomic_energy, ["atom"] + atomic_property, ["atom"] ) if not self.training: # at evaluation, we also add the additive contributions for additive_model in self.additive_models: + # some of the outputs might not be present in the additive model + # (e.g. the composition model only provides outputs for scalar targets) + outputs_for_additive_model: Dict[str, ModelOutput] = {} + for output_name in outputs: + if output_name in additive_model.outputs: + outputs_for_additive_model[output_name] = outputs[output_name] additive_contributions = additive_model( - systems, outputs, selected_atoms + systems, outputs_for_additive_model, selected_atoms ) - for name in return_dict: + for name in additive_contributions: if name.startswith("mtt::aux::"): continue # skip auxiliary outputs (not targets) return_dict[name] = metatensor.torch.add( @@ -392,6 +448,7 @@ def requested_neighbor_lists( NeighborListOptions( cutoff=self.hypers["cutoff"], full_list=True, + strict=True, ) ] diff --git a/src/metatrain/experimental/nanopet/modules/augmentation.py b/src/metatrain/experimental/nanopet/modules/augmentation.py index b2de962a6..039b7fcae 100644 --- a/src/metatrain/experimental/nanopet/modules/augmentation.py +++ b/src/metatrain/experimental/nanopet/modules/augmentation.py @@ -55,62 +55,91 @@ def _apply_random_augmentations( # Apply the transformation to the targets new_targets: Dict[str, TensorMap] = {} for name, target_tmap in targets.items(): - # no change for energies - energy_block = TensorBlock( - values=target_tmap.block().values, - samples=target_tmap.block().samples, - components=target_tmap.block().components, - properties=target_tmap.block().properties, - ) - if target_tmap.block().has_gradient("positions"): - # transform position gradients: - block = target_tmap.block().gradient("positions") - position_gradients = block.values.squeeze(-1) - split_position_gradients = torch.split( - position_gradients, split_sizes_forces + assert len(target_tmap.blocks()) == 1 + is_scalar = len(target_tmap.block().components) == 0 + + # for now, only accept vectors if not scalars + if not is_scalar: + assert target_tmap.block().values.shape[-1] == 1 + + if is_scalar: + # no change for energies + energy_block = TensorBlock( + values=target_tmap.block().values, + samples=target_tmap.block().samples, + components=target_tmap.block().components, + properties=target_tmap.block().properties, ) - position_gradients = torch.cat( - [ - split_position_gradients[i] @ transformations[i].T - for i in range(len(systems)) - ] + if target_tmap.block().has_gradient("positions"): + # transform position gradients: + block = target_tmap.block().gradient("positions") + position_gradients = block.values.squeeze(-1) + split_position_gradients = torch.split( + position_gradients, split_sizes_forces + ) + position_gradients = torch.cat( + [ + split_position_gradients[i] @ transformations[i].T + for i in range(len(systems)) + ] + ) + energy_block.add_gradient( + "positions", + TensorBlock( + values=position_gradients.unsqueeze(-1), + samples=block.samples, + components=block.components, + properties=block.properties, + ), + ) + if target_tmap.block().has_gradient("strain"): + # transform strain gradients (rank 2 tensor): + block = target_tmap.block().gradient("strain") + strain_gradients = block.values.squeeze(-1) + split_strain_gradients = torch.split(strain_gradients, 1) + new_strain_gradients = torch.stack( + [ + transformations[i] + @ split_strain_gradients[i].squeeze(0) + @ transformations[i].T + for i in range(len(systems)) + ], + dim=0, + ) + energy_block.add_gradient( + "strain", + TensorBlock( + values=new_strain_gradients.unsqueeze(-1), + samples=block.samples, + components=block.components, + properties=block.properties, + ), + ) + new_targets[name] = TensorMap( + keys=target_tmap.keys, + blocks=[energy_block], ) - energy_block.add_gradient( - "positions", - TensorBlock( - values=position_gradients.unsqueeze(-1), - samples=block.samples, - components=block.components, - properties=block.properties, - ), + else: + # transform per-atom Cartesian vector: + assert "atom" in target_tmap.block().samples.names + assert len(target_tmap.block().properties.values) == 1 + block = target_tmap.block() + vectors = block.values.squeeze(-1) + split_vectors = torch.split(vectors, split_sizes_forces) + vectors = torch.cat( + [split_vectors[i] @ transformations[i].T for i in range(len(systems))] ) - if target_tmap.block().has_gradient("strain"): - # transform strain gradients (rank 2 tensor): - block = target_tmap.block().gradient("strain") - strain_gradients = block.values.squeeze(-1) - split_strain_gradients = torch.split(strain_gradients, 1) - new_strain_gradients = torch.stack( - [ - transformations[i] - @ split_strain_gradients[i].squeeze(0) - @ transformations[i].T - for i in range(len(systems)) + new_targets[name] = TensorMap( + keys=target_tmap.keys, + blocks=[ + TensorBlock( + values=vectors.unsqueeze(-1), + samples=block.samples, + components=block.components, + properties=block.properties, + ) ], - dim=0, ) - energy_block.add_gradient( - "strain", - TensorBlock( - values=new_strain_gradients.unsqueeze(-1), - samples=block.samples, - components=block.components, - properties=block.properties, - ), - ) - new_targets[name] = TensorMap( - keys=target_tmap.keys, - blocks=[energy_block], - ) return new_systems, new_targets diff --git a/src/metatrain/experimental/nanopet/modules/encoder.py b/src/metatrain/experimental/nanopet/modules/encoder.py index dd872452d..d282d3f22 100644 --- a/src/metatrain/experimental/nanopet/modules/encoder.py +++ b/src/metatrain/experimental/nanopet/modules/encoder.py @@ -15,9 +15,13 @@ def __init__( self.cartesian_encoder = torch.nn.Sequential( torch.nn.Linear(in_features=3, out_features=4 * hidden_size, bias=False), torch.nn.SiLU(), - torch.nn.Linear(in_features=4 * hidden_size, out_features=4 * hidden_size, bias=False), + torch.nn.Linear( + in_features=4 * hidden_size, out_features=4 * hidden_size, bias=False + ), torch.nn.SiLU(), - torch.nn.Linear(in_features=4 * hidden_size, out_features=hidden_size, bias=False) + torch.nn.Linear( + in_features=4 * hidden_size, out_features=hidden_size, bias=False + ), ) self.center_encoder = torch.nn.Embedding( num_embeddings=n_species, embedding_dim=hidden_size diff --git a/src/metatrain/experimental/nanopet/tests/print_energies.py b/src/metatrain/experimental/nanopet/tests/print_energies.py index 8e2154a23..cfde51890 100644 --- a/src/metatrain/experimental/nanopet/tests/print_energies.py +++ b/src/metatrain/experimental/nanopet/tests/print_energies.py @@ -1,12 +1,12 @@ -import torch import numpy as np +import torch from metatensor.torch.atomistic import ModelOutput, System from metatrain.experimental.nanopet.model import NanoPET +from metatrain.utils.architectures import get_default_hypers from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists -from metatrain.utils.architectures import get_default_hypers DEFAULT_HYPERS = get_default_hypers("experimental.nanopet") MODEL_HYPERS = DEFAULT_HYPERS["model"] @@ -26,10 +26,14 @@ types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, float(a)]]), cell=torch.zeros(3, 3), - pbc=torch.tensor([False, False, False]) - ) for a in np.arange(4.5, 5.5, 0.001) + pbc=torch.tensor([False, False, False]), + ) + for a in np.arange(4.5, 5.5, 0.001) +] +systems = [ + get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + for system in systems ] -systems = [get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) for system in systems] outputs = {"energy": ModelOutput(per_atom=False)} outputs = model(systems, outputs) diff --git a/src/metatrain/experimental/nanopet/tests/test_nanopet.py b/src/metatrain/experimental/nanopet/tests/test_nanopet.py index b4a283e58..c60e3b681 100644 --- a/src/metatrain/experimental/nanopet/tests/test_nanopet.py +++ b/src/metatrain/experimental/nanopet/tests/test_nanopet.py @@ -24,7 +24,7 @@ def test_nanopet_padding(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), - pbc=torch.tensor([False, False, False]) + pbc=torch.tensor([False, False, False]), ) system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) outputs = {"energy": ModelOutput(per_atom=False)} @@ -44,7 +44,7 @@ def test_nanopet_padding(): ] ), cell=torch.zeros(3, 3), - pbc=torch.tensor([False, False, False]) + pbc=torch.tensor([False, False, False]), ) system_2 = get_system_with_neighbor_lists( system_2, model.requested_neighbor_lists() diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 0e852b437..09e07d48a 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -9,8 +9,7 @@ from torch.utils.data import DataLoader, DistributedSampler from ...utils.additive import remove_additive -from ...utils.data import CombinedDataLoader, Dataset, TargetInfoDict, collate_fn -from ...utils.data.extract_targets import get_targets_dict +from ...utils.data import CombinedDataLoader, Dataset, collate_fn from ...utils.distributed.distributed_data_parallel import DistributedDataParallel from ...utils.distributed.slurm import DistributedEnvironment from ...utils.evaluate_model import evaluate_model @@ -168,9 +167,7 @@ def train( val_dataloader = CombinedDataLoader(val_dataloaders, shuffle=False) # Extract all the possible outputs and their gradients: - train_targets = get_targets_dict( - train_datasets, (model.module if is_distributed else model).dataset_info - ) + train_targets = (model.module if is_distributed else model).dataset_info.targets outputs_list = [] for target_name, target_info in train_targets.items(): outputs_list.append(target_name) @@ -320,9 +317,7 @@ def systems_and_targets_to_dtype( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{key: train_targets[key] for key in targets.keys()} - ), + {key: train_targets[key] for key in targets.keys()}, is_training=True, ) @@ -378,9 +373,7 @@ def systems_and_targets_to_dtype( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{key: train_targets[key] for key in targets.keys()} - ), + {key: train_targets[key] for key in targets.keys()}, is_training=False, ) diff --git a/src/metatrain/experimental/pet/model.py b/src/metatrain/experimental/pet/model.py index bf567dee1..d0d21d73f 100644 --- a/src/metatrain/experimental/pet/model.py +++ b/src/metatrain/experimental/pet/model.py @@ -73,6 +73,7 @@ def requested_neighbor_lists( NeighborListOptions( cutoff=self.cutoff, full_list=True, + strict=True, ) ] @@ -111,9 +112,7 @@ def forward( values=predictions, ) if selected_atoms is not None: - block = metatensor.torch.slice_block( - block, axis="samples", labels=selected_atoms - ) + block = metatensor.torch.slice_block(block, "samples", selected_atoms) output_tmap = TensorMap(keys=empty_labels, blocks=[block]) if not outputs[output_name].per_atom: output_tmap = metatensor.torch.sum_over_samples(output_tmap, "atom") diff --git a/src/metatrain/experimental/pet/tests/test_exported.py b/src/metatrain/experimental/pet/tests/test_exported.py index f67a15e4c..e2cc2e0f4 100644 --- a/src/metatrain/experimental/pet/tests/test_exported.py +++ b/src/metatrain/experimental/pet/tests/test_exported.py @@ -11,12 +11,13 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.export import export from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout DEFAULT_HYPERS = get_default_hypers("experimental.pet") @@ -32,7 +33,9 @@ def test_to(device): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -61,6 +64,7 @@ def test_to(device): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(exported) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/pet/tests/test_functionality.py b/src/metatrain/experimental/pet/tests/test_functionality.py index ddf527603..2ebd3841f 100644 --- a/src/metatrain/experimental/pet/tests/test_functionality.py +++ b/src/metatrain/experimental/pet/tests/test_functionality.py @@ -18,12 +18,13 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.jsonschema import validate from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout DEFAULT_HYPERS = get_default_hypers("experimental.pet") @@ -65,7 +66,9 @@ def test_prediction(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -76,6 +79,7 @@ def test_prediction(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) @@ -115,7 +119,9 @@ def test_per_atom_predictions_functionality(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -126,6 +132,7 @@ def test_per_atom_predictions_functionality(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) @@ -166,7 +173,9 @@ def test_selected_atoms_functionality(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -177,6 +186,7 @@ def test_selected_atoms_functionality(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(model) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py index 04ecae1bc..1a83371af 100644 --- a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py +++ b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py @@ -17,8 +17,9 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.experimental.pet.utils import systems_to_batch_dict from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists +from metatrain.utils.testing import energy_layout from . import DATASET_PATH @@ -59,7 +60,7 @@ def test_batch_dicts_compatibility(cutoff): structure = ase.io.read(DATASET_PATH) atomic_types = sorted(set(structure.numbers)) system = systems_to_torch(structure) - options = NeighborListOptions(cutoff=cutoff, full_list=True) + options = NeighborListOptions(cutoff=cutoff, full_list=True, strict=True) system = get_system_with_neighbor_lists(system, [options]) ARCHITECTURAL_HYPERS = Hypers(DEFAULT_HYPERS["model"]) @@ -97,7 +98,9 @@ def test_predictions_compatibility(cutoff): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=structure.numbers, - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) capabilities = ModelCapabilities( length_unit="Angstrom", @@ -121,7 +124,7 @@ def test_predictions_compatibility(cutoff): model.set_trained_model(raw_pet) system = systems_to_torch(structure) - options = NeighborListOptions(cutoff=cutoff, full_list=True) + options = NeighborListOptions(cutoff=cutoff, full_list=True, strict=True) system = get_system_with_neighbor_lists(system, [options]) evaluation_options = ModelEvaluationOptions( diff --git a/src/metatrain/experimental/pet/tests/test_torchscript.py b/src/metatrain/experimental/pet/tests/test_torchscript.py index df0584cd3..15adc95a8 100644 --- a/src/metatrain/experimental/pet/tests/test_torchscript.py +++ b/src/metatrain/experimental/pet/tests/test_torchscript.py @@ -4,7 +4,8 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout DEFAULT_HYPERS = get_default_hypers("experimental.pet") @@ -16,7 +17,9 @@ def test_torchscript(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -31,7 +34,9 @@ def test_torchscript_save_load(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index 556f3ef52..ded51431d 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -1,3 +1,4 @@ +import copy from pathlib import Path from typing import Dict, List, Optional, Union @@ -29,6 +30,14 @@ def forward(self, x: TensorMap) -> TensorMap: return x +class IdentityWithExtraArg(torch.nn.Module): + def __init__(self): + super().__init__() + + def forward(self, s: List[System], x: TensorMap) -> TensorMap: + return x + + class MLPMap(ModuleMap): def __init__(self, atomic_types: List[int], hypers: dict) -> None: # hardcoded for now, but could be a hyperparameter @@ -93,6 +102,92 @@ def __init__(self, atomic_types: List[int], n_layer: int) -> None: super().__init__(in_keys, layernorm_per_species, out_properties) +class VectorFeaturizer(torch.nn.Module): + def __init__(self, atomic_types, num_features, soap_hypers) -> None: + super().__init__() + self.atomic_types = atomic_types + soap_vector_hypers = copy.deepcopy(soap_hypers) + soap_vector_hypers["max_angular"] = 1 + self.soap_calculator = rascaline.torch.SphericalExpansion( + radial_basis={"Gto": {}}, **soap_vector_hypers + ) + self.neighbors_species_labels = Labels( + names=["neighbor_type"], + values=torch.tensor(self.atomic_types).reshape(-1, 1), + ) + self.linear_layer = LinearMap( + Labels( + names=["o3_lambda", "o3_sigma", "center_type"], + values=torch.stack( + [ + torch.tensor([1] * len(self.atomic_types)), + torch.tensor([1] * len(self.atomic_types)), + torch.tensor(self.atomic_types), + ], + dim=1, + ), + ), + in_features=soap_vector_hypers["max_radial"] * len(self.atomic_types), + out_features=num_features, + bias=False, + out_properties=[ + Labels( + names=["property"], + values=torch.arange(num_features).reshape(-1, 1), + ) + for _ in self.atomic_types + ], + ) + + def forward(self, systems: List[System], scalar_features: TensorMap) -> TensorMap: + device = scalar_features.block(0).values.device + + spherical_expansion = self.soap_calculator(systems) + spherical_expansion = spherical_expansion.keys_to_properties( + self.neighbors_species_labels.to(device) + ) + + # drop all l=0 blocks + keys_to_drop_list: List[List[int]] = [] + for key in spherical_expansion.keys.values: + o3_lambda = int(key[0]) + o3_sigma = int(key[1]) + center_species = int(key[2]) + if o3_lambda == 0 and o3_sigma == 1: + keys_to_drop_list.append([o3_lambda, o3_sigma, center_species]) + keys_to_drop = Labels( + names=["o3_lambda", "o3_sigma", "center_type"], + values=torch.tensor(keys_to_drop_list, device=device), + ) + spherical_expansion = metatensor.torch.drop_blocks( + spherical_expansion, keys=keys_to_drop + ) + vector_features = self.linear_layer(spherical_expansion) + + overall_features = metatensor.torch.TensorMap( + keys=vector_features.keys, + blocks=[ + TensorBlock( + values=scalar_features.block( + {"center_type": int(ct)} + ).values.unsqueeze(1) + * vector_features.block({"center_type": int(ct)}).values + * 100.0, + samples=vector_features.block({"center_type": int(ct)}).samples, + components=vector_features.block( + {"center_type": int(ct)} + ).components, + properties=vector_features.block( + {"center_type": int(ct)} + ).properties, + ) + for ct in vector_features.keys.column("center_type") + ], + ) + + return overall_features + + class SoapBpnn(torch.nn.Module): __supported_devices__ = ["cuda", "cpu"] @@ -164,9 +259,35 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: n_inputs_last_layer = hypers_bpnn["num_neurons_per_layer"] self.last_layer_feature_size = n_inputs_last_layer * len(self.atomic_types) - self.last_layers = torch.nn.ModuleDict( - { - output_name: LinearMap( + + vector_featurizers = {} + for target_name, target in dataset_info.targets.items(): + if target.is_scalar: + vector_featurizers[target_name] = IdentityWithExtraArg() + elif target.is_spherical: + values_list: List[List[int]] = target.layout.keys.values.tolist() + if values_list != [[1, 1]]: + raise ValueError( + "SOAP-BPNN only supports spherical targets with " + "`o3_lambda=1` and `o3_sigma=1`, " + ) + vector_featurizers[target_name] = VectorFeaturizer( + atomic_types=self.atomic_types, + num_features=n_inputs_last_layer, + soap_hypers=self.hypers["soap"], + ) + else: + raise ValueError( + "SOAP-BPNN only supports scalar and spherical targets." + ) + self.vector_featurizers = torch.nn.ModuleDict(vector_featurizers) + + last_layers = {} + for output_name in self.outputs.keys(): + if "mtt::aux::" in output_name: + continue + if dataset_info.targets[output_name].is_scalar: + last_layers[output_name] = LinearMap( Labels( "central_species", values=torch.tensor(self.atomic_types).reshape(-1, 1), @@ -182,10 +303,31 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: for _ in self.atomic_types ], ) - for output_name in self.outputs.keys() - if "mtt::aux::" not in output_name - } - ) + else: + last_layers[output_name] = LinearMap( + Labels( + names=["o3_lambda", "o3_sigma", "center_type"], + values=torch.stack( + [ + torch.tensor([1] * len(self.atomic_types)), + torch.tensor([1] * len(self.atomic_types)), + torch.tensor(self.atomic_types), + ], + dim=1, + ), + ), + in_features=n_inputs_last_layer, + out_features=1, + bias=False, + out_properties=[ + Labels( + names=["properties"], + values=torch.tensor([[0]]), + ) + for _ in self.atomic_types + ], + ) + self.last_layers = torch.nn.ModuleDict(last_layers) # additive models: these are handled by the trainer at training # time, and they are added to the output at evaluation time @@ -204,7 +346,11 @@ def restart(self, dataset_info: DatasetInfo) -> "SoapBpnn": new_atomic_types = [ at for at in merged_info.atomic_types if at not in self.atomic_types ] - new_targets = merged_info.targets - self.dataset_info.targets + new_targets = { + key: value + for key, value in merged_info.targets.items() + if key not in self.dataset_info.targets + } if len(new_atomic_types) > 0: raise ValueError( @@ -246,7 +392,6 @@ def forward( ) soap_features = self.layernorm(soap_features) - last_layer_features = self.bpnn(soap_features) # output the hidden features, if requested: @@ -261,31 +406,45 @@ def forward( _remove_center_type_from_properties(out_features) ) - atomic_energies: Dict[str, TensorMap] = {} + last_layer_features_by_output: Dict[str, TensorMap] = {} + for output_name, vector_featurizer in self.vector_featurizers.items(): + last_layer_features_by_output[output_name] = vector_featurizer( + systems, last_layer_features + ) + + atomic_properties: Dict[str, TensorMap] = {} for output_name, output_layer in self.last_layers.items(): if output_name in outputs: - atomic_energies[output_name] = output_layer(last_layer_features) + atomic_properties[output_name] = output_layer( + last_layer_features_by_output[output_name] + ) - # Sum the atomic energies coming from the BPNN to get the total energy - for output_name, atomic_energy in atomic_energies.items(): - atomic_energy = atomic_energy.keys_to_samples("center_type") + for output_name, atomic_property in atomic_properties.items(): + atomic_property = atomic_property.keys_to_samples("center_type") if outputs[output_name].per_atom: # this operation should just remove the center_type label return_dict[output_name] = metatensor.torch.remove_dimension( - atomic_energy, axis="samples", name="center_type" + atomic_property, axis="samples", name="center_type" ) else: + # sum the atomic property to get the total property return_dict[output_name] = metatensor.torch.sum_over_samples( - atomic_energy, ["atom", "center_type"] + atomic_property, ["atom", "center_type"] ) if not self.training: # at evaluation, we also add the additive contributions for additive_model in self.additive_models: + # some of the outputs might not be present in the additive model + # (e.g. the composition model only provides outputs for scalar targets) + outputs_for_additive_model: Dict[str, ModelOutput] = {} + for output_name in outputs: + if output_name in additive_model.outputs: + outputs_for_additive_model[output_name] = outputs[output_name] additive_contributions = additive_model( - systems, outputs, selected_atoms + systems, outputs_for_additive_model, selected_atoms ) - for name in return_dict: + for name in additive_contributions: if name.startswith("mtt::aux::"): continue # skip auxiliary outputs (not targets) return_dict[name] = metatensor.torch.add( diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py index fc732897e..50fa7118a 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py @@ -6,8 +6,9 @@ from omegaconf import OmegaConf from metatrain.experimental.soap_bpnn import SoapBpnn, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS @@ -22,8 +23,10 @@ def test_continue(monkeypatch, tmp_path): systems = read_systems(DATASET_PATH) systems = [system.to(torch.float32) for system in systems] - target_info_dict = TargetInfoDict() - target_info_dict["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + target_info_dict = {} + target_info_dict["mtt::U0"] = TargetInfo( + quantity="energy", unit="eV", layout=energy_layout + ) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py index 63242161e..421cc422a 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py @@ -3,11 +3,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, System from metatrain.experimental.soap_bpnn import SoapBpnn -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -22,7 +23,9 @@ def test_to(device, dtype): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info).to(dtype=dtype) exported = model.export() @@ -33,6 +36,7 @@ def test_to(device, dtype): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) requested_neighbor_lists = get_requested_neighbor_lists(exported) system = get_system_with_neighbor_lists(system, requested_neighbor_lists) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index 25dd250b6..2e7cde5e7 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -7,7 +7,8 @@ from metatrain.experimental.soap_bpnn import SoapBpnn from metatrain.utils.architectures import check_architecture_options -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import DEFAULT_HYPERS, MODEL_HYPERS @@ -19,7 +20,9 @@ def test_prediction_subset_elements(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -28,6 +31,7 @@ def test_prediction_subset_elements(): types=torch.tensor([6, 6]), positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) model( [system], @@ -42,7 +46,9 @@ def test_prediction_subset_atoms(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -56,6 +62,7 @@ def test_prediction_subset_atoms(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0]], ), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) energy_monomer = model( @@ -76,6 +83,7 @@ def test_prediction_subset_atoms(): ], ), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) selection_labels = metatensor.torch.Labels( @@ -108,7 +116,9 @@ def test_output_last_layer_features(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -119,6 +129,7 @@ def test_output_last_layer_features(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]], ), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) # last-layer features per atom: @@ -179,7 +190,9 @@ def test_output_per_atom(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -190,6 +203,7 @@ def test_output_per_atom(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]], ), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) outputs = model( diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py b/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py index 2b5835b74..92c96767d 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py @@ -5,7 +5,8 @@ from metatensor.torch.atomistic import systems_to_torch from metatrain.experimental.soap_bpnn import SoapBpnn -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, MODEL_HYPERS @@ -16,7 +17,9 @@ def test_rotational_invariance(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index 7b4161ddb..35f691051 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -6,8 +6,9 @@ from omegaconf import OmegaConf from metatrain.experimental.soap_bpnn import SoapBpnn, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.testing import energy_layout from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS @@ -21,8 +22,8 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" - targets = TargetInfoDict() - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV") + targets = {} + targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py index 4d6b89898..53a7e161e 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py @@ -4,7 +4,8 @@ from metatensor.torch.atomistic import System from metatrain.experimental.soap_bpnn import SoapBpnn -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -15,7 +16,9 @@ def test_torchscript(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) model = torch.jit.script(model) @@ -26,6 +29,7 @@ def test_torchscript(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]] ), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) model( [system], @@ -39,7 +43,9 @@ def test_torchscript_with_identity(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) hypers = copy.deepcopy(MODEL_HYPERS) hypers["bpnn"]["layernorm"] = False @@ -52,6 +58,7 @@ def test_torchscript_with_identity(): [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]] ), cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), ) model( [system], @@ -65,7 +72,9 @@ def test_torchscript_save_load(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) torch.jit.save( diff --git a/src/metatrain/experimental/soap_bpnn/trainer.py b/src/metatrain/experimental/soap_bpnn/trainer.py index aed858bcd..810d9e471 100644 --- a/src/metatrain/experimental/soap_bpnn/trainer.py +++ b/src/metatrain/experimental/soap_bpnn/trainer.py @@ -8,8 +8,7 @@ from torch.utils.data import DataLoader, DistributedSampler from ...utils.additive import remove_additive -from ...utils.data import CombinedDataLoader, Dataset, TargetInfoDict, collate_fn -from ...utils.data.extract_targets import get_targets_dict +from ...utils.data import CombinedDataLoader, Dataset, collate_fn from ...utils.distributed.distributed_data_parallel import DistributedDataParallel from ...utils.distributed.slurm import DistributedEnvironment from ...utils.evaluate_model import evaluate_model @@ -182,9 +181,7 @@ def train( val_dataloader = CombinedDataLoader(val_dataloaders, shuffle=False) # Extract all the possible outputs and their gradients: - train_targets = get_targets_dict( - train_datasets, (model.module if is_distributed else model).dataset_info - ) + train_targets = (model.module if is_distributed else model).dataset_info.targets outputs_list = [] for target_name, target_info in train_targets.items(): outputs_list.append(target_name) @@ -270,9 +267,7 @@ def train( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{key: train_targets[key] for key in targets.keys()} - ), + {key: train_targets[key] for key in targets.keys()}, is_training=True, ) @@ -325,9 +320,7 @@ def train( predictions = evaluate_model( model, systems, - TargetInfoDict( - **{key: train_targets[key] for key in targets.keys()} - ), + {key: train_targets[key] for key in targets.keys()}, is_training=False, ) diff --git a/src/metatrain/share/schema-dataset.json b/src/metatrain/share/schema-dataset.json index ef33134dd..28baa2830 100644 --- a/src/metatrain/share/schema-dataset.json +++ b/src/metatrain/share/schema-dataset.json @@ -132,6 +132,59 @@ } ] }, + "per_atom": { + "type": "boolean" + }, + "num_properties": { + "type": "integer" + }, + "type": { + "oneOf": [ + { "enum": ["scalar"] }, + { + "properties": { + "cartesian": { + "type": "object", + "properties": { + "rank": { + "type": "integer" + }, + "additionalProperties": false + }, + "additionalProperties": false + }, + "additionalProperties": false + }, + "additionalProperties": false + }, + { + "properties": { + "spherical": { + "type": "object", + "properties": { + "irreps": { + "type": "array", + "items": { + "o3_lambda": + { + "type": "integer" + }, + "o3_sigma": + { + "type": "number" + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "additionalProperties": false + }, + "additionalProperties": false + } + ] + }, "forces": { "$ref": "#/$defs/gradient_section" }, diff --git a/src/metatrain/utils/additive/composition.py b/src/metatrain/utils/additive/composition.py index c1b715cb9..ddc9476c0 100644 --- a/src/metatrain/utils/additive/composition.py +++ b/src/metatrain/utils/additive/composition.py @@ -22,6 +22,9 @@ class CompositionModel(torch.nn.Module): quantity. """ + outputs: Dict[str, ModelOutput] + output_to_output_index: Dict[str, int] + def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo): super().__init__() @@ -31,31 +34,27 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo): schema={"type": "object", "additionalProperties": False}, ) - # Check capabilities - for target in dataset_info.targets.values(): - if target.quantity != "energy": - raise ValueError( - "CompositionModel only supports energy-like outputs, but a " - f"{target.quantity} output was provided." - ) - self.dataset_info = dataset_info self.atomic_types = sorted(dataset_info.atomic_types) self.outputs = { key: ModelOutput( - quantity=value.quantity, - unit=value.unit, + quantity=target_info.quantity, + unit=target_info.unit, per_atom=True, ) - for key, value in dataset_info.targets.items() + for key, target_info in dataset_info.targets.items() + if target_info.is_scalar + # important: only scalars can have composition contributions } n_types = len(self.atomic_types) - n_targets = len(dataset_info.targets) + n_targets = len(self.outputs) self.output_to_output_index = { - target: i for i, target in enumerate(sorted(dataset_info.targets.keys())) + target: i + for i, target in enumerate(sorted(dataset_info.targets.keys())) + if target in self.outputs } self.register_buffer( @@ -242,6 +241,9 @@ def forward( for target_key, target in outputs.items(): if target_key.startswith("mtt::aux::"): continue + if target_key not in self.outputs.keys(): + # non-scalar + continue weights = self.weights[self.output_to_output_index[target_key]] concatenated_types = torch.concatenate([system.types for system in systems]) diff --git a/src/metatrain/utils/additive/remove.py b/src/metatrain/utils/additive/remove.py index 4235af1fc..21678c714 100644 --- a/src/metatrain/utils/additive/remove.py +++ b/src/metatrain/utils/additive/remove.py @@ -1,12 +1,12 @@ import warnings -from typing import Dict, List, Union +from typing import Dict, List import metatensor.torch import torch from metatensor.torch import TensorMap from metatensor.torch.atomistic import System -from ..data import TargetInfo, TargetInfoDict +from ..data import TargetInfo from ..evaluate_model import evaluate_model @@ -14,7 +14,7 @@ def remove_additive( systems: List[System], targets: Dict[str, TensorMap], additive_model: torch.nn.Module, - target_info_dict: Union[Dict[str, TargetInfo], TargetInfoDict], + target_info_dict: Dict[str, TargetInfo], ): """Remove an additive contribution from the training targets. @@ -35,11 +35,20 @@ def remove_additive( additive_contribution = evaluate_model( additive_model, systems, - TargetInfoDict(**{key: target_info_dict[key] for key in targets.keys()}), + { + key: target_info_dict[key] + for key in targets.keys() + if key in additive_model.outputs + }, is_training=False, # we don't need any gradients w.r.t. any parameters ) - for target_key in targets: + for target_key in additive_contribution.keys(): + # note that we loop over the keys of additive_contribution, not targets, + # because the targets might contain additional keys (this is for example + # the case of the composition model, which will only provide outputs + # for scalar targets + # make the samples the same so we can use metatensor.torch.subtract # we also need to detach the values to avoid backpropagating through the # subtraction diff --git a/src/metatrain/utils/additive/zbl.py b/src/metatrain/utils/additive/zbl.py index edf2ec7b2..cec2ee96e 100644 --- a/src/metatrain/utils/additive/zbl.py +++ b/src/metatrain/utils/additive/zbl.py @@ -251,6 +251,7 @@ def requested_neighbor_lists(self) -> List[NeighborListOptions]: NeighborListOptions( cutoff=self.cutoff_radius, full_list=True, + strict=True, ) ] diff --git a/src/metatrain/utils/data/__init__.py b/src/metatrain/utils/data/__init__.py index 0aa128433..a4886839d 100644 --- a/src/metatrain/utils/data/__init__.py +++ b/src/metatrain/utils/data/__init__.py @@ -1,7 +1,5 @@ from .dataset import ( # noqa: F401 Dataset, - TargetInfo, - TargetInfoDict, DatasetInfo, get_atomic_types, get_all_targets, @@ -9,17 +7,9 @@ check_datasets, get_stats, ) -from .readers import ( # noqa: F401 - read_energy, - read_forces, - read_stress, - read_systems, - read_targets, - read_virial, -) - +from .target_info import TargetInfo # noqa: F401 +from .readers import read_systems, read_targets # noqa: F401 from .writers import write_predictions # noqa: F401 from .combine_dataloaders import CombinedDataLoader # noqa: F401 from .system_to_ase import system_to_ase # noqa: F401 -from .extract_targets import get_targets_dict # noqa: F401 from .get_dataset import get_dataset # noqa: F401 diff --git a/src/metatrain/utils/data/dataset.py b/src/metatrain/utils/data/dataset.py index cd6a68ab2..673d28e43 100644 --- a/src/metatrain/utils/data/dataset.py +++ b/src/metatrain/utils/data/dataset.py @@ -1,7 +1,6 @@ import math import warnings -from collections import UserDict -from typing import Any, Dict, List, Optional, Tuple, Union +from typing import Any, Dict, List, Tuple, Union import numpy as np from metatensor.learn.data import Dataset, group_and_join @@ -10,159 +9,7 @@ from ..external_naming import to_external_name from ..units import get_gradient_units - - -class TargetInfo: - """A class that contains information about a target. - - :param quantity: The quantity of the target. - :param unit: The unit of the target. If :py:obj:`None` the ``unit`` will be set to - an empty string ``""``. - :param per_atom: Whether the target is a per-atom quantity. - :param gradients: List containing the gradient names of the target that are present - in the target. Examples are ``"positions"`` or ``"strain"``. ``gradients`` will - be stored as a sorted list of **unique** gradients. - """ - - def __init__( - self, - quantity: str, - unit: Union[None, str] = "", - per_atom: bool = False, - gradients: Optional[List[str]] = None, - ): - self.quantity = quantity - self.unit = unit if unit is not None else "" - self.per_atom = per_atom - self._gradients = set(gradients) if gradients is not None else set() - - @property - def gradients(self) -> List[str]: - """Sorted and unique list of gradient names.""" - return sorted(self._gradients) - - @gradients.setter - def gradients(self, value: List[str]): - self._gradients = set(value) - - def __repr__(self): - return ( - f"TargetInfo(quantity={self.quantity!r}, unit={self.unit!r}, " - f"per_atom={self.per_atom!r}, gradients={self.gradients!r})" - ) - - def __eq__(self, other): - if not isinstance(other, TargetInfo): - raise NotImplementedError( - "Comparison between a TargetInfo instance and a " - f"{type(other).__name__} instance is not implemented." - ) - return ( - self.quantity == other.quantity - and self.unit == other.unit - and self.per_atom == other.per_atom - and self._gradients == other._gradients - ) - - def copy(self) -> "TargetInfo": - """Return a shallow copy of the TargetInfo.""" - return TargetInfo( - quantity=self.quantity, - unit=self.unit, - per_atom=self.per_atom, - gradients=self.gradients.copy(), - ) - - def update(self, other: "TargetInfo") -> None: - """Update this instance with the union of itself and ``other``. - - :raises ValueError: If ``quantity``, ``unit`` or ``per_atom`` do not match. - """ - if self.quantity != other.quantity: - raise ValueError( - f"Can't update TargetInfo with a different `quantity`: " - f"({self.quantity} != {other.quantity})" - ) - - if self.unit != other.unit: - raise ValueError( - f"Can't update TargetInfo with a different `unit`: " - f"({self.unit} != {other.unit})" - ) - - if self.per_atom != other.per_atom: - raise ValueError( - f"Can't update TargetInfo with a different `per_atom` property: " - f"({self.per_atom} != {other.per_atom})" - ) - - self.gradients = self.gradients + other.gradients - - def union(self, other: "TargetInfo") -> "TargetInfo": - """Return the union of this instance with ``other``.""" - new = self.copy() - new.update(other) - return new - - -class TargetInfoDict(UserDict): - """ - A custom dictionary class for storing and managing ``TargetInfo`` instances. - - The subclass handles the update of :py:class:`TargetInfo` if a ``key`` is already - present. - """ - - # We use a `UserDict` with special methods because a normal dict does not support - # the update of nested instances. - def __setitem__(self, key, value): - if not isinstance(value, TargetInfo): - raise ValueError("value to set is not a `TargetInfo` instance") - if key in self: - self[key].update(value) - else: - super().__setitem__(key, value) - - def __and__(self, other: "TargetInfoDict") -> "TargetInfoDict": - return self.intersection(other) - - def __sub__(self, other: "TargetInfoDict") -> "TargetInfoDict": - return self.difference(other) - - def union(self, other: "TargetInfoDict") -> "TargetInfoDict": - """Union of this instance with ``other``.""" - new = self.copy() - new.update(other) - return new - - def intersection(self, other: "TargetInfoDict") -> "TargetInfoDict": - """Intersection of the the two instances as a new ``TargetInfoDict``. - - (i.e. all elements that are in both sets.) - - :raises ValueError: If intersected items with the same key are not the same. - """ - new_keys = self.keys() & other.keys() - - self_intersect = TargetInfoDict(**{key: self[key] for key in new_keys}) - other_intersect = TargetInfoDict(**{key: other[key] for key in new_keys}) - - if self_intersect == other_intersect: - return self_intersect - else: - raise ValueError( - "Intersected items with the same key are not the same. Intersected " - f"keys are {','.join(new_keys)}" - ) - - def difference(self, other: "TargetInfoDict") -> "TargetInfoDict": - """Difference of two instances as a new ``TargetInfoDict``. - - (i.e. all elements that are in this set but not in the other.) - """ - - new_keys = self.keys() - other.keys() - return TargetInfoDict(**{key: self[key] for key in new_keys}) +from .target_info import TargetInfo class DatasetInfo: @@ -180,7 +27,7 @@ class DatasetInfo: """ def __init__( - self, length_unit: str, atomic_types: List[int], targets: TargetInfoDict + self, length_unit: str, atomic_types: List[int], targets: Dict[str, TargetInfo] ): self.length_unit = length_unit if length_unit is not None else "" self._atomic_types = set(atomic_types) @@ -233,6 +80,14 @@ def update(self, other: "DatasetInfo") -> None: ) self.atomic_types = self.atomic_types + other.atomic_types + + intersecting_target_keys = self.targets.keys() & other.targets.keys() + for key in intersecting_target_keys: + if self.targets[key] != other.targets[key]: + raise ValueError( + f"Can't update DatasetInfo with different target information for " + f"target '{key}': {self.targets[key]} != {other.targets[key]}" + ) self.targets.update(other.targets) def union(self, other: "DatasetInfo") -> "DatasetInfo": diff --git a/src/metatrain/utils/data/extract_targets.py b/src/metatrain/utils/data/extract_targets.py deleted file mode 100644 index ee86b29d4..000000000 --- a/src/metatrain/utils/data/extract_targets.py +++ /dev/null @@ -1,48 +0,0 @@ -from typing import Dict, List, Union - -import torch - -from metatrain.utils.data import Dataset - -from .dataset import DatasetInfo, TargetInfo - - -def get_targets_dict( - datasets: List[Union[Dataset, torch.utils.data.Subset]], dataset_info: DatasetInfo -) -> Dict[str, TargetInfo]: - """ - This is a helper function that extracts all the possible targets and their - gradients from a list of datasets. - - :param datasets: A list of Datasets or Subsets. - :param dataset_info: A DatasetInfo object containing further - information about the dataset, namely the unit and quantity of the - targets. - - :returns: A dictionary mapping target names to ``TargetInfo`` objects. - - :raises ValueError: If the ``DatasetInfo`` object does not contain any of - the expected targets. - """ - - targets_dict = {} - for dataset in datasets: - targets = next(iter(dataset)) - targets = targets._asdict() - targets.pop("system") # system not needed - - # targets is now a dictionary of TensorMaps - for target_name, target_tmap in targets.items(): - if target_name not in dataset_info.targets.keys(): - raise ValueError( - f"Target {target_name} not found in the targets " - "specified in dataset_info." - ) - if target_name not in targets_dict: - targets_dict[target_name] = TargetInfo( - quantity=dataset_info.targets[target_name].quantity, - unit=dataset_info.targets[target_name].unit, - gradients=target_tmap.block(0).gradients_list(), - ) - - return targets_dict diff --git a/src/metatrain/utils/data/get_dataset.py b/src/metatrain/utils/data/get_dataset.py index 2f95263c5..502aea40f 100644 --- a/src/metatrain/utils/data/get_dataset.py +++ b/src/metatrain/utils/data/get_dataset.py @@ -1,12 +1,12 @@ -from typing import Tuple +from typing import Dict, Tuple from omegaconf import DictConfig -from .dataset import Dataset, TargetInfoDict +from .dataset import Dataset, TargetInfo from .readers import read_systems, read_targets -def get_dataset(options: DictConfig) -> Tuple[Dataset, TargetInfoDict]: +def get_dataset(options: DictConfig) -> Tuple[Dataset, Dict[str, TargetInfo]]: """ Gets a dataset given a configuration dictionary. @@ -18,7 +18,7 @@ def get_dataset(options: DictConfig) -> Tuple[Dataset, TargetInfoDict]: systems and targets in the dataset. :returns: A tuple containing a ``Dataset`` object and a - ``TargetInfoDict`` containing additional information (units, + ``Dict[str, TargetInfo]`` containing additional information (units, physical quantities, ...) on the targets in the dataset """ diff --git a/src/metatrain/utils/data/readers/__init__.py b/src/metatrain/utils/data/readers/__init__.py index 39ca25823..6694cd3bf 100644 --- a/src/metatrain/utils/data/readers/__init__.py +++ b/src/metatrain/utils/data/readers/__init__.py @@ -1,8 +1,4 @@ from .readers import ( # noqa: F401 - read_energy, - read_forces, - read_stress, read_systems, read_targets, - read_virial, ) diff --git a/src/metatrain/utils/data/readers/ase.py b/src/metatrain/utils/data/readers/ase.py index 400e81e15..c273387d6 100644 --- a/src/metatrain/utils/data/readers/ase.py +++ b/src/metatrain/utils/data/readers/ase.py @@ -1,10 +1,17 @@ +import logging import warnings -from typing import List +from typing import List, Tuple import ase.io import torch -from metatensor.torch import Labels, TensorBlock +from metatensor.torch import Labels, TensorBlock, TensorMap from metatensor.torch.atomistic import System, systems_to_torch +from omegaconf import DictConfig + +from ..target_info import TargetInfo, get_energy_target_info, get_generic_target_info + + +logger = logging.getLogger(__name__) def _wrapped_ase_io_read(filename): @@ -14,7 +21,7 @@ def _wrapped_ase_io_read(filename): raise ValueError(f"Failed to read '{filename}' with ASE: {e}") from e -def read_systems_ase(filename: str) -> List[System]: +def read_ase_systems(filename: str) -> List[System]: """Store system informations using ase. :param filename: name of the file to read @@ -182,3 +189,159 @@ def _read_virial_stress_ase( blocks.append(block) return blocks + + +def read_ase_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: + target_key = target["key"] + + blocks = read_energy_ase( + filename=target["read_from"], + key=target["key"], + ) + + if target["forces"]: + try: + position_gradients = read_forces_ase( + filename=target["forces"]["read_from"], + key=target["forces"]["key"], + ) + except Exception: + logger.warning(f"No forces found in section {target_key!r}.") + add_position_gradients = False + else: + logger.info( + f"Forces found in section {target_key!r}, " + "we will use this gradient to train the model" + ) + for block, position_gradient in zip(blocks, position_gradients): + block.add_gradient(parameter="positions", gradient=position_gradient) + add_position_gradients = True + + if target["stress"] and target["virial"]: + raise ValueError("Cannot use stress and virial at the same time") + + if target["stress"]: + try: + strain_gradients = read_stress_ase( + filename=target["stress"]["read_from"], + key=target["stress"]["key"], + ) + except Exception: + logger.warning(f"No stress found in section {target_key!r}.") + add_strain_gradients = False + else: + logger.info( + f"Stress found in section {target_key!r}, " + "we will use this gradient to train the model" + ) + for block, strain_gradient in zip(blocks, strain_gradients): + block.add_gradient(parameter="strain", gradient=strain_gradient) + add_strain_gradients = True + + if target["virial"]: + try: + strain_gradients = read_virial_ase( + filename=target["virial"]["read_from"], + key=target["virial"]["key"], + ) + except Exception: + logger.warning(f"No virial found in section {target_key!r}.") + add_strain_gradients = False + else: + logger.info( + f"Virial found in section {target_key!r}, " + "we will use this gradient to train the model" + ) + for block, strain_gradient in zip(blocks, strain_gradients): + block.add_gradient(parameter="strain", gradient=strain_gradient) + add_strain_gradients = True + tensor_map_list = [ + TensorMap( + keys=Labels(["_"], torch.tensor([[0]])), + blocks=[block], + ) + for block in blocks + ] + target_info = get_energy_target_info( + target, add_position_gradients, add_strain_gradients + ) + return tensor_map_list, target_info + + +def read_ase_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: + filename = target["read_from"] + frames = _wrapped_ase_io_read(filename) + + # we don't allow ASE to read spherical tensors with more than one irrep, + # otherwise it's a mess + if ( + isinstance(target["type"], dict) + and next(iter(target["type"].keys())) == "spherical" + ): + irreps = target["type"]["spherical"] + if len(irreps) > 1: + raise ValueError( + "The metatrain ASE reader does not support reading " + "spherical tensors with more than one irreducible " + "representation." + ) + + target_info = get_generic_target_info(target) + components = target_info.layout.block().components + properties = target_info.layout.block().properties + shape_after_samples = target_info.layout.block().shape[1:] + per_atom = target_info.per_atom + keys = target_info.layout.keys + + target_key = target["key"] + + tensor_maps = [] + for i_system, atoms in enumerate(frames): + + if not per_atom and target_key not in atoms.info: + raise ValueError( + f"Target key {target_key!r} was not found in system {filename!r} at " + f"index {i_system}" + ) + if per_atom and target_key not in atoms.arrays: + raise ValueError( + f"Target key {target_key!r} was not found in system {filename!r} at " + f"index {i_system}" + ) + + # here we reshape to allow for more flexibility; this is actually + # necessary for the `arrays`, which are stored in a 2D array + if per_atom: + values = torch.tensor( + atoms.arrays[target_key], dtype=torch.float64 + ).reshape([-1] + shape_after_samples) + else: + values = torch.tensor(atoms.info[target_key], dtype=torch.float64).reshape( + [-1] + shape_after_samples + ) + + samples = ( + Labels( + ["system", "atom"], + torch.tensor([[i_system, a] for a in range(len(values))]), + ) + if per_atom + else Labels( + ["system"], + torch.tensor([[i_system]]), + ) + ) + + block = TensorBlock( + values=values, + samples=samples, + components=components, + properties=properties, + ) + tensor_map = TensorMap( + keys=keys, + blocks=[block], + ) + tensor_maps.append(tensor_map) + + return tensor_maps, target_info diff --git a/src/metatrain/utils/data/readers/mts.py b/src/metatrain/utils/data/readers/mts.py new file mode 100644 index 000000000..653fac96e --- /dev/null +++ b/src/metatrain/utils/data/readers/mts.py @@ -0,0 +1,146 @@ +import logging +from typing import List, Tuple + +import torch +from metatensor.torch import TensorMap +from metatensor.torch.atomistic import System +from omegaconf import DictConfig + +from ..target_info import TargetInfo, get_energy_target_info, get_generic_target_info + + +logger = logging.getLogger(__name__) + + +def read_metatensor_systems(filename: str) -> List[System]: + """Read system information using metatensor. + + :param filename: name of the file to read + + :raises NotImplementedError: Serialization of systems is not yet + available in metatensor. + """ + raise NotImplementedError("Reading metatensor systems is not yet implemented.") + + +def _wrapped_metatensor_read(filename) -> List[TensorMap]: + try: + return torch.load(filename) + except Exception as e: + raise ValueError(f"Failed to read '{filename}' with torch: {e}") from e + + +def read_metatensor_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: + tensor_maps = _wrapped_metatensor_read(target["read_from"]) + + has_position_gradients = [] + has_strain_gradients = [] + for tensor_map in tensor_maps: + if len(tensor_map) != 1: + raise ValueError("Energy TensorMaps should have exactly one block.") + has_position_gradients.append( + "positions" in tensor_map.block().gradients_list() + ) + has_strain_gradients.append("strain" in tensor_map.block().gradients_list()) + + if not (all(has_position_gradients) or any(has_position_gradients)): + raise ValueError( + "Found a mix of targets with and without position gradients. " + "Either all targets should have position gradients or none." + ) + if not (all(has_strain_gradients) or any(has_strain_gradients)): + raise ValueError( + "Found a mix of targets with and without strain gradients. " + "Either all targets should have strain gradients or none." + ) + + add_position_gradients = all(has_position_gradients) + add_strain_gradients = all(has_strain_gradients) + target_info = get_energy_target_info( + target, add_position_gradients, add_strain_gradients + ) + + # now check all the expected metadata (from target_info.layout) matches + # the actual metadata in the tensor maps + _check_tensor_maps_metadata(tensor_maps, target_info.layout) + + return tensor_maps, target_info + + +def read_metatensor_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: + tensor_maps = _wrapped_metatensor_read(target["read_from"]) + + for tensor_map in tensor_maps: + for block in tensor_map.blocks(): + if len(block.gradients_list()) > 0: + raise ValueError("Only energy targets can have gradient blocks.") + + target_info = get_generic_target_info(target) + + _check_tensor_maps_metadata(tensor_maps, target_info.layout) + + return tensor_maps, target_info + + +def _check_tensor_maps_metadata(tensor_maps: List[TensorMap], layout: TensorMap): + for i, tensor_map in enumerate(tensor_maps): + if tensor_map.keys != layout.keys: + raise ValueError( + f"Unexpected keys in metatensor targets at index {i}: " + f"expected: {layout.keys} " + f"actual: {tensor_map.keys}" + ) + for key in layout.keys: + block = tensor_map.block(key) + block_from_layout = tensor_map.block(key) + if block.labels.names != block_from_layout.labels.names: + raise ValueError( + f"Unexpected samples in metatensor targets at index {i}: " + f"expected: {block_from_layout.labels.names} " + f"actual: {block.labels.names}" + ) + if block.components != block_from_layout.components: + raise ValueError( + f"Unexpected components in metatensor targets at index {i}: " + f"expected: {block_from_layout.components} " + f"actual: {block.components}" + ) + if block.properties != block_from_layout.properties: + raise ValueError( + f"Unexpected properties in metatensor targets at index {i}: " + f"expected: {block_from_layout.properties} " + f"actual: {block.properties}" + ) + if set(block.gradients_list()) != set(block_from_layout.gradients_list()): + raise ValueError( + f"Unexpected gradients in metatensor targets at index {i}: " + f"expected: {block_from_layout.gradients_list()} " + f"actual: {block.gradients_list()}" + ) + for name in block_from_layout.gradients_list(): + gradient_block = block.gradient(name) + gradient_block_from_layout = block_from_layout.gradient(name) + if ( + gradient_block.labels.names + != gradient_block_from_layout.labels.names + ): + raise ValueError( + f"Unexpected samples in metatensor targets at index {i} " + f"for `{name}` gradient block: " + f"expected: {gradient_block_from_layout.labels.names} " + f"actual: {gradient_block.labels.names}" + ) + if gradient_block.components != gradient_block_from_layout.components: + raise ValueError( + f"Unexpected components in metatensor targets at index {i} " + f"for `{name}` gradient block: " + f"expected: {gradient_block_from_layout.components} " + f"actual: {gradient_block.components}" + ) + if gradient_block.properties != gradient_block_from_layout.properties: + raise ValueError( + f"Unexpected properties in metatensor targets at index {i} " + f"for `{name}` gradient block: " + f"expected: {gradient_block_from_layout.properties} " + f"actual: {gradient_block.properties}" + ) diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index b095195b1..652b0e1e6 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -1,34 +1,29 @@ import importlib import logging +import warnings from pathlib import Path -from typing import Any, Dict, List, Optional, Tuple +from typing import Dict, List, Optional, Tuple -import torch -from metatensor.torch import Labels, TensorBlock, TensorMap +from metatensor.torch import TensorMap from metatensor.torch.atomistic import System from omegaconf import DictConfig -from ..dataset import TargetInfo, TargetInfoDict +from ..dataset import TargetInfo logger = logging.getLogger(__name__) -AVAILABLE_READERS = ["ase"] +AVAILABLE_READERS = ["ase", "metatensor"] """:py:class:`list`: list containing all implemented reader libraries""" -DEFAULT_READER = { - ".xyz": "ase", - ".extxyz": "ase", -} +DEFAULT_READER = {".xyz": "ase", ".extxyz": "ase", ".mts": "metatensor"} """:py:class:`dict`: dictionary mapping file extensions to a default reader""" -def _base_reader( - target: str, - filename: str, - reader: Optional[str] = None, - **reader_kwargs, -) -> List[Any]: +def _call_base_systems_reader( + filename: str, reader: Optional[str] = None +) -> List[System]: + if reader is None: try: file_suffix = Path(filename).suffix @@ -51,74 +46,18 @@ def _base_reader( ) try: - reader_met = getattr(reader_mod, f"read_{target}_{reader}") + reader_met = getattr(reader_mod, f"read_{reader}_systems") except AttributeError: - raise ValueError(f"Reader library {reader!r} can't read {target!r}.") + raise ValueError(f"Reader library {reader!r} can't read systems.") - data = reader_met(filename, **reader_kwargs) + systems = reader_met(filename) # elements in data are `torch.ScriptObject`s and their `dtype` is an integer. # A C++ double/torch.float64 is `7` according to # https://github.com/pytorch/pytorch/blob/207564bab1c4fe42750931765734ee604032fb69/c10/core/ScalarType.h#L54-L93 - assert all(d.dtype == 7 for d in data) - - return data - - -def read_energy( - filename: str, - target_value: str = "energy", - reader: Optional[str] = None, -) -> List[TensorBlock]: - """Read energy informations from a file. - - :param filename: name of the file to read - :param target_value: target value key name to be parsed from the file. - :param reader: reader library for parsing the file. If :py:obj:`None` the library is - is tried to determined from the file extension. - :returns: energy stored stored in double precision as a - :class:`metatensor.TensorBlock` - """ - return _base_reader( - target="energy", filename=filename, reader=reader, key=target_value - ) + assert all(s.dtype == 7 for s in systems) - -def read_forces( - filename: str, - target_value: str = "forces", - reader: Optional[str] = None, -) -> List[TensorBlock]: - """Read force informations from a file. - - :param filename: name of the file to read - :param target_value: target value key name to be parsed from the file - :param reader: reader library for parsing the file. If :py:obj:`None` the library is - is tried to determined from the file extension. - :returns: forces stored in double precision stored as a - :class:`metatensor.TensorBlock` - """ - return _base_reader( - target="forces", filename=filename, reader=reader, key=target_value - ) - - -def read_stress( - filename: str, - target_value: str = "stress", - reader: Optional[str] = None, -) -> List[TensorBlock]: - """Read stress informations from a file. - - :param filename: name of the file to read - :param target_value: target value key name to be parsed from the file. - :param reader: reader library for parsing the file. If :py:obj:`None` the library is - is tried to determined from the file extension. - :returns: stress stored in double precision as a :class:`metatensor.TensorBlock` - """ - return _base_reader( - target="stress", filename=filename, reader=reader, key=target_value - ) + return systems def read_systems( @@ -135,33 +74,55 @@ def read_systems( determined from the file extension. :returns: list of systems stored in double precision """ - return _base_reader(target="systems", filename=filename, reader=reader) + return _call_base_systems_reader(filename=filename, reader=reader) -def read_virial( - filename: str, - target_value: str = "virial", - reader: Optional[str] = None, -) -> List[TensorBlock]: - """Read virial informations from a file. +def _call_base_target_reader( + target: DictConfig, target_kind: str +) -> Tuple[List[TensorMap], TargetInfo]: + reader = target["reader"] + filename = target["read_from"] - :param filename: name of the file to read - :param target_value: target value key name to be parsed from the file. - :param reader: reader library for parsing the file. If :py:obj:`None` the library is - is tried to determined from the file extension. - :returns: virial stored in double precision as a :class:`metatensor.TensorBlock` - """ - return _base_reader( - target="virial", - filename=filename, - reader=reader, - key=target_value, - ) + if reader is None: + try: + file_suffix = Path(filename).suffix + reader = DEFAULT_READER[file_suffix] + except KeyError: + raise ValueError( + f"File extension {file_suffix!r} is not linked to a default reader " + "library. You can try reading it by setting a specific 'reader' from " + f"the known ones: {', '.join(AVAILABLE_READERS)} " + ) + + try: + reader_mod = importlib.import_module( + name=f".{reader}", package="metatrain.utils.data.readers" + ) + except ImportError: + raise ValueError( + f"Reader library {reader!r} not supported. Choose from " + f"{', '.join(AVAILABLE_READERS)}" + ) + + try: + reader_met = getattr(reader_mod, f"read_{reader}_{target_kind}") + except AttributeError: + raise ValueError(f"Reader library {reader!r} can't read {target!r}.") + + target_data_and_target_info = reader_met(target) + + # elements in data are `torch.ScriptObject`s and their `dtype` is an integer. + # A C++ double/torch.float64 is `7` according to + # https://github.com/pytorch/pytorch/blob/207564bab1c4fe42750931765734ee604032fb69/c10/core/ScalarType.h#L54-L93 + data = target_data_and_target_info[0] + assert all(d.dtype == 7 for d in data) + + return target_data_and_target_info def read_targets( conf: DictConfig, -) -> Tuple[Dict[str, List[TensorMap]], TargetInfoDict]: +) -> Tuple[Dict[str, List[TensorMap]], Dict[str, TargetInfo]]: """Reading all target information from a fully expanded config. To get such a config you can use :func:`expand_dataset_config @@ -175,9 +136,8 @@ def read_targets( :param conf: config containing the keys for what should be read. :returns: Dictionary containing a list of TensorMaps for each target section in the - config as well as a :py:class:`TargetInfoDict - ` instance containing the metadata of the - targets. + config as well as a ``Dict[str, TargetInfo]`` object + containing the metadata of the targets. :raises ValueError: if the target name is not valid. Valid target names are those that either start with ``mtt::`` or those that are in the list of @@ -185,18 +145,18 @@ def read_targets( https://docs.metatensor.org/latest/atomistic/outputs.html) """ target_dictionary = {} - target_info_dictionary = TargetInfoDict() + target_info_dictionary = {} standard_outputs_list = ["energy"] for target_key, target in conf.items(): - target_info_gradients: List[str] = [] is_standard_target = target_key in standard_outputs_list if not is_standard_target and not target_key.startswith("mtt::"): if target_key.lower() in ["force", "forces", "virial", "stress"]: - raise ValueError( - f"{target_key!r} should not be it's own top-level target, " - "but rather a sub-section of the 'energy' target" + warnings.warn( + f"{target_key!r} should not be its own top-level target, " + "but rather a sub-section of the 'energy' target", + stacklevel=2, ) else: raise ValueError( @@ -204,92 +164,17 @@ def read_targets( f"{standard_outputs_list} or start with `mtt::`." ) - if target["quantity"] == "energy": - blocks = read_energy( - filename=target["read_from"], - target_value=target["key"], - reader=target["reader"], - ) - - if target["forces"]: - try: - position_gradients = read_forces( - filename=target["forces"]["read_from"], - target_value=target["forces"]["key"], - reader=target["forces"]["reader"], - ) - except Exception: - logger.warning(f"No forces found in section {target_key!r}.") - else: - logger.info( - f"Forces found in section {target_key!r}, " - "we will use this gradient to train the model" - ) - for block, position_gradient in zip(blocks, position_gradients): - block.add_gradient( - parameter="positions", gradient=position_gradient - ) - - target_info_gradients.append("positions") - - if target["stress"] and target["virial"]: - raise ValueError("Cannot use stress and virial at the same time") - - if target["stress"]: - try: - strain_gradients = read_stress( - filename=target["stress"]["read_from"], - target_value=target["stress"]["key"], - reader=target["stress"]["reader"], - ) - except Exception: - logger.warning(f"No stress found in section {target_key!r}.") - else: - logger.info( - f"Stress found in section {target_key!r}, " - "we will use this gradient to train the model" - ) - for block, strain_gradient in zip(blocks, strain_gradients): - block.add_gradient(parameter="strain", gradient=strain_gradient) - - target_info_gradients.append("strain") - - if target["virial"]: - try: - strain_gradients = read_virial( - filename=target["virial"]["read_from"], - target_value=target["virial"]["key"], - reader=target["virial"]["reader"], - ) - except Exception: - logger.warning(f"No virial found in section {target_key!r}.") - else: - logger.info( - f"Virial found in section {target_key!r}, " - "we will use this gradient to train the model" - ) - for block, strain_gradient in zip(blocks, strain_gradients): - block.add_gradient(parameter="strain", gradient=strain_gradient) - - target_info_gradients.append("strain") - else: - raise ValueError( - f"Quantity: {target['quantity']!r} is not supported. Choose 'energy'." - ) - - target_dictionary[target_key] = [ - TensorMap( - keys=Labels(["_"], torch.tensor([[0]])), - blocks=[block], - ) - for block in blocks - ] - - target_info_dictionary[target_key] = TargetInfo( - quantity=target["quantity"], - unit=target["unit"], - per_atom=False, # TODO: read this from the config - gradients=target_info_gradients, + is_energy = ( + (target["quantity"] == "energy") + and (not target["per_atom"]) + and target["num_properties"] == 1 + and target["type"] == "scalar" + ) + energy_or_generic = "energy" if is_energy else "generic" + targets_as_list_of_tensor_maps, target_info = _call_base_target_reader( + target, energy_or_generic ) + target_dictionary[target_key] = targets_as_list_of_tensor_maps + target_info_dictionary[target_key] = target_info return target_dictionary, target_info_dictionary diff --git a/src/metatrain/utils/data/target_info.py b/src/metatrain/utils/data/target_info.py new file mode 100644 index 000000000..00ab3a855 --- /dev/null +++ b/src/metatrain/utils/data/target_info.py @@ -0,0 +1,392 @@ +from typing import List, Union + +import metatensor.torch +import torch +from metatensor.torch import Labels, TensorBlock, TensorMap +from omegaconf import DictConfig + + +class TargetInfo: + """A class that contains information about a target. + + :param quantity: The physical quantity of the target (e.g., "energy"). + :param layout: The layout of the target, as a ``TensorMap`` with 0 samples. + This ``TensorMap`` will be used to retrieve the names of + the ``samples``, as well as the ``components`` and ``properties`` of the + target and their gradients. For example, this allows to infer the type of + the target (scalar, Cartesian tensor, spherical tensor), whether it is per + atom, the names of its gradients, etc. + :param unit: The unit of the target. If :py:obj:`None` the ``unit`` will be set to + an empty string ``""``. + """ + + def __init__( + self, + quantity: str, + layout: TensorMap, + unit: Union[None, str] = "", + ): + # one of these will be set to True inside the _check_layout method + self.is_scalar = False + self.is_cartesian = False + self.is_spherical = False + + self._check_layout(layout) + + self.quantity = quantity # float64: otherwise metatensor can't serialize + self.layout = layout + self.unit = unit if unit is not None else "" + + @property + def gradients(self) -> List[str]: + """Sorted and unique list of gradient names.""" + if self.is_scalar: + return sorted(self.layout.block().gradients_list()) + else: + return [] + + @property + def per_atom(self) -> bool: + """Whether the target is per atom.""" + return "atom" in self.layout.block(0).samples.names + + def __repr__(self): + return ( + f"TargetInfo(quantity={self.quantity!r}, unit={self.unit!r}, " + f"layout={self.layout!r})" + ) + + def __eq__(self, other): + if not isinstance(other, TargetInfo): + raise NotImplementedError( + "Comparison between a TargetInfo instance and a " + f"{type(other).__name__} instance is not implemented." + ) + return ( + self.quantity == other.quantity + and self.unit == other.unit + and metatensor.torch.equal(self.layout, other.layout) + ) + + def _check_layout(self, layout: TensorMap) -> None: + """Check that the layout is a valid layout.""" + + # examine basic properties of all blocks + for block in layout.blocks(): + for sample_name in block.samples.names: + if sample_name not in ["system", "atom"]: + raise ValueError( + "The layout ``TensorMap`` of a target should only have samples " + "named 'system' or 'atom', but found " + f"'{sample_name}' instead." + ) + if len(block.values) != 0: + raise ValueError( + "The layout ``TensorMap`` of a target should have 0 " + f"samples, but found {len(block.values)} samples." + ) + + # examine the components of the first block to decide whether this is + # a scalar, a Cartesian tensor or a spherical tensor + + if len(layout) == 0: + raise ValueError( + "The layout ``TensorMap`` of a target should have at least one " + "block, but found 0 blocks." + ) + components_first_block = layout.block(0).components + if len(components_first_block) == 0: + self.is_scalar = True + elif components_first_block[0].names[0].startswith("xyz"): + self.is_cartesian = True + elif ( + len(components_first_block) == 1 + and components_first_block[0].names[0] == "o3_mu" + ): + self.is_spherical = True + else: + raise ValueError( + "The layout ``TensorMap`` of a target should be " + "either scalars, Cartesian tensors or spherical tensors. The type of " + "the target could not be determined." + ) + + if self.is_scalar: + if layout.keys.names != ["_"]: + raise ValueError( + "The layout ``TensorMap`` of a scalar target should have " + "a single key sample named '_'." + ) + if len(layout.blocks()) != 1: + raise ValueError( + "The layout ``TensorMap`` of a scalar target should have " + "a single block." + ) + gradients_names = layout.block(0).gradients_list() + for gradient_name in gradients_names: + if gradient_name not in ["positions", "strain"]: + raise ValueError( + "Only `positions` and `strain` gradients are supported for " + "scalar targets. " + f"Found '{gradient_name}' instead." + ) + if self.is_cartesian: + if layout.keys.names != ["_"]: + raise ValueError( + "The layout ``TensorMap`` of a Cartesian tensor target should have " + "a single key sample named '_'." + ) + if len(layout.blocks()) != 1: + raise ValueError( + "The layout ``TensorMap`` of a Cartesian tensor target should have " + "a single block." + ) + if len(layout.block(0).gradients_list()) > 0: + raise ValueError( + "Gradients of Cartesian tensor targets are not supported." + ) + + if self.is_spherical: + if layout.keys.names != ["o3_lambda", "o3_sigma"]: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target " + "should have two keys named 'o3_lambda' and 'o3_sigma'." + f"Found '{layout.keys.names}' instead." + ) + for key, block in layout.items(): + o3_lambda, o3_sigma = int(key.values[0].item()), int( + key.values[1].item() + ) + if o3_sigma not in [-1, 1]: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target should " + "have a key sample 'o3_sigma' that is either -1 or 1." + f"Found '{o3_sigma}' instead." + ) + if o3_lambda < 0: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target should " + "have a key sample 'o3_lambda' that is non-negative." + f"Found '{o3_lambda}' instead." + ) + components = block.components + if len(components) != 1: + raise ValueError( + "The layout ``TensorMap`` of a spherical tensor target should " + "have a single component." + ) + if len(components[0]) != 2 * o3_lambda + 1: + raise ValueError( + "Each ``TensorBlock`` of a spherical tensor target should have " + "a component with 2*o3_lambda + 1 elements." + f"Found '{len(components[0])}' elements instead." + ) + if len(block.gradients_list()) > 0: + raise ValueError( + "Gradients of spherical tensor targets are not supported." + ) + + +def get_energy_target_info( + target: DictConfig, + add_position_gradients: bool = False, + add_strain_gradients: bool = False, +) -> TargetInfo: + + block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 1, dtype=torch.float64), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[], + properties=Labels.range("energy", 1), + ) + + if add_position_gradients: + position_gradient_block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 1, dtype=torch.float64), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), + ) + block.add_gradient("positions", position_gradient_block) + + if add_strain_gradients: + strain_gradient_block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, 3, 3, 1, dtype=torch.float64), + samples=Labels( + names=["sample", "atom"], + values=torch.empty((0, 2), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz_1"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + Labels( + names=["xyz_2"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.range("energy", 1), + ) + block.add_gradient("strain", strain_gradient_block) + + layout = TensorMap( + keys=Labels.single(), + blocks=[block], + ) + + target_info = TargetInfo( + quantity=target["quantity"], + unit=target["unit"], + layout=layout, + ) + return target_info + + +def get_generic_target_info(target: DictConfig) -> TargetInfo: + if target["type"] == "scalar": + return _get_scalar_target_info(target) + elif len(target["type"]) == 1 and next(iter(target["type"])).lower() == "cartesian": + return _get_cartesian_target_info(target) + elif len(target["type"]) == 1 and next(iter(target["type"])) == "spherical": + return _get_spherical_target_info(target) + else: + raise ValueError( + f"Target type {target['type']} is not supported. " + "Supported types are 'scalar', 'cartesian' and 'spherical'." + ) + + +def _get_scalar_target_info(target: DictConfig) -> TargetInfo: + sample_names = ["system"] + if target["per_atom"]: + sample_names.append("atom") + + block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty(0, target["num_properties"], dtype=torch.float64), + samples=Labels( + names=sample_names, + values=torch.empty((0, len(sample_names)), dtype=torch.int32), + ), + components=[], + properties=Labels.range("properties", target["num_properties"]), + ) + layout = TensorMap( + keys=Labels.single(), + blocks=[block], + ) + + target_info = TargetInfo( + quantity=target["quantity"], + unit=target["unit"], + layout=layout, + ) + return target_info + + +def _get_cartesian_target_info(target: DictConfig) -> TargetInfo: + sample_names = ["system"] + if target["per_atom"]: + sample_names.append("atom") + + cartesian_key = next(iter(target["type"])) + + if target["type"][cartesian_key]["rank"] == 1: + components = [Labels(["xyz"], torch.arange(3).reshape(-1, 1))] + else: + components = [] + for component in range(target["rank"][cartesian_key]): + components.append( + Labels( + names=[f"xyz_{component}"], + values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), + ) + ) + + block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty( + [0] + [3] * len(components) + [target["num_properties"]], + dtype=torch.float64, + ), + samples=Labels( + names=sample_names, + values=torch.empty((0, len(sample_names)), dtype=torch.int32), + ), + components=components, + properties=Labels.range("properties", target["num_properties"]), + ) + layout = TensorMap( + keys=Labels.single(), + blocks=[block], + ) + + target_info = TargetInfo( + quantity=target["quantity"], + unit=target["unit"], + layout=layout, + ) + return target_info + + +def _get_spherical_target_info(target: DictConfig) -> TargetInfo: + sample_names = ["system"] + if target["per_atom"]: + sample_names.append("atom") + + irreps = target["type"]["spherical"]["irreps"] + keys = [] + blocks = [] + for irrep in irreps: + components = [ + Labels( + names=["o3_mu"], + values=torch.arange( + -irrep["o3_lambda"], irrep["o3_lambda"] + 1, dtype=torch.int32 + ).reshape(-1, 1), + ) + ] + block = TensorBlock( + # float64: otherwise metatensor can't serialize + values=torch.empty( + 0, + 2 * irrep["o3_lambda"] + 1, + target["num_properties"], + dtype=torch.float64, + ), + samples=Labels( + names=sample_names, + values=torch.empty((0, len(sample_names)), dtype=torch.int32), + ), + components=components, + properties=Labels.range("properties", target["num_properties"]), + ) + keys.append([irrep["o3_lambda"], irrep["o3_sigma"]]) + blocks.append(block) + + layout = TensorMap( + keys=Labels(["o3_lambda", "o3_sigma"], torch.tensor(keys, dtype=torch.int32)), + blocks=blocks, + ) + + target_info = TargetInfo( + quantity=target["quantity"], + unit=target["unit"], + layout=layout, + ) + return target_info diff --git a/src/metatrain/utils/data/writers/xyz.py b/src/metatrain/utils/data/writers/xyz.py index f87f125d3..553432689 100644 --- a/src/metatrain/utils/data/writers/xyz.py +++ b/src/metatrain/utils/data/writers/xyz.py @@ -56,13 +56,16 @@ def write_xyz( block = target_map.block() if "atom" in block.samples.names: # save inside arrays - arrays[target_name] = block.values.detach().cpu().numpy() + values = block.values.detach().cpu().numpy() + arrays[target_name] = values.reshape(values.shape[0], -1) + # reshaping here is necessary because `arrays` only accepts 2D arrays else: # save inside info if block.values.numel() == 1: info[target_name] = block.values.item() else: - info[target_name] = block.values.detach().cpu().numpy() + info[target_name] = block.values.detach().cpu().numpy().squeeze(0) + # squeeze the sample dimension, which corresponds to the system for gradient_name, gradient_block in block.gradients(): # here, we assume that gradients are always an array, and never a scalar diff --git a/src/metatrain/utils/evaluate_model.py b/src/metatrain/utils/evaluate_model.py index 5b4500a21..8a42ec3d0 100644 --- a/src/metatrain/utils/evaluate_model.py +++ b/src/metatrain/utils/evaluate_model.py @@ -12,7 +12,7 @@ register_autograd_neighbors, ) -from .data import TargetInfoDict +from .data import TargetInfo from .export import is_exported from .output_gradient import compute_gradient @@ -33,7 +33,7 @@ def evaluate_model( torch.jit._script.RecursiveScriptModule, ], systems: List[System], - targets: TargetInfoDict, + targets: Dict[str, TargetInfo], is_training: bool, check_consistency: bool = False, ) -> Dict[str, TensorMap]: @@ -234,7 +234,7 @@ def _get_model_outputs( torch.jit._script.RecursiveScriptModule, ], systems: List[System], - targets: TargetInfoDict, + targets: Dict[str, TargetInfo], check_consistency: bool, ) -> Dict[str, TensorMap]: if is_exported(model): diff --git a/src/metatrain/utils/llpr.py b/src/metatrain/utils/llpr.py index 7f23fda9b..6cfa42394 100644 --- a/src/metatrain/utils/llpr.py +++ b/src/metatrain/utils/llpr.py @@ -1,4 +1,4 @@ -from typing import Dict, List, Optional +from typing import Callable, Dict, List, Optional import metatensor.torch import numpy as np @@ -12,6 +12,10 @@ ) from torch.utils.data import DataLoader +from .data import DatasetInfo, TargetInfo, get_atomic_types +from .evaluate_model import evaluate_model +from .per_atom import average_by_num_atoms + class LLPRUncertaintyModel(torch.nn.Module): """A wrapper that adds LLPR uncertainties to a model. @@ -229,12 +233,13 @@ def compute_covariance(self, train_loader: DataLoader) -> None: class in ``metatrain``. """ device = self.covariance.device + dtype = self.covariance.dtype for batch in train_loader: systems, _ = batch n_atoms = torch.tensor( [len(system.positions) for system in systems], device=device ) - systems = [system.to(device=device) for system in systems] + systems = [system.to(device=device, dtype=dtype) for system in systems] outputs = { "mtt::aux::last_layer_features": ModelOutput( quantity="", @@ -248,10 +253,100 @@ class in ``metatrain``. ) output = self.model(systems, options, check_consistency=False) ll_feat_tmap = output["mtt::aux::last_layer_features"] - ll_feats = ll_feat_tmap.block().values / n_atoms.unsqueeze(1) + ll_feats = ll_feat_tmap.block().values.detach() / n_atoms.unsqueeze(1) self.covariance += ll_feats.T @ ll_feats self.covariance_computed = True + def compute_covariance_as_pseudo_hessian( + self, + train_loader: DataLoader, + target_infos: Dict[str, TargetInfo], + loss_fn: Callable, + parameters: List[torch.nn.Parameter], + ) -> None: + """A function to compute the covariance matrix for a training set + as the pseudo-Hessian of the loss function. + + The covariance/pseudo-Hessian is stored as a buffer in the model. The + loss function must be compatible with the Dataloader (i.e., it should + have the same structure as the outputs of the model and as the targets + in the dataset). All contributions to the loss functions are assumed to + be per-atom, except for quantities that are already per-atom (e.g., + forces). + + :param train_loader: A PyTorch DataLoader with the training data. + The individual samples need to be compatible with the ``Dataset`` + class in ``metatrain``. + :param loss_fn: A loss function that takes the model outputs and the + targets and returns a scalar loss. + :param parameters: A list of model parameters for which the pseudo-Hessian + should be computed. This is often necessary as models can have very + large numbers of parameters, and the pseudo-Hessian's number of + elements grows quadratically with the number of parameters. For this + reason, only a subset of the parameters of the model is usually used + in the calculation. This list allows the user to feed the parameters + of interest directly to the function. In order to function correctly, + the model's parameters should be those corresponding to the last + layer(s) of the model, such that their concatenation corresponds to the + last-layer features, in the same order as those are returned by the + base model. + """ + self.model = self.model.train() # we need gradients w.r.t. parameters + # disable gradients for all parameters that are not in the list + for parameter in self.model.parameters(): + parameter.requires_grad = False + for parameter in parameters: + parameter.requires_grad = True + + dataset = train_loader.dataset + dataset_info = DatasetInfo( + length_unit=self.capabilities.length_unit, # TODO: check + atomic_types=get_atomic_types(dataset), + targets=target_infos, + ) + train_targets = dataset_info.targets + device = self.covariance.device + dtype = self.covariance.dtype + for batch in train_loader: + systems, targets = batch + systems = [system.to(device=device, dtype=dtype) for system in systems] + targets = { + name: tmap.to(device=device, dtype=dtype) + for name, tmap in targets.items() + } + predictions = evaluate_model( + self.model, + systems, + {key: train_targets[key] for key in targets.keys()}, + is_training=True, # keep the computational graph + ) + + # average by the number of atoms + predictions = average_by_num_atoms(predictions, systems, []) + targets = average_by_num_atoms(targets, systems, []) + + loss = loss_fn(predictions, targets) + + grads = torch.autograd.grad( + loss, + parameters, + create_graph=False, + retain_graph=False, + allow_unused=True, # if there are multiple last-layers + materialize_grads=True, # avoid Nones + ) + + grads = torch.cat(grads, dim=1) + self.covariance += grads.T @ grads + for parameter in parameters: + parameter.grad = None # reset the gradients + + self.covariance_computed = True + + for parameter in self.model.parameters(): + parameter.requires_grad = True + self.model = self.model.eval() # restore the model to evaluation mode + def compute_inverse_covariance(self, regularizer: Optional[float] = None): """A function to compute the inverse covariance matrix. @@ -307,14 +402,16 @@ def calibrate(self, valid_loader: DataLoader): """ # calibrate the LLPR device = self.covariance.device + dtype = self.covariance.dtype all_predictions = {} # type: ignore all_targets = {} # type: ignore all_uncertainties = {} # type: ignore for batch in valid_loader: systems, targets = batch - systems = [system.to(device=device) for system in systems] + systems = [system.to(device=device, dtype=dtype) for system in systems] targets = { - name: target.to(device=device) for name, target in targets.items() + name: target.to(device=device, dtype=dtype) + for name, target in targets.items() } # evaluate the targets and their uncertainties, not per atom requested_outputs = {} @@ -337,10 +434,10 @@ def calibrate(self, valid_loader: DataLoader): all_predictions[name] = [] all_targets[name] = [] all_uncertainties[uncertainty_name] = [] - all_predictions[name].append(outputs[name].block().values) + all_predictions[name].append(outputs[name].block().values.detach()) all_targets[name].append(target.block().values) all_uncertainties[uncertainty_name].append( - outputs[uncertainty_name].block().values + outputs[uncertainty_name].block().values.detach() ) for name in all_predictions: diff --git a/src/metatrain/utils/metrics.py b/src/metatrain/utils/metrics.py index 357b567d0..29ace5104 100644 --- a/src/metatrain/utils/metrics.py +++ b/src/metatrain/utils/metrics.py @@ -8,7 +8,7 @@ class RMSEAccumulator: """Accumulates the RMSE between predictions and targets for an arbitrary number of keys, each corresponding to one target.""" - def __init__(self): + def __init__(self) -> None: """Initialize the accumulator.""" self.information: Dict[str, Tuple[float, int]] = {} @@ -91,7 +91,7 @@ class MAEAccumulator: """Accumulates the MAE between predictions and targets for an arbitrary number of keys, each corresponding to one target.""" - def __init__(self): + def __init__(self) -> None: """Initialize the accumulator.""" self.information: Dict[str, Tuple[float, int]] = {} diff --git a/src/metatrain/utils/neighbor_lists.py b/src/metatrain/utils/neighbor_lists.py index 91f9d9641..dc8e4c8bc 100644 --- a/src/metatrain/utils/neighbor_lists.py +++ b/src/metatrain/utils/neighbor_lists.py @@ -1,4 +1,3 @@ -import random from typing import List import ase.neighborlist @@ -110,51 +109,34 @@ def _compute_single_neighbor_list( cutoff=options.cutoff, ) - # Check the vesin NL against the ASE NL (5% of the time) - if random.random() < 0.05: - nl_i_ase, nl_j_ase, nl_S_ase, nl_D_ase = ase.neighborlist.neighbor_list( - "ijSD", - atoms, - cutoff=options.cutoff, - ) - assert len(nl_i) == len(nl_i_ase) - assert len(nl_j) == len(nl_j_ase) - assert len(nl_S) == len(nl_S_ase) - assert len(nl_D) == len(nl_D_ase) - nl_ijS = np.concatenate( - (nl_i.reshape(-1, 1), nl_j.reshape(-1, 1), nl_S), axis=1 - ) - nl_ijS_ase = np.concatenate( - (nl_i_ase.reshape(-1, 1), nl_j_ase.reshape(-1, 1), nl_S_ase), axis=1 - ) - sort_indices = np.lexsort(nl_ijS.T) - sort_indices_ase = np.lexsort(nl_ijS_ase.T) - assert np.array_equal(nl_ijS[sort_indices], nl_ijS_ase[sort_indices_ase]) - assert np.allclose(nl_D[sort_indices], nl_D_ase[sort_indices_ase]) - - selected = [] - for pair_i, (i, j, S) in enumerate(zip(nl_i, nl_j, nl_S)): + # The pair selection code here below avoids a relatively slow loop over + # all pairs to improve performance + reject_condition = ( # we want a half neighbor list, so drop all duplicated neighbors - if j < i: - continue - elif i == j: - if S[0] == 0 and S[1] == 0 and S[2] == 0: + (nl_j < nl_i) + | ( + (nl_i == nl_j) + & ( # only create pairs with the same atom twice if the pair spans more # than one unit cell - continue - elif S[0] + S[1] + S[2] < 0 or ( - (S[0] + S[1] + S[2] == 0) and (S[2] < 0 or (S[2] == 0 and S[1] < 0)) - ): - # When creating pairs between an atom and one of its periodic - # images, the code generate multiple redundant pairs (e.g. with - # shifts 0 1 1 and 0 -1 -1); and we want to only keep one of these. - # We keep the pair in the positive half plane of shifts. - continue - - selected.append(pair_i) - - selected = np.array(selected, dtype=np.int32) - n_pairs = len(selected) + ((nl_S[:, 0] == 0) & (nl_S[:, 1] == 0) & (nl_S[:, 2] == 0)) + | + # When creating pairs between an atom and one of its periodic images, + # the code generates multiple redundant pairs + # (e.g. with shifts 0 1 1 and 0 -1 -1); and we want to only keep one of + # these. We keep the pair in the positive half plane of shifts. + ( + (nl_S.sum(axis=1) < 0) + | ( + (nl_S.sum(axis=1) == 0) + & ((nl_S[:, 2] < 0) | ((nl_S[:, 2] == 0) & (nl_S[:, 1] < 0))) + ) + ) + ) + ) + ) + selected = np.logical_not(reject_condition) + n_pairs = np.sum(selected) if options.full_list: distances = np.empty((2 * n_pairs, 3), dtype=np.float64) diff --git a/src/metatrain/utils/omegaconf.py b/src/metatrain/utils/omegaconf.py index 3a223df5d..2beb292f1 100644 --- a/src/metatrain/utils/omegaconf.py +++ b/src/metatrain/utils/omegaconf.py @@ -96,6 +96,9 @@ def _resolve_single_str(config: str) -> DictConfig: "reader": None, "key": None, "unit": None, + "per_atom": False, + "type": "scalar", + "num_properties": 1, } ) @@ -108,7 +111,7 @@ def _resolve_single_str(config: str) -> DictConfig: } ) -KNWON_GRADIENTS = list(CONF_GRADIENTS.keys()) +KNOWN_GRADIENTS = list(CONF_GRADIENTS.keys()) # Merge configs to get default configs for energies and other targets CONF_TARGET = OmegaConf.merge(CONF_TARGET_FIELDS, CONF_GRADIENTS) @@ -253,7 +256,7 @@ def expand_dataset_config(conf: Union[str, DictConfig, ListConfig]) -> ListConfi for gradient_key, gradient_conf in conf_element["targets"][ target_key ].items(): - if gradient_key in KNWON_GRADIENTS: + if gradient_key in KNOWN_GRADIENTS: if gradient_conf is True: gradient_conf = CONF_GRADIENT.copy() elif type(gradient_conf) is str: diff --git a/tests/cli/test_eval_model.py b/tests/cli/test_eval_model.py index 6510deee9..6da30fb5c 100644 --- a/tests/cli/test_eval_model.py +++ b/tests/cli/test_eval_model.py @@ -11,6 +11,7 @@ from metatrain.cli.eval import eval_model from metatrain.experimental.soap_bpnn import __model__ from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import EVAL_OPTIONS_PATH, MODEL_HYPERS, MODEL_PATH, RESOURCES_PATH @@ -84,9 +85,7 @@ def test_eval_export(monkeypatch, tmp_path, options): length_unit="angstrom", atomic_types={1, 6, 7, 8}, targets={ - "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=[] - ) + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/cli/test_export_model.py b/tests/cli/test_export_model.py index a3e62e9d7..ca93a7b00 100644 --- a/tests/cli/test_export_model.py +++ b/tests/cli/test_export_model.py @@ -15,6 +15,7 @@ from metatrain.experimental.soap_bpnn import __model__ from metatrain.utils.architectures import find_all_architectures from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS, RESOURCES_PATH @@ -28,9 +29,7 @@ def test_export(monkeypatch, tmp_path, path): length_unit="angstrom", atomic_types={1}, targets={ - "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=[] - ) + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -93,9 +92,7 @@ def test_reexport(monkeypatch, tmp_path): length_unit="angstrom", atomic_types={1, 6, 7, 8}, targets={ - "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=[] - ) + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/cli/test_train_model.py b/tests/cli/test_train_model.py index 5fec166a2..dee3da5b8 100644 --- a/tests/cli/test_train_model.py +++ b/tests/cli/test_train_model.py @@ -12,7 +12,7 @@ from omegaconf import OmegaConf from metatrain import RANDOM_SEED -from metatrain.cli.train import train_model +from metatrain.cli.train import _process_continue_from, train_model from metatrain.utils.errors import ArchitectureError from . import ( @@ -446,7 +446,7 @@ def test_continue_auto(options, caplog, monkeypatch, tmp_path): for fake_checkpoint_dir in fake_checkpoints_dirs: shutil.copy(MODEL_PATH_64_BIT, fake_checkpoint_dir / f"model_{i}.ckpt") - train_model(options, continue_from="auto") + train_model(options, continue_from=_process_continue_from("auto")) assert "Loading checkpoint from" in caplog.text assert str(true_checkpoint_dir) in caplog.text @@ -460,7 +460,7 @@ def test_continue_auto_no_outputs(options, caplog, monkeypatch, tmp_path): shutil.copy(DATASET_PATH_QM9, "qm9_reduced_100.xyz") caplog.set_level(logging.INFO) - train_model(options, continue_from="auto") + train_model(options, continue_from=_process_continue_from("auto")) assert "Loading checkpoint from" not in caplog.text @@ -473,6 +473,7 @@ def test_continue_different_dataset(options, monkeypatch, tmp_path): options["training_set"]["systems"]["read_from"] = "ethanol_reduced_100.xyz" options["training_set"]["targets"]["energy"]["key"] = "energy" + options["training_set"]["targets"]["energy"]["forces"] = False train_model(options, continue_from=MODEL_PATH_64_BIT) diff --git a/tests/resources/options.yaml b/tests/resources/options.yaml index 57d67a254..b09dd65f3 100644 --- a/tests/resources/options.yaml +++ b/tests/resources/options.yaml @@ -1,21 +1,24 @@ seed: 42 -base_precision: 32 architecture: name: experimental.nanopet training: - batch_size: 32 - num_epochs: 3 - log_interval: 1 + batch_size: 10 + num_epochs: 1500 training_set: systems: read_from: ethanol_train_1.xyz length_unit: angstrom targets: - energy: - key: energy - unit: eV + mtt::forces: + quantity: "" + key: forces + unit: "" + per_atom: true + type: + cartesian: + rank: 1 -test_set: 0.1 -validation_set: 0.1 +test_set: 0.90 +validation_set: 0.05 diff --git a/tests/resources/test.yaml b/tests/resources/test.yaml new file mode 100644 index 000000000..548e9afe0 --- /dev/null +++ b/tests/resources/test.yaml @@ -0,0 +1,21 @@ +seed: 42 + +architecture: + name: experimental.soap_bpnn + training: + batch_size: 2 + num_epochs: 1 + +training_set: + systems: + read_from: ethanol_reduced_100.xyz + length_unit: angstrom + targets: + forces: + quantity: force + key: forces + per_atom: true + num_properties: 3 + +test_set: 0.5 +validation_set: 0.1 diff --git a/tests/utils/data/readers/test_ase.py b/tests/utils/data/readers/test_ase.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/utils/data/readers/test_mts.py b/tests/utils/data/readers/test_mts.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/utils/data/test_readers.py b/tests/utils/data/readers/test_readers.py similarity index 98% rename from tests/utils/data/test_readers.py rename to tests/utils/data/readers/test_readers.py index 92b5e656b..5876d8e70 100644 --- a/tests/utils/data/test_readers.py +++ b/tests/utils/data/readers/test_readers.py @@ -11,7 +11,7 @@ from omegaconf import OmegaConf from test_targets_ase import ase_system, ase_systems -from metatrain.utils.data.dataset import TargetInfo, TargetInfoDict +from metatrain.utils.data.dataset import TargetInfo from metatrain.utils.data.readers import ( read_energy, read_forces, @@ -178,7 +178,7 @@ def test_read_targets(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): assert any(["Forces found" in rec.message for rec in caplog.records]) assert type(result) is dict - assert type(target_info_dict) is TargetInfoDict + assert type(target_info_dict) is dict if stress_dict: assert any(["Stress found" in rec.message for rec in caplog.records]) diff --git a/tests/utils/data/test_dataset.py b/tests/utils/data/test_dataset.py index 20100aa3d..9c76c5a7b 100644 --- a/tests/utils/data/test_dataset.py +++ b/tests/utils/data/test_dataset.py @@ -2,13 +2,13 @@ import pytest import torch +from metatensor.torch import Labels, TensorBlock, TensorMap from omegaconf import OmegaConf from metatrain.utils.data import ( Dataset, DatasetInfo, TargetInfo, - TargetInfoDict, check_datasets, collate_fn, get_all_targets, @@ -22,81 +22,159 @@ RESOURCES_PATH = Path(__file__).parents[2] / "resources" -def test_target_info_default(): - target_info = TargetInfo(quantity="energy", unit="kcal/mol") +@pytest.fixture +def layout_scalar(): + return TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.empty(0, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[], + properties=Labels.range("energy", 1), + ) + ], + ) + + +@pytest.fixture +def layout_spherical(): + return TensorMap( + keys=Labels( + names=["o3_lambda", "o3_sigma"], + values=torch.tensor([[0, 1], [2, 1]]), + ), + blocks=[ + TensorBlock( + values=torch.empty(0, 1, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[ + Labels( + names=["o3_mu"], + values=torch.arange(0, 1, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.single(), + ), + TensorBlock( + values=torch.empty(0, 5, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[ + Labels( + names=["o3_mu"], + values=torch.arange(-2, 3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.single(), + ), + ], + ) + + +@pytest.fixture +def layout_cartesian(): + return TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.empty(0, 3, 3, 1), + samples=Labels( + names=["system"], + values=torch.empty((0, 1), dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz_1"], + values=torch.arange(0, 3, dtype=torch.int32).reshape(-1, 1), + ), + Labels( + names=["xyz_2"], + values=torch.arange(0, 3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.single(), + ), + ], + ) + + +def test_target_info_scalar(layout_scalar): + target_info = TargetInfo(quantity="energy", unit="kcal/mol", layout=layout_scalar) assert target_info.quantity == "energy" assert target_info.unit == "kcal/mol" - assert target_info.per_atom is False assert target_info.gradients == [] + assert not target_info.per_atom - expected = ( - "TargetInfo(quantity='energy', unit='kcal/mol', per_atom=False, gradients=[])" - ) - assert target_info.__repr__() == expected + expected_start = "TargetInfo(quantity='energy', unit='kcal/mol'" + assert target_info.__repr__()[: len(expected_start)] == expected_start -def test_target_info_gradients(): +def test_target_info_spherical(layout_spherical): target_info = TargetInfo( - quantity="energy", - unit="kcal/mol", - per_atom=True, - gradients=["positions", "positions"], + quantity="mtt::spherical", unit="kcal/mol", layout=layout_spherical ) - assert target_info.quantity == "energy" + assert target_info.quantity == "mtt::spherical" assert target_info.unit == "kcal/mol" - assert target_info.per_atom is True - assert target_info.gradients == ["positions"] + assert target_info.gradients == [] + assert not target_info.per_atom - expected = ( - "TargetInfo(quantity='energy', unit='kcal/mol', per_atom=True, " - "gradients=['positions'])" - ) - assert target_info.__repr__() == expected + expected_start = "TargetInfo(quantity='mtt::spherical', unit='kcal/mol'" + assert target_info.__repr__()[: len(expected_start)] == expected_start -def test_list_gradients(): - info1 = TargetInfo(quantity="energy", unit="eV") +def test_target_info_cartesian(layout_cartesian): + target_info = TargetInfo( + quantity="mtt::cartesian", unit="kcal/mol", layout=layout_cartesian + ) - info1.gradients = ["positions"] - assert info1.gradients == ["positions"] + assert target_info.quantity == "mtt::cartesian" + assert target_info.unit == "kcal/mol" + assert target_info.gradients == [] + assert not target_info.per_atom - info1.gradients += ["strain"] - assert info1.gradients == ["positions", "strain"] + expected_start = "TargetInfo(quantity='mtt::cartesian', unit='kcal/mol'" + assert target_info.__repr__()[: len(expected_start)] == expected_start -def test_unit_none_conversion(): - info = TargetInfo(quantity="energy", unit=None) +def test_unit_none_conversion(layout_scalar): + info = TargetInfo(quantity="energy", unit=None, layout=layout_scalar) assert info.unit == "" -def test_length_unit_none_conversion(): +def test_length_unit_none_conversion(layout_scalar): dataset_info = DatasetInfo( length_unit=None, atomic_types=[1, 2, 3], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="kcal/mol")), + targets={ + "energy": TargetInfo( + quantity="energy", unit="kcal/mol", layout=layout_scalar + ) + }, ) assert dataset_info.length_unit == "" -def test_target_info_copy(): - info = TargetInfo(quantity="energy", unit="eV", gradients=["positions"]) - copy = info.copy() - assert copy == info - assert copy is not info - - -def test_target_info_eq(): - info1 = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - info2 = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) +def test_target_info_eq(layout_scalar): + info1 = TargetInfo(quantity="energy", unit="kcal/mol", layout=layout_scalar) + info2 = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) assert info1 == info1 assert info1 != info2 -def test_target_info_eq_error(): - info = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) +def test_target_info_eq_error(layout_scalar): + info = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) match = ( "Comparison between a TargetInfo instance and a list instance is not " @@ -106,152 +184,15 @@ def test_target_info_eq_error(): _ = info == [1, 2, 3] -def test_target_info_update(): - info1 = TargetInfo(quantity="energy", unit="eV", gradients=["strain", "aaa"]) - info2 = TargetInfo(quantity="energy", unit="eV", gradients=["positions"]) - info1.update(info2) - assert info1.gradients == ["aaa", "positions", "strain"] - - -def test_target_info_union(): - info1 = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - info2 = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - info_new = info1.union(info2) - assert isinstance(info_new, TargetInfo) - assert info_new.gradients == ["position", "strain"] - - -def test_target_info_update_non_matching_quantity(): - info1 = TargetInfo(quantity="energy", unit="eV") - info2 = TargetInfo(quantity="force", unit="eV") - match = r"Can't update TargetInfo with a different `quantity`: \(energy != force\)" - with pytest.raises(ValueError, match=match): - info1.update(info2) - - -def test_target_info_update_non_matching_unit(): - info1 = TargetInfo(quantity="energy", unit="eV") - info2 = TargetInfo(quantity="energy", unit="kcal") - match = r"Can't update TargetInfo with a different `unit`: \(eV != kcal\)" - with pytest.raises(ValueError, match=match): - info1.update(info2) - - -def test_target_info_update_non_matching_per_atom(): - info1 = TargetInfo(quantity="energy", unit="eV", per_atom=True) - info2 = TargetInfo(quantity="energy", unit="eV", per_atom=False) - match = "Can't update TargetInfo with a different `per_atom` property: " - with pytest.raises(ValueError, match=match): - info1.update(info2) - - -def test_target_info_dict_setitem_new_entry(): - tid = TargetInfoDict() - info = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - tid["energy"] = info - assert tid["energy"] == info - - -def test_target_info_dict_setitem_update_entry(): - tid = TargetInfoDict() - info1 = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - info2 = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - tid["energy"] = info1 - tid["energy"] = info2 - assert tid["energy"].gradients == ["position", "strain"] - - -def test_target_info_dict_setitem_value_error(): - tid = TargetInfoDict() - with pytest.raises(ValueError, match="value to set is not a `TargetInfo` instance"): - tid["energy"] = "not a TargetInfo" - - -def test_target_info_dict_union(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - - tid2 = TargetInfoDict() - tid2["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - merged = tid1.union(tid2) - assert merged["energy"] == tid1["energy"] - assert merged["myenergy"] == tid2["myenergy"] - - -def test_target_info_dict_merge_error(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - - tid2 = TargetInfoDict() - tid2["energy"] = TargetInfo( - quantity="energy", unit="kcal/mol", gradients=["strain"] - ) - - match = r"Can't update TargetInfo with a different `unit`: \(eV != kcal/mol\)" - with pytest.raises(ValueError, match=match): - tid1.union(tid2) - - -def test_target_info_dict_intersection(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - tid1["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - tid2 = TargetInfoDict() - tid2["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - intersection = tid1.intersection(tid2) - assert len(intersection) == 1 - assert intersection["myenergy"] == tid1["myenergy"] - - # Test `&` operator - intersection_and = tid1 & tid2 - assert intersection_and == intersection - - -def test_target_info_dict_intersection_error(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - tid1["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - tid2 = TargetInfoDict() - tid2["myenergy"] = TargetInfo( - quantity="energy", unit="kcal/mol", gradients=["strain"] - ) - - match = ( - r"Intersected items with the same key are not the same. Intersected " - r"keys are myenergy" - ) - - with pytest.raises(ValueError, match=match): - tid1.intersection(tid2) - - -def test_target_info_dict_difference(): - tid1 = TargetInfoDict() - tid1["energy"] = TargetInfo(quantity="energy", unit="eV", gradients=["position"]) - tid1["myenergy"] = TargetInfo(quantity="energy", unit="eV", gradients=["strain"]) - - tid2 = TargetInfoDict() - tid2["myenergy"] = TargetInfo( - quantity="energy", unit="kcal/mol", gradients=["strain"] - ) - - difference = tid1.difference(tid2) - assert len(difference) == 1 - assert difference["energy"] == tid1["energy"] - - difference_sub = tid1 - tid2 - assert difference_sub == difference - - -def test_dataset_info(): +def test_dataset_info(layout_scalar): """Tests the DatasetInfo class.""" - targets = TargetInfoDict(energy=TargetInfo(quantity="energy", unit="kcal/mol")) - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="kcal/mol") + targets = { + "energy": TargetInfo(quantity="energy", unit="kcal/mol", layout=layout_scalar) + } + targets["mtt::U0"] = TargetInfo( + quantity="energy", unit="kcal/mol", layout=layout_scalar + ) dataset_info = DatasetInfo( length_unit="angstrom", atomic_types=[3, 1, 2], targets=targets @@ -271,9 +212,13 @@ def test_dataset_info(): assert dataset_info.__repr__() == expected -def test_set_atomic_types(): - targets = TargetInfoDict(energy=TargetInfo(quantity="energy", unit="kcal/mol")) - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="kcal/mol") +def test_set_atomic_types(layout_scalar): + targets = { + "energy": TargetInfo(quantity="energy", unit="kcal/mol", layout=layout_scalar) + } + targets["mtt::U0"] = TargetInfo( + quantity="energy", unit="kcal/mol", layout=layout_scalar + ) dataset_info = DatasetInfo( length_unit="angstrom", atomic_types=[3, 1, 2], targets=targets @@ -286,10 +231,12 @@ def test_set_atomic_types(): assert dataset_info.atomic_types == [1, 4, 5, 7] -def test_dataset_info_copy(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") - targets["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") +def test_dataset_info_copy(layout_scalar, layout_cartesian): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) + targets["mtt::my-target"] = TargetInfo( + quantity="mtt::my-target", unit="eV/Angstrom", layout=layout_cartesian + ) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) copy = info.copy() @@ -298,31 +245,35 @@ def test_dataset_info_copy(): assert copy is not info -def test_dataset_info_update(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_update(layout_scalar, layout_spherical): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) targets2 = targets.copy() - targets2["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") + targets2["mtt::my-target"] = TargetInfo( + quantity="mtt::my-target", unit="eV/Angstrom", layout=layout_spherical + ) info2 = DatasetInfo(length_unit="angstrom", atomic_types=[8], targets=targets2) info.update(info2) assert info.atomic_types == [1, 6, 8] assert info.targets["energy"] == targets["energy"] - assert info.targets["forces"] == targets2["forces"] + assert info.targets["mtt::my-target"] == targets2["mtt::my-target"] -def test_dataset_info_update_non_matching_length_unit(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_update_non_matching_length_unit(layout_scalar): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) targets2 = targets.copy() - targets2["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") + targets2["mtt::my-target"] = TargetInfo( + quantity="mtt::my-target", unit="eV/Angstrom", layout=layout_scalar + ) info2 = DatasetInfo(length_unit="nanometer", atomic_types=[8], targets=targets2) @@ -335,23 +286,25 @@ def test_dataset_info_update_non_matching_length_unit(): info.update(info2) -def test_dataset_info_eq(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_eq(layout_scalar): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) targets2 = targets.copy() - targets2["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") + targets2["my-target"] = TargetInfo( + quantity="mtt::my-target", unit="eV/Angstrom", layout=layout_scalar + ) info2 = DatasetInfo(length_unit="nanometer", atomic_types=[8], targets=targets2) assert info == info assert info != info2 -def test_dataset_info_eq_error(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_eq_error(layout_scalar): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) @@ -363,31 +316,39 @@ def test_dataset_info_eq_error(): _ = info == [1, 2, 3] -def test_dataset_info_update_different_target_info(): - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") +def test_dataset_info_update_different_target_info(layout_scalar): + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) - targets2 = TargetInfoDict() - targets2["energy"] = TargetInfo(quantity="energy", unit="eV/Angstrom") + targets2 = {} + targets2["energy"] = TargetInfo( + quantity="energy", unit="eV/Angstrom", layout=layout_scalar + ) info2 = DatasetInfo(length_unit="angstrom", atomic_types=[8], targets=targets2) - match = r"Can't update TargetInfo with a different `unit`: \(eV != eV/Angstrom\)" + match = ( + "Can't update DatasetInfo with different target information for target 'energy'" + ) with pytest.raises(ValueError, match=match): info.update(info2) -def test_dataset_info_union(): +def test_dataset_info_union(layout_scalar, layout_cartesian): """Tests the union method.""" - targets = TargetInfoDict() - targets["energy"] = TargetInfo(quantity="energy", unit="eV") - targets["forces"] = TargetInfo(quantity="mtt::forces", unit="eV/Angstrom") + targets = {} + targets["energy"] = TargetInfo(quantity="energy", unit="eV", layout=layout_scalar) + targets["forces"] = TargetInfo( + quantity="mtt::forces", unit="eV/Angstrom", layout=layout_scalar + ) info = DatasetInfo(length_unit="angstrom", atomic_types=[1, 6], targets=targets) other_targets = targets.copy() - other_targets["mtt::stress"] = TargetInfo(quantity="mtt::stress", unit="GPa") + other_targets["mtt::stress"] = TargetInfo( + quantity="mtt::stress", unit="GPa", layout=layout_cartesian + ) other_info = DatasetInfo( length_unit="angstrom", atomic_types=[1], targets=other_targets @@ -606,7 +567,7 @@ def test_collate_fn(): assert isinstance(batch[1], dict) -def test_get_stats(): +def test_get_stats(layout_scalar): """Tests the get_stats method of Dataset and Subset.""" systems = read_systems(RESOURCES_PATH / "qm9_reduced_100.xyz") @@ -644,8 +605,8 @@ def test_get_stats(): length_unit="angstrom", atomic_types=[1, 6], targets={ - "mtt::U0": TargetInfo(quantity="energy", unit="eV"), - "energy": TargetInfo(quantity="energy", unit="eV"), + "mtt::U0": TargetInfo(quantity="energy", unit="eV", layout=layout_scalar), + "energy": TargetInfo(quantity="energy", unit="eV", layout=layout_scalar), }, ) diff --git a/tests/utils/data/test_system_to_ase.py b/tests/utils/data/test_system_to_ase.py index e6062b52d..3d66f7e7c 100644 --- a/tests/utils/data/test_system_to_ase.py +++ b/tests/utils/data/test_system_to_ase.py @@ -11,6 +11,7 @@ def test_system_to_ase(): positions=torch.tensor([[0.0, 0.0, 0.0], [1.0, 1.0, 1.0]]), types=torch.tensor([1, 8]), cell=torch.tensor([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]), + pbc=torch.tensor([True, True, True]), ) # Convert the system to an ASE atoms object diff --git a/tests/utils/data/test_target_info.py b/tests/utils/data/test_target_info.py new file mode 100644 index 000000000..8e98cb6c3 --- /dev/null +++ b/tests/utils/data/test_target_info.py @@ -0,0 +1,117 @@ +import pytest +from omegaconf import DictConfig + +from metatrain.utils.data.target_info import ( + get_energy_target_info, + get_generic_target_info, +) + + +@pytest.fixture +def energy_target_config() -> DictConfig: + return DictConfig( + { + "quantity": "energy", + "unit": "eV", + "per_atom": False, + "num_properties": 1, + "type": "scalar", + } + ) + + +@pytest.fixture +def scalar_target_config() -> DictConfig: + return DictConfig( + { + "quantity": "scalar", + "unit": "", + "per_atom": False, + "num_properties": 10, + "type": "scalar", + } + ) + + +@pytest.fixture +def cartesian_target_config() -> DictConfig: + return DictConfig( + { + "quantity": "dipole", + "unit": "D", + "per_atom": True, + "num_properties": 5, + "type": { + "Cartesian": { + "rank": 1, + } + }, + } + ) + + +@pytest.fixture +def spherical_target_config() -> DictConfig: + return DictConfig( + { + "quantity": "spherical", + "unit": "", + "per_atom": False, + "num_properties": 1, + "type": { + "spherical": [ + {"o3_lambda": 0, "o3_sigma": 1}, + {"o3_lambda": 2, "o3_sigma": 1}, + ], + }, + } + ) + + +def test_layout_energy(energy_target_config): + + target_info = get_energy_target_info(energy_target_config) + assert target_info.quantity == "energy" + assert target_info.unit == "eV" + assert target_info.per_atom is False + assert target_info.gradients == [] + + target_info = get_energy_target_info( + energy_target_config, add_position_gradients=True + ) + assert target_info.quantity == "energy" + assert target_info.unit == "eV" + assert target_info.per_atom is False + assert target_info.gradients == ["positions"] + + target_info = get_energy_target_info( + energy_target_config, add_position_gradients=True, add_strain_gradients=True + ) + assert target_info.quantity == "energy" + assert target_info.unit == "eV" + assert target_info.per_atom is False + assert target_info.gradients == ["positions", "strain"] + + +def test_layout_scalar(scalar_target_config): + target_info = get_generic_target_info(scalar_target_config) + assert target_info.quantity == "scalar" + assert target_info.unit == "" + assert target_info.per_atom is False + assert target_info.gradients == [] + + +def test_layout_cartesian(cartesian_target_config): + target_info = get_generic_target_info(cartesian_target_config) + assert target_info.quantity == "dipole" + assert target_info.unit == "D" + assert target_info.per_atom is True + assert target_info.gradients == [] + + +def test_layout_spherical(spherical_target_config): + target_info = get_generic_target_info(spherical_target_config) + assert target_info.quantity == "spherical" + assert target_info.unit == "" + assert target_info.per_atom is False + assert target_info.gradients == [] diff --git a/tests/utils/data/test_target_writers.py b/tests/utils/data/test_target_writers.py index 190d37fbe..7c4e1f355 100644 --- a/tests/utils/data/test_target_writers.py +++ b/tests/utils/data/test_target_writers.py @@ -20,6 +20,7 @@ def systems_capabilities_predictions( types=torch.tensor([1, 1]), positions=torch.tensor([[0, 0, 0], [0, 0, 0.74]]), cell=cell, + pbc=torch.logical_not(torch.all(cell == 0, dim=1)), ), ] @@ -85,6 +86,93 @@ def test_write_xyz(monkeypatch, tmp_path): assert all(atoms.pbc == 3 * [False]) +def test_write_components_and_properties_xyz(monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + systems, _, _ = systems_capabilities_predictions() + + capabilities = ModelCapabilities( + length_unit="angstrom", + outputs={"energy": ModelOutput(quantity="dos", unit="")}, + interaction_range=1.0, + dtype="float32", + ) + + predictions = { + "dos": TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.rand(2, 3, 100), + samples=Labels(["system"], torch.tensor([[0], [1]])), + components=[ + Labels.range("xyz", 3), + ], + properties=Labels( + ["property"], + torch.arange(100, dtype=torch.int32).reshape(-1, 1), + ), + ) + ], + ) + } + + filename = "test_output.xyz" + + write_xyz(filename, systems, capabilities, predictions) + + # Read the file and verify its contents + frames = ase.io.read(filename, index=":") + assert len(frames) == len(systems) + for atoms in frames: + assert atoms.info["dos"].shape == (3, 100) + + +def test_write_components_and_properties_xyz_per_atom(monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + systems, _, _ = systems_capabilities_predictions() + + capabilities = ModelCapabilities( + length_unit="angstrom", + outputs={"energy": ModelOutput(quantity="dos", unit="", per_atom=True)}, + interaction_range=1.0, + dtype="float32", + ) + + predictions = { + "dos": TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.rand(4, 3, 100), + samples=Labels( + ["system", "atom"], + torch.tensor([[0, 0], [0, 1], [1, 0], [1, 1]]), + ), + components=[ + Labels.range("xyz", 3), + ], + properties=Labels( + ["property"], + torch.arange(100, dtype=torch.int32).reshape(-1, 1), + ), + ) + ], + ) + } + + filename = "test_output.xyz" + + write_xyz(filename, systems, capabilities, predictions) + + # Read the file and verify its contents + frames = ase.io.read(filename, index=":") + assert len(frames) == len(systems) + for atoms in frames: + assert atoms.arrays["dos"].shape == (2, 300) + + def test_write_xyz_cell(monkeypatch, tmp_path): monkeypatch.chdir(tmp_path) @@ -99,10 +187,14 @@ def test_write_xyz_cell(monkeypatch, tmp_path): # Read the file and verify its contents frames = ase.io.read(filename, index=":") - for atoms in frames: + for i, atoms in enumerate(frames): cell_actual = torch.tensor(atoms.cell.array, dtype=cell_expected.dtype) torch.testing.assert_close(cell_actual, cell_expected) assert all(atoms.pbc == 3 * [True]) + assert atoms.info["energy"] == float(predictions["energy"].block().values[i, 0]) + assert atoms.arrays["forces"].shape == (2, 3) + assert atoms.info["stress"].shape == (3, 3) + assert atoms.info["virial"].shape == (3, 3) @pytest.mark.parametrize("fileformat", (None, ".xyz")) diff --git a/tests/utils/data/test_targets_ase.py b/tests/utils/data/test_targets_ase.py index 9444216ff..05269eb94 100644 --- a/tests/utils/data/test_targets_ase.py +++ b/tests/utils/data/test_targets_ase.py @@ -9,10 +9,10 @@ import torch from metatrain.utils.data.readers.ase import ( + read_ase_systems, read_energy_ase, read_forces_ase, read_stress_ase, - read_systems_ase, read_virial_ase, ) @@ -40,7 +40,7 @@ def test_read_ase(monkeypatch, tmp_path): systems = ase_system() ase.io.write(filename, systems) - result = read_systems_ase(filename) + result = read_ase_systems(filename) assert isinstance(result, list) assert len(result) == 1 diff --git a/tests/utils/test_additive.py b/tests/utils/test_additive.py index fd2179e5e..b3472d2f3 100644 --- a/tests/utils/test_additive.py +++ b/tests/utils/test_additive.py @@ -8,12 +8,13 @@ from omegaconf import OmegaConf from metatrain.utils.additive import ZBL, CompositionModel, remove_additive -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo, TargetInfoDict +from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo from metatrain.utils.data.readers import read_systems, read_targets from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_layout RESOURCES_PATH = Path(__file__).parents[1] / "resources" @@ -33,6 +34,7 @@ def test_composition_model_train(): positions=torch.tensor([[0.0, 0.0, 0.0]], dtype=torch.float64), types=torch.tensor([8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor( @@ -40,6 +42,7 @@ def test_composition_model_train(): ), types=torch.tensor([1, 1, 8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor( @@ -55,6 +58,7 @@ def test_composition_model_train(): ), types=torch.tensor([1, 1, 8, 1, 1, 8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), ] energies = [1.0, 5.0, 10.0] @@ -79,14 +83,12 @@ def test_composition_model_train(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1, 8], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="energy", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="energy", + layout=energy_layout, + ) + }, ), ) @@ -200,6 +202,7 @@ def test_composition_model_torchscript(tmpdir): positions=torch.tensor([[0.0, 0.0, 0.0]], dtype=torch.float64), types=torch.tensor([8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ) composition_model = CompositionModel( @@ -207,14 +210,12 @@ def test_composition_model_torchscript(tmpdir): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1, 8], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="energy", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="energy", + layout=energy_layout, + ) + }, ), ) composition_model = torch.jit.script(composition_model) @@ -289,6 +290,7 @@ def test_composition_model_missing_types(): positions=torch.tensor([[0.0, 0.0, 0.0]], dtype=torch.float64), types=torch.tensor([8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor( @@ -296,6 +298,7 @@ def test_composition_model_missing_types(): ), types=torch.tensor([1, 1, 8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor( @@ -311,6 +314,7 @@ def test_composition_model_missing_types(): ), types=torch.tensor([1, 1, 8, 1, 1, 8]), cell=torch.eye(3, dtype=torch.float64), + pbc=torch.tensor([True, True, True]), ), ] energies = [1.0, 5.0, 10.0] @@ -335,14 +339,12 @@ def test_composition_model_missing_types(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="energy", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="energy", + layout=energy_layout, + ) + }, ), ) with pytest.raises( @@ -356,14 +358,12 @@ def test_composition_model_missing_types(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1, 8, 100], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="energy", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="energy", + layout=energy_layout, + ) + }, ), ) with pytest.warns( @@ -387,14 +387,12 @@ def test_composition_model_wrong_target(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1], - targets=TargetInfoDict( - { - "energy": TargetInfo( - quantity="FOO", - per_atom=False, - ) - } - ), + targets={ + "energy": TargetInfo( + quantity="FOO", + layout=energy_layout, + ) + }, ), ) diff --git a/tests/utils/test_evaluate_model.py b/tests/utils/test_evaluate_model.py index e2bd81eca..9c147378d 100644 --- a/tests/utils/test_evaluate_model.py +++ b/tests/utils/test_evaluate_model.py @@ -10,6 +10,7 @@ get_requested_neighbor_lists, get_system_with_neighbor_lists, ) +from metatrain.utils.testing import energy_force_stress_layout from . import MODEL_HYPERS, RESOURCES_PATH @@ -27,7 +28,7 @@ def test_evaluate_model(training, exported): targets = { "energy": TargetInfo( - quantity="energy", unit="eV", gradients=["positions", "strain"] + quantity="energy", unit="eV", layout=energy_force_stress_layout ) } diff --git a/tests/utils/test_export.py b/tests/utils/test_export.py index 439a279f4..a0dcc1784 100644 --- a/tests/utils/test_export.py +++ b/tests/utils/test_export.py @@ -7,6 +7,7 @@ from metatrain.experimental.soap_bpnn import __model__ from metatrain.utils.data import DatasetInfo, TargetInfo from metatrain.utils.export import export, is_exported +from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS, RESOURCES_PATH @@ -18,7 +19,9 @@ def test_export(tmp_path): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1}, - targets={"energy": TargetInfo(quantity="energy", unit="eV")}, + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -48,7 +51,9 @@ def test_reexport(monkeypatch, tmp_path): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1}, - targets={"energy": TargetInfo(quantity="energy", unit="eV")}, + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -79,7 +84,9 @@ def test_length_units_warning(): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1}, - targets={"energy": TargetInfo(quantity="energy", unit="eV")}, + targets={ + "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -100,7 +107,7 @@ def test_units_warning(): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1}, - targets={"mtt::output": TargetInfo(quantity="energy")}, + targets={"mtt::output": TargetInfo(quantity="energy", layout=energy_layout)}, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/utils/test_external_naming.py b/tests/utils/test_external_naming.py index 666d1c890..0e3db1371 100644 --- a/tests/utils/test_external_naming.py +++ b/tests/utils/test_external_naming.py @@ -1,14 +1,15 @@ from metatrain.utils.data.dataset import TargetInfo from metatrain.utils.external_naming import to_external_name, to_internal_name +from metatrain.utils.testing import energy_layout def test_to_external_name(): """Tests the to_external_name function.""" quantities = { - "energy": TargetInfo(quantity="energy"), - "mtt::free_energy": TargetInfo(quantity="energy"), - "mtt::foo": TargetInfo(quantity="bar"), + "energy": TargetInfo(quantity="energy", layout=energy_layout), + "mtt::free_energy": TargetInfo(quantity="energy", layout=energy_layout), + "mtt::foo": TargetInfo(quantity="bar", layout=energy_layout), } assert to_external_name("energy_positions_gradients", quantities) == "forces" diff --git a/tests/utils/test_llpr.py b/tests/utils/test_llpr.py index 189e7c2ac..4c97c79b1 100644 --- a/tests/utils/test_llpr.py +++ b/tests/utils/test_llpr.py @@ -9,6 +9,7 @@ from metatrain.utils.data import Dataset, collate_fn, read_systems, read_targets from metatrain.utils.llpr import LLPRUncertaintyModel +from metatrain.utils.loss import TensorMapDictLoss from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, @@ -140,3 +141,140 @@ def test_llpr(tmpdir): torch.testing.assert_close( analytical_uncertainty, ensemble_uncertainty, rtol=1e-2, atol=1e-2 ) + + +def test_llpr_covariance_as_pseudo_hessian(tmpdir): + + model = load_atomistic_model( + str(RESOURCES_PATH / "model-64-bit.pt"), + extensions_directory=str(RESOURCES_PATH / "extensions/"), + ) + qm9_systems = read_systems(RESOURCES_PATH / "qm9_reduced_100.xyz") + target_config = { + "energy": { + "quantity": "energy", + "read_from": str(RESOURCES_PATH / "qm9_reduced_100.xyz"), + "reader": "ase", + "key": "U0", + "unit": "kcal/mol", + "forces": False, + "stress": False, + "virial": False, + }, + } + targets, target_info = read_targets(target_config) + requested_neighbor_lists = model.requested_neighbor_lists() + qm9_systems = [ + get_system_with_neighbor_lists(system, requested_neighbor_lists) + for system in qm9_systems + ] + dataset = Dataset.from_dict({"system": qm9_systems, **targets}) + dataloader = torch.utils.data.DataLoader( + dataset, + batch_size=10, + shuffle=False, + collate_fn=collate_fn, + ) + + llpr_model = LLPRUncertaintyModel(model) + + parameters = [] + for name, param in llpr_model.named_parameters(): + if "last_layers" in name: + parameters.append(param) + + loss_weight_dict = { + "energy": 1.0, + "energy_positions_grad": 1.0, + "energy_grain_grad": 1.0, + } + loss_fn = TensorMapDictLoss(loss_weight_dict) + + llpr_model.compute_covariance_as_pseudo_hessian( + dataloader, target_info, loss_fn, parameters + ) + llpr_model.compute_inverse_covariance() + + exported_model = MetatensorAtomisticModel( + llpr_model.eval(), + ModelMetadata(), + llpr_model.capabilities, + ) + + evaluation_options = ModelEvaluationOptions( + length_unit="angstrom", + outputs={ + "mtt::aux::energy_uncertainty": ModelOutput(per_atom=True), + "energy": ModelOutput(per_atom=True), + "mtt::aux::last_layer_features": ModelOutput(per_atom=True), + }, + selected_atoms=None, + ) + + outputs = exported_model( + qm9_systems[:5], evaluation_options, check_consistency=True + ) + + assert "mtt::aux::energy_uncertainty" in outputs + assert "energy" in outputs + assert "mtt::aux::last_layer_features" in outputs + + assert outputs["mtt::aux::energy_uncertainty"].block().samples.names == [ + "system", + "atom", + ] + assert outputs["energy"].block().samples.names == ["system", "atom"] + assert outputs["mtt::aux::last_layer_features"].block().samples.names == [ + "system", + "atom", + ] + + # Now test the ensemble approach + params = [] # One per element, SOAP-BPNN + for name, param in llpr_model.model.named_parameters(): + if "last_layers" in name and "energy" in name: + params.append(param.squeeze()) + weights = torch.cat(params) + + n_ensemble_members = 10000 + llpr_model.calibrate(dataloader) + llpr_model.generate_ensemble({"energy": weights}, n_ensemble_members) + assert "mtt::energy_ensemble" in llpr_model.capabilities.outputs + + exported_model = MetatensorAtomisticModel( + llpr_model.eval(), + ModelMetadata(), + llpr_model.capabilities, + ) + + exported_model.save( + file=str(tmpdir / "llpr_model.pt"), + collect_extensions=str(tmpdir / "extensions"), + ) + llpr_model = load_atomistic_model( + str(tmpdir / "llpr_model.pt"), extensions_directory=str(tmpdir / "extensions") + ) + + evaluation_options = ModelEvaluationOptions( + length_unit="angstrom", + outputs={ + "mtt::aux::energy_uncertainty": ModelOutput(per_atom=False), + "mtt::energy_ensemble": ModelOutput(per_atom=False), + }, + selected_atoms=None, + ) + outputs = exported_model( + qm9_systems[:5], evaluation_options, check_consistency=True + ) + + assert "mtt::aux::energy_uncertainty" in outputs + assert "mtt::energy_ensemble" in outputs + + analytical_uncertainty = outputs["mtt::aux::energy_uncertainty"].block().values + ensemble_uncertainty = torch.var( + outputs["mtt::energy_ensemble"].block().values, dim=1, keepdim=True + ) + + torch.testing.assert_close( + analytical_uncertainty, ensemble_uncertainty, rtol=1e-2, atol=1e-2 + ) diff --git a/tests/utils/test_neighbor_list.py b/tests/utils/test_neighbor_list.py index 9c35e05d5..768114d6c 100644 --- a/tests/utils/test_neighbor_list.py +++ b/tests/utils/test_neighbor_list.py @@ -14,9 +14,9 @@ def test_attach_neighbor_lists(): systems = read_systems_ase(filename) requested_neighbor_lists = [ - NeighborListOptions(cutoff=4.0, full_list=True), - NeighborListOptions(cutoff=5.0, full_list=False), - NeighborListOptions(cutoff=6.0, full_list=True), + NeighborListOptions(cutoff=4.0, full_list=True, strict=True), + NeighborListOptions(cutoff=5.0, full_list=False, strict=True), + NeighborListOptions(cutoff=6.0, full_list=True, strict=True), ] new_system = get_system_with_neighbor_lists(systems[0], requested_neighbor_lists) @@ -25,7 +25,7 @@ def test_attach_neighbor_lists(): assert requested_neighbor_lists[1] in new_system.known_neighbor_lists() assert requested_neighbor_lists[2] in new_system.known_neighbor_lists() - extraneous_nl = NeighborListOptions(cutoff=5.0, full_list=True) + extraneous_nl = NeighborListOptions(cutoff=5.0, full_list=True, strict=True) assert extraneous_nl not in new_system.known_neighbor_lists() for nl_options in new_system.known_neighbor_lists(): diff --git a/tests/utils/test_output_gradient.py b/tests/utils/test_output_gradient.py index 7bad9279e..75aaf76e7 100644 --- a/tests/utils/test_output_gradient.py +++ b/tests/utils/test_output_gradient.py @@ -6,6 +6,11 @@ from metatrain.experimental.soap_bpnn import __model__ from metatrain.utils.data import DatasetInfo, TargetInfo, read_systems from metatrain.utils.output_gradient import compute_gradient +from metatrain.utils.testing import ( + energy_force_layout, + energy_force_stress_layout, + energy_stress_layout, +) from . import MODEL_HYPERS, RESOURCES_PATH @@ -19,7 +24,7 @@ def test_forces(is_training): atomic_types={1, 6, 7, 8}, targets={ "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=["positions"] + quantity="energy", unit="eV", layout=energy_force_layout ) }, ) @@ -32,6 +37,7 @@ def test_forces(is_training): positions=system.positions.requires_grad_(True), cell=system.cell, types=system.types, + pbc=system.pbc, ) for system in systems ] @@ -50,6 +56,7 @@ def test_forces(is_training): positions=system.positions.requires_grad_(True), cell=system.cell, types=system.types, + pbc=system.pbc, ) for system in systems ] @@ -76,7 +83,7 @@ def test_virial(is_training): atomic_types={6}, targets={ "energy": TargetInfo( - quantity="energy", unit="eV", per_atom=False, gradients=["strain"] + quantity="energy", unit="eV", layout=energy_stress_layout ) }, ) @@ -96,6 +103,7 @@ def test_virial(is_training): positions=system.positions @ strain, cell=system.cell @ strain, types=system.types, + pbc=system.pbc, ) for system, strain in zip(systems, strains) ] @@ -121,6 +129,7 @@ def test_virial(is_training): positions=system.positions @ strain, cell=system.cell @ strain, types=system.types, + pbc=system.pbc, ) for system, strain in zip(systems, strains) ] @@ -147,8 +156,7 @@ def test_both(is_training): "energy": TargetInfo( quantity="energy", unit="eV", - per_atom=False, - gradients=["positions", "strain"], + layout=energy_force_stress_layout, ) }, ) @@ -170,6 +178,7 @@ def test_both(is_training): positions=system.positions @ strain, cell=system.cell @ strain, types=system.types, + pbc=system.pbc, ) for system, strain in zip(systems, strains) ] @@ -193,6 +202,7 @@ def test_both(is_training): positions=system.positions @ strain, cell=system.cell @ strain, types=system.types, + pbc=system.pbc, ) for system, strain in zip(systems, strains) ] diff --git a/tests/utils/test_per_atom.py b/tests/utils/test_per_atom.py index 3f4f34945..0f84180e7 100644 --- a/tests/utils/test_per_atom.py +++ b/tests/utils/test_per_atom.py @@ -13,16 +13,19 @@ def test_average_by_num_atoms(): positions=torch.tensor([[0.0, 0.0, 0.0]]), cell=torch.eye(3), types=torch.tensor([0]), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]), cell=torch.eye(3), types=torch.tensor([0, 0]), + pbc=torch.tensor([True, True, True]), ), System( positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]), cell=torch.eye(3), types=torch.tensor([0, 0, 0]), + pbc=torch.tensor([True, True, True]), ), ] diff --git a/tests/utils/test_transfer.py b/tests/utils/test_transfer.py index b669c0c29..283842779 100644 --- a/tests/utils/test_transfer.py +++ b/tests/utils/test_transfer.py @@ -14,6 +14,7 @@ def test_systems_and_targets_to_dtype(): positions=torch.tensor([[1.0, 1.0, 1.0]]), cell=torch.tensor([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]), types=torch.tensor([1]), + pbc=torch.tensor([True, True, True]), ) targets = TensorMap( keys=Labels.single(), @@ -39,6 +40,7 @@ def test_systems_and_targets_to_dtype_and_device(): positions=torch.tensor([[1.0, 1.0, 1.0]]), cell=torch.tensor([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]), types=torch.tensor([1]), + pbc=torch.tensor([True, True, True]), ) targets = TensorMap( keys=Labels.single(), From 5d6ccdb14755a91ca26bfdafce08b1a632e3326b Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 4 Nov 2024 13:54:13 +0100 Subject: [PATCH 052/126] FIx a few issues --- src/metatrain/experimental/nanopet/trainer.py | 17 +++++++++-------- src/metatrain/experimental/soap_bpnn/trainer.py | 2 +- src/metatrain/share/schema-dataset.json | 3 +-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 09e07d48a..1b2f4953f 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -93,18 +93,19 @@ def train( # Move the model to the device and dtype: model.to(device=device, dtype=dtype) + # The additive models of the SOAP-BPNN are always in float64 (to avoid + # numerical errors in the composition weights, which can be very large). + for additive_model in model.additive_models: + additive_model.to(dtype=torch.float64) + + logger.info("Calculating composition weights") + model.additive_models[0].train_model( # this is the composition model + train_datasets, self.hypers["fixed_composition_weights"] + ) if is_distributed: model = DistributedDataParallel(model, device_ids=[device]) - # The additive models of the SOAP-BPNN are always on CPU (to avoid OOM - # errors during the linear algebra training) and in float64 (to avoid - # numerical errors in the composition weights, which can be very large). - for additive_model in ( - model.module if is_distributed else model - ).additive_models: - additive_model.to(dtype=torch.float64) - logger.info("Setting up data loaders") if is_distributed: diff --git a/src/metatrain/experimental/soap_bpnn/trainer.py b/src/metatrain/experimental/soap_bpnn/trainer.py index 810d9e471..aeab4a2b1 100644 --- a/src/metatrain/experimental/soap_bpnn/trainer.py +++ b/src/metatrain/experimental/soap_bpnn/trainer.py @@ -361,7 +361,7 @@ def train( if epoch == start_epoch: metric_logger = MetricLogger( log_obj=logger, - dataset_info=model.dataset_info, + dataset_info=(model.module if is_distributed else model).dataset_info, initial_metrics=[finalized_train_info, finalized_val_info], names=["training", "validation"], ) diff --git a/src/metatrain/share/schema-dataset.json b/src/metatrain/share/schema-dataset.json index 28baa2830..75ea009ca 100644 --- a/src/metatrain/share/schema-dataset.json +++ b/src/metatrain/share/schema-dataset.json @@ -172,8 +172,7 @@ "o3_sigma": { "type": "number" - }, - "additionalProperties": false + } } } }, From f881951b95d54e29b8c9aa00b188affb8608339e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 5 Nov 2024 14:44:12 +0100 Subject: [PATCH 053/126] Add dataset information overview to the dev docs --- docs/src/dev-docs/dataset-information.rst | 38 +++++++++++++++++++++++ docs/src/dev-docs/index.rst | 1 + docs/src/dev-docs/utils/data/index.rst | 2 ++ 3 files changed, 41 insertions(+) create mode 100644 docs/src/dev-docs/dataset-information.rst diff --git a/docs/src/dev-docs/dataset-information.rst b/docs/src/dev-docs/dataset-information.rst new file mode 100644 index 000000000..1db07402e --- /dev/null +++ b/docs/src/dev-docs/dataset-information.rst @@ -0,0 +1,38 @@ +Dataset Information +=================== + +When working with ``metatrain``, you will most likely need to interact with some core +classes which are responsible for storing some information about datasets. All these +classes belong to the ``metatrain.utils.data`` module which can be found in the +:ref:`data` section of the developer documentation. + +These classes are: + +- :py:class:`metatrain.utils.data.DatasetInfo`: This class is responsible for storing + information about a dataset. It contains the length unit used in the dataset, the + atomic types present, as well as information about the dataset's targets as a + ``Dict[str, TargetInfo]`` object. The keys of this dictionary are the names of the + targets in the datasets (e.g., ``energy``, ``mtt::dipole``, etc.). + +- :py:class:`metatrain.utils.data.TargetInfo`: This class is responsible for storing + information about a target in a dataset. It contains the target's physical quantity, + the unit in which the target is expressed, and the ``layout`` of the target. The + ``layout`` is ``TensorMap`` object with zero samples which is used to exemplify + the metadata of each target. + +At the moment, only three types of layouts are supported: + +- scalar: This type of layout is used when the target is a scalar quantity. The + ``layout`` ``TensorMap`` object corresponding to a scalar must have one + ``TensorBlock`` and no ``components``. +- Cartesian tensor: This type of layout is used when the target is a Cartesian tensor. + The ``layout`` ``TensorMap`` object corresponding to a Cartesian tensor must have + one ``TensorBlock`` and as many ``components`` as the tensor's rank. These + components are named ``xyz`` for a tensor of rank 1 and ``xyz_1``, ``xyz_2``, and + so on for higher ranks. +- Spherical tensor: This type of layout is used when the target is a spherical tensor. + The ``layout`` ``TensorMap`` object corresponding to a spherical tensor can have + multiple blocks corresponding to different irreps (irreducible representations) of + the target. The ``keys`` of the ``TensorMap`` object must have the ``o3_lambda`` + and ``o3_sigma`` names, and each ``TensorBlock`` must have a single component named + ``o3_mu``. diff --git a/docs/src/dev-docs/index.rst b/docs/src/dev-docs/index.rst index 9dd337c6d..8dd3d91da 100644 --- a/docs/src/dev-docs/index.rst +++ b/docs/src/dev-docs/index.rst @@ -12,5 +12,6 @@ module. getting-started architecture-life-cycle new-architecture + dataset-information cli/index utils/index diff --git a/docs/src/dev-docs/utils/data/index.rst b/docs/src/dev-docs/utils/data/index.rst index 5f7f80970..a3c3c44c3 100644 --- a/docs/src/dev-docs/utils/data/index.rst +++ b/docs/src/dev-docs/utils/data/index.rst @@ -1,6 +1,8 @@ Data ==== +.. _data: + API for handling data in ``metatrain``. .. toctree:: From de9a28e480826a6bfc366f4317c42f855a81ebb0 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 5 Nov 2024 16:51:10 +0100 Subject: [PATCH 054/126] Fix docs --- docs/src/dev-docs/utils/data/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/dev-docs/utils/data/index.rst b/docs/src/dev-docs/utils/data/index.rst index a3c3c44c3..4a4034be1 100644 --- a/docs/src/dev-docs/utils/data/index.rst +++ b/docs/src/dev-docs/utils/data/index.rst @@ -1,8 +1,8 @@ +.. _data: + Data ==== -.. _data: - API for handling data in ``metatrain``. .. toctree:: From 5cc0806ef8c31493fc5eff3b7b2c82238ecb681b Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 6 Nov 2024 05:51:38 +0100 Subject: [PATCH 055/126] Fix export issue --- src/metatrain/experimental/nanopet/model.py | 4 +++- src/metatrain/experimental/nanopet/trainer.py | 1 + src/metatrain/experimental/soap_bpnn/model.py | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 7e7f00a9d..95f6b2bce 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -35,6 +35,8 @@ class NanoPET(torch.nn.Module): __supported_devices__ = ["cuda", "cpu"] __supported_dtypes__ = [torch.float64, torch.float32] + component_labels: Dict[str, List[Labels]] + def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: super().__init__() @@ -456,7 +458,7 @@ def requested_neighbor_lists( def load_checkpoint(cls, path: Union[str, Path]) -> "NanoPET": # Load the checkpoint - checkpoint = torch.load(path, weights_only=False) + checkpoint = torch.load(path, weights_only=False, map_location=torch.device("cpu")) model_hypers = checkpoint["model_hypers"] model_state_dict = checkpoint["model_state_dict"] diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 1b2f4953f..ca8a5ef85 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -330,6 +330,7 @@ def systems_and_targets_to_dtype( train_loss_batch = loss_fn(predictions, targets) train_loss_batch.backward() + torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) optimizer.step() if is_distributed: diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index ded51431d..9fd75ad07 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -108,6 +108,7 @@ def __init__(self, atomic_types, num_features, soap_hypers) -> None: self.atomic_types = atomic_types soap_vector_hypers = copy.deepcopy(soap_hypers) soap_vector_hypers["max_angular"] = 1 + soap_vector_hypers["max_radial"] = 20 self.soap_calculator = rascaline.torch.SphericalExpansion( radial_basis={"Gto": {}}, **soap_vector_hypers ) From 775be902040e805ac9c2d755479f1aa5f0b7d03e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 7 Nov 2024 12:18:27 +0100 Subject: [PATCH 056/126] Small fixes --- src/metatrain/cli/eval.py | 4 +--- src/metatrain/experimental/nanopet/default-hypers.yaml | 2 +- src/metatrain/experimental/nanopet/model.py | 6 +++++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/metatrain/cli/eval.py b/src/metatrain/cli/eval.py index 7213bd4c9..bf17745dd 100644 --- a/src/metatrain/cli/eval.py +++ b/src/metatrain/cli/eval.py @@ -219,10 +219,8 @@ def _eval_targets( check_consistency=check_consistency, ) - import tqdm - # Evaluate the model - for batch in tqdm.tqdm(dataloader): + for batch in dataloader: systems, batch_targets = batch systems = [system.to(dtype=dtype, device=device) for system in systems] batch_targets = { diff --git a/src/metatrain/experimental/nanopet/default-hypers.yaml b/src/metatrain/experimental/nanopet/default-hypers.yaml index 4929572f1..89f222404 100644 --- a/src/metatrain/experimental/nanopet/default-hypers.yaml +++ b/src/metatrain/experimental/nanopet/default-hypers.yaml @@ -2,7 +2,7 @@ name: experimental.nanopet model: cutoff: 5.0 - cutoff_width: 0.2 + cutoff_width: 0.5 d_pet: 128 num_heads: 4 num_attention_layers: 2 diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 95f6b2bce..f456ef24a 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -187,7 +187,11 @@ def restart(self, dataset_info: DatasetInfo) -> "NanoPET": new_atomic_types = [ at for at in merged_info.atomic_types if at not in self.atomic_types ] - new_targets = merged_info.targets - self.dataset_info.targets + new_targets = { + key: value + for key, value in merged_info.targets.items() + if key not in self.dataset_info.targets + } if len(new_atomic_types) > 0: raise ValueError( From 940bd3c8eec169c96e145c5bc12dff6ea3d87766 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 7 Nov 2024 12:38:35 +0100 Subject: [PATCH 057/126] Better LR decreases --- src/metatrain/experimental/nanopet/trainer.py | 71 +++++++++++-------- .../experimental/soap_bpnn/trainer.py | 63 +++++++++------- 2 files changed, 80 insertions(+), 54 deletions(-) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index ca8a5ef85..d4cd5fdd6 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -36,6 +36,9 @@ def __init__(self, train_hypers): self.optimizer_state_dict = None self.scheduler_state_dict = None self.epoch = None + self.best_loss = None + self.best_model_state_dict = None + self.best_optimizer_state_dict = None def train( self, @@ -207,14 +210,11 @@ def train( mode="min", factor=self.hypers["scheduler_factor"], patience=self.hypers["scheduler_patience"], + threshold=0.001, ) if self.scheduler_state_dict is not None: lr_scheduler.load_state_dict(self.scheduler_state_dict) - # counters for early stopping: - best_val_loss = float("inf") - epochs_without_improvement = 0 - # per-atom targets: per_structure_targets = self.hypers["per_structure_targets"] @@ -243,6 +243,8 @@ def systems_and_targets_to_dtype( ) # Train the model: + if self.best_loss is None: + self.best_loss = float("inf") logger.info("Starting training") for epoch in range(start_epoch, start_epoch + self.hypers["num_epochs"]): if is_distributed: @@ -432,6 +434,30 @@ def systems_and_targets_to_dtype( rank=rank, ) + lr_scheduler.step(val_loss) + new_lr = lr_scheduler.get_last_lr()[0] + if new_lr != old_lr: + if new_lr < 1e-7: + logger.info("Learning rate is too small, stopping training") + break + else: + logger.info(f"Changing learning rate from {old_lr} to {new_lr}") + old_lr = new_lr + lr_scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau( + optimizer, + mode="min", + factor=self.hypers["scheduler_factor"], + patience=self.hypers["scheduler_patience"], + threshold=0.001, + ) + + if val_loss < self.best_loss: + self.best_loss = val_loss + self.best_model_state_dict = ( + model.module if is_distributed else model + ).state_dict() + self.best_optimizer_state_dict = optimizer.state_dict() + if epoch % self.hypers["checkpoint_interval"] == 0: if is_distributed: torch.distributed.barrier() @@ -444,25 +470,9 @@ def systems_and_targets_to_dtype( Path(checkpoint_dir) / f"model_{epoch}.ckpt", ) - lr_scheduler.step(val_loss) - new_lr = lr_scheduler.get_last_lr()[0] - if new_lr != old_lr: - logger.info(f"Changing learning rate from {old_lr} to {new_lr}") - old_lr = new_lr - - # early stopping criterion: - if val_loss < best_val_loss: - best_val_loss = val_loss - epochs_without_improvement = 0 - else: - epochs_without_improvement += 1 - if epochs_without_improvement >= self.hypers["early_stopping_patience"]: - logger.info( - "Early stopping criterion reached after " - f"{self.hypers['early_stopping_patience']} epochs " - "without improvement." - ) - break + # prepare for the checkpoint that will be saved outside the function + self.optimizer_state_dict = optimizer.state_dict() + self.scheduler_state_dict = lr_scheduler.state_dict() def save_checkpoint(self, model, path: Union[str, Path]): checkpoint = { @@ -475,6 +485,9 @@ def save_checkpoint(self, model, path: Union[str, Path]): "epoch": self.epoch, "optimizer_state_dict": self.optimizer_state_dict, "scheduler_state_dict": self.scheduler_state_dict, + "best_loss": self.best_loss, + "best_model_state_dict": self.best_model_state_dict, + "best_optimizer_state_dict": self.best_optimizer_state_dict, } torch.save( checkpoint, @@ -486,20 +499,20 @@ def load_checkpoint(cls, path: Union[str, Path], train_hypers) -> "Trainer": # Load the checkpoint checkpoint = torch.load(path, weights_only=False) - model_hypers = checkpoint["model_hypers"] - model_state_dict = checkpoint["model_state_dict"] epoch = checkpoint["epoch"] optimizer_state_dict = checkpoint["optimizer_state_dict"] scheduler_state_dict = checkpoint["scheduler_state_dict"] + best_loss = checkpoint["best_loss"] + best_model_state_dict = checkpoint["best_model_state_dict"] + best_optimizer_state_dict = checkpoint["best_optimizer_state_dict"] # Create the trainer trainer = cls(train_hypers) trainer.optimizer_state_dict = optimizer_state_dict trainer.scheduler_state_dict = scheduler_state_dict trainer.epoch = epoch - - # Create the model - model = NanoPET(**model_hypers) - model.load_state_dict(model_state_dict) + trainer.best_loss = best_loss + trainer.best_model_state_dict = best_model_state_dict + trainer.best_optimizer_state_dict = best_optimizer_state_dict return trainer diff --git a/src/metatrain/experimental/soap_bpnn/trainer.py b/src/metatrain/experimental/soap_bpnn/trainer.py index aeab4a2b1..81708f5fb 100644 --- a/src/metatrain/experimental/soap_bpnn/trainer.py +++ b/src/metatrain/experimental/soap_bpnn/trainer.py @@ -38,6 +38,9 @@ def __init__(self, train_hypers): self.optimizer_state_dict = None self.scheduler_state_dict = None self.epoch = None + self.best_loss = None + self.best_model_state_dict = None + self.best_optimizer_state_dict = None def train( self, @@ -220,14 +223,11 @@ def train( mode="min", factor=self.hypers["scheduler_factor"], patience=self.hypers["scheduler_patience"], + threshold=0.001, ) if self.scheduler_state_dict is not None: lr_scheduler.load_state_dict(self.scheduler_state_dict) - # counters for early stopping: - best_val_loss = float("inf") - epochs_without_improvement = 0 - # per-atom targets: per_structure_targets = self.hypers["per_structure_targets"] @@ -238,6 +238,8 @@ def train( start_epoch = 0 if self.epoch is None else self.epoch + 1 # Train the model: + if self.best_loss is None: + self.best_loss = float("inf") logger.info("Starting training") for epoch in range(start_epoch, start_epoch + self.hypers["num_epochs"]): if is_distributed: @@ -375,8 +377,26 @@ def train( lr_scheduler.step(val_loss) new_lr = lr_scheduler.get_last_lr()[0] if new_lr != old_lr: - logger.info(f"Changing learning rate from {old_lr} to {new_lr}") - old_lr = new_lr + if new_lr < 1e-7: + logger.info("Learning rate is too small, stopping training") + break + else: + logger.info(f"Changing learning rate from {old_lr} to {new_lr}") + old_lr = new_lr + lr_scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau( + optimizer, + mode="min", + factor=self.hypers["scheduler_factor"], + patience=self.hypers["scheduler_patience"], + threshold=0.001, + ) + + if val_loss < self.best_loss: + self.best_loss = val_loss + self.best_model_state_dict = ( + model.module if is_distributed else model + ).state_dict() + self.best_optimizer_state_dict = optimizer.state_dict() if epoch % self.hypers["checkpoint_interval"] == 0: if is_distributed: @@ -390,19 +410,9 @@ def train( Path(checkpoint_dir) / f"model_{epoch}.ckpt", ) - # early stopping criterion: - if val_loss < best_val_loss: - best_val_loss = val_loss - epochs_without_improvement = 0 - else: - epochs_without_improvement += 1 - if epochs_without_improvement >= self.hypers["early_stopping_patience"]: - logger.info( - "Early stopping criterion reached after " - f"{self.hypers['early_stopping_patience']} epochs " - "without improvement." - ) - break + # prepare for the checkpoint that will be saved outside the function + self.optimizer_state_dict = optimizer.state_dict() + self.scheduler_state_dict = lr_scheduler.state_dict() def save_checkpoint(self, model, path: Union[str, Path]): checkpoint = { @@ -415,6 +425,9 @@ def save_checkpoint(self, model, path: Union[str, Path]): "epoch": self.epoch, "optimizer_state_dict": self.optimizer_state_dict, "scheduler_state_dict": self.scheduler_state_dict, + "best_loss": self.best_loss, + "best_model_state_dict": self.best_model_state_dict, + "best_optimizer_state_dict": self.best_optimizer_state_dict, } torch.save( checkpoint, @@ -426,20 +439,20 @@ def load_checkpoint(cls, path: Union[str, Path], train_hypers) -> "Trainer": # Load the checkpoint checkpoint = torch.load(path, weights_only=False) - model_hypers = checkpoint["model_hypers"] - model_state_dict = checkpoint["model_state_dict"] epoch = checkpoint["epoch"] optimizer_state_dict = checkpoint["optimizer_state_dict"] scheduler_state_dict = checkpoint["scheduler_state_dict"] + best_loss = checkpoint["best_loss"] + best_model_state_dict = checkpoint["best_model_state_dict"] + best_optimizer_state_dict = checkpoint["best_optimizer_state_dict"] # Create the trainer trainer = cls(train_hypers) trainer.optimizer_state_dict = optimizer_state_dict trainer.scheduler_state_dict = scheduler_state_dict trainer.epoch = epoch - - # Create the model - model = SoapBpnn(**model_hypers) - model.load_state_dict(model_state_dict) + trainer.best_loss = best_loss + trainer.best_model_state_dict = best_model_state_dict + trainer.best_optimizer_state_dict = best_optimizer_state_dict return trainer From 758b9c567c62e8cb81fb84aa0906216052883b41 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sun, 10 Nov 2024 18:59:33 +0100 Subject: [PATCH 058/126] Fix stuff --- src/metatrain/utils/data/__init__.py | 1 - src/metatrain/utils/data/dataset.py | 198 +------------------- src/metatrain/utils/data/get_dataset.py | 3 +- src/metatrain/utils/data/readers/readers.py | 34 +--- src/metatrain/utils/testing.py | 76 -------- tests/utils/test_neighbor_list.py | 4 +- 6 files changed, 6 insertions(+), 310 deletions(-) delete mode 100644 src/metatrain/utils/testing.py diff --git a/src/metatrain/utils/data/__init__.py b/src/metatrain/utils/data/__init__.py index 223eda50b..a4886839d 100644 --- a/src/metatrain/utils/data/__init__.py +++ b/src/metatrain/utils/data/__init__.py @@ -1,6 +1,5 @@ from .dataset import ( # noqa: F401 Dataset, - TargetInfo, DatasetInfo, get_atomic_types, get_all_targets, diff --git a/src/metatrain/utils/data/dataset.py b/src/metatrain/utils/data/dataset.py index 20c192503..673d28e43 100644 --- a/src/metatrain/utils/data/dataset.py +++ b/src/metatrain/utils/data/dataset.py @@ -2,7 +2,6 @@ import warnings from typing import Any, Dict, List, Tuple, Union -import metatensor.torch import numpy as np from metatensor.learn.data import Dataset, group_and_join from metatensor.torch import TensorMap @@ -10,202 +9,7 @@ from ..external_naming import to_external_name from ..units import get_gradient_units - - -class TargetInfo: - """A class that contains information about a target. - - :param quantity: The physical quantity of the target (e.g., "energy"). - :param layout: The layout of the target, as a ``TensorMap`` with 0 samples. - This ``TensorMap`` will be used to retrieve the names of - the ``samples``, as well as the ``components`` and ``properties`` of the - target and their gradients. For example, this allows to infer the type of - the target (scalar, Cartesian tensor, spherical tensor), whether it is per - atom, the names of its gradients, etc. - :param unit: The unit of the target. If :py:obj:`None` the ``unit`` will be set to - an empty string ``""``. - """ - - def __init__( - self, - quantity: str, - layout: TensorMap, - unit: Union[None, str] = "", - ): - # one of these will be set to True inside the _check_layout method - self._is_scalar = False - self._is_cartesian = False - self._is_spherical = False - - self._check_layout(layout) - - self.quantity = quantity # float64: otherwise metatensor can't serialize - self.layout = layout - self.unit = unit if unit is not None else "" - - @property - def is_scalar(self) -> bool: - """Whether the target is a scalar.""" - return self._is_scalar - - @property - def is_cartesian(self) -> bool: - """Whether the target is a Cartesian tensor.""" - return self._is_cartesian - - @property - def is_spherical(self) -> bool: - """Whether the target is a spherical tensor.""" - return self._is_spherical - - @property - def gradients(self) -> List[str]: - """Sorted and unique list of gradient names.""" - if self._is_scalar: - return sorted(self.layout.block().gradients_list()) - else: - return [] - - @property - def per_atom(self) -> bool: - """Whether the target is per atom.""" - return "atom" in self.layout.block(0).samples.names - - def __repr__(self): - return ( - f"TargetInfo(quantity={self.quantity!r}, unit={self.unit!r}, " - f"layout={self.layout!r})" - ) - - def __eq__(self, other): - if not isinstance(other, TargetInfo): - raise NotImplementedError( - "Comparison between a TargetInfo instance and a " - f"{type(other).__name__} instance is not implemented." - ) - return ( - self.quantity == other.quantity - and self.unit == other.unit - and metatensor.torch.equal(self.layout, other.layout) - ) - - def _check_layout(self, layout: TensorMap) -> None: - """Check that the layout is a valid layout.""" - - # examine basic properties of all blocks - for block in layout.blocks(): - for sample_name in block.samples.names: - if sample_name not in ["system", "atom"]: - raise ValueError( - "The layout ``TensorMap`` of a target should only have samples " - "named 'system' or 'atom', but found " - f"'{sample_name}' instead." - ) - if len(block.values) != 0: - raise ValueError( - "The layout ``TensorMap`` of a target should have 0 " - f"samples, but found {len(block.values)} samples." - ) - - # examine the components of the first block to decide whether this is - # a scalar, a Cartesian tensor or a spherical tensor - - if len(layout) == 0: - raise ValueError( - "The layout ``TensorMap`` of a target should have at least one " - "block, but found 0 blocks." - ) - components_first_block = layout.block(0).components - if len(components_first_block) == 0: - self._is_scalar = True - elif components_first_block[0].names[0].startswith("xyz"): - self._is_cartesian = True - elif ( - len(components_first_block) == 1 - and components_first_block[0].names[0] == "o3_mu" - ): - self._is_spherical = True - else: - raise ValueError( - "The layout ``TensorMap`` of a target should be " - "either scalars, Cartesian tensors or spherical tensors. The type of " - "the target could not be determined." - ) - - if self._is_scalar: - if layout.keys.names != ["_"]: - raise ValueError( - "The layout ``TensorMap`` of a scalar target should have " - "a single key sample named '_'." - ) - if len(layout.blocks()) != 1: - raise ValueError( - "The layout ``TensorMap`` of a scalar target should have " - "a single block." - ) - gradients_names = layout.block(0).gradients_list() - for gradient_name in gradients_names: - if gradient_name not in ["positions", "strain"]: - raise ValueError( - "Only `positions` and `strain` gradients are supported for " - "scalar targets. " - f"Found '{gradient_name}' instead." - ) - if self._is_cartesian: - if layout.keys.names != ["_"]: - raise ValueError( - "The layout ``TensorMap`` of a Cartesian tensor target should have " - "a single key sample named '_'." - ) - if len(layout.blocks()) != 1: - raise ValueError( - "The layout ``TensorMap`` of a Cartesian tensor target should have " - "a single block." - ) - if len(layout.block(0).gradients_list()) > 0: - raise ValueError( - "Gradients of Cartesian tensor targets are not supported." - ) - - if self._is_spherical: - if layout.keys.names != ["o3_lambda", "o3_sigma"]: - raise ValueError( - "The layout ``TensorMap`` of a spherical tensor target " - "should have two keys named 'o3_lambda' and 'o3_sigma'." - f"Found '{layout.keys.names}' instead." - ) - for key, block in layout.items(): - o3_lambda, o3_sigma = int(key.values[0].item()), int( - key.values[1].item() - ) - if o3_sigma not in [-1, 1]: - raise ValueError( - "The layout ``TensorMap`` of a spherical tensor target should " - "have a key sample 'o3_sigma' that is either -1 or 1." - f"Found '{o3_sigma}' instead." - ) - if o3_lambda < 0: - raise ValueError( - "The layout ``TensorMap`` of a spherical tensor target should " - "have a key sample 'o3_lambda' that is non-negative." - f"Found '{o3_lambda}' instead." - ) - components = block.components - if len(components) != 1: - raise ValueError( - "The layout ``TensorMap`` of a spherical tensor target should " - "have a single component." - ) - if len(components[0]) != 2 * o3_lambda + 1: - raise ValueError( - "Each ``TensorBlock`` of a spherical tensor target should have " - "a component with 2*o3_lambda + 1 elements." - f"Found '{len(components[0])}' elements instead." - ) - if len(block.gradients_list()) > 0: - raise ValueError( - "Gradients of spherical tensor targets are not supported." - ) +from .target_info import TargetInfo class DatasetInfo: diff --git a/src/metatrain/utils/data/get_dataset.py b/src/metatrain/utils/data/get_dataset.py index 502aea40f..e022027e7 100644 --- a/src/metatrain/utils/data/get_dataset.py +++ b/src/metatrain/utils/data/get_dataset.py @@ -2,8 +2,9 @@ from omegaconf import DictConfig -from .dataset import Dataset, TargetInfo +from .dataset import Dataset from .readers import read_systems, read_targets +from .target_info import TargetInfo def get_dataset(options: DictConfig) -> Tuple[Dataset, Dict[str, TargetInfo]]: diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index fcd41aa11..672d6a9d2 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -8,7 +8,7 @@ from metatensor.torch.atomistic import System from omegaconf import DictConfig -from ..dataset import TargetInfo +from ..target_info import TargetInfo logger = logging.getLogger(__name__) @@ -178,35 +178,3 @@ def read_targets( target_info_dictionary[target_key] = target_info return target_dictionary, target_info_dictionary - - -def _empty_tensor_map_like(tensor_map: TensorMap) -> TensorMap: - new_keys = tensor_map.keys - new_blocks: List[TensorBlock] = [] - for block in tensor_map.blocks(): - new_block = _empty_tensor_block_like(block) - new_blocks.append(new_block) - return TensorMap(keys=new_keys, blocks=new_blocks) - - -def _empty_tensor_block_like(tensor_block: TensorBlock) -> TensorBlock: - new_block = TensorBlock( - values=torch.empty( - (0,) + tensor_block.values.shape[1:], - dtype=torch.float64, # metatensor can't serialize otherwise - device=tensor_block.values.device, - ), - samples=Labels( - names=tensor_block.samples.names, - values=torch.empty( - (0, tensor_block.samples.values.shape[1]), - dtype=tensor_block.samples.values.dtype, - device=tensor_block.samples.values.device, - ), - ), - components=tensor_block.components, - properties=tensor_block.properties, - ) - for gradient_name, gradient in tensor_block.gradients(): - new_block.add_gradient(gradient_name, _empty_tensor_block_like(gradient)) - return new_block diff --git a/src/metatrain/utils/testing.py b/src/metatrain/utils/testing.py deleted file mode 100644 index faedbdb00..000000000 --- a/src/metatrain/utils/testing.py +++ /dev/null @@ -1,76 +0,0 @@ -# This file contains some example TensorMap layouts that can be -# used for testing purposes. - -import torch -from metatensor.torch import Labels, TensorBlock, TensorMap - - -block = TensorBlock( - # float64: otherwise metatensor can't serialize - values=torch.empty(0, 1, dtype=torch.float64), - samples=Labels( - names=["system"], - values=torch.empty((0, 1), dtype=torch.int32), - ), - components=[], - properties=Labels.range("energy", 1), -) -energy_layout = TensorMap( - keys=Labels.single(), - blocks=[block], -) - -block_with_position_gradients = block.copy() -position_gradient_block = TensorBlock( - # float64: otherwise metatensor can't serialize - values=torch.empty(0, 3, 1, dtype=torch.float64), - samples=Labels( - names=["sample", "atom"], - values=torch.empty((0, 2), dtype=torch.int32), - ), - components=[ - Labels( - names=["xyz"], - values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), - ), - ], - properties=Labels.range("energy", 1), -) -block_with_position_gradients.add_gradient("positions", position_gradient_block) -energy_force_layout = TensorMap( - keys=Labels.single(), - blocks=[block_with_position_gradients], -) - -block_with_position_and_strain_gradients = block_with_position_gradients.copy() -strain_gradient_block = TensorBlock( - # float64: otherwise metatensor can't serialize - values=torch.empty(0, 3, 3, 1, dtype=torch.float64), - samples=Labels( - names=["sample", "atom"], - values=torch.empty((0, 2), dtype=torch.int32), - ), - components=[ - Labels( - names=["xyz_1"], - values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), - ), - Labels( - names=["xyz_2"], - values=torch.arange(3, dtype=torch.int32).reshape(-1, 1), - ), - ], - properties=Labels.range("energy", 1), -) -block_with_position_and_strain_gradients.add_gradient("strain", strain_gradient_block) -energy_force_stress_layout = TensorMap( - keys=Labels.single(), - blocks=[block_with_position_and_strain_gradients], -) - -block_with_strain_gradients = block.copy() -block_with_strain_gradients.add_gradient("strain", strain_gradient_block) -energy_stress_layout = TensorMap( - keys=Labels.single(), - blocks=[block_with_strain_gradients], -) diff --git a/tests/utils/test_neighbor_list.py b/tests/utils/test_neighbor_list.py index 768114d6c..7d431f2e9 100644 --- a/tests/utils/test_neighbor_list.py +++ b/tests/utils/test_neighbor_list.py @@ -2,7 +2,7 @@ from metatensor.torch.atomistic import NeighborListOptions -from metatrain.utils.data.readers.ase import read_systems_ase +from metatrain.utils.data.readers.ase import read_ase_systems from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists @@ -11,7 +11,7 @@ def test_attach_neighbor_lists(): filename = RESOURCES_PATH / "qm9_reduced_100.xyz" - systems = read_systems_ase(filename) + systems = read_ase_systems(filename) requested_neighbor_lists = [ NeighborListOptions(cutoff=4.0, full_list=True, strict=True), From 6d998271bc74563fb5fb72ce9b72d72d8ae39b33 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sun, 10 Nov 2024 19:08:07 +0100 Subject: [PATCH 059/126] Fix more stuff --- examples/programmatic/llpr/llpr.py | 3 + .../programmatic/llpr_forces/force_llpr.py | 9 + .../alchemical_model/tests/test_regression.py | 3 + .../experimental/gap/tests/test_errors.py | 3 + .../experimental/gap/tests/test_regression.py | 6 + .../gap/tests/test_torchscript.py | 3 + .../soap_bpnn/tests/test_continue.py | 3 + .../soap_bpnn/tests/test_regression.py | 3 + src/metatrain/utils/data/readers/ase.py | 3 + tests/utils/data/readers/test_readers.py | 637 +++++++++--------- tests/utils/data/test_combine_dataloaders.py | 12 + tests/utils/data/test_dataset.py | 30 + tests/utils/data/test_get_dataset.py | 3 + tests/utils/test_additive.py | 9 + tests/utils/test_llpr.py | 6 + 15 files changed, 419 insertions(+), 314 deletions(-) diff --git a/examples/programmatic/llpr/llpr.py b/examples/programmatic/llpr/llpr.py index e17c15148..4ac07c470 100644 --- a/examples/programmatic/llpr/llpr.py +++ b/examples/programmatic/llpr/llpr.py @@ -64,6 +64,9 @@ "reader": "ase", "key": "energy", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, diff --git a/examples/programmatic/llpr_forces/force_llpr.py b/examples/programmatic/llpr_forces/force_llpr.py index 155e33527..cc03c9b28 100644 --- a/examples/programmatic/llpr_forces/force_llpr.py +++ b/examples/programmatic/llpr_forces/force_llpr.py @@ -27,6 +27,9 @@ "reader": "ase", "key": "energy", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": { "read_from": "train.xyz", "file_format": ".xyz", @@ -53,6 +56,9 @@ "reader": "ase", "key": "energy", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": { "read_from": "valid.xyz", "file_format": ".xyz", @@ -79,6 +85,9 @@ "reader": "ase", "key": "energy", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": { "read_from": "test.xyz", "file_format": ".xyz", diff --git a/src/metatrain/experimental/alchemical_model/tests/test_regression.py b/src/metatrain/experimental/alchemical_model/tests/test_regression.py index 0d82379c3..e9b5d49c0 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_regression.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_regression.py @@ -90,6 +90,9 @@ def test_regression_train(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, diff --git a/src/metatrain/experimental/gap/tests/test_errors.py b/src/metatrain/experimental/gap/tests/test_errors.py index 791e061c6..3c42679b5 100644 --- a/src/metatrain/experimental/gap/tests/test_errors.py +++ b/src/metatrain/experimental/gap/tests/test_errors.py @@ -43,6 +43,9 @@ def test_ethanol_regression_train_and_invariance(): "reader": "ase", "key": "energy", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": { "read_from": DATASET_ETHANOL_PATH, "reader": "ase", diff --git a/src/metatrain/experimental/gap/tests/test_regression.py b/src/metatrain/experimental/gap/tests/test_regression.py index a3d703e76..254d21ccf 100644 --- a/src/metatrain/experimental/gap/tests/test_regression.py +++ b/src/metatrain/experimental/gap/tests/test_regression.py @@ -50,6 +50,9 @@ def test_regression_train_and_invariance(): "reader": "ase", "key": "U0", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -124,6 +127,9 @@ def test_ethanol_regression_train_and_invariance(): "read_from": DATASET_ETHANOL_PATH, "reader": "ase", "key": "energy", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": { "read_from": DATASET_ETHANOL_PATH, "reader": "ase", diff --git a/src/metatrain/experimental/gap/tests/test_torchscript.py b/src/metatrain/experimental/gap/tests/test_torchscript.py index e7d1cbc2f..468fe3bcd 100644 --- a/src/metatrain/experimental/gap/tests/test_torchscript.py +++ b/src/metatrain/experimental/gap/tests/test_torchscript.py @@ -29,6 +29,9 @@ def test_torchscript(): "reader": "ase", "key": "U0", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py index 50fa7118a..3735d09b0 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py @@ -41,6 +41,9 @@ def test_continue(monkeypatch, tmp_path): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index 35f691051..3f9f19aba 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -71,6 +71,9 @@ def test_regression_train(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, diff --git a/src/metatrain/utils/data/readers/ase.py b/src/metatrain/utils/data/readers/ase.py index c273387d6..60c2063b9 100644 --- a/src/metatrain/utils/data/readers/ase.py +++ b/src/metatrain/utils/data/readers/ase.py @@ -199,6 +199,7 @@ def read_ase_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: key=target["key"], ) + add_position_gradients = False if target["forces"]: try: position_gradients = read_forces_ase( @@ -220,6 +221,8 @@ def read_ase_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: if target["stress"] and target["virial"]: raise ValueError("Cannot use stress and virial at the same time") + add_strain_gradients = False + if target["stress"]: try: strain_gradients = read_stress_ase( diff --git a/tests/utils/data/readers/test_readers.py b/tests/utils/data/readers/test_readers.py index 5876d8e70..77dfa4a19 100644 --- a/tests/utils/data/readers/test_readers.py +++ b/tests/utils/data/readers/test_readers.py @@ -1,318 +1,327 @@ -"""Test correct type and metadata of readers. Correct values will be checked -within the tests for each reader.""" +# """Test correct type and metadata of readers. Correct values will be checked +# within the tests for each reader.""" -import logging +# import logging -import ase -import ase.io -import pytest -import torch -from metatensor.torch import Labels -from omegaconf import OmegaConf -from test_targets_ase import ase_system, ase_systems +# import ase +# import ase.io +# import pytest +# import torch +# from metatensor.torch import Labels +# from omegaconf import OmegaConf +# from test_targets_ase import ase_system, ase_systems -from metatrain.utils.data.dataset import TargetInfo -from metatrain.utils.data.readers import ( - read_energy, - read_forces, - read_stress, - read_systems, - read_targets, - read_virial, -) -from metatrain.utils.data.readers.readers import _base_reader - - -@pytest.mark.parametrize("reader", (None, "ase")) -def test_read_systems(reader, monkeypatch, tmp_path): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_systems() - ase.io.write(filename, systems) - - results = read_systems(filename, reader=reader) - - assert isinstance(results, list) - assert len(results) == len(systems) - for system, result in zip(systems, results): - assert isinstance(result, torch.ScriptObject) - - torch.testing.assert_close( - result.positions, torch.tensor(system.positions, dtype=torch.float64) - ) - torch.testing.assert_close( - result.types, torch.tensor([1, 1], dtype=torch.int32) - ) +# from metatrain.utils.data.dataset import TargetInfo +# from metatrain.utils.data.readers import ( +# read_energy, +# read_forces, +# read_stress, +# read_systems, +# read_targets, +# read_virial, +# ) +# from metatrain.utils.data.readers.readers import _base_reader + + +# @pytest.mark.parametrize("reader", (None, "ase")) +# def test_read_systems(reader, monkeypatch, tmp_path): +# monkeypatch.chdir(tmp_path) + +# filename = "systems.xyz" +# systems = ase_systems() +# ase.io.write(filename, systems) + +# results = read_systems(filename, reader=reader) + +# assert isinstance(results, list) +# assert len(results) == len(systems) +# for system, result in zip(systems, results): +# assert isinstance(result, torch.ScriptObject) + +# torch.testing.assert_close( +# result.positions, torch.tensor(system.positions, dtype=torch.float64) +# ) +# torch.testing.assert_close( +# result.types, torch.tensor([1, 1], dtype=torch.int32) +# ) - -def test_read_systems_unknown_reader(): - match = "File extension '.bar' is not linked to a default reader" - with pytest.raises(ValueError, match=match): - read_systems("foo.bar") - - -def test_read_unknonw_library(): - match = "Reader library 'foo' not supported." - with pytest.raises(ValueError, match=match): - read_systems("foo.foo", reader="foo") - - -@pytest.mark.parametrize("reader", (None, "ase")) -def test_read_energies(reader, monkeypatch, tmp_path): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_systems() - ase.io.write(filename, systems) - - results = read_energy(filename, reader=reader, target_value="true_energy") - - assert type(results) is list - assert len(results) == len(systems) - for i_system, result in enumerate(results): - assert result.values.dtype is torch.float64 - assert result.samples.names == ["system"] - assert result.samples.values == torch.tensor([[i_system]]) - assert result.properties == Labels("energy", torch.tensor([[0]])) - - -@pytest.mark.parametrize("reader", (None, "ase")) -def test_read_forces(reader, monkeypatch, tmp_path): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_systems() - ase.io.write(filename, systems) - - results = read_forces(filename, reader=reader, target_value="forces") - - assert type(results) is list - assert len(results) == len(systems) - for i_system, result in enumerate(results): - assert result.values.dtype is torch.float64 - assert result.samples.names == ["sample", "system", "atom"] - assert torch.all(result.samples["sample"] == torch.tensor(0)) - assert torch.all(result.samples["system"] == torch.tensor(i_system)) - assert result.components == [Labels(["xyz"], torch.arange(3).reshape(-1, 1))] - assert result.properties == Labels("energy", torch.tensor([[0]])) - - -@pytest.mark.parametrize("reader_func", [read_stress, read_virial]) -@pytest.mark.parametrize("reader", (None, "ase")) -def test_read_stress_virial(reader_func, reader, monkeypatch, tmp_path): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_systems() - ase.io.write(filename, systems) - - results = reader_func(filename, reader=reader, target_value="stress-3x3") - - assert type(results) is list - assert len(results) == len(systems) - components = [ - Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), - Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), - ] - for result in results: - assert result.values.dtype is torch.float64 - assert result.samples.names == ["sample"] - assert result.samples.values == torch.tensor([[0]]) - assert result.components == components - assert result.properties == Labels("energy", torch.tensor([[0]])) - - -@pytest.mark.parametrize( - "reader_func", [read_energy, read_forces, read_stress, read_virial] -) -def test_reader_unknown_reader(reader_func): - match = "File extension '.bar' is not linked to a default reader" - with pytest.raises(ValueError, match=match): - reader_func("foo.bar", target_value="baz") - - -def test_reader_unknown_target(): - match = "Reader library 'ase' can't read 'mytarget'." - with pytest.raises(ValueError, match=match): - _base_reader(target="mytarget", filename="structures.xyz", reader="ase") - - -STRESS_VIRIAL_DICT = { - "read_from": "systems.xyz", - "reader": "ase", - "key": "stress-3x3", -} - - -@pytest.mark.parametrize( - "stress_dict, virial_dict", - [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], -) -def test_read_targets(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_systems() - ase.io.write(filename, systems) - - energy_section = { - "quantity": "energy", - "read_from": filename, - "reader": "ase", - "key": "true_energy", - "unit": "eV", - "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, - "stress": stress_dict, - "virial": virial_dict, - } - - conf = { - "energy": energy_section, - "mtt::energy2": energy_section, - } - - caplog.set_level(logging.INFO) - result, target_info_dict = read_targets(OmegaConf.create(conf)) - - assert any(["Forces found" in rec.message for rec in caplog.records]) - - assert type(result) is dict - assert type(target_info_dict) is dict - - if stress_dict: - assert any(["Stress found" in rec.message for rec in caplog.records]) - if virial_dict: - assert any(["Virial found" in rec.message for rec in caplog.records]) - - for target_name, target_list in result.items(): - target_section = conf[target_name] - - target_info = target_info_dict[target_name] - assert type(target_info) is TargetInfo - assert target_info.quantity == target_section["quantity"] - assert target_info.unit == target_section["unit"] - assert target_info.per_atom is False - assert target_info.gradients == ["positions", "strain"] - - assert type(target_list) is list - for target in target_list: - assert target.keys == Labels(["_"], torch.tensor([[0]])) - - result_block = target.block() - assert result_block.values.dtype is torch.float64 - assert result_block.samples.names == ["system"] - assert result_block.properties == Labels("energy", torch.tensor([[0]])) - - pos_grad = result_block.gradient("positions") - assert pos_grad.values.dtype is torch.float64 - assert pos_grad.samples.names == ["sample", "system", "atom"] - assert pos_grad.components == [ - Labels(["xyz"], torch.arange(3).reshape(-1, 1)) - ] - assert pos_grad.properties == Labels("energy", torch.tensor([[0]])) - - strain_grad = result_block.gradient("strain") - components = [ - Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), - Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), - ] - assert strain_grad.values.dtype is torch.float64 - assert strain_grad.samples.names == ["sample"] - assert strain_grad.components == components - assert strain_grad.properties == Labels("energy", torch.tensor([[0]])) - - -@pytest.mark.parametrize( - "stress_dict, virial_dict", - [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], -) -def test_read_targets_warnings(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_system() - - # Delete gradient sections - systems.info.pop("stress-3x3") - systems.info.pop("stress-9") - systems.arrays.pop("forces") - - ase.io.write(filename, systems) - - energy_section = { - "quantity": "energy", - "read_from": filename, - "reader": "ase", - "key": "true_energy", - "unit": "eV", - "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, - "stress": stress_dict, - "virial": virial_dict, - } - - conf = {"energy": energy_section} - - caplog.set_level(logging.WARNING) - read_targets(OmegaConf.create(conf)) # , slice_samples_by="system") - - assert any(["No forces found" in rec.message for rec in caplog.records]) - - if stress_dict: - assert any(["No stress found" in rec.message for rec in caplog.records]) - if virial_dict: - assert any(["No virial found" in rec.message for rec in caplog.records]) - - -def test_read_targets_error(monkeypatch, tmp_path): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_system() - ase.io.write(filename, systems) - - energy_section = { - "quantity": "energy", - "read_from": filename, - "reader": "ase", - "key": "true_energy", - "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, - "stress": True, - "virial": True, - } - - conf = {"energy": energy_section} - - with pytest.raises( - ValueError, - match="stress and virial at the same time", - ): - read_targets(OmegaConf.create(conf)) - - -def test_unsupported_quantity(): - conf = { - "energy": { - "quantity": "foo", - } - } - - with pytest.raises( - ValueError, - match="Quantity: 'foo' is not supported. Choose 'energy'.", - ): - read_targets(OmegaConf.create(conf)) - - -def test_unsupported_target_name(): - conf = { - "free_energy": { - "quantity": "energy", - } - } - - with pytest.raises( - ValueError, - match="start with `mtt::`", - ): - read_targets(OmegaConf.create(conf)) + +# def test_read_systems_unknown_reader(): +# match = "File extension '.bar' is not linked to a default reader" +# with pytest.raises(ValueError, match=match): +# read_systems("foo.bar") + + +# def test_read_unknonw_library(): +# match = "Reader library 'foo' not supported." +# with pytest.raises(ValueError, match=match): +# read_systems("foo.foo", reader="foo") + + +# @pytest.mark.parametrize("reader", (None, "ase")) +# def test_read_energies(reader, monkeypatch, tmp_path): +# monkeypatch.chdir(tmp_path) + +# filename = "systems.xyz" +# systems = ase_systems() +# ase.io.write(filename, systems) + +# results = read_energy(filename, reader=reader, target_value="true_energy") + +# assert type(results) is list +# assert len(results) == len(systems) +# for i_system, result in enumerate(results): +# assert result.values.dtype is torch.float64 +# assert result.samples.names == ["system"] +# assert result.samples.values == torch.tensor([[i_system]]) +# assert result.properties == Labels("energy", torch.tensor([[0]])) + + +# @pytest.mark.parametrize("reader", (None, "ase")) +# def test_read_forces(reader, monkeypatch, tmp_path): +# monkeypatch.chdir(tmp_path) + +# filename = "systems.xyz" +# systems = ase_systems() +# ase.io.write(filename, systems) + +# results = read_forces(filename, reader=reader, target_value="forces") + +# assert type(results) is list +# assert len(results) == len(systems) +# for i_system, result in enumerate(results): +# assert result.values.dtype is torch.float64 +# assert result.samples.names == ["sample", "system", "atom"] +# assert torch.all(result.samples["sample"] == torch.tensor(0)) +# assert torch.all(result.samples["system"] == torch.tensor(i_system)) +# assert result.components == [Labels(["xyz"], torch.arange(3).reshape(-1, 1))] +# assert result.properties == Labels("energy", torch.tensor([[0]])) + + +# @pytest.mark.parametrize("reader_func", [read_stress, read_virial]) +# @pytest.mark.parametrize("reader", (None, "ase")) +# def test_read_stress_virial(reader_func, reader, monkeypatch, tmp_path): +# monkeypatch.chdir(tmp_path) + +# filename = "systems.xyz" +# systems = ase_systems() +# ase.io.write(filename, systems) + +# results = reader_func(filename, reader=reader, target_value="stress-3x3") + +# assert type(results) is list +# assert len(results) == len(systems) +# components = [ +# Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), +# Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), +# ] +# for result in results: +# assert result.values.dtype is torch.float64 +# assert result.samples.names == ["sample"] +# assert result.samples.values == torch.tensor([[0]]) +# assert result.components == components +# assert result.properties == Labels("energy", torch.tensor([[0]])) + + +# @pytest.mark.parametrize( +# "reader_func", [read_energy, read_forces, read_stress, read_virial] +# ) +# def test_reader_unknown_reader(reader_func): +# match = "File extension '.bar' is not linked to a default reader" +# with pytest.raises(ValueError, match=match): +# reader_func("foo.bar", target_value="baz") + + +# def test_reader_unknown_target(): +# match = "Reader library 'ase' can't read 'mytarget'." +# with pytest.raises(ValueError, match=match): +# _base_reader(target="mytarget", filename="structures.xyz", reader="ase") + + +# STRESS_VIRIAL_DICT = { +# "read_from": "systems.xyz", +# "reader": "ase", +# "key": "stress-3x3", +# } + + +# @pytest.mark.parametrize( +# "stress_dict, virial_dict", +# [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], +# ) +# def test_read_targets(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): +# monkeypatch.chdir(tmp_path) + +# filename = "systems.xyz" +# systems = ase_systems() +# ase.io.write(filename, systems) + +# energy_section = { +# "quantity": "energy", +# "read_from": filename, +# "reader": "ase", +# "key": "true_energy", +# "unit": "eV", +# "type": "scalar", +# "per_atom": False, +# "num_properties": 1, +# "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, +# "stress": stress_dict, +# "virial": virial_dict, +# } + +# conf = { +# "energy": energy_section, +# "mtt::energy2": energy_section, +# } + +# caplog.set_level(logging.INFO) +# result, target_info_dict = read_targets(OmegaConf.create(conf)) + +# assert any(["Forces found" in rec.message for rec in caplog.records]) + +# assert type(result) is dict +# assert type(target_info_dict) is dict + +# if stress_dict: +# assert any(["Stress found" in rec.message for rec in caplog.records]) +# if virial_dict: +# assert any(["Virial found" in rec.message for rec in caplog.records]) + +# for target_name, target_list in result.items(): +# target_section = conf[target_name] + +# target_info = target_info_dict[target_name] +# assert type(target_info) is TargetInfo +# assert target_info.quantity == target_section["quantity"] +# assert target_info.unit == target_section["unit"] +# assert target_info.per_atom is False +# assert target_info.gradients == ["positions", "strain"] + +# assert type(target_list) is list +# for target in target_list: +# assert target.keys == Labels(["_"], torch.tensor([[0]])) + +# result_block = target.block() +# assert result_block.values.dtype is torch.float64 +# assert result_block.samples.names == ["system"] +# assert result_block.properties == Labels("energy", torch.tensor([[0]])) + +# pos_grad = result_block.gradient("positions") +# assert pos_grad.values.dtype is torch.float64 +# assert pos_grad.samples.names == ["sample", "system", "atom"] +# assert pos_grad.components == [ +# Labels(["xyz"], torch.arange(3).reshape(-1, 1)) +# ] +# assert pos_grad.properties == Labels("energy", torch.tensor([[0]])) + +# strain_grad = result_block.gradient("strain") +# components = [ +# Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), +# Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), +# ] +# assert strain_grad.values.dtype is torch.float64 +# assert strain_grad.samples.names == ["sample"] +# assert strain_grad.components == components +# assert strain_grad.properties == Labels("energy", torch.tensor([[0]])) + + +# @pytest.mark.parametrize( +# "stress_dict, virial_dict", +# [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], +# ) +# def test_read_targets_warnings(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): +# monkeypatch.chdir(tmp_path) + +# filename = "systems.xyz" +# systems = ase_system() + +# # Delete gradient sections +# systems.info.pop("stress-3x3") +# systems.info.pop("stress-9") +# systems.arrays.pop("forces") + +# ase.io.write(filename, systems) + +# energy_section = { +# "quantity": "energy", +# "read_from": filename, +# "reader": "ase", +# "key": "true_energy", +# "unit": "eV", +# "type": "scalar", +# "per_atom": False, +# "num_properties": 1, +# "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, +# "stress": stress_dict, +# "virial": virial_dict, +# } + +# conf = {"energy": energy_section} + +# caplog.set_level(logging.WARNING) +# read_targets(OmegaConf.create(conf)) # , slice_samples_by="system") + +# assert any(["No forces found" in rec.message for rec in caplog.records]) + +# if stress_dict: +# assert any(["No stress found" in rec.message for rec in caplog.records]) +# if virial_dict: +# assert any(["No virial found" in rec.message for rec in caplog.records]) + + +# def test_read_targets_error(monkeypatch, tmp_path): +# monkeypatch.chdir(tmp_path) + +# filename = "systems.xyz" +# systems = ase_system() +# ase.io.write(filename, systems) + +# energy_section = { +# "quantity": "energy", +# "read_from": filename, +# "reader": "ase", +# "key": "true_energy", +# "type": "scalar", +# "per_atom": False, +# "num_properties": 1, +# "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, +# "stress": True, +# "virial": True, +# } + +# conf = {"energy": energy_section} + +# with pytest.raises( +# ValueError, +# match="stress and virial at the same time", +# ): +# read_targets(OmegaConf.create(conf)) + + +# def test_unsupported_quantity(): +# conf = { +# "energy": { +# "quantity": "foo", +# } +# } + +# with pytest.raises( +# ValueError, +# match="Quantity: 'foo' is not supported. Choose 'energy'.", +# ): +# read_targets(OmegaConf.create(conf)) + + +# def test_unsupported_target_name(): +# conf = { +# "free_energy": { +# "quantity": "energy", +# } +# } + +# with pytest.raises( +# ValueError, +# match="start with `mtt::`", +# ): +# read_targets(OmegaConf.create(conf)) diff --git a/tests/utils/data/test_combine_dataloaders.py b/tests/utils/data/test_combine_dataloaders.py index beb78fbdc..228bb6280 100644 --- a/tests/utils/data/test_combine_dataloaders.py +++ b/tests/utils/data/test_combine_dataloaders.py @@ -30,6 +30,9 @@ def test_without_shuffling(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -49,6 +52,9 @@ def test_without_shuffling(): "reader": "ase", "key": "energy", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -88,6 +94,9 @@ def test_with_shuffling(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -109,6 +118,9 @@ def test_with_shuffling(): "reader": "ase", "key": "energy", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, diff --git a/tests/utils/data/test_dataset.py b/tests/utils/data/test_dataset.py index 9c76c5a7b..7c1199de2 100644 --- a/tests/utils/data/test_dataset.py +++ b/tests/utils/data/test_dataset.py @@ -374,6 +374,9 @@ def test_dataset(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -400,6 +403,9 @@ def test_get_atomic_types(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -413,6 +419,9 @@ def test_get_atomic_types(): "reader": "ase", "key": "energy", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -439,6 +448,9 @@ def test_get_all_targets(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -452,6 +464,9 @@ def test_get_all_targets(): "reader": "ase", "key": "energy", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -477,6 +492,9 @@ def test_check_datasets(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -490,6 +508,9 @@ def test_check_datasets(): "reader": "ase", "key": "energy", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -551,6 +572,9 @@ def test_collate_fn(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -578,6 +602,9 @@ def test_get_stats(layout_scalar): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -591,6 +618,9 @@ def test_get_stats(layout_scalar): "reader": "ase", "key": "energy", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, diff --git a/tests/utils/data/test_get_dataset.py b/tests/utils/data/test_get_dataset.py index 765f6a62b..a5df88f35 100644 --- a/tests/utils/data/test_get_dataset.py +++ b/tests/utils/data/test_get_dataset.py @@ -22,6 +22,9 @@ def test_get_dataset(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, diff --git a/tests/utils/test_additive.py b/tests/utils/test_additive.py index b3472d2f3..535baf194 100644 --- a/tests/utils/test_additive.py +++ b/tests/utils/test_additive.py @@ -134,6 +134,9 @@ def test_composition_model_predict(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -243,6 +246,9 @@ def test_remove_additive(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -412,6 +418,9 @@ def test_zbl(): "reader": "ase", "key": "U0", "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, diff --git a/tests/utils/test_llpr.py b/tests/utils/test_llpr.py index bb87d266a..3c5f3b483 100644 --- a/tests/utils/test_llpr.py +++ b/tests/utils/test_llpr.py @@ -35,6 +35,9 @@ def test_llpr(tmpdir): "reader": "ase", "key": "U0", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -157,6 +160,9 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): "reader": "ase", "key": "U0", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, From 012f1417ecfbc1835454b82a9cf94f64801cfa71 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sun, 10 Nov 2024 20:12:17 +0100 Subject: [PATCH 060/126] Fix even more stuff --- .../alchemical_model/tests/test_exported.py | 6 ++-- .../tests/test_functionality.py | 6 ++-- .../alchemical_model/tests/test_invariance.py | 6 ++-- .../alchemical_model/tests/test_regression.py | 12 ++------ .../test_torch_alchemical_compatibility.py | 6 ++-- .../tests/test_torchscript.py | 8 ++--- .../experimental/gap/tests/test_errors.py | 14 +++------ .../experimental/gap/tests/test_regression.py | 14 ++++----- .../gap/tests/test_torchscript.py | 10 +++---- .../experimental/pet/tests/test_exported.py | 6 ++-- .../pet/tests/test_functionality.py | 10 +++---- .../pet/tests/test_pet_compatibility.py | 6 ++-- .../pet/tests/test_torchscript.py | 8 ++--- .../soap_bpnn/tests/test_continue.py | 8 ++--- .../soap_bpnn/tests/test_exported.py | 6 ++-- .../soap_bpnn/tests/test_functionality.py | 12 ++++---- .../soap_bpnn/tests/test_invariance.py | 6 ++-- .../soap_bpnn/tests/test_regression.py | 6 ++-- .../soap_bpnn/tests/test_torchscript.py | 10 +++---- tests/cli/test_eval_model.py | 6 ++-- tests/cli/test_export_model.py | 8 ++--- tests/utils/data/readers/test_readers.py | 2 +- tests/utils/test_additive.py | 29 +++++-------------- tests/utils/test_evaluate_model.py | 10 ++++--- tests/utils/test_external_naming.py | 11 +++---- tests/utils/test_output_gradient.py | 24 +++++++-------- 26 files changed, 112 insertions(+), 138 deletions(-) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_exported.py b/src/metatrain/experimental/alchemical_model/tests/test_exported.py index 04874e6c3..8db6a89b6 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_exported.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_exported.py @@ -3,12 +3,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, System from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -24,7 +24,7 @@ def test_to(device, dtype): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info).to(dtype=dtype) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py index 6b2eae8df..626973c5b 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py @@ -2,12 +2,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, System from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -20,7 +20,7 @@ def test_prediction_subset_elements(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_invariance.py b/src/metatrain/experimental/alchemical_model/tests/test_invariance.py index c8a42676d..8955c8afb 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_invariance.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_invariance.py @@ -5,12 +5,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, systems_to_torch from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from metatrain.utils.testing import energy_layout from . import DATASET_PATH, MODEL_HYPERS @@ -22,7 +22,7 @@ def test_rotational_invariance(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_regression.py b/src/metatrain/experimental/alchemical_model/tests/test_regression.py index e9b5d49c0..8009b0068 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_regression.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_regression.py @@ -6,18 +6,12 @@ from omegaconf import OmegaConf from metatrain.experimental.alchemical_model import AlchemicalModel, Trainer -from metatrain.utils.data import ( - Dataset, - DatasetInfo, - TargetInfo, - read_systems, - read_targets, -) +from metatrain.utils.data import Dataset, DatasetInfo, read_systems, read_targets +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from metatrain.utils.testing import energy_layout from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS @@ -32,7 +26,7 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" targets = {} - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + targets["mtt::U0"] = get_energy_target_info({"quantity": "energy", "unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py index 9f17dd9d0..0303386dc 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py @@ -14,9 +14,9 @@ from metatrain.experimental.alchemical_model.utils import ( systems_to_torch_alchemical_batch, ) -from metatrain.utils.data import DatasetInfo, TargetInfo, read_systems +from metatrain.utils.data import DatasetInfo, read_systems +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists -from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS, QM9_DATASET_PATH @@ -73,7 +73,7 @@ def test_alchemical_model_inference(): length_unit="Angstrom", atomic_types=unique_numbers, targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py b/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py index 30d5511d7..c66b615d9 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py @@ -1,8 +1,8 @@ import torch from metatrain.experimental.alchemical_model import AlchemicalModel -from metatrain.utils.data import DatasetInfo, TargetInfo -from metatrain.utils.testing import energy_layout +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from . import MODEL_HYPERS @@ -14,7 +14,7 @@ def test_torchscript(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) @@ -29,7 +29,7 @@ def test_torchscript_save_load(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/gap/tests/test_errors.py b/src/metatrain/experimental/gap/tests/test_errors.py index 3c42679b5..ba4402e87 100644 --- a/src/metatrain/experimental/gap/tests/test_errors.py +++ b/src/metatrain/experimental/gap/tests/test_errors.py @@ -8,14 +8,8 @@ from omegaconf import OmegaConf from metatrain.experimental.gap import GAP, Trainer -from metatrain.utils.data import ( - Dataset, - DatasetInfo, - TargetInfo, - read_systems, - read_targets, -) -from metatrain.utils.testing import energy_force_layout +from metatrain.utils.data import Dataset, DatasetInfo, read_systems, read_targets +from metatrain.utils.data.target_info import get_energy_target_info from . import DATASET_ETHANOL_PATH, DEFAULT_HYPERS @@ -65,8 +59,8 @@ def test_ethanol_regression_train_and_invariance(): hypers["model"]["krr"]["num_sparse_points"] = 30 target_info_dict = { - "energy": TargetInfo( - quantity="energy", unit="kcal/mol", layout=energy_force_layout + "energy": get_energy_target_info( + {"quantity": "energy", "unit": "kcal/mol"}, add_position_gradients=True ) } diff --git a/src/metatrain/experimental/gap/tests/test_regression.py b/src/metatrain/experimental/gap/tests/test_regression.py index 254d21ccf..2cd4ebea6 100644 --- a/src/metatrain/experimental/gap/tests/test_regression.py +++ b/src/metatrain/experimental/gap/tests/test_regression.py @@ -8,9 +8,9 @@ from omegaconf import OmegaConf from metatrain.experimental.gap import GAP, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo +from metatrain.utils.data import Dataset, DatasetInfo from metatrain.utils.data.readers import read_systems, read_targets -from metatrain.utils.testing import energy_force_layout, energy_layout +from metatrain.utils.data.target_info import get_energy_target_info from . import DATASET_ETHANOL_PATH, DATASET_PATH, DEFAULT_HYPERS @@ -27,7 +27,7 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" targets = {} - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + targets["mtt::U0"] = get_energy_target_info({"quantity": "energy", "unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets @@ -62,8 +62,8 @@ def test_regression_train_and_invariance(): dataset = Dataset.from_dict({"system": systems, "mtt::U0": targets["mtt::U0"]}) target_info_dict = {} - target_info_dict["mtt::U0"] = TargetInfo( - quantity="energy", unit="eV", layout=energy_layout + target_info_dict["mtt::U0"] = get_energy_target_info( + {"quantity": "energy", "unit": "eV"} ) dataset_info = DatasetInfo( @@ -148,8 +148,8 @@ def test_ethanol_regression_train_and_invariance(): hypers["model"]["krr"]["num_sparse_points"] = 900 target_info_dict = { - "energy": TargetInfo( - quantity="energy", unit="kcal/mol", layout=energy_force_layout + "energy": get_energy_target_info( + {"quantity": "energy", "unit": "eV"}, add_position_gradients=True ) } diff --git a/src/metatrain/experimental/gap/tests/test_torchscript.py b/src/metatrain/experimental/gap/tests/test_torchscript.py index 468fe3bcd..0f5ec9672 100644 --- a/src/metatrain/experimental/gap/tests/test_torchscript.py +++ b/src/metatrain/experimental/gap/tests/test_torchscript.py @@ -2,9 +2,9 @@ from omegaconf import OmegaConf from metatrain.experimental.gap import GAP, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo +from metatrain.utils.data import Dataset, DatasetInfo from metatrain.utils.data.readers import read_systems, read_targets -from metatrain.utils.testing import energy_layout +from metatrain.utils.data.target_info import get_energy_target_info from . import DATASET_PATH, DEFAULT_HYPERS @@ -15,8 +15,8 @@ def test_torchscript(): """Tests that the model can be jitted.""" target_info_dict = {} - target_info_dict["mtt::U0"] = TargetInfo( - quantity="energy", unit="eV", layout=energy_layout + target_info_dict["mtt::U0"] = get_energy_target_info( + {"quantity": "energy", "unit": "eV"} ) dataset_info = DatasetInfo( @@ -69,7 +69,7 @@ def test_torchscript(): def test_torchscript_save(): """Tests that the model can be jitted and saved.""" targets = {} - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + targets["mtt::U0"] = get_energy_target_info({"quantity": "energy", "unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/pet/tests/test_exported.py b/src/metatrain/experimental/pet/tests/test_exported.py index 08bdca71c..db638840a 100644 --- a/src/metatrain/experimental/pet/tests/test_exported.py +++ b/src/metatrain/experimental/pet/tests/test_exported.py @@ -11,12 +11,12 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from metatrain.utils.testing import energy_layout DEFAULT_HYPERS = get_default_hypers("experimental.pet") @@ -33,7 +33,7 @@ def test_to(device): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) diff --git a/src/metatrain/experimental/pet/tests/test_functionality.py b/src/metatrain/experimental/pet/tests/test_functionality.py index 2ebd3841f..5a033983c 100644 --- a/src/metatrain/experimental/pet/tests/test_functionality.py +++ b/src/metatrain/experimental/pet/tests/test_functionality.py @@ -18,13 +18,13 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.jsonschema import validate from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from metatrain.utils.testing import energy_layout DEFAULT_HYPERS = get_default_hypers("experimental.pet") @@ -67,7 +67,7 @@ def test_prediction(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) @@ -120,7 +120,7 @@ def test_per_atom_predictions_functionality(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) @@ -174,7 +174,7 @@ def test_selected_atoms_functionality(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) diff --git a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py index 1a83371af..e483b43c4 100644 --- a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py +++ b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py @@ -17,9 +17,9 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.experimental.pet.utils import systems_to_batch_dict from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists -from metatrain.utils.testing import energy_layout from . import DATASET_PATH @@ -99,7 +99,7 @@ def test_predictions_compatibility(cutoff): length_unit="Angstrom", atomic_types=structure.numbers, targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) capabilities = ModelCapabilities( diff --git a/src/metatrain/experimental/pet/tests/test_torchscript.py b/src/metatrain/experimental/pet/tests/test_torchscript.py index 15adc95a8..f16ebabef 100644 --- a/src/metatrain/experimental/pet/tests/test_torchscript.py +++ b/src/metatrain/experimental/pet/tests/test_torchscript.py @@ -4,8 +4,8 @@ from metatrain.experimental.pet import PET as WrappedPET from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo -from metatrain.utils.testing import energy_layout +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info DEFAULT_HYPERS = get_default_hypers("experimental.pet") @@ -18,7 +18,7 @@ def test_torchscript(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) @@ -35,7 +35,7 @@ def test_torchscript_save_load(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py index 3735d09b0..cc281815a 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py @@ -6,9 +6,9 @@ from omegaconf import OmegaConf from metatrain.experimental.soap_bpnn import SoapBpnn, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo +from metatrain.utils.data import Dataset, DatasetInfo from metatrain.utils.data.readers import read_systems, read_targets -from metatrain.utils.testing import energy_layout +from metatrain.utils.data.target_info import get_energy_target_info from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS @@ -24,8 +24,8 @@ def test_continue(monkeypatch, tmp_path): systems = [system.to(torch.float32) for system in systems] target_info_dict = {} - target_info_dict["mtt::U0"] = TargetInfo( - quantity="energy", unit="eV", layout=energy_layout + target_info_dict["mtt::U0"] = get_energy_target_info( + {"quantity": "energy", "unit": "eV"} ) dataset_info = DatasetInfo( diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py index 421cc422a..de89f6716 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py @@ -3,12 +3,12 @@ from metatensor.torch.atomistic import ModelEvaluationOptions, System from metatrain.experimental.soap_bpnn import SoapBpnn -from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS @@ -24,7 +24,7 @@ def test_to(device, dtype): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info).to(dtype=dtype) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index 2e7cde5e7..da6717b6a 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -7,8 +7,8 @@ from metatrain.experimental.soap_bpnn import SoapBpnn from metatrain.utils.architectures import check_architecture_options -from metatrain.utils.data import DatasetInfo, TargetInfo -from metatrain.utils.testing import energy_layout +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from . import DEFAULT_HYPERS, MODEL_HYPERS @@ -21,7 +21,7 @@ def test_prediction_subset_elements(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) @@ -47,7 +47,7 @@ def test_prediction_subset_atoms(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) @@ -117,7 +117,7 @@ def test_output_last_layer_features(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) @@ -191,7 +191,7 @@ def test_output_per_atom(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py b/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py index 92c96767d..4a5a5e2d7 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py @@ -5,8 +5,8 @@ from metatensor.torch.atomistic import systems_to_torch from metatrain.experimental.soap_bpnn import SoapBpnn -from metatrain.utils.data import DatasetInfo, TargetInfo -from metatrain.utils.testing import energy_layout +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from . import DATASET_PATH, MODEL_HYPERS @@ -18,7 +18,7 @@ def test_rotational_invariance(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index 3f9f19aba..ce5f58eff 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -6,9 +6,9 @@ from omegaconf import OmegaConf from metatrain.experimental.soap_bpnn import SoapBpnn, Trainer -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo +from metatrain.utils.data import Dataset, DatasetInfo from metatrain.utils.data.readers import read_systems, read_targets -from metatrain.utils.testing import energy_layout +from metatrain.utils.data.target_info import get_energy_target_info from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS @@ -23,7 +23,7 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" targets = {} - targets["mtt::U0"] = TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + targets["mtt::U0"] = get_energy_target_info({"quantity": "energy", "unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py index 53a7e161e..4ab95792a 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py @@ -4,8 +4,8 @@ from metatensor.torch.atomistic import System from metatrain.experimental.soap_bpnn import SoapBpnn -from metatrain.utils.data import DatasetInfo, TargetInfo -from metatrain.utils.testing import energy_layout +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from . import MODEL_HYPERS @@ -17,7 +17,7 @@ def test_torchscript(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -44,7 +44,7 @@ def test_torchscript_with_identity(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) hypers = copy.deepcopy(MODEL_HYPERS) @@ -73,7 +73,7 @@ def test_torchscript_save_load(): length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) diff --git a/tests/cli/test_eval_model.py b/tests/cli/test_eval_model.py index 6da30fb5c..c962ec7bb 100644 --- a/tests/cli/test_eval_model.py +++ b/tests/cli/test_eval_model.py @@ -10,8 +10,8 @@ from metatrain.cli.eval import eval_model from metatrain.experimental.soap_bpnn import __model__ -from metatrain.utils.data import DatasetInfo, TargetInfo -from metatrain.utils.testing import energy_layout +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from . import EVAL_OPTIONS_PATH, MODEL_HYPERS, MODEL_PATH, RESOURCES_PATH @@ -85,7 +85,7 @@ def test_eval_export(monkeypatch, tmp_path, options): length_unit="angstrom", atomic_types={1, 6, 7, 8}, targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/cli/test_export_model.py b/tests/cli/test_export_model.py index d9515d1b1..6357b69ba 100644 --- a/tests/cli/test_export_model.py +++ b/tests/cli/test_export_model.py @@ -14,9 +14,9 @@ from metatrain.cli.export import export_model from metatrain.experimental.soap_bpnn import __model__ from metatrain.utils.architectures import find_all_architectures -from metatrain.utils.data import DatasetInfo, TargetInfo +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.io import load_model -from metatrain.utils.testing import energy_layout from . import MODEL_HYPERS, RESOURCES_PATH @@ -31,7 +31,7 @@ def test_export(monkeypatch, tmp_path, path, caplog): length_unit="angstrom", atomic_types={1}, targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -97,7 +97,7 @@ def test_reexport(monkeypatch, tmp_path): length_unit="angstrom", atomic_types={1, 6, 7, 8}, targets={ - "energy": TargetInfo(quantity="energy", unit="eV", layout=energy_layout) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/utils/data/readers/test_readers.py b/tests/utils/data/readers/test_readers.py index 77dfa4a19..ff97fde8a 100644 --- a/tests/utils/data/readers/test_readers.py +++ b/tests/utils/data/readers/test_readers.py @@ -230,7 +230,7 @@ # "stress_dict, virial_dict", # [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], # ) -# def test_read_targets_warnings(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): +# def test_read_targets_warnings(stress_dict, virial_dict, monkeypatch, tmp_path, caplo # monkeypatch.chdir(tmp_path) # filename = "systems.xyz" diff --git a/tests/utils/test_additive.py b/tests/utils/test_additive.py index 535baf194..9b2620519 100644 --- a/tests/utils/test_additive.py +++ b/tests/utils/test_additive.py @@ -8,13 +8,13 @@ from omegaconf import OmegaConf from metatrain.utils.additive import ZBL, CompositionModel, remove_additive -from metatrain.utils.data import Dataset, DatasetInfo, TargetInfo +from metatrain.utils.data import Dataset, DatasetInfo from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from metatrain.utils.testing import energy_layout RESOURCES_PATH = Path(__file__).parents[1] / "resources" @@ -84,10 +84,7 @@ def test_composition_model_train(): length_unit="angstrom", atomic_types=[1, 8], targets={ - "energy": TargetInfo( - quantity="energy", - layout=energy_layout, - ) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ), ) @@ -214,10 +211,7 @@ def test_composition_model_torchscript(tmpdir): length_unit="angstrom", atomic_types=[1, 8], targets={ - "energy": TargetInfo( - quantity="energy", - layout=energy_layout, - ) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ), ) @@ -346,10 +340,7 @@ def test_composition_model_missing_types(): length_unit="angstrom", atomic_types=[1], targets={ - "energy": TargetInfo( - quantity="energy", - layout=energy_layout, - ) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ), ) @@ -365,10 +356,7 @@ def test_composition_model_missing_types(): length_unit="angstrom", atomic_types=[1, 8, 100], targets={ - "energy": TargetInfo( - quantity="energy", - layout=energy_layout, - ) + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) }, ), ) @@ -394,9 +382,8 @@ def test_composition_model_wrong_target(): length_unit="angstrom", atomic_types=[1], targets={ - "energy": TargetInfo( - quantity="FOO", - layout=energy_layout, + "energy": get_energy_target_info( + {"quantity": "energy", "unit": "eV"} ) }, ), diff --git a/tests/utils/test_evaluate_model.py b/tests/utils/test_evaluate_model.py index c18033172..93a347adc 100644 --- a/tests/utils/test_evaluate_model.py +++ b/tests/utils/test_evaluate_model.py @@ -2,13 +2,13 @@ import torch from metatrain.experimental.soap_bpnn import __model__ -from metatrain.utils.data import DatasetInfo, TargetInfo, read_systems +from metatrain.utils.data import DatasetInfo, read_systems +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.evaluate_model import evaluate_model from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, ) -from metatrain.utils.testing import energy_force_stress_layout from . import MODEL_HYPERS, RESOURCES_PATH @@ -25,8 +25,10 @@ def test_evaluate_model(training, exported): ) targets = { - "energy": TargetInfo( - quantity="energy", unit="eV", layout=energy_force_stress_layout + "energy": get_energy_target_info( + {"quantity": "energy", "unit": "eV"}, + add_position_gradients=True, + add_strain_gradients=True, ) } diff --git a/tests/utils/test_external_naming.py b/tests/utils/test_external_naming.py index 0e3db1371..936b9880a 100644 --- a/tests/utils/test_external_naming.py +++ b/tests/utils/test_external_naming.py @@ -1,15 +1,16 @@ -from metatrain.utils.data.dataset import TargetInfo +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.external_naming import to_external_name, to_internal_name -from metatrain.utils.testing import energy_layout def test_to_external_name(): """Tests the to_external_name function.""" quantities = { - "energy": TargetInfo(quantity="energy", layout=energy_layout), - "mtt::free_energy": TargetInfo(quantity="energy", layout=energy_layout), - "mtt::foo": TargetInfo(quantity="bar", layout=energy_layout), + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}), + "mtt::free_energy": get_energy_target_info( + {"quantity": "energy", "unit": "eV"} + ), + "mtt::foo": get_energy_target_info({"quantity": "energy", "unit": "eV"}), } assert to_external_name("energy_positions_gradients", quantities) == "forces" diff --git a/tests/utils/test_output_gradient.py b/tests/utils/test_output_gradient.py index 75aaf76e7..d6fa2daea 100644 --- a/tests/utils/test_output_gradient.py +++ b/tests/utils/test_output_gradient.py @@ -4,13 +4,9 @@ from metatensor.torch.atomistic import System from metatrain.experimental.soap_bpnn import __model__ -from metatrain.utils.data import DatasetInfo, TargetInfo, read_systems +from metatrain.utils.data import DatasetInfo, read_systems +from metatrain.utils.data.target_info import get_energy_target_info from metatrain.utils.output_gradient import compute_gradient -from metatrain.utils.testing import ( - energy_force_layout, - energy_force_stress_layout, - energy_stress_layout, -) from . import MODEL_HYPERS, RESOURCES_PATH @@ -23,8 +19,8 @@ def test_forces(is_training): length_unit="angstrom", atomic_types={1, 6, 7, 8}, targets={ - "energy": TargetInfo( - quantity="energy", unit="eV", layout=energy_force_layout + "energy": get_energy_target_info( + {"quantity": "energy", "unit": "eV"}, add_position_gradients=True ) }, ) @@ -82,8 +78,8 @@ def test_virial(is_training): length_unit="angstrom", atomic_types={6}, targets={ - "energy": TargetInfo( - quantity="energy", unit="eV", layout=energy_stress_layout + "energy": get_energy_target_info( + {"quantity": "energy", "unit": "eV"}, add_strain_gradients=True ) }, ) @@ -153,10 +149,10 @@ def test_both(is_training): length_unit="angstrom", atomic_types={6}, targets={ - "energy": TargetInfo( - quantity="energy", - unit="eV", - layout=energy_force_stress_layout, + "energy": get_energy_target_info( + {"quantity": "energy", "unit": "eV"}, + add_position_gradients=True, + add_strain_gradients=True, ) }, ) From 4146954b641ce18540c31185affc633edb529d15 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sun, 10 Nov 2024 20:24:59 +0100 Subject: [PATCH 061/126] Revert changes to options file --- tests/resources/options.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tests/resources/options.yaml b/tests/resources/options.yaml index bb3c66aa4..977c68e9f 100644 --- a/tests/resources/options.yaml +++ b/tests/resources/options.yaml @@ -8,16 +8,12 @@ architecture: training_set: systems: - read_from: carbon_reduced_100.xyz + read_from: qm9_reduced_100.xyz length_unit: angstrom targets: energy: - key: energy + key: U0 unit: eV - forces: - key: force - virial: - key: virial test_set: 0.5 validation_set: 0.1 From e93ac4aad9eb064ac70fe5faf47cb886e9272505 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sun, 10 Nov 2024 21:02:07 +0100 Subject: [PATCH 062/126] Fix tests --- src/metatrain/share/schema-dataset.json | 63 +++++++++++++++---------- tests/utils/test_additive.py | 4 +- tests/utils/test_external_naming.py | 2 +- 3 files changed, 40 insertions(+), 29 deletions(-) diff --git a/src/metatrain/share/schema-dataset.json b/src/metatrain/share/schema-dataset.json index b99cde34c..7ec6232d9 100644 --- a/src/metatrain/share/schema-dataset.json +++ b/src/metatrain/share/schema-dataset.json @@ -140,37 +140,50 @@ }, "type": { "oneOf": [ - { "enum": ["scalar"] }, { - "cartesian": { - "type": "object", - "properties": { - "rank": { - "type": "integer" - } - }, - "additionalProperties": false - } + "type": "string", + "enum": ["scalar"] }, { - "spherical": { - "type": "object", - "properties": { - "type": "array", - "items": { - "o3_lambda": - { - "type": "integer" - }, - "o3_sigma": - { - "type": "number" + "type": "object", + "properties": { + "cartesian": { + "type": "object", + "properties": { + "rank": { "type": "integer" } + }, + "required": ["rank"], + "additionalProperties": false + } + }, + "required": ["cartesian"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "spherical": { + "type": "object", + "properties": { + "type": { + "type": "array" + }, + "items": { + "type": "object", + "properties": { + "o3_lambda": { "type": "integer" }, + "o3_sigma": { "type": "number" } }, + "required": ["o3_lambda", "o3_sigma"], "additionalProperties": false } - }, - "additionalProperties": false - } + }, + "required": ["type", "items"], + "additionalProperties": false + } + }, + "required": ["spherical"], + "additionalProperties": false } ] }, diff --git a/tests/utils/test_additive.py b/tests/utils/test_additive.py index 9b2620519..253c900f6 100644 --- a/tests/utils/test_additive.py +++ b/tests/utils/test_additive.py @@ -382,9 +382,7 @@ def test_composition_model_wrong_target(): length_unit="angstrom", atomic_types=[1], targets={ - "energy": get_energy_target_info( - {"quantity": "energy", "unit": "eV"} - ) + "energy": get_energy_target_info({"quantity": "force", "unit": ""}) }, ), ) diff --git a/tests/utils/test_external_naming.py b/tests/utils/test_external_naming.py index 936b9880a..6efe0bb98 100644 --- a/tests/utils/test_external_naming.py +++ b/tests/utils/test_external_naming.py @@ -10,7 +10,7 @@ def test_to_external_name(): "mtt::free_energy": get_energy_target_info( {"quantity": "energy", "unit": "eV"} ), - "mtt::foo": get_energy_target_info({"quantity": "energy", "unit": "eV"}), + "mtt::foo": get_energy_target_info({"quantity": "bar", "unit": "eV"}), } assert to_external_name("energy_positions_gradients", quantities) == "forces" From e86192d2511e6d9d988dc3318d3816c01d5f1151 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Sun, 10 Nov 2024 21:14:05 +0100 Subject: [PATCH 063/126] Add warning when learning of `forces`, `stress`, `virial` not as gradients of `energy` --- src/metatrain/utils/data/readers/readers.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index 672d6a9d2..5c9590601 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -163,6 +163,18 @@ def read_targets( f"Target name ({target_key}) must either be one of " f"{standard_outputs_list} or start with `mtt::`." ) + if ( + "force" in target_key.lower() + or "virial" in target_key.lower() + or "stress" in target_key.lower() + ): + warnings.warn( + f"the name of {target_key!r} resembles to a gradient of " + "energies; it should probably not be its own top-level target, " + "but rather a gradient sub-section of a target with the " + "`energy` quantity", + stacklevel=2, + ) is_energy = ( (target["quantity"] == "energy") From a1c214694c63dce8b15d43d80ad5b578b0e495e1 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 10:22:50 +0100 Subject: [PATCH 064/126] Update developer docs --- docs/src/dev-docs/utils/data/readers.rst | 51 ++++++++++++++----- src/metatrain/utils/data/readers/ase.py | 6 +-- .../data/readers/{mts.py => metatensor.py} | 6 +-- src/metatrain/utils/data/readers/readers.py | 4 +- tests/utils/data/test_targets_ase.py | 4 +- tests/utils/test_neighbor_list.py | 4 +- 6 files changed, 51 insertions(+), 24 deletions(-) rename src/metatrain/utils/data/readers/{mts.py => metatensor.py} (96%) diff --git a/docs/src/dev-docs/utils/data/readers.rst b/docs/src/dev-docs/utils/data/readers.rst index 17a173b72..43956c94d 100644 --- a/docs/src/dev-docs/utils/data/readers.rst +++ b/docs/src/dev-docs/utils/data/readers.rst @@ -13,10 +13,13 @@ Parsers for obtaining *system* and *target* information from files. Currently, * - ``ase`` - system, energy, forces, stress, virials - ``.xyz``, ``.extxyz`` + * - ``metatensor`` + - system, energy, forces, stress, virials + - ``.mts`` -If the ``reader`` parameter is not set the library is determined from the file -extension. Overriding this behavior is in particular useful, if a file format is not +If the ``reader`` parameter is not set, the library is determined from the file +extension. Overriding this behavior is in particular useful if a file format is not listed here but might be supported by a library. Below the synopsis of the reader functions in details. @@ -24,19 +27,43 @@ Below the synopsis of the reader functions in details. System and target data readers ============================== -The main entry point for reading system and target information are the reader functions +The main entry point for reading system and target information are the reader functions. .. autofunction:: metatrain.utils.data.read_systems .. autofunction:: metatrain.utils.data.read_targets -Target type specific readers ----------------------------- +These functions dispatch the reading of the system and target information to the +appropriate readers, based on the file extension or the user-provided library. + +In addition, the read_targets function uses the user-provided information about the +targets to call the appropriate target reader function (for energy targets or generic +targets). + +ASE +--- + +This section describes the parsers for the ASE library. + +.. autofunction:: metatrain.utils.data.readers.ase.read_systems +.. autofunction:: metatrain.utils.data.readers.ase.read_energy +.. autofunction:: metatrain.utils.data.readers.ase.read_generic + +:func:`metatrain.utils.data.readers.ase.read_energy` uses sub-functions to parse the +energy and its gradients like ``forces``, ``virial`` and ``stress``. Currently we +support reading these properties via + +.. autofunction:: metatrain.utils.data.readers.ase.read_energy_ase +.. autofunction:: metatrain.utils.data.readers.ase.read_forces_ase +.. autofunction:: metatrain.utils.data.readers.ase.read_virial_ase +.. autofunction:: metatrain.utils.data.readers.ase.read_stress_ase + +Metatensor +---------- -:func:`metatrain.utils.data.read_targets` uses sub-functions to parse supported -target properties like the ``energy`` or ``forces``. Currently we support reading the -following target properties via +This section describes the parsers for the ``metatensor`` library. As the systems and/or +targets are already stored in the ``metatensor`` format, these reader functions mainly +perform checks and return the data. -.. autofunction:: metatrain.utils.data.read_energy -.. autofunction:: metatrain.utils.data.read_forces -.. autofunction:: metatrain.utils.data.read_virial -.. autofunction:: metatrain.utils.data.read_stress +.. autofunction:: metatrain.utils.data.readers.metatensor.read_systems +.. autofunction:: metatrain.utils.data.readers.metatensor.read_energy +.. autofunction:: metatrain.utils.data.readers.metatensor.read_generic diff --git a/src/metatrain/utils/data/readers/ase.py b/src/metatrain/utils/data/readers/ase.py index 60c2063b9..a3e8cf62f 100644 --- a/src/metatrain/utils/data/readers/ase.py +++ b/src/metatrain/utils/data/readers/ase.py @@ -21,7 +21,7 @@ def _wrapped_ase_io_read(filename): raise ValueError(f"Failed to read '{filename}' with ASE: {e}") from e -def read_ase_systems(filename: str) -> List[System]: +def read_systems(filename: str) -> List[System]: """Store system informations using ase. :param filename: name of the file to read @@ -191,7 +191,7 @@ def _read_virial_stress_ase( return blocks -def read_ase_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: +def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: target_key = target["key"] blocks = read_energy_ase( @@ -271,7 +271,7 @@ def read_ase_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: return tensor_map_list, target_info -def read_ase_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: +def read_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: filename = target["read_from"] frames = _wrapped_ase_io_read(filename) diff --git a/src/metatrain/utils/data/readers/mts.py b/src/metatrain/utils/data/readers/metatensor.py similarity index 96% rename from src/metatrain/utils/data/readers/mts.py rename to src/metatrain/utils/data/readers/metatensor.py index 653fac96e..0003fe965 100644 --- a/src/metatrain/utils/data/readers/mts.py +++ b/src/metatrain/utils/data/readers/metatensor.py @@ -12,7 +12,7 @@ logger = logging.getLogger(__name__) -def read_metatensor_systems(filename: str) -> List[System]: +def read_systems(filename: str) -> List[System]: """Read system information using metatensor. :param filename: name of the file to read @@ -30,7 +30,7 @@ def _wrapped_metatensor_read(filename) -> List[TensorMap]: raise ValueError(f"Failed to read '{filename}' with torch: {e}") from e -def read_metatensor_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: +def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: tensor_maps = _wrapped_metatensor_read(target["read_from"]) has_position_gradients = [] @@ -67,7 +67,7 @@ def read_metatensor_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetI return tensor_maps, target_info -def read_metatensor_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: +def read_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: tensor_maps = _wrapped_metatensor_read(target["read_from"]) for tensor_map in tensor_maps: diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index 5c9590601..930c63407 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -46,7 +46,7 @@ def _call_base_systems_reader( ) try: - reader_met = getattr(reader_mod, f"read_{reader}_systems") + reader_met = reader_mod.read_systems except AttributeError: raise ValueError(f"Reader library {reader!r} can't read systems.") @@ -105,7 +105,7 @@ def _call_base_target_reader( ) try: - reader_met = getattr(reader_mod, f"read_{reader}_{target_kind}") + reader_met = getattr(reader_mod, f"read_{target_kind}") except AttributeError: raise ValueError(f"Reader library {reader!r} can't read {target!r}.") diff --git a/tests/utils/data/test_targets_ase.py b/tests/utils/data/test_targets_ase.py index 05269eb94..639036832 100644 --- a/tests/utils/data/test_targets_ase.py +++ b/tests/utils/data/test_targets_ase.py @@ -9,10 +9,10 @@ import torch from metatrain.utils.data.readers.ase import ( - read_ase_systems, read_energy_ase, read_forces_ase, read_stress_ase, + read_systems, read_virial_ase, ) @@ -40,7 +40,7 @@ def test_read_ase(monkeypatch, tmp_path): systems = ase_system() ase.io.write(filename, systems) - result = read_ase_systems(filename) + result = read_systems(filename) assert isinstance(result, list) assert len(result) == 1 diff --git a/tests/utils/test_neighbor_list.py b/tests/utils/test_neighbor_list.py index 7d431f2e9..d346dca00 100644 --- a/tests/utils/test_neighbor_list.py +++ b/tests/utils/test_neighbor_list.py @@ -2,7 +2,7 @@ from metatensor.torch.atomistic import NeighborListOptions -from metatrain.utils.data.readers.ase import read_ase_systems +from metatrain.utils.data.readers.ase import read_systems from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists @@ -11,7 +11,7 @@ def test_attach_neighbor_lists(): filename = RESOURCES_PATH / "qm9_reduced_100.xyz" - systems = read_ase_systems(filename) + systems = read_systems(filename) requested_neighbor_lists = [ NeighborListOptions(cutoff=4.0, full_list=True, strict=True), From b8647f28804fd0b0ddc6c92e9b2f5796fee26a5a Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 11:09:10 +0100 Subject: [PATCH 065/126] Add user docs for generic targets --- docs/src/advanced-concepts/index.rst | 1 + .../preparing-generic-targets.rst | 110 ++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 docs/src/advanced-concepts/preparing-generic-targets.rst diff --git a/docs/src/advanced-concepts/index.rst b/docs/src/advanced-concepts/index.rst index cd5fdb04d..dd5f98f01 100644 --- a/docs/src/advanced-concepts/index.rst +++ b/docs/src/advanced-concepts/index.rst @@ -13,3 +13,4 @@ such as output naming, auxiliary outputs, and wrapper models. multi-gpu auto-restarting fine-tuning + preparing-generic-targets diff --git a/docs/src/advanced-concepts/preparing-generic-targets.rst b/docs/src/advanced-concepts/preparing-generic-targets.rst new file mode 100644 index 000000000..d63b3244c --- /dev/null +++ b/docs/src/advanced-concepts/preparing-generic-targets.rst @@ -0,0 +1,110 @@ +Preparing generic targets for reading by metatrain +================================================== + +Besides energy-like targets, the library also supports reading (and training on) +more generic targets. + +Input file +---------- + +In order to read a generic target, you will have to specify its layout in the input +file. Suppose you want to learn a target named ``mtt::my_target``, which is a per-atom +Cartesian vector with 10 properties. The target section in the input file should look +like this: + +.. code-block:: yaml + + targets: + mtt::my_target: + quantity: "" + read_from: dataset.xyz + key: energy + unit: "" + per_atom: True + type: + cartiesian: + rank: 1 + num_properties: 10 + +The crucial fields here are: + +- ``per_atom``: This field should be set to ``True`` if the target is a per-atom + property. Otherwise, it should be set to ``False``. +- ``type``: This field specifies the type of the target. In this case, the target is + a Cartesian vector. The ``rank`` field specifies the rank of the target. For + Cartesian vectors, the rank is 1. Other possibilities are ``scalar`` and + ``spherical`` (for a spherical tensor). +- ``num_properties``: This field specifies the number of different properties in the + target that need to be learned. In this case, there are 10 properties. + +A few more words should be spent on ``spherical`` targets. These should be made of a +certain number of irreducible spherical tensors. For example, if you are learning a +property that can be decomposed into two spherical tensors with L=0 and L=2, the target +section should would look like this: + +.. code-block:: yaml + + targets: + mtt::my_target: + quantity: "" + read_from: dataset.xyz + key: energy + unit: "" + per_atom: True + type: + spherical: + irreps: + - o3_lambda: 0 + o3_sigma: 1 + - o3_lambda: 2 + o3_sigma: 1 + num_properties: 10 + +where ``o3_lambda`` specifies the L value of the spherical tensor and ``o3_sigma`` its +parity with respect to inversion (1 for proper tensors, -1 for pseudo-tensors). + +Preparing your targets -- ASE +----------------------------- + +If you are using the ASE readers to read your targets, you will have to save them +either in the ``.info`` (if the target is per structure, i.e. not per atom) or in the +``.arrays`` (if the target is per atom) attributes of the ASE atoms object. Then you can +dump the atoms object to a file using ``ase.io.write``. + +The ASE reader will automatically try to reshape the target data to the format expected +given the target section in the input file. In case your target data is invalid, an +error will be raised. + +Reading targets with more than one spherical tensor is not supported by the ASE reader. +In that case, you should use the metatensor reader. + +Preparing your targets -- metatensor +------------------------------------ + +If you are using the metatensor readers to read your targets, you will have to save them +as a list of ``metatensor.torch.TensorMap`` objects with ``torch.save`` into a file with +the ``.mts`` extension. + +The metatensor reader will verify that the target data in the input files corresponds to +the metadata in the provided ``TensorMap`` objects. In case of a mismatch, errors will +be raised. + +In particular: + +- for any target, the ``properties`` of the ``TensorMap`` should have a single name, + namely ``properties``, corresponding to ``num_properties`` values, from 0 to + ``num_properties-1``. +- if the target is per atom, the samples should have the [``system``, ``atom``] names, + otherwise the [``system``] name. +- if the target is a ``scalar``, only one ``TensorBlock`` should be present, the keys + of the ``TensorMap`` should be a ``Labels.single()`` object, and there should be no + components. +- if the target is a ``cartesian`` tensor, only one ``TensorBlock`` should be present, + the keys of the ``TensorMap`` should be a ``Labels.single()`` object, and there should + be one components, with names [``xyz``] for a rank-1 tensor, + [``xyz_1``, ``xyz_2``, etc.] for higher rank tensors. +- if the target is a ``spherical`` tensor, the ``TensorMap`` can contain multiple + ``TensorBlock``, each corresponding to one irreducible spherical tensor. The keys of + the ``TensorMap`` should have the ``o3_lambda`` and ``o3_sigma`` names, corresponding + to the values provided in the input file, and each ``TensorBlock`` should be one + component label, with name ``o3_mu`` and values going from -L to L. From 00434c6eec5ef630d6b873f4c6071caf3cdafc8b Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 12:26:56 +0100 Subject: [PATCH 066/126] Overall and ASE reader tests --- src/metatrain/utils/data/target_info.py | 2 +- tests/utils/data/readers/test_ase.py | 80 +++ tests/utils/data/readers/test_readers.py | 652 +++++++++++------------ 3 files changed, 407 insertions(+), 327 deletions(-) diff --git a/src/metatrain/utils/data/target_info.py b/src/metatrain/utils/data/target_info.py index 9bb0e0c2e..9bda4d762 100644 --- a/src/metatrain/utils/data/target_info.py +++ b/src/metatrain/utils/data/target_info.py @@ -310,7 +310,7 @@ def _get_cartesian_target_info(target: DictConfig) -> TargetInfo: components = [Labels(["xyz"], torch.arange(3).reshape(-1, 1))] else: components = [] - for component in range(target["rank"][cartesian_key]): + for component in range(target["type"][cartesian_key]["rank"]): components.append( Labels( names=[f"xyz_{component}"], diff --git a/tests/utils/data/readers/test_ase.py b/tests/utils/data/readers/test_ase.py index e69de29bb..7624e0a58 100644 --- a/tests/utils/data/readers/test_ase.py +++ b/tests/utils/data/readers/test_ase.py @@ -0,0 +1,80 @@ +"""Tests for the ASE readers. The functionality of the top-level functions +`read_systems`, `read_energy`, `read_generic` is already tested through +the reader tests in `test_readers.py`. Here we test the specific ASE readers +for energies, forces, stresses, and virials.""" + +import ase +import ase.io +import pytest +import torch +from metatensor.torch import Labels +from test_targets_ase import ase_systems + +from metatrain.utils.data.readers.ase import ( + read_energy_ase, + read_forces_ase, + read_stress_ase, + read_virial_ase, +) + + +def test_read_energies(monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_systems() + ase.io.write(filename, systems) + + results = read_energy_ase(filename, key="true_energy") + + assert type(results) is list + assert len(results) == len(systems) + for i_system, result in enumerate(results): + assert result.values.dtype is torch.float64 + assert result.samples.names == ["system"] + assert result.samples.values == torch.tensor([[i_system]]) + assert result.properties == Labels("energy", torch.tensor([[0]])) + + +def test_read_forces(monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_systems() + ase.io.write(filename, systems) + + results = read_forces_ase(filename, key="forces") + + assert type(results) is list + assert len(results) == len(systems) + for i_system, result in enumerate(results): + assert result.values.dtype is torch.float64 + assert result.samples.names == ["sample", "system", "atom"] + assert torch.all(result.samples["sample"] == torch.tensor(0)) + assert torch.all(result.samples["system"] == torch.tensor(i_system)) + assert result.components == [Labels(["xyz"], torch.arange(3).reshape(-1, 1))] + assert result.properties == Labels("energy", torch.tensor([[0]])) + + +@pytest.mark.parametrize("reader_func", [read_stress_ase, read_virial_ase]) +def test_read_stress_virial(reader_func, monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_systems() + ase.io.write(filename, systems) + + results = reader_func(filename, key="stress-3x3") + + assert type(results) is list + assert len(results) == len(systems) + components = [ + Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), + Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), + ] + for result in results: + assert result.values.dtype is torch.float64 + assert result.samples.names == ["sample"] + assert result.samples.values == torch.tensor([[0]]) + assert result.components == components + assert result.properties == Labels("energy", torch.tensor([[0]])) diff --git a/tests/utils/data/readers/test_readers.py b/tests/utils/data/readers/test_readers.py index ff97fde8a..11c8b61f3 100644 --- a/tests/utils/data/readers/test_readers.py +++ b/tests/utils/data/readers/test_readers.py @@ -1,327 +1,327 @@ -# """Test correct type and metadata of readers. Correct values will be checked -# within the tests for each reader.""" +"""Test correct type and metadata of readers. Correct values will be checked +within the tests for each reader.""" + +import logging + +import ase +import ase.io +import pytest +import torch +from metatensor.torch import Labels +from omegaconf import OmegaConf +from test_targets_ase import ase_system, ase_systems + +from metatrain.utils.data import TargetInfo, read_systems, read_targets -# import logging - -# import ase -# import ase.io -# import pytest -# import torch -# from metatensor.torch import Labels -# from omegaconf import OmegaConf -# from test_targets_ase import ase_system, ase_systems - -# from metatrain.utils.data.dataset import TargetInfo -# from metatrain.utils.data.readers import ( -# read_energy, -# read_forces, -# read_stress, -# read_systems, -# read_targets, -# read_virial, -# ) -# from metatrain.utils.data.readers.readers import _base_reader - - -# @pytest.mark.parametrize("reader", (None, "ase")) -# def test_read_systems(reader, monkeypatch, tmp_path): -# monkeypatch.chdir(tmp_path) - -# filename = "systems.xyz" -# systems = ase_systems() -# ase.io.write(filename, systems) - -# results = read_systems(filename, reader=reader) - -# assert isinstance(results, list) -# assert len(results) == len(systems) -# for system, result in zip(systems, results): -# assert isinstance(result, torch.ScriptObject) - -# torch.testing.assert_close( -# result.positions, torch.tensor(system.positions, dtype=torch.float64) -# ) -# torch.testing.assert_close( -# result.types, torch.tensor([1, 1], dtype=torch.int32) -# ) - - -# def test_read_systems_unknown_reader(): -# match = "File extension '.bar' is not linked to a default reader" -# with pytest.raises(ValueError, match=match): -# read_systems("foo.bar") - - -# def test_read_unknonw_library(): -# match = "Reader library 'foo' not supported." -# with pytest.raises(ValueError, match=match): -# read_systems("foo.foo", reader="foo") - - -# @pytest.mark.parametrize("reader", (None, "ase")) -# def test_read_energies(reader, monkeypatch, tmp_path): -# monkeypatch.chdir(tmp_path) - -# filename = "systems.xyz" -# systems = ase_systems() -# ase.io.write(filename, systems) - -# results = read_energy(filename, reader=reader, target_value="true_energy") - -# assert type(results) is list -# assert len(results) == len(systems) -# for i_system, result in enumerate(results): -# assert result.values.dtype is torch.float64 -# assert result.samples.names == ["system"] -# assert result.samples.values == torch.tensor([[i_system]]) -# assert result.properties == Labels("energy", torch.tensor([[0]])) - - -# @pytest.mark.parametrize("reader", (None, "ase")) -# def test_read_forces(reader, monkeypatch, tmp_path): -# monkeypatch.chdir(tmp_path) - -# filename = "systems.xyz" -# systems = ase_systems() -# ase.io.write(filename, systems) - -# results = read_forces(filename, reader=reader, target_value="forces") - -# assert type(results) is list -# assert len(results) == len(systems) -# for i_system, result in enumerate(results): -# assert result.values.dtype is torch.float64 -# assert result.samples.names == ["sample", "system", "atom"] -# assert torch.all(result.samples["sample"] == torch.tensor(0)) -# assert torch.all(result.samples["system"] == torch.tensor(i_system)) -# assert result.components == [Labels(["xyz"], torch.arange(3).reshape(-1, 1))] -# assert result.properties == Labels("energy", torch.tensor([[0]])) - - -# @pytest.mark.parametrize("reader_func", [read_stress, read_virial]) -# @pytest.mark.parametrize("reader", (None, "ase")) -# def test_read_stress_virial(reader_func, reader, monkeypatch, tmp_path): -# monkeypatch.chdir(tmp_path) - -# filename = "systems.xyz" -# systems = ase_systems() -# ase.io.write(filename, systems) - -# results = reader_func(filename, reader=reader, target_value="stress-3x3") - -# assert type(results) is list -# assert len(results) == len(systems) -# components = [ -# Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), -# Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), -# ] -# for result in results: -# assert result.values.dtype is torch.float64 -# assert result.samples.names == ["sample"] -# assert result.samples.values == torch.tensor([[0]]) -# assert result.components == components -# assert result.properties == Labels("energy", torch.tensor([[0]])) - - -# @pytest.mark.parametrize( -# "reader_func", [read_energy, read_forces, read_stress, read_virial] -# ) -# def test_reader_unknown_reader(reader_func): -# match = "File extension '.bar' is not linked to a default reader" -# with pytest.raises(ValueError, match=match): -# reader_func("foo.bar", target_value="baz") - - -# def test_reader_unknown_target(): -# match = "Reader library 'ase' can't read 'mytarget'." -# with pytest.raises(ValueError, match=match): -# _base_reader(target="mytarget", filename="structures.xyz", reader="ase") - - -# STRESS_VIRIAL_DICT = { -# "read_from": "systems.xyz", -# "reader": "ase", -# "key": "stress-3x3", -# } - - -# @pytest.mark.parametrize( -# "stress_dict, virial_dict", -# [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], -# ) -# def test_read_targets(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): -# monkeypatch.chdir(tmp_path) - -# filename = "systems.xyz" -# systems = ase_systems() -# ase.io.write(filename, systems) - -# energy_section = { -# "quantity": "energy", -# "read_from": filename, -# "reader": "ase", -# "key": "true_energy", -# "unit": "eV", -# "type": "scalar", -# "per_atom": False, -# "num_properties": 1, -# "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, -# "stress": stress_dict, -# "virial": virial_dict, -# } - -# conf = { -# "energy": energy_section, -# "mtt::energy2": energy_section, -# } - -# caplog.set_level(logging.INFO) -# result, target_info_dict = read_targets(OmegaConf.create(conf)) - -# assert any(["Forces found" in rec.message for rec in caplog.records]) - -# assert type(result) is dict -# assert type(target_info_dict) is dict - -# if stress_dict: -# assert any(["Stress found" in rec.message for rec in caplog.records]) -# if virial_dict: -# assert any(["Virial found" in rec.message for rec in caplog.records]) - -# for target_name, target_list in result.items(): -# target_section = conf[target_name] - -# target_info = target_info_dict[target_name] -# assert type(target_info) is TargetInfo -# assert target_info.quantity == target_section["quantity"] -# assert target_info.unit == target_section["unit"] -# assert target_info.per_atom is False -# assert target_info.gradients == ["positions", "strain"] - -# assert type(target_list) is list -# for target in target_list: -# assert target.keys == Labels(["_"], torch.tensor([[0]])) - -# result_block = target.block() -# assert result_block.values.dtype is torch.float64 -# assert result_block.samples.names == ["system"] -# assert result_block.properties == Labels("energy", torch.tensor([[0]])) - -# pos_grad = result_block.gradient("positions") -# assert pos_grad.values.dtype is torch.float64 -# assert pos_grad.samples.names == ["sample", "system", "atom"] -# assert pos_grad.components == [ -# Labels(["xyz"], torch.arange(3).reshape(-1, 1)) -# ] -# assert pos_grad.properties == Labels("energy", torch.tensor([[0]])) - -# strain_grad = result_block.gradient("strain") -# components = [ -# Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), -# Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), -# ] -# assert strain_grad.values.dtype is torch.float64 -# assert strain_grad.samples.names == ["sample"] -# assert strain_grad.components == components -# assert strain_grad.properties == Labels("energy", torch.tensor([[0]])) - - -# @pytest.mark.parametrize( -# "stress_dict, virial_dict", -# [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], -# ) -# def test_read_targets_warnings(stress_dict, virial_dict, monkeypatch, tmp_path, caplo -# monkeypatch.chdir(tmp_path) - -# filename = "systems.xyz" -# systems = ase_system() - -# # Delete gradient sections -# systems.info.pop("stress-3x3") -# systems.info.pop("stress-9") -# systems.arrays.pop("forces") - -# ase.io.write(filename, systems) - -# energy_section = { -# "quantity": "energy", -# "read_from": filename, -# "reader": "ase", -# "key": "true_energy", -# "unit": "eV", -# "type": "scalar", -# "per_atom": False, -# "num_properties": 1, -# "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, -# "stress": stress_dict, -# "virial": virial_dict, -# } - -# conf = {"energy": energy_section} - -# caplog.set_level(logging.WARNING) -# read_targets(OmegaConf.create(conf)) # , slice_samples_by="system") - -# assert any(["No forces found" in rec.message for rec in caplog.records]) - -# if stress_dict: -# assert any(["No stress found" in rec.message for rec in caplog.records]) -# if virial_dict: -# assert any(["No virial found" in rec.message for rec in caplog.records]) - - -# def test_read_targets_error(monkeypatch, tmp_path): -# monkeypatch.chdir(tmp_path) - -# filename = "systems.xyz" -# systems = ase_system() -# ase.io.write(filename, systems) - -# energy_section = { -# "quantity": "energy", -# "read_from": filename, -# "reader": "ase", -# "key": "true_energy", -# "type": "scalar", -# "per_atom": False, -# "num_properties": 1, -# "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, -# "stress": True, -# "virial": True, -# } - -# conf = {"energy": energy_section} - -# with pytest.raises( -# ValueError, -# match="stress and virial at the same time", -# ): -# read_targets(OmegaConf.create(conf)) - - -# def test_unsupported_quantity(): -# conf = { -# "energy": { -# "quantity": "foo", -# } -# } - -# with pytest.raises( -# ValueError, -# match="Quantity: 'foo' is not supported. Choose 'energy'.", -# ): -# read_targets(OmegaConf.create(conf)) - - -# def test_unsupported_target_name(): -# conf = { -# "free_energy": { -# "quantity": "energy", -# } -# } - -# with pytest.raises( -# ValueError, -# match="start with `mtt::`", -# ): -# read_targets(OmegaConf.create(conf)) + +@pytest.mark.parametrize("reader", (None, "ase")) +def test_read_systems(reader, monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_systems() + ase.io.write(filename, systems) + + results = read_systems(filename, reader=reader) + + assert isinstance(results, list) + assert len(results) == len(systems) + for system, result in zip(systems, results): + assert isinstance(result, torch.ScriptObject) + + torch.testing.assert_close( + result.positions, torch.tensor(system.positions, dtype=torch.float64) + ) + torch.testing.assert_close( + result.types, torch.tensor([1, 1], dtype=torch.int32) + ) + + +def test_read_systems_unknown_reader(): + match = "File extension '.bar' is not linked to a default reader" + with pytest.raises(ValueError, match=match): + read_systems("foo.bar") + + +def test_read_unknonw_library(): + match = "Reader library 'foo' not supported." + with pytest.raises(ValueError, match=match): + read_systems("foo.foo", reader="foo") + + +def test_unsupported_target_name(): + conf = { + "free_energy": { + "quantity": "energy", + } + } + + with pytest.raises( + ValueError, + match="start with `mtt::`", + ): + read_targets(OmegaConf.create(conf)) + + +STRESS_VIRIAL_DICT = { + "read_from": "systems.xyz", + "reader": "ase", + "key": "stress-3x3", +} + + +@pytest.mark.parametrize( + "stress_dict, virial_dict", + [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], +) +def test_read_targets(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_systems() + ase.io.write(filename, systems) + + energy_section = { + "quantity": "energy", + "read_from": filename, + "reader": "ase", + "key": "true_energy", + "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, + "stress": stress_dict, + "virial": virial_dict, + } + + conf = { + "energy": energy_section, + "mtt::energy2": energy_section, + } + + caplog.set_level(logging.INFO) + result, target_info_dict = read_targets(OmegaConf.create(conf)) + + assert any(["Forces found" in rec.message for rec in caplog.records]) + + assert type(result) is dict + assert type(target_info_dict) is dict + + if stress_dict: + assert any(["Stress found" in rec.message for rec in caplog.records]) + if virial_dict: + assert any(["Virial found" in rec.message for rec in caplog.records]) + + for target_name, target_list in result.items(): + target_section = conf[target_name] + + target_info = target_info_dict[target_name] + assert type(target_info) is TargetInfo + assert target_info.quantity == target_section["quantity"] + assert target_info.unit == target_section["unit"] + assert target_info.per_atom is False + assert target_info.gradients == ["positions", "strain"] + + assert type(target_list) is list + for target in target_list: + assert target.keys == Labels(["_"], torch.tensor([[0]])) + + result_block = target.block() + assert result_block.values.dtype is torch.float64 + assert result_block.samples.names == ["system"] + assert result_block.properties == Labels("energy", torch.tensor([[0]])) + + pos_grad = result_block.gradient("positions") + assert pos_grad.values.dtype is torch.float64 + assert pos_grad.samples.names == ["sample", "system", "atom"] + assert pos_grad.components == [ + Labels(["xyz"], torch.arange(3).reshape(-1, 1)) + ] + assert pos_grad.properties == Labels("energy", torch.tensor([[0]])) + + strain_grad = result_block.gradient("strain") + components = [ + Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), + Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), + ] + assert strain_grad.values.dtype is torch.float64 + assert strain_grad.samples.names == ["sample"] + assert strain_grad.components == components + assert strain_grad.properties == Labels("energy", torch.tensor([[0]])) + + +@pytest.mark.parametrize( + "stress_dict, virial_dict", + [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], +) +def test_read_targets_warnings(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + + # Delete gradient sections + systems.info.pop("stress-3x3") + systems.info.pop("stress-9") + systems.arrays.pop("forces") + + ase.io.write(filename, systems) + + energy_section = { + "quantity": "energy", + "read_from": filename, + "reader": "ase", + "key": "true_energy", + "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, + "stress": stress_dict, + "virial": virial_dict, + } + + conf = {"energy": energy_section} + + caplog.set_level(logging.WARNING) + read_targets(OmegaConf.create(conf)) # , slice_samples_by="system") + + assert any(["No forces found" in rec.message for rec in caplog.records]) + + if stress_dict: + assert any(["No stress found" in rec.message for rec in caplog.records]) + if virial_dict: + assert any(["No virial found" in rec.message for rec in caplog.records]) + + +def test_read_targets_error(monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + energy_section = { + "quantity": "energy", + "read_from": filename, + "reader": "ase", + "key": "true_energy", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, + "stress": True, + "virial": True, + } + + conf = {"energy": energy_section} + + with pytest.raises( + ValueError, + match="stress and virial at the same time", + ): + read_targets(OmegaConf.create(conf)) + + +@pytest.mark.parametrize("key", ["stress-3x3", "stress-9"]) +def test_read_targets_generic_1(key, monkeypatch, tmp_path): + """Reads a 3x3 stress as a Cartesian vector with 3 properties.""" + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + stress_section = { + "quantity": "stress", + "read_from": filename, + "reader": "ase", + "key": key, + "unit": "GPa", + "type": { + "cartesian": { + "rank": 1, + } + }, + "per_atom": False, + "num_properties": 3, + } + conf = {"stress": stress_section} + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) + + # this will trigger a shape error + conf["stress"]["type"]["cartesian"]["rank"] = 2 + with pytest.raises( + RuntimeError, + match="shape", + ): + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) + + +@pytest.mark.parametrize("key", ["stress-3x3", "stress-9"]) +def test_read_targets_generic_2(key, monkeypatch, tmp_path): + """Reads a 3x3 stress as a Cartesian rank-2 tensor.""" + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + stress_section = { + "quantity": "stress", + "read_from": filename, + "reader": "ase", + "key": key, + "unit": "GPa", + "type": { + "cartesian": { + "rank": 2, + } + }, + "per_atom": False, + "num_properties": 1, + } + conf = {"stress": stress_section} + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) + + # this will trigger a shape error + conf["stress"]["type"]["cartesian"]["rank"] = 1 + with pytest.raises( + RuntimeError, + match="shape", + ): + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) + + +@pytest.mark.parametrize("key", ["stress-3x3", "stress-9"]) +def test_read_targets_generic_3(key, monkeypatch, tmp_path): + """Reads a 3x3 stress as a scalar with 9 properties""" + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + stress_section = { + "quantity": "stress", + "read_from": filename, + "reader": "ase", + "key": key, + "unit": "GPa", + "type": "scalar", + "per_atom": False, + "num_properties": 9, + } + conf = {"stress": stress_section} + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) From b7430300ae4dc577ee95bc5c70ed1521aeb97b3a Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 12:37:43 +0100 Subject: [PATCH 067/126] Move tests --- tests/utils/data/{readers => }/test_readers.py | 0 tests/utils/data/{readers/test_ase.py => test_readers_ase.py} | 0 .../data/{readers/test_mts.py => test_readers_metatensor.py} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename tests/utils/data/{readers => }/test_readers.py (100%) rename tests/utils/data/{readers/test_ase.py => test_readers_ase.py} (100%) rename tests/utils/data/{readers/test_mts.py => test_readers_metatensor.py} (100%) diff --git a/tests/utils/data/readers/test_readers.py b/tests/utils/data/test_readers.py similarity index 100% rename from tests/utils/data/readers/test_readers.py rename to tests/utils/data/test_readers.py diff --git a/tests/utils/data/readers/test_ase.py b/tests/utils/data/test_readers_ase.py similarity index 100% rename from tests/utils/data/readers/test_ase.py rename to tests/utils/data/test_readers_ase.py diff --git a/tests/utils/data/readers/test_mts.py b/tests/utils/data/test_readers_metatensor.py similarity index 100% rename from tests/utils/data/readers/test_mts.py rename to tests/utils/data/test_readers_metatensor.py From b81543554acf78e29608a8e2d743fb392f636886 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 13:12:34 +0100 Subject: [PATCH 068/126] Metatensor reader tests --- .../utils/data/readers/metatensor.py | 12 +- src/metatrain/utils/data/target_info.py | 2 +- tests/utils/data/test_readers_metatensor.py | 190 ++++++++++++++++++ 3 files changed, 197 insertions(+), 7 deletions(-) diff --git a/src/metatrain/utils/data/readers/metatensor.py b/src/metatrain/utils/data/readers/metatensor.py index 0003fe965..7413a0dc6 100644 --- a/src/metatrain/utils/data/readers/metatensor.py +++ b/src/metatrain/utils/data/readers/metatensor.py @@ -25,7 +25,7 @@ def read_systems(filename: str) -> List[System]: def _wrapped_metatensor_read(filename) -> List[TensorMap]: try: - return torch.load(filename) + return torch.load(filename, weights_only=False) except Exception as e: raise ValueError(f"Failed to read '{filename}' with torch: {e}") from e @@ -43,12 +43,12 @@ def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: ) has_strain_gradients.append("strain" in tensor_map.block().gradients_list()) - if not (all(has_position_gradients) or any(has_position_gradients)): + if (not all(has_position_gradients)) and any(has_position_gradients): raise ValueError( "Found a mix of targets with and without position gradients. " "Either all targets should have position gradients or none." ) - if not (all(has_strain_gradients) or any(has_strain_gradients)): + if (not all(has_strain_gradients)) and any(has_strain_gradients): raise ValueError( "Found a mix of targets with and without strain gradients. " "Either all targets should have strain gradients or none." @@ -93,11 +93,11 @@ def _check_tensor_maps_metadata(tensor_maps: List[TensorMap], layout: TensorMap) for key in layout.keys: block = tensor_map.block(key) block_from_layout = tensor_map.block(key) - if block.labels.names != block_from_layout.labels.names: + if block.samples.names != block_from_layout.samples.names: raise ValueError( f"Unexpected samples in metatensor targets at index {i}: " - f"expected: {block_from_layout.labels.names} " - f"actual: {block.labels.names}" + f"expected: {block_from_layout.samples.names} " + f"actual: {block.samples.names}" ) if block.components != block_from_layout.components: raise ValueError( diff --git a/src/metatrain/utils/data/target_info.py b/src/metatrain/utils/data/target_info.py index 9bda4d762..d16848975 100644 --- a/src/metatrain/utils/data/target_info.py +++ b/src/metatrain/utils/data/target_info.py @@ -349,7 +349,7 @@ def _get_spherical_target_info(target: DictConfig) -> TargetInfo: if target["per_atom"]: sample_names.append("atom") - irreps = target["type"]["spherical"] + irreps = target["type"]["spherical"]["irreps"] keys = [] blocks = [] for irrep in irreps: diff --git a/tests/utils/data/test_readers_metatensor.py b/tests/utils/data/test_readers_metatensor.py index e69de29bb..e38ebc4dd 100644 --- a/tests/utils/data/test_readers_metatensor.py +++ b/tests/utils/data/test_readers_metatensor.py @@ -0,0 +1,190 @@ +import metatensor.torch +import pytest +import torch +from metatensor.torch import Labels, TensorBlock, TensorMap +from omegaconf import OmegaConf + +from metatrain.utils.data.readers.metatensor import ( + read_energy, + read_generic, + read_systems, +) + + +@pytest.fixture +def energy_tensor_map(): + return TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.rand(1, 1, dtype=torch.float64), + samples=Labels( + names=["system"], + values=torch.tensor([[0]], dtype=torch.int32), + ), + components=[], + properties=Labels.range("energy", 1), + ) + ], + ) + + +@pytest.fixture +def spherical_tensor_map(): + return TensorMap( + keys=Labels( + names=["o3_lambda", "o3_sigma"], + values=torch.tensor([[0, 1], [2, 1]]), + ), + blocks=[ + TensorBlock( + values=torch.rand(1, 1, 1, dtype=torch.float64), + samples=Labels( + names=["system"], + values=torch.tensor([[0]], dtype=torch.int32), + ), + components=[ + Labels( + names=["o3_mu"], + values=torch.arange(0, 1, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.single(), + ), + TensorBlock( + values=torch.rand(1, 5, 1, dtype=torch.float64), + samples=Labels( + names=["system"], + values=torch.tensor([[0]], dtype=torch.int32), + ), + components=[ + Labels( + names=["o3_mu"], + values=torch.arange(-2, 3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.single(), + ), + ], + ) + + +@pytest.fixture +def cartesian_tensor_map(): + return TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.rand(1, 3, 3, 1, dtype=torch.float64), + samples=Labels( + names=["system"], + values=torch.tensor([[0]], dtype=torch.int32), + ), + components=[ + Labels( + names=["xyz_1"], + values=torch.arange(0, 3, dtype=torch.int32).reshape(-1, 1), + ), + Labels( + names=["xyz_2"], + values=torch.arange(0, 3, dtype=torch.int32).reshape(-1, 1), + ), + ], + properties=Labels.single(), + ), + ], + ) + + +def test_read_systems(): + with pytest.raises(NotImplementedError): + read_systems("foo.mts") + + +def test_read_energy(monkeypatch, tmpdir, energy_tensor_map): + monkeypatch.chdir(tmpdir) + + torch.save( + [energy_tensor_map, energy_tensor_map], + "energy.mts", + ) + + conf = { + "quantity": "energy", + "read_from": "energy.mts", + "reader": "metatensor", + "key": "true_energy", + "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": False, + "stress": False, + "virial": False, + } + + tensor_maps, target_info = read_energy(OmegaConf.create(conf)) + + for tensor_map in tensor_maps: + assert metatensor.torch.equal(tensor_map, energy_tensor_map) + + +def test_read_generic_spherical(monkeypatch, tmpdir, spherical_tensor_map): + monkeypatch.chdir(tmpdir) + + torch.save( + [spherical_tensor_map, spherical_tensor_map], + "generic.mts", + ) + + conf = { + "quantity": "generic", + "read_from": "generic.mts", + "reader": "metatensor", + "keys": ["o3_lambda", "o3_sigma"], + "per_atom": False, + "unit": "unit", + "type": { + "spherical": { + "irreps": [ + {"o3_lambda": 0, "o3_sigma": 1}, + {"o3_lambda": 2, "o3_sigma": 1}, + ], + }, + }, + "num_properties": 1, + } + + tensor_maps, target_info = read_generic(OmegaConf.create(conf)) + + for tensor_map in tensor_maps: + assert metatensor.torch.equal(tensor_map, spherical_tensor_map) + + +def test_read_generic_cartesian(monkeypatch, tmpdir, cartesian_tensor_map): + monkeypatch.chdir(tmpdir) + + torch.save( + [cartesian_tensor_map, cartesian_tensor_map], + "generic.mts", + ) + + conf = { + "quantity": "generic", + "read_from": "generic.mts", + "reader": "metatensor", + "keys": ["cartesian"], + "per_atom": False, + "unit": "unit", + "type": { + "cartesian": { + "rank": 2, + }, + }, + "num_properties": 1, + } + + tensor_maps, target_info = read_generic(OmegaConf.create(conf)) + + for tensor_map in tensor_maps: + assert metatensor.torch.equal(tensor_map, cartesian_tensor_map) From 21d60982e0b4d4dedc1883a2416ad84ab366184d Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 13:23:11 +0100 Subject: [PATCH 069/126] One more test --- tests/utils/data/test_readers_metatensor.py | 43 +++++++++++++++++++++ tests/utils/data/test_target_info.py | 10 +++-- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/tests/utils/data/test_readers_metatensor.py b/tests/utils/data/test_readers_metatensor.py index e38ebc4dd..b03470b48 100644 --- a/tests/utils/data/test_readers_metatensor.py +++ b/tests/utils/data/test_readers_metatensor.py @@ -29,6 +29,24 @@ def energy_tensor_map(): ) +@pytest.fixture +def scalar_tensor_map(): + return TensorMap( + keys=Labels.single(), + blocks=[ + TensorBlock( + values=torch.rand(2, 10, dtype=torch.float64), + samples=Labels( + names=["system", "atom"], + values=torch.tensor([[0, 0], [0, 1]], dtype=torch.int32), + ), + components=[], + properties=Labels.range("properties", 10), + ) + ], + ) + + @pytest.fixture def spherical_tensor_map(): return TensorMap( @@ -129,6 +147,31 @@ def test_read_energy(monkeypatch, tmpdir, energy_tensor_map): assert metatensor.torch.equal(tensor_map, energy_tensor_map) +def test_read_generic_scalar(monkeypatch, tmpdir, scalar_tensor_map): + monkeypatch.chdir(tmpdir) + + torch.save( + [scalar_tensor_map, scalar_tensor_map], + "generic.mts", + ) + + conf = { + "quantity": "generic", + "read_from": "generic.mts", + "reader": "metatensor", + "keys": ["scalar"], + "per_atom": True, + "unit": "unit", + "type": "scalar", + "num_properties": 10, + } + + tensor_maps, target_info = read_generic(OmegaConf.create(conf)) + + for tensor_map in tensor_maps: + assert metatensor.torch.equal(tensor_map, scalar_tensor_map) + + def test_read_generic_spherical(monkeypatch, tmpdir, spherical_tensor_map): monkeypatch.chdir(tmpdir) diff --git a/tests/utils/data/test_target_info.py b/tests/utils/data/test_target_info.py index 8e98cb6c3..a07c27223 100644 --- a/tests/utils/data/test_target_info.py +++ b/tests/utils/data/test_target_info.py @@ -59,10 +59,12 @@ def spherical_target_config() -> DictConfig: "per_atom": False, "num_properties": 1, "type": { - "spherical": [ - {"o3_lambda": 0, "o3_sigma": 1}, - {"o3_lambda": 2, "o3_sigma": 1}, - ], + "spherical": { + "irreps": [ + {"o3_lambda": 0, "o3_sigma": 1}, + {"o3_lambda": 2, "o3_sigma": 1}, + ], + }, }, } ) From f3843d912ceac5f67f78a72a85fbbab8abd29708 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 18:26:56 +0100 Subject: [PATCH 070/126] Eliminate useless checks that are already performed by the `DictConfig` validation --- src/metatrain/utils/omegaconf.py | 45 -------------------------------- tests/utils/data/test_readers.py | 25 ++++++++++++++++++ 2 files changed, 25 insertions(+), 45 deletions(-) diff --git a/src/metatrain/utils/omegaconf.py b/src/metatrain/utils/omegaconf.py index 78087ef78..2beb292f1 100644 --- a/src/metatrain/utils/omegaconf.py +++ b/src/metatrain/utils/omegaconf.py @@ -245,9 +245,6 @@ def expand_dataset_config(conf: Union[str, DictConfig, ListConfig]) -> ListConfi else: target = OmegaConf.merge(CONF_TARGET, target) - if target["type"] != "scalar": - _check_non_scalar_target_type(target["type"]) - if target["key"] is None: target["key"] = target_key @@ -358,45 +355,3 @@ def check_units( f"Target {target!r} is not present in one of the given dataset " "options." ) - - -def _check_non_scalar_target_type(target_type: Any) -> None: - if not isinstance(target_type, dict): - raise ValueError("Non-scalar target type must be a dictionary.") - if len(target_type) != 1: - raise ValueError("Non-scalar target type must have exactly one key.") - dict_key = next(iter(target_type.keys())) - if dict_key.lower() not in ["cartesian", "spherical"]: - raise ValueError( - "Non-scalar target `type` must be either `cartesian` or `spherical`." - ) - if dict_key.lower() == "cartesian": - if not isinstance(target_type[dict_key], dict): - raise ValueError( - "Cartesian target `type` must be a dictionary of the type " - "`{'rank': integer}`." - ) - if "rank" not in target_type[dict_key]: - raise ValueError( - "Cartesian target `type` must have a `rank` key, corresponding " - "to an integer value." - ) - if dict_key.lower() == "spherical": - if not isinstance(target_type[dict_key], list): - raise ValueError( - "Spherical target `type` must be a list where each element is a " - "dictionary of the type `{`o3_lambda`: integer, `o3_sigma`: integer}`." - ) - for element in target_type[dict_key]: - if not isinstance(element, dict): - raise ValueError( - "Spherical target `type` must be a list where each element is a " - "dictionary of the type " - "`{`o3_lambda`: integer, `o3_sigma`: integer}`." - ) - if "o3_lambda" not in element or "o3_sigma" not in element: - raise ValueError( - "Spherical target `type` must be a list where each element is a " - "dictionary of the type " - "`{`o3_lambda`: integer, `o3_sigma`: integer}`." - ) diff --git a/tests/utils/data/test_readers.py b/tests/utils/data/test_readers.py index 11c8b61f3..9e60fb113 100644 --- a/tests/utils/data/test_readers.py +++ b/tests/utils/data/test_readers.py @@ -325,3 +325,28 @@ def test_read_targets_generic_3(key, monkeypatch, tmp_path): with pytest.warns(UserWarning, match="should not be its own top-level target"): with pytest.warns(UserWarning, match="resembles to a gradient of energies"): read_targets(OmegaConf.create(conf)) + + +def test_read_targets_generic_errors(monkeypatch, tmp_path): + """Reads a 3x3 stress as a scalar with 9 properties""" + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + stress_section = { + "quantity": "stress", + "read_from": filename, + "reader": "ase", + "key": "stress-3x3", + "unit": "GPa", + "type": {"spherical": 0}, + "per_atom": False, + "num_properties": 9, + } + conf = {"stress": stress_section} + with pytest.raises(ValueError): + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) From fd4a85858ff8a35881be21ff8f37cba40242055e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 18:35:09 +0100 Subject: [PATCH 071/126] Test error with ASE and multiple spherical irreps --- src/metatrain/utils/data/readers/ase.py | 6 +++--- tests/utils/data/test_readers.py | 11 +++++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/metatrain/utils/data/readers/ase.py b/src/metatrain/utils/data/readers/ase.py index a3e8cf62f..b41dd5c2f 100644 --- a/src/metatrain/utils/data/readers/ase.py +++ b/src/metatrain/utils/data/readers/ase.py @@ -278,15 +278,15 @@ def read_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: # we don't allow ASE to read spherical tensors with more than one irrep, # otherwise it's a mess if ( - isinstance(target["type"], dict) + isinstance(target["type"], DictConfig) and next(iter(target["type"].keys())) == "spherical" ): - irreps = target["type"]["spherical"] + irreps = target["type"]["spherical"]["irreps"] if len(irreps) > 1: raise ValueError( "The metatrain ASE reader does not support reading " "spherical tensors with more than one irreducible " - "representation." + "representation. Please use the metatensor reader." ) target_info = get_generic_target_info(target) diff --git a/tests/utils/data/test_readers.py b/tests/utils/data/test_readers.py index 9e60fb113..6476fef2d 100644 --- a/tests/utils/data/test_readers.py +++ b/tests/utils/data/test_readers.py @@ -341,12 +341,19 @@ def test_read_targets_generic_errors(monkeypatch, tmp_path): "reader": "ase", "key": "stress-3x3", "unit": "GPa", - "type": {"spherical": 0}, + "type": { + "spherical": { + "irreps": [ + {"o3_lambda": 0, "o3_sigma": 1}, + {"o3_lambda": 2, "o3_sigma": 1}, + ] + } + }, "per_atom": False, "num_properties": 9, } conf = {"stress": stress_section} - with pytest.raises(ValueError): + with pytest.raises(ValueError, match="use the metatensor reader"): with pytest.warns(UserWarning, match="should not be its own top-level target"): with pytest.warns(UserWarning, match="resembles to a gradient of energies"): read_targets(OmegaConf.create(conf)) From fb4a24da3d9b9345cbb2b7748c3fab0803a24888 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 18:40:24 +0100 Subject: [PATCH 072/126] One more test --- tests/utils/data/test_readers_metatensor.py | 25 +++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/utils/data/test_readers_metatensor.py b/tests/utils/data/test_readers_metatensor.py index b03470b48..5b9900321 100644 --- a/tests/utils/data/test_readers_metatensor.py +++ b/tests/utils/data/test_readers_metatensor.py @@ -1,4 +1,5 @@ import metatensor.torch +import numpy as np import pytest import torch from metatensor.torch import Labels, TensorBlock, TensorMap @@ -231,3 +232,27 @@ def test_read_generic_cartesian(monkeypatch, tmpdir, cartesian_tensor_map): for tensor_map in tensor_maps: assert metatensor.torch.equal(tensor_map, cartesian_tensor_map) + + +def test_read_error(monkeypatch, tmpdir): + monkeypatch.chdir(tmpdir) + + numpy_array = np.zeros((2, 2)) + np.save("numpy_array.mts", numpy_array) + + conf = { + "quantity": "energy", + "read_from": "numpy_array.mts", + "reader": "metatensor", + "key": "true_energy", + "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": False, + "stress": False, + "virial": False, + } + + with pytest.raises(ValueError, match="Failed to read"): + read_energy(OmegaConf.create(conf)) From 239428dfc832b2395dc76a780e4f62ed98661086 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 19:22:18 +0100 Subject: [PATCH 073/126] Fix bug --- .../utils/data/readers/metatensor.py | 10 +++++++--- src/metatrain/utils/data/target_info.py | 4 ++-- tests/utils/data/test_readers_metatensor.py | 19 ++++++++++++++----- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/metatrain/utils/data/readers/metatensor.py b/src/metatrain/utils/data/readers/metatensor.py index 7413a0dc6..f561107ef 100644 --- a/src/metatrain/utils/data/readers/metatensor.py +++ b/src/metatrain/utils/data/readers/metatensor.py @@ -54,12 +54,16 @@ def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: "Either all targets should have strain gradients or none." ) - add_position_gradients = all(has_position_gradients) - add_strain_gradients = all(has_strain_gradients) + add_position_gradients = target["forces"] + add_strain_gradients = target["stress"] or target["virial"] + print(add_position_gradients, add_strain_gradients) target_info = get_energy_target_info( target, add_position_gradients, add_strain_gradients ) + print(target_info.layout.block()) + print(tensor_maps[0].block()) + # now check all the expected metadata (from target_info.layout) matches # the actual metadata in the tensor maps _check_tensor_maps_metadata(tensor_maps, target_info.layout) @@ -92,7 +96,7 @@ def _check_tensor_maps_metadata(tensor_maps: List[TensorMap], layout: TensorMap) ) for key in layout.keys: block = tensor_map.block(key) - block_from_layout = tensor_map.block(key) + block_from_layout = layout.block(key) if block.samples.names != block_from_layout.samples.names: raise ValueError( f"Unexpected samples in metatensor targets at index {i}: " diff --git a/src/metatrain/utils/data/target_info.py b/src/metatrain/utils/data/target_info.py index d16848975..495654ff0 100644 --- a/src/metatrain/utils/data/target_info.py +++ b/src/metatrain/utils/data/target_info.py @@ -310,7 +310,7 @@ def _get_cartesian_target_info(target: DictConfig) -> TargetInfo: components = [Labels(["xyz"], torch.arange(3).reshape(-1, 1))] else: components = [] - for component in range(target["type"][cartesian_key]["rank"]): + for component in range(1, target["type"][cartesian_key]["rank"] + 1): components.append( Labels( names=[f"xyz_{component}"], @@ -357,7 +357,7 @@ def _get_spherical_target_info(target: DictConfig) -> TargetInfo: Labels( names=["o3_mu"], values=torch.arange( - 2 * irrep["o3_lambda"] + 1, dtype=torch.int32 + -irrep["o3_lambda"], irrep["o3_lambda"] + 1, dtype=torch.int32 ).reshape(-1, 1), ) ] diff --git a/tests/utils/data/test_readers_metatensor.py b/tests/utils/data/test_readers_metatensor.py index 5b9900321..ffb4103c9 100644 --- a/tests/utils/data/test_readers_metatensor.py +++ b/tests/utils/data/test_readers_metatensor.py @@ -68,7 +68,7 @@ def spherical_tensor_map(): values=torch.arange(0, 1, dtype=torch.int32).reshape(-1, 1), ), ], - properties=Labels.single(), + properties=Labels.range("properties", 1), ), TensorBlock( values=torch.rand(1, 5, 1, dtype=torch.float64), @@ -82,7 +82,7 @@ def spherical_tensor_map(): values=torch.arange(-2, 3, dtype=torch.int32).reshape(-1, 1), ), ], - properties=Labels.single(), + properties=Labels.range("properties", 1), ), ], ) @@ -109,7 +109,7 @@ def cartesian_tensor_map(): values=torch.arange(0, 3, dtype=torch.int32).reshape(-1, 1), ), ], - properties=Labels.single(), + properties=Labels.range("properties", 1), ), ], ) @@ -234,7 +234,7 @@ def test_read_generic_cartesian(monkeypatch, tmpdir, cartesian_tensor_map): assert metatensor.torch.equal(tensor_map, cartesian_tensor_map) -def test_read_error(monkeypatch, tmpdir): +def test_read_errors(monkeypatch, tmpdir, energy_tensor_map): monkeypatch.chdir(tmpdir) numpy_array = np.zeros((2, 2)) @@ -249,10 +249,19 @@ def test_read_error(monkeypatch, tmpdir): "type": "scalar", "per_atom": False, "num_properties": 1, - "forces": False, + "forces": True, "stress": False, "virial": False, } with pytest.raises(ValueError, match="Failed to read"): read_energy(OmegaConf.create(conf)) + + torch.save( + [energy_tensor_map, energy_tensor_map], + "energy.mts", + ) + conf["read_from"] = "energy.mts" + + with pytest.raises(ValueError, match="Unexpected gradients"): + read_energy(OmegaConf.create(conf)) From 15093dedf16a20053a3618a8e930f8f5c998b2c6 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 19:44:38 +0100 Subject: [PATCH 074/126] Test more errors --- .../utils/data/readers/metatensor.py | 4 --- tests/utils/data/test_readers_metatensor.py | 35 +++++++++++++------ 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/metatrain/utils/data/readers/metatensor.py b/src/metatrain/utils/data/readers/metatensor.py index f561107ef..4601fafee 100644 --- a/src/metatrain/utils/data/readers/metatensor.py +++ b/src/metatrain/utils/data/readers/metatensor.py @@ -56,14 +56,10 @@ def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: add_position_gradients = target["forces"] add_strain_gradients = target["stress"] or target["virial"] - print(add_position_gradients, add_strain_gradients) target_info = get_energy_target_info( target, add_position_gradients, add_strain_gradients ) - print(target_info.layout.block()) - print(tensor_maps[0].block()) - # now check all the expected metadata (from target_info.layout) matches # the actual metadata in the tensor maps _check_tensor_maps_metadata(tensor_maps, target_info.layout) diff --git a/tests/utils/data/test_readers_metatensor.py b/tests/utils/data/test_readers_metatensor.py index ffb4103c9..3508500ae 100644 --- a/tests/utils/data/test_readers_metatensor.py +++ b/tests/utils/data/test_readers_metatensor.py @@ -234,34 +234,49 @@ def test_read_generic_cartesian(monkeypatch, tmpdir, cartesian_tensor_map): assert metatensor.torch.equal(tensor_map, cartesian_tensor_map) -def test_read_errors(monkeypatch, tmpdir, energy_tensor_map): +def test_read_errors(monkeypatch, tmpdir, energy_tensor_map, scalar_tensor_map): monkeypatch.chdir(tmpdir) - numpy_array = np.zeros((2, 2)) - np.save("numpy_array.mts", numpy_array) + torch.save( + [energy_tensor_map, energy_tensor_map], + "energy.mts", + ) conf = { "quantity": "energy", - "read_from": "numpy_array.mts", + "read_from": "energy.mts", "reader": "metatensor", "key": "true_energy", "unit": "eV", "type": "scalar", "per_atom": False, "num_properties": 1, - "forces": True, + "forces": False, "stress": False, "virial": False, } + numpy_array = np.zeros((2, 2)) + np.save("numpy_array.mts", numpy_array) + conf["read_from"] = "numpy_array.mts" with pytest.raises(ValueError, match="Failed to read"): read_energy(OmegaConf.create(conf)) - - torch.save( - [energy_tensor_map, energy_tensor_map], - "energy.mts", - ) conf["read_from"] = "energy.mts" + conf["forces"] = True with pytest.raises(ValueError, match="Unexpected gradients"): read_energy(OmegaConf.create(conf)) + conf["forces"] = False + + torch.save( + [scalar_tensor_map, scalar_tensor_map], + "scalar.mts", + ) + + conf["read_from"] = "scalar.mts" + with pytest.raises(ValueError, match="Unexpected samples"): + read_generic(OmegaConf.create(conf)) + + conf["per_atom"] = True + with pytest.raises(ValueError, match="Unexpected properties"): + read_generic(OmegaConf.create(conf)) From 2a52859bcd5574a312951c84c7695f19b286a545 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 11 Nov 2024 19:59:48 +0100 Subject: [PATCH 075/126] Allow SOAP-BPNN to fit Cartesian vectors --- src/metatrain/experimental/soap_bpnn/model.py | 189 ++++++++++++++++-- src/metatrain/utils/additive/composition.py | 28 +-- src/metatrain/utils/additive/remove.py | 13 +- 3 files changed, 198 insertions(+), 32 deletions(-) diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index d81b35450..56832138c 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -1,3 +1,4 @@ +import copy from pathlib import Path from typing import Dict, List, Optional, Union @@ -29,6 +30,14 @@ def forward(self, x: TensorMap) -> TensorMap: return x +class IdentityWithExtraArg(torch.nn.Module): + def __init__(self): + super().__init__() + + def forward(self, s: List[System], x: TensorMap) -> TensorMap: + return x + + class MLPMap(ModuleMap): def __init__(self, atomic_types: List[int], hypers: dict) -> None: # hardcoded for now, but could be a hyperparameter @@ -93,6 +102,92 @@ def __init__(self, atomic_types: List[int], n_layer: int) -> None: super().__init__(in_keys, layernorm_per_species, out_properties) +class VectorFeaturizer(torch.nn.Module): + def __init__(self, atomic_types, num_features, soap_hypers) -> None: + super().__init__() + self.atomic_types = atomic_types + soap_vector_hypers = copy.deepcopy(soap_hypers) + soap_vector_hypers["max_angular"] = 1 + self.soap_calculator = rascaline.torch.SphericalExpansion( + radial_basis={"Gto": {}}, **soap_vector_hypers + ) + self.neighbors_species_labels = Labels( + names=["neighbor_type"], + values=torch.tensor(self.atomic_types).reshape(-1, 1), + ) + self.linear_layer = LinearMap( + Labels( + names=["o3_lambda", "o3_sigma", "center_type"], + values=torch.stack( + [ + torch.tensor([1] * len(self.atomic_types)), + torch.tensor([1] * len(self.atomic_types)), + torch.tensor(self.atomic_types), + ], + dim=1, + ), + ), + in_features=soap_vector_hypers["max_radial"] * len(self.atomic_types), + out_features=num_features, + bias=False, + out_properties=[ + Labels( + names=["property"], + values=torch.arange(num_features).reshape(-1, 1), + ) + for _ in self.atomic_types + ], + ) + + def forward(self, systems: List[System], scalar_features: TensorMap) -> TensorMap: + device = scalar_features.block(0).values.device + + spherical_expansion = self.soap_calculator(systems) + spherical_expansion = spherical_expansion.keys_to_properties( + self.neighbors_species_labels.to(device) + ) + + # drop all l=0 blocks + keys_to_drop_list: List[List[int]] = [] + for key in spherical_expansion.keys.values: + o3_lambda = int(key[0]) + o3_sigma = int(key[1]) + center_species = int(key[2]) + if o3_lambda == 0 and o3_sigma == 1: + keys_to_drop_list.append([o3_lambda, o3_sigma, center_species]) + keys_to_drop = Labels( + names=["o3_lambda", "o3_sigma", "center_type"], + values=torch.tensor(keys_to_drop_list, device=device), + ) + spherical_expansion = metatensor.torch.drop_blocks( + spherical_expansion, keys=keys_to_drop + ) + vector_features = self.linear_layer(spherical_expansion) + + overall_features = metatensor.torch.TensorMap( + keys=vector_features.keys, + blocks=[ + TensorBlock( + values=scalar_features.block( + {"center_type": int(ct)} + ).values.unsqueeze(1) + * vector_features.block({"center_type": int(ct)}).values + * 100.0, + samples=vector_features.block({"center_type": int(ct)}).samples, + components=vector_features.block( + {"center_type": int(ct)} + ).components, + properties=vector_features.block( + {"center_type": int(ct)} + ).properties, + ) + for ct in vector_features.keys.column("center_type") + ], + ) + + return overall_features + + class SoapBpnn(torch.nn.Module): __supported_devices__ = ["cuda", "cpu"] @@ -164,9 +259,35 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: n_inputs_last_layer = hypers_bpnn["num_neurons_per_layer"] self.last_layer_feature_size = n_inputs_last_layer * len(self.atomic_types) - self.last_layers = torch.nn.ModuleDict( - { - output_name: LinearMap( + + vector_featurizers = {} + for target_name, target in dataset_info.targets.items(): + if target.is_scalar: + vector_featurizers[target_name] = IdentityWithExtraArg() + elif target.is_spherical: + values_list: List[List[int]] = target.layout.keys.values.tolist() + if values_list != [[1, 1]]: + raise ValueError( + "SOAP-BPNN only supports spherical targets with " + "`o3_lambda=1` and `o3_sigma=1`, " + ) + vector_featurizers[target_name] = VectorFeaturizer( + atomic_types=self.atomic_types, + num_features=n_inputs_last_layer, + soap_hypers=self.hypers["soap"], + ) + else: + raise ValueError( + "SOAP-BPNN only supports scalar and spherical targets." + ) + self.vector_featurizers = torch.nn.ModuleDict(vector_featurizers) + + last_layers = {} + for output_name in self.outputs.keys(): + if "mtt::aux::" in output_name: + continue + if dataset_info.targets[output_name].is_scalar: + last_layers[output_name] = LinearMap( Labels( "central_species", values=torch.tensor(self.atomic_types).reshape(-1, 1), @@ -182,10 +303,31 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: for _ in self.atomic_types ], ) - for output_name in self.outputs.keys() - if "mtt::aux::" not in output_name - } - ) + else: + last_layers[output_name] = LinearMap( + Labels( + names=["o3_lambda", "o3_sigma", "center_type"], + values=torch.stack( + [ + torch.tensor([1] * len(self.atomic_types)), + torch.tensor([1] * len(self.atomic_types)), + torch.tensor(self.atomic_types), + ], + dim=1, + ), + ), + in_features=n_inputs_last_layer, + out_features=1, + bias=False, + out_properties=[ + Labels( + names=["properties"], + values=torch.tensor([[0]]), + ) + for _ in self.atomic_types + ], + ) + self.last_layers = torch.nn.ModuleDict(last_layers) # additive models: these are handled by the trainer at training # time, and they are added to the output at evaluation time @@ -250,7 +392,6 @@ def forward( ) soap_features = self.layernorm(soap_features) - last_layer_features = self.bpnn(soap_features) # output the hidden features, if requested: @@ -265,31 +406,45 @@ def forward( _remove_center_type_from_properties(out_features) ) - atomic_energies: Dict[str, TensorMap] = {} + last_layer_features_by_output: Dict[str, TensorMap] = {} + for output_name, vector_featurizer in self.vector_featurizers.items(): + last_layer_features_by_output[output_name] = vector_featurizer( + systems, last_layer_features + ) + + atomic_properties: Dict[str, TensorMap] = {} for output_name, output_layer in self.last_layers.items(): if output_name in outputs: - atomic_energies[output_name] = output_layer(last_layer_features) + atomic_properties[output_name] = output_layer( + last_layer_features_by_output[output_name] + ) - # Sum the atomic energies coming from the BPNN to get the total energy - for output_name, atomic_energy in atomic_energies.items(): - atomic_energy = atomic_energy.keys_to_samples("center_type") + for output_name, atomic_property in atomic_properties.items(): + atomic_property = atomic_property.keys_to_samples("center_type") if outputs[output_name].per_atom: # this operation should just remove the center_type label return_dict[output_name] = metatensor.torch.remove_dimension( - atomic_energy, axis="samples", name="center_type" + atomic_property, axis="samples", name="center_type" ) else: + # sum the atomic property to get the total property return_dict[output_name] = metatensor.torch.sum_over_samples( - atomic_energy, ["atom", "center_type"] + atomic_property, ["atom", "center_type"] ) if not self.training: # at evaluation, we also add the additive contributions for additive_model in self.additive_models: + # some of the outputs might not be present in the additive model + # (e.g. the composition model only provides outputs for scalar targets) + outputs_for_additive_model: Dict[str, ModelOutput] = {} + for output_name in outputs: + if output_name in additive_model.outputs: + outputs_for_additive_model[output_name] = outputs[output_name] additive_contributions = additive_model( - systems, outputs, selected_atoms + systems, outputs_for_additive_model, selected_atoms ) - for name in return_dict: + for name in additive_contributions: if name.startswith("mtt::aux::"): continue # skip auxiliary outputs (not targets) return_dict[name] = metatensor.torch.add( diff --git a/src/metatrain/utils/additive/composition.py b/src/metatrain/utils/additive/composition.py index c1b715cb9..ddc9476c0 100644 --- a/src/metatrain/utils/additive/composition.py +++ b/src/metatrain/utils/additive/composition.py @@ -22,6 +22,9 @@ class CompositionModel(torch.nn.Module): quantity. """ + outputs: Dict[str, ModelOutput] + output_to_output_index: Dict[str, int] + def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo): super().__init__() @@ -31,31 +34,27 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo): schema={"type": "object", "additionalProperties": False}, ) - # Check capabilities - for target in dataset_info.targets.values(): - if target.quantity != "energy": - raise ValueError( - "CompositionModel only supports energy-like outputs, but a " - f"{target.quantity} output was provided." - ) - self.dataset_info = dataset_info self.atomic_types = sorted(dataset_info.atomic_types) self.outputs = { key: ModelOutput( - quantity=value.quantity, - unit=value.unit, + quantity=target_info.quantity, + unit=target_info.unit, per_atom=True, ) - for key, value in dataset_info.targets.items() + for key, target_info in dataset_info.targets.items() + if target_info.is_scalar + # important: only scalars can have composition contributions } n_types = len(self.atomic_types) - n_targets = len(dataset_info.targets) + n_targets = len(self.outputs) self.output_to_output_index = { - target: i for i, target in enumerate(sorted(dataset_info.targets.keys())) + target: i + for i, target in enumerate(sorted(dataset_info.targets.keys())) + if target in self.outputs } self.register_buffer( @@ -242,6 +241,9 @@ def forward( for target_key, target in outputs.items(): if target_key.startswith("mtt::aux::"): continue + if target_key not in self.outputs.keys(): + # non-scalar + continue weights = self.weights[self.output_to_output_index[target_key]] concatenated_types = torch.concatenate([system.types for system in systems]) diff --git a/src/metatrain/utils/additive/remove.py b/src/metatrain/utils/additive/remove.py index 899a96a07..21678c714 100644 --- a/src/metatrain/utils/additive/remove.py +++ b/src/metatrain/utils/additive/remove.py @@ -35,11 +35,20 @@ def remove_additive( additive_contribution = evaluate_model( additive_model, systems, - {key: target_info_dict[key] for key in targets.keys()}, + { + key: target_info_dict[key] + for key in targets.keys() + if key in additive_model.outputs + }, is_training=False, # we don't need any gradients w.r.t. any parameters ) - for target_key in targets: + for target_key in additive_contribution.keys(): + # note that we loop over the keys of additive_contribution, not targets, + # because the targets might contain additional keys (this is for example + # the case of the composition model, which will only provide outputs + # for scalar targets + # make the samples the same so we can use metatensor.torch.subtract # we also need to detach the values to avoid backpropagating through the # subtraction From 13da2b85b92429eae09f42b29d989766c42e2111 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 11:44:02 +0100 Subject: [PATCH 076/126] Fix composition test --- tests/utils/test_additive.py | 45 +++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/tests/utils/test_additive.py b/tests/utils/test_additive.py index 253c900f6..a0228d1d5 100644 --- a/tests/utils/test_additive.py +++ b/tests/utils/test_additive.py @@ -10,7 +10,10 @@ from metatrain.utils.additive import ZBL, CompositionModel, remove_additive from metatrain.utils.data import Dataset, DatasetInfo from metatrain.utils.data.readers import read_systems, read_targets -from metatrain.utils.data.target_info import get_energy_target_info +from metatrain.utils.data.target_info import ( + get_energy_target_info, + get_generic_target_info, +) from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, @@ -369,23 +372,33 @@ def test_composition_model_missing_types(): def test_composition_model_wrong_target(): """ - Test the error when a non-energy is fed to the composition model. + Test the error when a non-scalar is fed to the composition model. """ + composition_model = CompositionModel( + model_hypers={}, + dataset_info=DatasetInfo( + length_unit="angstrom", + atomic_types=[1], + targets={ + "force": get_generic_target_info( + { + "quantity": "force", + "unit": "", + "type": {"cartesian": {"rank": 1}}, + "num_properties": 1, + "per_atom": True, + } + ) + }, + ), + ) + # This should do nothing, because the target is not scalar and it should be + # ignored by the composition model. The warning is due to the "empty" dataset + # not containing H (atomic type 1) + with pytest.warns(UserWarning, match="do not contain atomic types"): + composition_model.train_model([]) - with pytest.raises( - ValueError, - match="only supports energy-like outputs", - ): - CompositionModel( - model_hypers={}, - dataset_info=DatasetInfo( - length_unit="angstrom", - atomic_types=[1], - targets={ - "energy": get_energy_target_info({"quantity": "force", "unit": ""}) - }, - ), - ) + assert composition_model.weights.shape == (0, 1) def test_zbl(): From 078fbd671d663255415c7467e9300b6f1800d393 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 13:35:13 +0100 Subject: [PATCH 077/126] Add checks and SOAP-BPNN vector test --- .../experimental/alchemical_model/model.py | 18 ++++++---- src/metatrain/experimental/gap/model.py | 9 +++-- src/metatrain/experimental/pet/model.py | 13 +++++-- .../soap_bpnn/tests/test_functionality.py | 36 ++++++++++++++++++- 4 files changed, 65 insertions(+), 11 deletions(-) diff --git a/src/metatrain/experimental/alchemical_model/model.py b/src/metatrain/experimental/alchemical_model/model.py index 06c81cdbc..3ce903101 100644 --- a/src/metatrain/experimental/alchemical_model/model.py +++ b/src/metatrain/experimental/alchemical_model/model.py @@ -32,14 +32,20 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.atomic_types = dataset_info.atomic_types if len(dataset_info.targets) != 1: - raise ValueError("The AlchemicalModel only supports a single target") + raise ValueError("The Alchemical Model only supports a single target") target_name = next(iter(dataset_info.targets.keys())) - if dataset_info.targets[target_name].quantity != "energy": - raise ValueError("The AlchemicalModel only supports 'energies' as target") - - if dataset_info.targets[target_name].per_atom: - raise ValueError("The AlchemicalModel does not support 'per-atom' training") + target = dataset_info.targets[target_name] + if not( + target.is_scalar and + target.quantity == "energy" and + "atom" not in target.layout.block(0).samples.names and + len(target.layout.block(0).properties) == 1 + ): + raise ValueError( + "The Alchemical Model only supports total-energy-like outputs, " + f"but a {target.quantity} was provided" + ) self.outputs = { key: ModelOutput( diff --git a/src/metatrain/experimental/gap/model.py b/src/metatrain/experimental/gap/model.py index fad045a69..975c1ee5b 100644 --- a/src/metatrain/experimental/gap/model.py +++ b/src/metatrain/experimental/gap/model.py @@ -37,9 +37,14 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: # Check capabilities for target in dataset_info.targets.values(): - if target.quantity != "energy": + if not( + target.is_scalar and + target.quantity == "energy" and + "atom" not in target.layout.block(0).samples.names and + len(target.layout.block(0).properties) == 1 + ): raise ValueError( - "GAP only supports energy-like outputs, " + "GAP only supports total-energy-like outputs, " f"but a {target.quantity} was provided" ) if target.per_atom: diff --git a/src/metatrain/experimental/pet/model.py b/src/metatrain/experimental/pet/model.py index ff4e8af31..6c0b59d1f 100644 --- a/src/metatrain/experimental/pet/model.py +++ b/src/metatrain/experimental/pet/model.py @@ -37,8 +37,17 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: if len(dataset_info.targets) != 1: raise ValueError("PET only supports a single target") self.target_name = next(iter(dataset_info.targets.keys())) - if dataset_info.targets[self.target_name].quantity != "energy": - raise ValueError("PET only supports energies as target") + target = dataset_info.targets[self.target_name] + if not( + target.is_scalar and + target.quantity == "energy" and + "atom" not in target.layout.block(0).samples.names and + len(target.layout.block(0).properties) == 1 + ): + raise ValueError( + "PET only supports total-energy-like outputs, " + f"but a {target.quantity} was provided" + ) model_hypers["D_OUTPUT"] = 1 model_hypers["TARGET_TYPE"] = "atomic" diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index da6717b6a..29bd74cda 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -8,7 +8,7 @@ from metatrain.experimental.soap_bpnn import SoapBpnn from metatrain.utils.architectures import check_architecture_options from metatrain.utils.data import DatasetInfo -from metatrain.utils.data.target_info import get_energy_target_info +from metatrain.utils.data.target_info import get_energy_target_info, get_generic_target_info from . import DEFAULT_HYPERS, MODEL_HYPERS @@ -243,3 +243,37 @@ def test_fixed_composition_weights_error(): check_architecture_options( name="experimental.soap_bpnn", options=OmegaConf.to_container(hypers) ) + + +@pytest.mark.parametrize("per_atom", [True, False]) +def test_vector_output(per_atom): + """Tests that the model can predict a (spherical) vector output.""" + + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "forces": get_generic_target_info( + { + "quantity": "forces", + "unit": "", + "type": {"spherical": {"irreps": [{"o3_lambda": 1, "o3_sigma": 1}]}}, + "num_properties": 100, + "per_atom": per_atom, + } + ) + }, + ) + + model = SoapBpnn(MODEL_HYPERS, dataset_info) + + system = System( + types=torch.tensor([6, 6]), + positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + model( + [system], + {"force": model.outputs["forces"]}, + ) From 77f275ba8e4171e2cdb91d70c934cbc38be58803 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 13:48:10 +0100 Subject: [PATCH 078/126] Bug fix in schema --- src/metatrain/share/schema-dataset.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/metatrain/share/schema-dataset.json b/src/metatrain/share/schema-dataset.json index 7ec6232d9..e965f17be 100644 --- a/src/metatrain/share/schema-dataset.json +++ b/src/metatrain/share/schema-dataset.json @@ -165,20 +165,20 @@ "spherical": { "type": "object", "properties": { - "type": { - "type": "array" - }, - "items": { - "type": "object", - "properties": { - "o3_lambda": { "type": "integer" }, - "o3_sigma": { "type": "number" } - }, - "required": ["o3_lambda", "o3_sigma"], - "additionalProperties": false + "irreps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "o3_lambda": { "type": "integer" }, + "o3_sigma": { "type": "number" } + }, + "required": ["o3_lambda", "o3_sigma"], + "additionalProperties": false + } } }, - "required": ["type", "items"], + "required": ["irreps"], "additionalProperties": false } }, From 0370921c3ac854f4a89f232956fee48f3cb7b512 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 13:51:48 +0100 Subject: [PATCH 079/126] Add vector output training test --- .../experimental/alchemical_model/model.py | 10 +++++----- src/metatrain/experimental/gap/model.py | 10 +++++----- src/metatrain/experimental/pet/model.py | 10 +++++----- .../soap_bpnn/tests/test_functionality.py | 9 +++++++-- tests/cli/test_train_model.py | 17 +++++++++++++++++ 5 files changed, 39 insertions(+), 17 deletions(-) diff --git a/src/metatrain/experimental/alchemical_model/model.py b/src/metatrain/experimental/alchemical_model/model.py index 3ce903101..de242736c 100644 --- a/src/metatrain/experimental/alchemical_model/model.py +++ b/src/metatrain/experimental/alchemical_model/model.py @@ -36,11 +36,11 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: target_name = next(iter(dataset_info.targets.keys())) target = dataset_info.targets[target_name] - if not( - target.is_scalar and - target.quantity == "energy" and - "atom" not in target.layout.block(0).samples.names and - len(target.layout.block(0).properties) == 1 + if not ( + target.is_scalar + and target.quantity == "energy" + and "atom" not in target.layout.block(0).samples.names + and len(target.layout.block(0).properties) == 1 ): raise ValueError( "The Alchemical Model only supports total-energy-like outputs, " diff --git a/src/metatrain/experimental/gap/model.py b/src/metatrain/experimental/gap/model.py index 975c1ee5b..e4f237acd 100644 --- a/src/metatrain/experimental/gap/model.py +++ b/src/metatrain/experimental/gap/model.py @@ -37,11 +37,11 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: # Check capabilities for target in dataset_info.targets.values(): - if not( - target.is_scalar and - target.quantity == "energy" and - "atom" not in target.layout.block(0).samples.names and - len(target.layout.block(0).properties) == 1 + if not ( + target.is_scalar + and target.quantity == "energy" + and "atom" not in target.layout.block(0).samples.names + and len(target.layout.block(0).properties) == 1 ): raise ValueError( "GAP only supports total-energy-like outputs, " diff --git a/src/metatrain/experimental/pet/model.py b/src/metatrain/experimental/pet/model.py index 6c0b59d1f..a8f4b4956 100644 --- a/src/metatrain/experimental/pet/model.py +++ b/src/metatrain/experimental/pet/model.py @@ -38,11 +38,11 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: raise ValueError("PET only supports a single target") self.target_name = next(iter(dataset_info.targets.keys())) target = dataset_info.targets[self.target_name] - if not( - target.is_scalar and - target.quantity == "energy" and - "atom" not in target.layout.block(0).samples.names and - len(target.layout.block(0).properties) == 1 + if not ( + target.is_scalar + and target.quantity == "energy" + and "atom" not in target.layout.block(0).samples.names + and len(target.layout.block(0).properties) == 1 ): raise ValueError( "PET only supports total-energy-like outputs, " diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index 29bd74cda..c37c43930 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -8,7 +8,10 @@ from metatrain.experimental.soap_bpnn import SoapBpnn from metatrain.utils.architectures import check_architecture_options from metatrain.utils.data import DatasetInfo -from metatrain.utils.data.target_info import get_energy_target_info, get_generic_target_info +from metatrain.utils.data.target_info import ( + get_energy_target_info, + get_generic_target_info, +) from . import DEFAULT_HYPERS, MODEL_HYPERS @@ -257,7 +260,9 @@ def test_vector_output(per_atom): { "quantity": "forces", "unit": "", - "type": {"spherical": {"irreps": [{"o3_lambda": 1, "o3_sigma": 1}]}}, + "type": { + "spherical": {"irreps": [{"o3_lambda": 1, "o3_sigma": 1}]} + }, "num_properties": 100, "per_atom": per_atom, } diff --git a/tests/cli/test_train_model.py b/tests/cli/test_train_model.py index e6e398158..a17831e36 100644 --- a/tests/cli/test_train_model.py +++ b/tests/cli/test_train_model.py @@ -610,3 +610,20 @@ def test_train_log_order(caplog, monkeypatch, tmp_path, options): force_index = line.index("validation forces RMSE") virial_index = line.index("validation virial RMSE") assert force_index < virial_index + + +def test_train_generic_target(monkeypatch, tmp_path): + """Test training on a spherical vector target""" + monkeypatch.chdir(tmp_path) + shutil.copy(DATASET_PATH_ETHANOL, "ethanol_reduced_100.xyz") + + # run training with original options + options = OmegaConf.load(OPTIONS_PATH) + options["training_set"]["systems"]["read_from"] = "ethanol_reduced_100.xyz" + options["training_set"]["targets"]["energy"]["type"] = { + "spherical": {"irreps": [{"o3_lambda": 1, "o3_sigma": 1}]} + } + options["training_set"]["targets"]["energy"]["per_atom"] = True + options["training_set"]["targets"]["energy"]["key"] = "forces" + + train_model(options) From 76b941fd894279a9cd2d6a44595263e44163f358 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 14:51:04 +0100 Subject: [PATCH 080/126] Fix regression tests --- .../soap_bpnn/tests/test_regression.py | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index ce5f58eff..bac453044 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -41,17 +41,19 @@ def test_regression_init(): expected_output = torch.tensor( [ - [-0.038599025458], - [0.111374437809], - [0.091115802526], - [-0.056339077652], - [-0.025491207838], + [ + [0.053602740169], + [-0.142421141267], + [-0.122775360942], + [-0.202754884958], + [-0.031394608319], + ] ] ) # if you need to change the hardcoded values: - torch.set_printoptions(precision=12) - print(output["mtt::U0"].block().values) + # torch.set_printoptions(precision=12) + # print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 @@ -110,17 +112,17 @@ def test_regression_train(): expected_output = torch.tensor( [ - [-0.106249026954], - [0.039981484413], - [-0.142682999372], - [-0.031701669097], - [-0.016210660338], + [0.090618140996], + [-0.020789206028], + [0.020192664117], + [0.093057855964], + [0.094577327371], ] ) # if you need to change the hardcoded values: - torch.set_printoptions(precision=12) - print(output["mtt::U0"].block().values) + # torch.set_printoptions(precision=12) + # print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 From 13e7769c49d5185e84dccde85839874a8a791e59 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 15:14:07 +0100 Subject: [PATCH 081/126] Check that ZBL gets correct targets --- .../experimental/soap_bpnn/tests/test_regression.py | 12 +++++------- src/metatrain/utils/additive/zbl.py | 7 +++++++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index bac453044..ab6d08fe7 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -41,13 +41,11 @@ def test_regression_init(): expected_output = torch.tensor( [ - [ - [0.053602740169], - [-0.142421141267], - [-0.122775360942], - [-0.202754884958], - [-0.031394608319], - ] + [0.053602740169], + [-0.142421141267], + [-0.122775360942], + [-0.202754884958], + [-0.031394608319], ] ) diff --git a/src/metatrain/utils/additive/zbl.py b/src/metatrain/utils/additive/zbl.py index cec2ee96e..ecdd24108 100644 --- a/src/metatrain/utils/additive/zbl.py +++ b/src/metatrain/utils/additive/zbl.py @@ -42,6 +42,13 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo): "ZBL only supports energy-like outputs, but a " f"{target.quantity} output was provided." ) + if not target.layout.is_scalar: + raise ValueError("ZBL only supports scalar outputs") + if len(target.layout.properties) > 1: + raise ValueError( + "ZBL only supports outputs with one property, but " + f"{len(target.layout.properties)} properties were provided." + ) if target.unit != "eV": raise ValueError( "ZBL only supports eV units, but a " From da544ff5c295d4386b3b04658f50df3c093b80bf Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 15:50:02 +0100 Subject: [PATCH 082/126] Docs --- ...argets.rst => fitting-generic-targets.rst} | 51 +++++++++++++++++-- docs/src/advanced-concepts/index.rst | 2 +- docs/src/dev-docs/new-architecture.rst | 9 ++++ 3 files changed, 56 insertions(+), 6 deletions(-) rename docs/src/advanced-concepts/{preparing-generic-targets.rst => fitting-generic-targets.rst} (82%) diff --git a/docs/src/advanced-concepts/preparing-generic-targets.rst b/docs/src/advanced-concepts/fitting-generic-targets.rst similarity index 82% rename from docs/src/advanced-concepts/preparing-generic-targets.rst rename to docs/src/advanced-concepts/fitting-generic-targets.rst index d63b3244c..2d5455ac7 100644 --- a/docs/src/advanced-concepts/preparing-generic-targets.rst +++ b/docs/src/advanced-concepts/fitting-generic-targets.rst @@ -1,11 +1,52 @@ -Preparing generic targets for reading by metatrain -================================================== +Fitting generic targets +======================= Besides energy-like targets, the library also supports reading (and training on) more generic targets. +Support for generic targets +--------------------------- + +Not all architectures can train on all types of target. Here you can find the +capabilities of the architectures in metatrain. + +.. list-table:: Sample Table + :header-rows: 1 + + * - Target type + - Energy and its gradients + - Scalars + - Spherical tensors + - Cartesian tensors + * - SOAP-BPNN + - Energy, forces, stress/virial + - Yes + - Only with ``o3_lambda=1, o3_sigma=1`` + - No + * - Alchemical Model + - Energy, forces, stress/virial + - No + - No + - No + * - GAP + - Energy, forces + - No + - No + - No + * - PET + - Energy, forces + - No + - No + - No + + +Preparing generic targets for reading by metatrain +-------------------------------------------------- + +Only a few steps are required to fit arbitrary targets in metatrain. + Input file ----------- +########## In order to read a generic target, you will have to specify its layout in the input file. Suppose you want to learn a target named ``mtt::my_target``, which is a per-atom @@ -64,7 +105,7 @@ where ``o3_lambda`` specifies the L value of the spherical tensor and ``o3_sigma parity with respect to inversion (1 for proper tensors, -1 for pseudo-tensors). Preparing your targets -- ASE ------------------------------ +############################# If you are using the ASE readers to read your targets, you will have to save them either in the ``.info`` (if the target is per structure, i.e. not per atom) or in the @@ -79,7 +120,7 @@ Reading targets with more than one spherical tensor is not supported by the ASE In that case, you should use the metatensor reader. Preparing your targets -- metatensor ------------------------------------- +#################################### If you are using the metatensor readers to read your targets, you will have to save them as a list of ``metatensor.torch.TensorMap`` objects with ``torch.save`` into a file with diff --git a/docs/src/advanced-concepts/index.rst b/docs/src/advanced-concepts/index.rst index dd5f98f01..82fffb0a6 100644 --- a/docs/src/advanced-concepts/index.rst +++ b/docs/src/advanced-concepts/index.rst @@ -13,4 +13,4 @@ such as output naming, auxiliary outputs, and wrapper models. multi-gpu auto-restarting fine-tuning - preparing-generic-targets + fitting-generic-targets diff --git a/docs/src/dev-docs/new-architecture.rst b/docs/src/dev-docs/new-architecture.rst index aaa27cce3..68b9df0d9 100644 --- a/docs/src/dev-docs/new-architecture.rst +++ b/docs/src/dev-docs/new-architecture.rst @@ -227,3 +227,12 @@ passed to the architecture model and trainer as is. To create such a schema start by using `online tools `_ that convert the ``default-hypers.yaml`` into a JSON schema. Besides online tools, we also had success using ChatGPT/LLM for this for conversion. + +Documentation +------------- + +Each new architecture should be added to ``metatrain``'s documentation. A short page +describing the architecture and its default hyperparameters will be sufficient. You +can take inspiration from existing architectures. The various targets that the +architecture can fit should be added to the table in the "Fitting generic targets" +section. From 0e6c46fcc95cc178fb0c015344cb5c6427656d62 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 15:51:40 +0100 Subject: [PATCH 083/126] Fix bug --- src/metatrain/utils/additive/zbl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metatrain/utils/additive/zbl.py b/src/metatrain/utils/additive/zbl.py index ecdd24108..61a4dce85 100644 --- a/src/metatrain/utils/additive/zbl.py +++ b/src/metatrain/utils/additive/zbl.py @@ -42,7 +42,7 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo): "ZBL only supports energy-like outputs, but a " f"{target.quantity} output was provided." ) - if not target.layout.is_scalar: + if not target.is_scalar: raise ValueError("ZBL only supports scalar outputs") if len(target.layout.properties) > 1: raise ValueError( From 3ff9370e01e2a0472180a86744d127626013d0e1 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 17:42:52 +0100 Subject: [PATCH 084/126] Fix bug --- src/metatrain/utils/additive/zbl.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/metatrain/utils/additive/zbl.py b/src/metatrain/utils/additive/zbl.py index 61a4dce85..abbef6341 100644 --- a/src/metatrain/utils/additive/zbl.py +++ b/src/metatrain/utils/additive/zbl.py @@ -44,10 +44,11 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo): ) if not target.is_scalar: raise ValueError("ZBL only supports scalar outputs") - if len(target.layout.properties) > 1: + if len(target.layout.block(0).properties) > 1: raise ValueError( "ZBL only supports outputs with one property, but " - f"{len(target.layout.properties)} properties were provided." + f"{len(target.layout.block(0).properties)} " + "properties were provided." ) if target.unit != "eV": raise ValueError( From 737c8958a4b0b8c906dd3680fe145f090b8916aa Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 18:05:24 +0100 Subject: [PATCH 085/126] Extract function to add outputs for SOAP-BPNN --- src/metatrain/experimental/soap_bpnn/model.py | 204 +++++++----------- 1 file changed, 72 insertions(+), 132 deletions(-) diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index 56832138c..7a9bae4d0 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -16,6 +16,7 @@ from metatensor.torch.learn.nn import Linear as LinearMap from metatensor.torch.learn.nn import ModuleMap +from metatrain.utils.data import TargetInfo from metatrain.utils.data.dataset import DatasetInfo from ...utils.additive import ZBL, CompositionModel @@ -197,34 +198,17 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: super().__init__() self.hypers = model_hypers self.dataset_info = dataset_info - self.new_outputs = list(dataset_info.targets.keys()) self.atomic_types = dataset_info.atomic_types self.soap_calculator = rascaline.torch.SoapPowerSpectrum( radial_basis={"Gto": {}}, **self.hypers["soap"] ) - self.outputs = { - key: ModelOutput( - quantity=value.quantity, - unit=value.unit, - per_atom=True, - ) - for key, value in dataset_info.targets.items() - } - - # the model is always capable of outputting the last layer features + # the model is always capable of outputting the last-layer features self.outputs["mtt::aux::last_layer_features"] = ModelOutput( unit="unitless", per_atom=True ) - # buffers cannot be indexed by strings (torchscript), so we create a single - # tensor for all output. Due to this, we need to slice the tensor when we use - # it and use the output name to select the correct slice via a dictionary - self.output_to_index = { - output_name: i for i, output_name in enumerate(self.outputs.keys()) - } - soap_size = ( (len(self.atomic_types) * (len(self.atomic_types) + 1) // 2) * self.hypers["soap"]["max_radial"] ** 2 @@ -254,80 +238,16 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: ) if hypers_bpnn["num_hidden_layers"] == 0: - n_inputs_last_layer = hypers_bpnn["input_size"] + self.n_inputs_last_layer = hypers_bpnn["input_size"] else: - n_inputs_last_layer = hypers_bpnn["num_neurons_per_layer"] + self.n_inputs_last_layer = hypers_bpnn["num_neurons_per_layer"] - self.last_layer_feature_size = n_inputs_last_layer * len(self.atomic_types) + self.last_layer_feature_size = self.n_inputs_last_layer * len(self.atomic_types) - vector_featurizers = {} + self.vector_featurizers = torch.nn.ModuleDict({}) + self.last_layers = torch.nn.ModuleDict({}) for target_name, target in dataset_info.targets.items(): - if target.is_scalar: - vector_featurizers[target_name] = IdentityWithExtraArg() - elif target.is_spherical: - values_list: List[List[int]] = target.layout.keys.values.tolist() - if values_list != [[1, 1]]: - raise ValueError( - "SOAP-BPNN only supports spherical targets with " - "`o3_lambda=1` and `o3_sigma=1`, " - ) - vector_featurizers[target_name] = VectorFeaturizer( - atomic_types=self.atomic_types, - num_features=n_inputs_last_layer, - soap_hypers=self.hypers["soap"], - ) - else: - raise ValueError( - "SOAP-BPNN only supports scalar and spherical targets." - ) - self.vector_featurizers = torch.nn.ModuleDict(vector_featurizers) - - last_layers = {} - for output_name in self.outputs.keys(): - if "mtt::aux::" in output_name: - continue - if dataset_info.targets[output_name].is_scalar: - last_layers[output_name] = LinearMap( - Labels( - "central_species", - values=torch.tensor(self.atomic_types).reshape(-1, 1), - ), - in_features=n_inputs_last_layer, - out_features=1, - bias=False, - out_properties=[ - Labels( - names=["energy"], - values=torch.tensor([[0]]), - ) - for _ in self.atomic_types - ], - ) - else: - last_layers[output_name] = LinearMap( - Labels( - names=["o3_lambda", "o3_sigma", "center_type"], - values=torch.stack( - [ - torch.tensor([1] * len(self.atomic_types)), - torch.tensor([1] * len(self.atomic_types)), - torch.tensor(self.atomic_types), - ], - dim=1, - ), - ), - in_features=n_inputs_last_layer, - out_features=1, - bias=False, - out_properties=[ - Labels( - names=["properties"], - values=torch.tensor([[0]]), - ) - for _ in self.atomic_types - ], - ) - self.last_layers = torch.nn.ModuleDict(last_layers) + self._add_output(target_name, target) # additive models: these are handled by the trainer at training # time, and they are added to the output at evaluation time @@ -359,20 +279,12 @@ def restart(self, dataset_info: DatasetInfo) -> "SoapBpnn": ) # register new outputs as new last layers - for output_name in new_targets: - self.add_output(output_name) + for target_name, target in new_targets.items(): + self._add_output(target_name, target) self.dataset_info = merged_info self.atomic_types = sorted(self.atomic_types) - for target_name, target in new_targets.items(): - self.outputs[target_name] = ModelOutput( - quantity=target.quantity, - unit=target.unit, - per_atom=True, - ) - self.new_outputs = list(new_targets.keys()) - return self def forward( @@ -496,43 +408,71 @@ def export(self) -> MetatensorAtomisticModel: return MetatensorAtomisticModel(self.eval(), ModelMetadata(), capabilities) - def add_output(self, output_name: str) -> None: - """Add a new output to the self.""" - # add a new row to the composition weights tensor - # initialize it with zeros - self.composition_weights = torch.cat( - [ - self.composition_weights, # type: ignore - torch.zeros( - 1, - self.composition_weights.shape[1], # type: ignore - dtype=self.composition_weights.dtype, # type: ignore - device=self.composition_weights.device, # type: ignore + def _add_output(self, target_name: str, target: TargetInfo) -> None: + + if target.is_scalar: + self.vector_featurizers[target_name] = IdentityWithExtraArg() + elif target.is_spherical: + values_list: List[List[int]] = target.layout.keys.values.tolist() + if values_list != [[1, 1]]: + raise ValueError( + "SOAP-BPNN only supports spherical targets with " + "`o3_lambda=1` and `o3_sigma=1`, " + ) + self.vector_featurizers[target_name] = VectorFeaturizer( + atomic_types=self.atomic_types, + num_features=self.n_inputs_last_layer, + soap_hypers=self.hypers["soap"], + ) + else: + raise ValueError("SOAP-BPNN only supports scalar and spherical targets.") + + if target.is_scalar: + self.last_layers[target_name] = LinearMap( + Labels( + "central_species", + values=torch.tensor(self.atomic_types).reshape(-1, 1), ), - ] - ) - self.output_to_index[output_name] = len(self.output_to_index) - # add a new linear layer to the last layers - hypers_bpnn = self.hypers["bpnn"] - if hypers_bpnn["num_hidden_layers"] == 0: - n_inputs_last_layer = hypers_bpnn["input_size"] + in_features=self.n_inputs_last_layer, + out_features=1, + bias=False, + out_properties=[ + Labels( + names=["energy"], + values=torch.tensor([[0]]), + ) + for _ in self.atomic_types + ], + ) else: - n_inputs_last_layer = hypers_bpnn["num_neurons_per_layer"] - self.last_layers[output_name] = LinearMap( - Labels( - "central_species", - values=torch.tensor(self.atomic_types).reshape(-1, 1), - ), - in_features=n_inputs_last_layer, - out_features=1, - bias=False, - out_properties=[ + self.last_layers[target_name] = LinearMap( Labels( - names=["energy"], - values=torch.tensor([[0]]), - ) - for _ in self.atomic_types - ], + names=["o3_lambda", "o3_sigma", "center_type"], + values=torch.stack( + [ + torch.tensor([1] * len(self.atomic_types)), + torch.tensor([1] * len(self.atomic_types)), + torch.tensor(self.atomic_types), + ], + dim=1, + ), + ), + in_features=self.n_inputs_last_layer, + out_features=1, + bias=False, + out_properties=[ + Labels( + names=["properties"], + values=torch.tensor([[0]]), + ) + for _ in self.atomic_types + ], + ) + + self.outputs[target_name] = ModelOutput( + quantity=target.quantity, + unit=target.unit, + per_atom=True, ) From 998b7ed72ad39357e148a1c43813a62c3b371522 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 18:21:05 +0100 Subject: [PATCH 086/126] Fix some small issues --- src/metatrain/experimental/soap_bpnn/model.py | 8 +++----- src/metatrain/utils/additive/composition.py | 7 +++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index 7a9bae4d0..48f1c9e1f 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -204,11 +204,6 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: radial_basis={"Gto": {}}, **self.hypers["soap"] ) - # the model is always capable of outputting the last-layer features - self.outputs["mtt::aux::last_layer_features"] = ModelOutput( - unit="unitless", per_atom=True - ) - soap_size = ( (len(self.atomic_types) * (len(self.atomic_types) + 1) // 2) * self.hypers["soap"]["max_radial"] ** 2 @@ -244,6 +239,9 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.last_layer_feature_size = self.n_inputs_last_layer * len(self.atomic_types) + self.outputs = { + "mtt::aux::last_layer_features": ModelOutput(unit="unitless", per_atom=True) + } # the model is always capable of outputting the last-layer features self.vector_featurizers = torch.nn.ModuleDict({}) self.last_layers = torch.nn.ModuleDict({}) for target_name, target in dataset_info.targets.items(): diff --git a/src/metatrain/utils/additive/composition.py b/src/metatrain/utils/additive/composition.py index ddc9476c0..7018a31be 100644 --- a/src/metatrain/utils/additive/composition.py +++ b/src/metatrain/utils/additive/composition.py @@ -125,10 +125,13 @@ def train_model( if target_key in get_all_targets(dataset): datasets_with_target.append(dataset) if len(datasets_with_target) == 0: - raise ValueError( + # this is a possibility when transfer learning + warnings.warn( f"Target {target_key} in the model's new capabilities is not " - "present in any of the training datasets." + "present in any of the training datasets.", + stacklevel=2, ) + continue targets = torch.stack( [ From 04159f2463eb0ad3f68f48b7cc3d3f240df47333 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 12 Nov 2024 22:29:46 +0100 Subject: [PATCH 087/126] Fix leftover merge issues --- .../experimental/nanopet/default-hypers.yaml | 57 ++++++++++--------- src/metatrain/experimental/nanopet/trainer.py | 11 +++- 2 files changed, 39 insertions(+), 29 deletions(-) diff --git a/src/metatrain/experimental/nanopet/default-hypers.yaml b/src/metatrain/experimental/nanopet/default-hypers.yaml index 89f222404..9a4936ad7 100644 --- a/src/metatrain/experimental/nanopet/default-hypers.yaml +++ b/src/metatrain/experimental/nanopet/default-hypers.yaml @@ -1,28 +1,33 @@ -name: experimental.nanopet +architecture: -model: - cutoff: 5.0 - cutoff_width: 0.5 - d_pet: 128 - num_heads: 4 - num_attention_layers: 2 - num_gnn_layers: 2 - mlp_dropout_rate: 0.0 - attention_dropout_rate: 0.0 - zbl: False + name: experimental.nanopet -training: - distributed: False - distributed_port: 39591 - batch_size: 16 - num_epochs: 10000 - learning_rate: 3e-4 - early_stopping_patience: 1000 - scheduler_patience: 100 - scheduler_factor: 0.8 - log_interval: 10 - checkpoint_interval: 100 - fixed_composition_weights: {} - per_structure_targets: [] - loss_weights: {} - log_mae: true + model: + cutoff: 5.0 + cutoff_width: 0.5 + d_pet: 128 + num_heads: 4 + num_attention_layers: 2 + num_gnn_layers: 2 + mlp_dropout_rate: 0.0 + attention_dropout_rate: 0.0 + zbl: False + + training: + distributed: False + distributed_port: 39591 + batch_size: 16 + num_epochs: 10000 + learning_rate: 3e-4 + early_stopping_patience: 1000 + scheduler_patience: 100 + scheduler_factor: 0.8 + log_interval: 10 + checkpoint_interval: 100 + fixed_composition_weights: {} + per_structure_targets: [] + log_mae: False + loss: + type: mse + weights: {} + reduction: sum diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index d4cd5fdd6..546d8695a 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -7,6 +7,7 @@ from metatensor.torch import TensorMap from metatensor.torch.atomistic import System from torch.utils.data import DataLoader, DistributedSampler +import copy from ...utils.additive import remove_additive from ...utils.data import CombinedDataLoader, Dataset, collate_fn @@ -181,21 +182,25 @@ def train( loss_weights_dict = {} for output_name in outputs_list: loss_weights_dict[output_name] = ( - self.hypers["loss_weights"][ + self.hypers["loss"]["weights"][ to_external_name(output_name, train_targets) ] if to_external_name(output_name, train_targets) - in self.hypers["loss_weights"] + in self.hypers["loss"]["weights"] else 1.0 ) loss_weights_dict_external = { to_external_name(key, train_targets): value for key, value in loss_weights_dict.items() } + loss_hypers = copy.deepcopy(self.hypers["loss"]) + loss_hypers["weights"] = loss_weights_dict logging.info(f"Training with loss weights: {loss_weights_dict_external}") # Create a loss function: - loss_fn = TensorMapDictLoss(loss_weights_dict) + loss_fn = TensorMapDictLoss( + **loss_hypers, + ) # Create an optimizer: optimizer = torch.optim.Adam( From dd23a63864d65a18f36a61748dae1ab58bc88086 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 09:02:11 +0100 Subject: [PATCH 088/126] Add tests --- .../experimental/nanopet/default-hypers.yaml | 3 - src/metatrain/experimental/nanopet/model.py | 19 +- .../experimental/nanopet/schema-hypers.json | 144 +++++++ .../nanopet/tests/print_energies.py | 40 -- .../nanopet/tests/test_continue.py | 87 +++++ .../nanopet/tests/test_exported.py | 50 +++ .../nanopet/tests/test_functionality.py | 356 ++++++++++++++++++ .../nanopet/tests/test_nanopet.py | 57 --- .../nanopet/tests/test_regression.py | 132 +++++++ .../nanopet/tests/test_torchscript.py | 56 +++ .../experimental/nanopet/torch_test.py | 9 - src/metatrain/experimental/nanopet/trainer.py | 47 +-- .../experimental/soap_bpnn/trainer.py | 4 +- tests/utils/data/test_targets_ase.py | 1 - tests/utils/test_llpr.py | 143 ------- 15 files changed, 840 insertions(+), 308 deletions(-) create mode 100644 src/metatrain/experimental/nanopet/schema-hypers.json delete mode 100644 src/metatrain/experimental/nanopet/tests/print_energies.py create mode 100644 src/metatrain/experimental/nanopet/tests/test_continue.py create mode 100644 src/metatrain/experimental/nanopet/tests/test_exported.py create mode 100644 src/metatrain/experimental/nanopet/tests/test_functionality.py delete mode 100644 src/metatrain/experimental/nanopet/tests/test_nanopet.py create mode 100644 src/metatrain/experimental/nanopet/tests/test_regression.py create mode 100644 src/metatrain/experimental/nanopet/tests/test_torchscript.py delete mode 100644 src/metatrain/experimental/nanopet/torch_test.py diff --git a/src/metatrain/experimental/nanopet/default-hypers.yaml b/src/metatrain/experimental/nanopet/default-hypers.yaml index 9a4936ad7..eb2d721a0 100644 --- a/src/metatrain/experimental/nanopet/default-hypers.yaml +++ b/src/metatrain/experimental/nanopet/default-hypers.yaml @@ -9,8 +9,6 @@ architecture: num_heads: 4 num_attention_layers: 2 num_gnn_layers: 2 - mlp_dropout_rate: 0.0 - attention_dropout_rate: 0.0 zbl: False training: @@ -19,7 +17,6 @@ architecture: batch_size: 16 num_epochs: 10000 learning_rate: 3e-4 - early_stopping_patience: 1000 scheduler_patience: 100 scheduler_factor: 0.8 log_interval: 10 diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index f456ef24a..08ef632e5 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -9,6 +9,7 @@ from metatensor.torch.atomistic import ( MetatensorAtomisticModel, ModelCapabilities, + ModelMetadata, ModelOutput, NeighborListOptions, System, @@ -17,7 +18,6 @@ from ...utils.additive import ZBL, CompositionModel from ...utils.data import DatasetInfo from ...utils.dtype import dtype_to_str -from ...utils.export import export from .modules.encoder import Encoder from .modules.nef import ( edge_array_to_nef, @@ -78,9 +78,10 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: 4 * self.hypers["d_pet"], self.hypers["num_heads"], self.hypers["num_attention_layers"], - self.hypers["mlp_dropout_rate"], - self.hypers["attention_dropout_rate"], + 0.0, # MLP dropout rate + 0.0, # attention dropout rate ) + # empirically, the model seems to perform better without dropout self.num_mp_layers = self.hypers["num_gnn_layers"] - 1 gnn_contractions = [] @@ -97,8 +98,8 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: 4 * self.hypers["d_pet"], self.hypers["num_heads"], self.hypers["num_attention_layers"], - self.hypers["mlp_dropout_rate"], - self.hypers["attention_dropout_rate"], + 0.0, # MLP dropout rate + 0.0, # attention dropout rate ) ) self.gnn_contractions = torch.nn.ModuleList(gnn_contractions) @@ -378,7 +379,7 @@ def forward( samples=sample_labels, components=[], properties=Labels( - names=["property"], + names=["properties"], values=torch.arange( node_features.shape[-1], device=node_features.device ).reshape(-1, 1), @@ -462,7 +463,9 @@ def requested_neighbor_lists( def load_checkpoint(cls, path: Union[str, Path]) -> "NanoPET": # Load the checkpoint - checkpoint = torch.load(path, weights_only=False, map_location=torch.device("cpu")) + checkpoint = torch.load( + path, weights_only=False, map_location=torch.device("cpu") + ) model_hypers = checkpoint["model_hypers"] model_state_dict = checkpoint["model_state_dict"] @@ -499,7 +502,7 @@ def export(self) -> MetatensorAtomisticModel: dtype=dtype_to_str(dtype), ) - return export(model=self, model_capabilities=capabilities) + return MetatensorAtomisticModel(self.eval(), ModelMetadata(), capabilities) def set_composition_weights( self, diff --git a/src/metatrain/experimental/nanopet/schema-hypers.json b/src/metatrain/experimental/nanopet/schema-hypers.json new file mode 100644 index 000000000..468420022 --- /dev/null +++ b/src/metatrain/experimental/nanopet/schema-hypers.json @@ -0,0 +1,144 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": ["experimental.nanopet"] + }, + "model": { + "type": "object", + "properties": { + "cutoff": { + "type": "number" + }, + "cutoff_width": { + "type": "number" + }, + "d_pet": { + "type": "integer" + }, + "num_heads": { + "type": "integer" + }, + "num_attention_layers": { + "type": "integer" + }, + "num_gnn_layers": { + "type": "integer" + }, + "zbl": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "training": { + "type": "object", + "properties": { + "distributed": { + "type": "boolean" + }, + "distributed_port": { + "type": "integer" + }, + "batch_size": { + "type": "integer" + }, + "num_epochs": { + "type": "integer" + }, + "learning_rate": { + "type": "number" + }, + "scheduler_patience": { + "type": "integer" + }, + "scheduler_factor": { + "type": "number" + }, + "log_interval": { + "type": "integer" + }, + "checkpoint_interval": { + "type": "integer" + }, + "fixed_composition_weights": { + "type": "object", + "patternProperties": { + "^.*$": { + "type": "object", + "propertyNames": { + "pattern": "^[0-9]+$" + }, + "additionalProperties": { + "type": "number" + } + } + }, + "additionalProperties": false + }, + "per_structure_targets": { + "type": "array", + "items": { + "type": "string" + } + }, + "log_mae": { + "type": "boolean" + }, + "loss": { + "type": "object", + "properties": { + "weights": { + "type": "object", + "patternProperties": { + ".*": { + "type": "number" + } + }, + "additionalProperties": false + }, + "reduction": { + "type": "string", + "enum": ["sum", "mean", "none"] + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": ["mse", "mae"] + }, + { + "type": "object", + "properties": { + "huber": { + "type": "object", + "properties": { + "deltas": { + "type": "object", + "patternProperties": { + ".*": { + "type": "number" + } + }, + "additionalProperties": false + } + }, + "required": ["deltas"], + "additionalProperties": false + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false +} diff --git a/src/metatrain/experimental/nanopet/tests/print_energies.py b/src/metatrain/experimental/nanopet/tests/print_energies.py deleted file mode 100644 index cfde51890..000000000 --- a/src/metatrain/experimental/nanopet/tests/print_energies.py +++ /dev/null @@ -1,40 +0,0 @@ -import numpy as np -import torch -from metatensor.torch.atomistic import ModelOutput, System - -from metatrain.experimental.nanopet.model import NanoPET -from metatrain.utils.architectures import get_default_hypers -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict -from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists - - -DEFAULT_HYPERS = get_default_hypers("experimental.nanopet") -MODEL_HYPERS = DEFAULT_HYPERS["model"] - - -dataset_info = DatasetInfo( - length_unit="Angstrom", - atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), -) - -MODEL_HYPERS["cutoff_width"] = 0.4 -model = NanoPET(MODEL_HYPERS, dataset_info) - -systems = [ - System( - types=torch.tensor([6, 6]), - positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, float(a)]]), - cell=torch.zeros(3, 3), - pbc=torch.tensor([False, False, False]), - ) - for a in np.arange(4.5, 5.5, 0.001) -] -systems = [ - get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) - for system in systems -] -outputs = {"energy": ModelOutput(per_atom=False)} - -outputs = model(systems, outputs) -print(outputs["energy"].block().values.squeeze()) diff --git a/src/metatrain/experimental/nanopet/tests/test_continue.py b/src/metatrain/experimental/nanopet/tests/test_continue.py new file mode 100644 index 000000000..cea96d588 --- /dev/null +++ b/src/metatrain/experimental/nanopet/tests/test_continue.py @@ -0,0 +1,87 @@ +import copy +import shutil + +import metatensor +import torch +from omegaconf import OmegaConf + +from metatrain.experimental.nanopet import NanoPET, Trainer +from metatrain.utils.data import Dataset, DatasetInfo +from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.data.target_info import get_energy_target_info +from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists + +from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS + + +def test_continue(monkeypatch, tmp_path): + """Tests that a model can be checkpointed and loaded + for a continuation of the training process""" + + monkeypatch.chdir(tmp_path) + shutil.copy(DATASET_PATH, "qm9_reduced_100.xyz") + + systems = read_systems(DATASET_PATH) + systems = [system.to(torch.float32) for system in systems] + + target_info_dict = {} + target_info_dict["mtt::U0"] = get_energy_target_info( + {"quantity": "energy", "unit": "eV"} + ) + + dataset_info = DatasetInfo( + length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict + ) + model = NanoPET(MODEL_HYPERS, dataset_info) + + conf = { + "mtt::U0": { + "quantity": "energy", + "read_from": DATASET_PATH, + "reader": "ase", + "key": "U0", + "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": False, + "stress": False, + "virial": False, + } + } + targets, _ = read_targets(OmegaConf.create(conf)) + + # systems in float64 are required for training + systems = [system.to(torch.float64) for system in systems] + + dataset = Dataset.from_dict({"system": systems, "mtt::U0": targets["mtt::U0"]}) + + hypers = DEFAULT_HYPERS.copy() + hypers["training"]["num_epochs"] = 0 + + model_before = copy.deepcopy(model) + model_after = model.restart(dataset_info) + + hypers["training"]["num_epochs"] = 0 + trainer = Trainer(hypers["training"]) + trainer.train( + model=model_after, + dtype=torch.float32, + devices=[torch.device("cpu")], + train_datasets=[dataset], + val_datasets=[dataset], + checkpoint_dir=".", + ) + + # evaluation + systems = [system.to(torch.float32) for system in systems] + for system in systems: + get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + + # Predict on the first five systems + output_before = model_before( + systems[:5], {"mtt::U0": model_before.outputs["mtt::U0"]} + ) + output_after = model_after(systems[:5], {"mtt::U0": model_after.outputs["mtt::U0"]}) + + assert metatensor.torch.allclose(output_before["mtt::U0"], output_after["mtt::U0"]) diff --git a/src/metatrain/experimental/nanopet/tests/test_exported.py b/src/metatrain/experimental/nanopet/tests/test_exported.py new file mode 100644 index 000000000..599824aab --- /dev/null +++ b/src/metatrain/experimental/nanopet/tests/test_exported.py @@ -0,0 +1,50 @@ +import pytest +import torch +from metatensor.torch.atomistic import ModelEvaluationOptions, System + +from metatrain.experimental.nanopet import NanoPET +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info +from metatrain.utils.neighbor_lists import ( + get_requested_neighbor_lists, + get_system_with_neighbor_lists, +) + +from . import MODEL_HYPERS + + +@pytest.mark.parametrize("device", ["cpu", "cuda"]) +@pytest.mark.parametrize("dtype", [torch.float32, torch.float64]) +def test_to(device, dtype): + """Tests that the `.to()` method of the exported model works.""" + if device == "cuda" and not torch.cuda.is_available(): + pytest.skip("CUDA is not available") + + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) + }, + ) + model = NanoPET(MODEL_HYPERS, dataset_info).to(dtype=dtype) + exported = model.export() + + exported.to(device=device) + + system = System( + types=torch.tensor([6, 6]), + positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + requested_neighbor_lists = get_requested_neighbor_lists(exported) + system = get_system_with_neighbor_lists(system, requested_neighbor_lists) + system = system.to(device=device, dtype=dtype) + + evaluation_options = ModelEvaluationOptions( + length_unit=dataset_info.length_unit, + outputs=model.outputs, + ) + + exported([system], evaluation_options, check_consistency=True) diff --git a/src/metatrain/experimental/nanopet/tests/test_functionality.py b/src/metatrain/experimental/nanopet/tests/test_functionality.py new file mode 100644 index 000000000..a679ad00b --- /dev/null +++ b/src/metatrain/experimental/nanopet/tests/test_functionality.py @@ -0,0 +1,356 @@ +import metatensor.torch +import pytest +import torch +from jsonschema.exceptions import ValidationError +from metatensor.torch.atomistic import ModelOutput, System +from omegaconf import OmegaConf + +from metatrain.experimental.nanopet.model import NanoPET +from metatrain.utils.architectures import check_architecture_options +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import ( + get_energy_target_info, + get_generic_target_info, +) +from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists + +from . import DEFAULT_HYPERS, MODEL_HYPERS + + +def test_nanopet_padding(): + """Tests that the model predicts the same energy independently of the + padding size.""" + + # we need float64 for this test, then we will change it back at the end + default_dtype_before = torch.get_default_dtype() + torch.set_default_dtype(torch.float64) + + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) + }, + ) + + model = NanoPET(MODEL_HYPERS, dataset_info) + + system = System( + types=torch.tensor([6, 6]), + positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + outputs = {"energy": ModelOutput(per_atom=False)} + lone_output = model([system], outputs) + + system_2 = System( + types=torch.tensor([6, 6, 6, 6, 6, 6, 6]), + positions=torch.tensor( + [ + [0.0, 0.0, 0.0], + [0.0, 0.0, 1.0], + [0.0, 0.0, 2.0], + [0.0, 0.0, 3.0], + [0.0, 0.0, 4.0], + [0.0, 0.0, 5.0], + [0.0, 0.0, 6.0], + ] + ), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + system_2 = get_system_with_neighbor_lists( + system_2, model.requested_neighbor_lists() + ) + padded_output = model([system, system_2], outputs) + + lone_energy = lone_output["energy"].block().values.squeeze(-1)[0] + padded_energy = padded_output["energy"].block().values.squeeze(-1)[0] + + assert torch.allclose(lone_energy, padded_energy) + + torch.set_default_dtype(default_dtype_before) + + +def test_prediction_subset_elements(): + """Tests that the model can predict on a subset of the elements it was trained + on.""" + + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) + }, + ) + + model = NanoPET(MODEL_HYPERS, dataset_info) + + system = System( + types=torch.tensor([6, 6]), + positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + model( + [system], + {"energy": model.outputs["energy"]}, + ) + + +def test_prediction_subset_atoms(): + """Tests that the model can predict on a subset + of the atoms in a system.""" + + # we need float64 for this test, then we will change it back at the end + default_dtype_before = torch.get_default_dtype() + torch.set_default_dtype(torch.float64) + + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) + }, + ) + + model = NanoPET(MODEL_HYPERS, dataset_info) + + # Since we don't yet support atomic predictions, we will test this by + # predicting on a system with two monomers at a large distance + + system_monomer = System( + types=torch.tensor([7, 8, 8]), + positions=torch.tensor( + [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0]], + ), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + system_monomer = get_system_with_neighbor_lists( + system_monomer, model.requested_neighbor_lists() + ) + + energy_monomer = model( + [system_monomer], + {"energy": ModelOutput(per_atom=False)}, + ) + + system_far_away_dimer = System( + types=torch.tensor([7, 7, 8, 8, 8, 8]), + positions=torch.tensor( + [ + [0.0, 0.0, 0.0], + [0.0, 50.0, 0.0], + [0.0, 0.0, 1.0], + [0.0, 0.0, 2.0], + [0.0, 51.0, 0.0], + [0.0, 42.0, 0.0], + ], + ), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + system_far_away_dimer = get_system_with_neighbor_lists( + system_far_away_dimer, model.requested_neighbor_lists() + ) + + selection_labels = metatensor.torch.Labels( + names=["system", "atom"], + values=torch.tensor([[0, 0], [0, 2], [0, 3]]), + ) + + energy_dimer = model( + [system_far_away_dimer], + {"energy": ModelOutput(per_atom=False)}, + ) + + energy_monomer_in_dimer = model( + [system_far_away_dimer], + {"energy": ModelOutput(per_atom=False)}, + selected_atoms=selection_labels, + ) + + assert not metatensor.torch.allclose( + energy_monomer["energy"], energy_dimer["energy"] + ) + + assert metatensor.torch.allclose( + energy_monomer["energy"], energy_monomer_in_dimer["energy"] + ) + + torch.set_default_dtype(default_dtype_before) + + +def test_output_last_layer_features(): + """Tests that the model can output its last layer features.""" + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) + }, + ) + + model = NanoPET(MODEL_HYPERS, dataset_info) + + system = System( + types=torch.tensor([6, 1, 8, 7]), + positions=torch.tensor( + [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]], + ), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + + # last-layer features per atom: + ll_output_options = ModelOutput( + quantity="", + unit="unitless", + per_atom=True, + ) + outputs = model( + [system], + { + "energy": model.outputs["energy"], + "mtt::aux::last_layer_features": ll_output_options, + }, + ) + assert "energy" in outputs + assert "mtt::aux::last_layer_features" in outputs + last_layer_features = outputs["mtt::aux::last_layer_features"].block() + assert last_layer_features.samples.names == [ + "system", + "atom", + ] + assert last_layer_features.values.shape == ( + 4, + 128, + ) + assert last_layer_features.properties.names == [ + "properties", + ] + + # last-layer features per system: + ll_output_options = ModelOutput( + quantity="", + unit="unitless", + per_atom=False, + ) + outputs = model( + [system], + { + "energy": model.outputs["energy"], + "mtt::aux::last_layer_features": ll_output_options, + }, + ) + assert "energy" in outputs + assert "mtt::aux::last_layer_features" in outputs + assert outputs["mtt::aux::last_layer_features"].block().samples.names == ["system"] + assert outputs["mtt::aux::last_layer_features"].block().values.shape == ( + 1, + 128, + ) + assert outputs["mtt::aux::last_layer_features"].block().properties.names == [ + "properties", + ] + + +def test_output_per_atom(): + """Tests that the model can output per-atom quantities.""" + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) + }, + ) + + model = NanoPET(MODEL_HYPERS, dataset_info) + + system = System( + types=torch.tensor([6, 1, 8, 7]), + positions=torch.tensor( + [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]], + ), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + + outputs = model( + [system], + {"energy": model.outputs["energy"]}, + ) + + assert outputs["energy"].block().samples.names == ["system", "atom"] + assert outputs["energy"].block().values.shape == (4, 1) + + +def test_fixed_composition_weights(): + """Tests the correctness of the json schema for fixed_composition_weights""" + + hypers = DEFAULT_HYPERS.copy() + hypers["training"]["fixed_composition_weights"] = { + "energy": { + 1: 1.0, + 6: 0.0, + 7: 0.0, + 8: 0.0, + 9: 3000.0, + } + } + hypers = OmegaConf.create(hypers) + check_architecture_options( + name="experimental.nanopet", options=OmegaConf.to_container(hypers) + ) + + +def test_fixed_composition_weights_error(): + """Test that only inputd of type Dict[str, Dict[int, float]] are allowed.""" + hypers = DEFAULT_HYPERS.copy() + hypers["training"]["fixed_composition_weights"] = {"energy": {"H": 300.0}} + hypers = OmegaConf.create(hypers) + with pytest.raises(ValidationError, match=r"'H' does not match '\^\[0-9\]\+\$'"): + check_architecture_options( + name="experimental.nanopet", options=OmegaConf.to_container(hypers) + ) + + +@pytest.mark.parametrize("per_atom", [True, False]) +def test_vector_output(per_atom): + """Tests that the model can predict a (spherical) vector output.""" + + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "forces": get_generic_target_info( + { + "quantity": "forces", + "unit": "", + "type": {"cartesian": {"rank": 1}}, + "num_properties": 100, + "per_atom": per_atom, + } + ) + }, + ) + + model = NanoPET(MODEL_HYPERS, dataset_info) + + system = System( + types=torch.tensor([6, 6]), + positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + model( + [system], + {"force": model.outputs["forces"]}, + ) diff --git a/src/metatrain/experimental/nanopet/tests/test_nanopet.py b/src/metatrain/experimental/nanopet/tests/test_nanopet.py deleted file mode 100644 index c60e3b681..000000000 --- a/src/metatrain/experimental/nanopet/tests/test_nanopet.py +++ /dev/null @@ -1,57 +0,0 @@ -import torch -from metatensor.torch.atomistic import ModelOutput, System - -from metatrain.experimental.nanopet.model import NanoPET -from metatrain.utils.data import DatasetInfo, TargetInfo, TargetInfoDict -from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists - -from . import MODEL_HYPERS - - -def test_nanopet_padding(): - """Tests that the model predicts the same energy independently of the - padding size.""" - - dataset_info = DatasetInfo( - length_unit="Angstrom", - atomic_types=[1, 6, 7, 8], - targets=TargetInfoDict(energy=TargetInfo(quantity="energy", unit="eV")), - ) - - model = NanoPET(MODEL_HYPERS, dataset_info) - - system = System( - types=torch.tensor([6, 6]), - positions=torch.tensor([[0.0, 0.0, 0.0], [0.0, 0.0, 1.0]]), - cell=torch.zeros(3, 3), - pbc=torch.tensor([False, False, False]), - ) - system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) - outputs = {"energy": ModelOutput(per_atom=False)} - lone_output = model([system], outputs) - - system_2 = System( - types=torch.tensor([6, 6, 6, 6, 6, 6, 6]), - positions=torch.tensor( - [ - [0.0, 0.0, 0.0], - [0.0, 0.0, 1.0], - [0.0, 0.0, 2.0], - [0.0, 0.0, 3.0], - [0.0, 0.0, 4.0], - [0.0, 0.0, 5.0], - [0.0, 0.0, 6.0], - ] - ), - cell=torch.zeros(3, 3), - pbc=torch.tensor([False, False, False]), - ) - system_2 = get_system_with_neighbor_lists( - system_2, model.requested_neighbor_lists() - ) - padded_output = model([system, system_2], outputs) - - lone_energy = lone_output["energy"].block().values.squeeze(-1)[0] - padded_energy = padded_output["energy"].block().values.squeeze(-1)[0] - - assert torch.allclose(lone_energy, padded_energy) diff --git a/src/metatrain/experimental/nanopet/tests/test_regression.py b/src/metatrain/experimental/nanopet/tests/test_regression.py new file mode 100644 index 000000000..be3acadd9 --- /dev/null +++ b/src/metatrain/experimental/nanopet/tests/test_regression.py @@ -0,0 +1,132 @@ +import random + +import numpy as np +import torch +from metatensor.torch.atomistic import ModelOutput +from omegaconf import OmegaConf + +from metatrain.experimental.nanopet import NanoPET, Trainer +from metatrain.utils.data import Dataset, DatasetInfo +from metatrain.utils.data.readers import read_systems, read_targets +from metatrain.utils.data.target_info import get_energy_target_info +from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists + +from . import DATASET_PATH, DEFAULT_HYPERS, MODEL_HYPERS + + +# reproducibility +random.seed(0) +np.random.seed(0) +torch.manual_seed(0) + + +def test_regression_init(): + """Perform a regression test on the model at initialization""" + + targets = {} + targets["mtt::U0"] = get_energy_target_info({"quantity": "energy", "unit": "eV"}) + + dataset_info = DatasetInfo( + length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets + ) + model = NanoPET(MODEL_HYPERS, dataset_info) + + # Predict on the first five systems + systems = read_systems(DATASET_PATH)[:5] + systems = [system.to(torch.float32) for system in systems] + for system in systems: + get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + + output = model( + systems, + {"mtt::U0": ModelOutput(quantity="energy", unit="", per_atom=False)}, + ) + + expected_output = torch.tensor( + [ + [0.053602740169], + [-0.142421141267], + [-0.122775360942], + [-0.202754884958], + [-0.031394608319], + ] + ) + + # if you need to change the hardcoded values: + torch.set_printoptions(precision=12) + print(output["mtt::U0"].block().values) + + torch.testing.assert_close( + output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 + ) + + +def test_regression_train(): + """Perform a regression test on the model when + trained for 2 epoch on a small dataset""" + + systems = read_systems(DATASET_PATH) + + conf = { + "mtt::U0": { + "quantity": "energy", + "read_from": DATASET_PATH, + "reader": "ase", + "key": "U0", + "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": False, + "stress": False, + "virial": False, + } + } + targets, target_info_dict = read_targets(OmegaConf.create(conf)) + dataset = Dataset.from_dict({"system": systems, "mtt::U0": targets["mtt::U0"]}) + + hypers = DEFAULT_HYPERS.copy() + hypers["training"]["num_epochs"] = 2 + + dataset_info = DatasetInfo( + length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict + ) + model = NanoPET(MODEL_HYPERS, dataset_info) + + hypers["training"]["num_epochs"] = 1 + trainer = Trainer(hypers["training"]) + trainer.train( + model=model, + dtype=torch.float32, + devices=[torch.device("cpu")], + train_datasets=[dataset], + val_datasets=[dataset], + checkpoint_dir=".", + ) + + # Predict on the first five systems + systems = [system.to(torch.float32) for system in systems] + for system in systems: + get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + output = model( + systems[:5], + {"mtt::U0": ModelOutput(quantity="energy", unit="", per_atom=False)}, + ) + + expected_output = torch.tensor( + [ + [0.090618140996], + [-0.020789206028], + [0.020192664117], + [0.093057855964], + [0.094577327371], + ] + ) + + # if you need to change the hardcoded values: + torch.set_printoptions(precision=12) + print(output["mtt::U0"].block().values) + + torch.testing.assert_close( + output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 + ) diff --git a/src/metatrain/experimental/nanopet/tests/test_torchscript.py b/src/metatrain/experimental/nanopet/tests/test_torchscript.py new file mode 100644 index 000000000..05a05824a --- /dev/null +++ b/src/metatrain/experimental/nanopet/tests/test_torchscript.py @@ -0,0 +1,56 @@ +import torch +from metatensor.torch.atomistic import System + +from metatrain.experimental.nanopet import NanoPET +from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import get_energy_target_info +from metatrain.utils.neighbor_lists import get_system_with_neighbor_lists + +from . import MODEL_HYPERS + + +def test_torchscript(): + """Tests that the model can be jitted.""" + + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) + }, + ) + model = NanoPET(MODEL_HYPERS, dataset_info) + + system = System( + types=torch.tensor([6, 1, 8, 7]), + positions=torch.tensor( + [[0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [0.0, 0.0, 2.0], [0.0, 0.0, 3.0]] + ), + cell=torch.zeros(3, 3), + pbc=torch.tensor([False, False, False]), + ) + system = get_system_with_neighbor_lists(system, model.requested_neighbor_lists()) + + model = torch.jit.script(model) + model( + [system], + {"energy": model.outputs["energy"]}, + ) + + +def test_torchscript_save_load(): + """Tests that the model can be jitted and saved.""" + + dataset_info = DatasetInfo( + length_unit="Angstrom", + atomic_types=[1, 6, 7, 8], + targets={ + "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) + }, + ) + model = NanoPET(MODEL_HYPERS, dataset_info) + torch.jit.save( + torch.jit.script(model), + "model.pt", + ) + torch.jit.load("model.pt") diff --git a/src/metatrain/experimental/nanopet/torch_test.py b/src/metatrain/experimental/nanopet/torch_test.py deleted file mode 100644 index 04c9f9d3b..000000000 --- a/src/metatrain/experimental/nanopet/torch_test.py +++ /dev/null @@ -1,9 +0,0 @@ -import torch - - -model = torch.nn.MultiheadAttention( - embed_dim=512, - num_heads=8, - bias=False, -) -torch.jit.script(model) diff --git a/src/metatrain/experimental/nanopet/trainer.py b/src/metatrain/experimental/nanopet/trainer.py index 546d8695a..86cd5c803 100644 --- a/src/metatrain/experimental/nanopet/trainer.py +++ b/src/metatrain/experimental/nanopet/trainer.py @@ -1,3 +1,4 @@ +import copy import logging from pathlib import Path from typing import Dict, List, Tuple, Union @@ -7,7 +8,6 @@ from metatensor.torch import TensorMap from metatensor.torch.atomistic import System from torch.utils.data import DataLoader, DistributedSampler -import copy from ...utils.additive import remove_additive from ...utils.data import CombinedDataLoader, Dataset, collate_fn @@ -262,52 +262,7 @@ def systems_and_targets_to_dtype( val_mae_calculator = MAEAccumulator() train_loss = 0.0 - # count = 0 for batch in train_dataloader: - # print(count) - # if count == 20: - # with torch.profiler.profile() as prof: - # optimizer.zero_grad() - - # systems, targets = batch - # systems, targets = apply_random_augmentations(systems, targets) - # systems, targets = systems_and_targets_to_device(systems, targets, device) - # with torch.profiler.record_function("additive_models"): - # for additive_model in (model.module if is_distributed else model).additive_models: - # targets = remove_additive( - # systems, targets, additive_model, train_targets - # ) - # systems, targets = systems_and_targets_to_dtype(systems, targets, dtype) - # with torch.profiler.record_function("evaluate_model"): - # predictions = evaluate_model( - # model, - # systems, - # TargetInfoDict( - # **{key: train_targets[key] for key in targets.keys()} - # ), - # is_training=True, - # ) - - # # average by the number of atoms - # predictions = average_by_num_atoms( - # predictions, systems, per_structure_targets - # ) - # targets = average_by_num_atoms(targets, systems, per_structure_targets) - - # train_loss_batch = loss_fn(predictions, targets) - # train_loss_batch.backward() - # optimizer.step() - - # if is_distributed: - # # sum the loss over all processes - # torch.distributed.all_reduce(train_loss_batch) - # train_loss += train_loss_batch.item() - # train_rmse_calculator.update(predictions, targets) - - # if is_main_process(): - # prof.export_chrome_trace("trace.json") - # exit() - # else: optimizer.zero_grad() systems, targets = batch diff --git a/src/metatrain/experimental/soap_bpnn/trainer.py b/src/metatrain/experimental/soap_bpnn/trainer.py index 5aa0fbc68..552cba4c7 100644 --- a/src/metatrain/experimental/soap_bpnn/trainer.py +++ b/src/metatrain/experimental/soap_bpnn/trainer.py @@ -368,7 +368,9 @@ def train( if epoch == start_epoch: metric_logger = MetricLogger( log_obj=logger, - dataset_info=(model.module if is_distributed else model).dataset_info, + dataset_info=( + model.module if is_distributed else model + ).dataset_info, initial_metrics=[finalized_train_info, finalized_val_info], names=["training", "validation"], ) diff --git a/tests/utils/data/test_targets_ase.py b/tests/utils/data/test_targets_ase.py index be4ed1e44..639036832 100644 --- a/tests/utils/data/test_targets_ase.py +++ b/tests/utils/data/test_targets_ase.py @@ -9,7 +9,6 @@ import torch from metatrain.utils.data.readers.ase import ( - read_ase_systems, read_energy_ase, read_forces_ase, read_stress_ase, diff --git a/tests/utils/test_llpr.py b/tests/utils/test_llpr.py index b3f5dfc40..bb87d266a 100644 --- a/tests/utils/test_llpr.py +++ b/tests/utils/test_llpr.py @@ -35,9 +35,6 @@ def test_llpr(tmpdir): "reader": "ase", "key": "U0", "unit": "kcal/mol", - "type": "scalar", - "per_atom": False, - "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -160,9 +157,6 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): "reader": "ase", "key": "U0", "unit": "kcal/mol", - "type": "scalar", - "per_atom": False, - "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -284,140 +278,3 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): torch.testing.assert_close( analytical_uncertainty, ensemble_uncertainty, rtol=1e-2, atol=1e-2 ) - - -def test_llpr_covariance_as_pseudo_hessian(tmpdir): - - model = load_atomistic_model( - str(RESOURCES_PATH / "model-64-bit.pt"), - extensions_directory=str(RESOURCES_PATH / "extensions/"), - ) - qm9_systems = read_systems(RESOURCES_PATH / "qm9_reduced_100.xyz") - target_config = { - "energy": { - "quantity": "energy", - "read_from": str(RESOURCES_PATH / "qm9_reduced_100.xyz"), - "reader": "ase", - "key": "U0", - "unit": "kcal/mol", - "forces": False, - "stress": False, - "virial": False, - }, - } - targets, target_info = read_targets(target_config) - requested_neighbor_lists = model.requested_neighbor_lists() - qm9_systems = [ - get_system_with_neighbor_lists(system, requested_neighbor_lists) - for system in qm9_systems - ] - dataset = Dataset.from_dict({"system": qm9_systems, **targets}) - dataloader = torch.utils.data.DataLoader( - dataset, - batch_size=10, - shuffle=False, - collate_fn=collate_fn, - ) - - llpr_model = LLPRUncertaintyModel(model) - - parameters = [] - for name, param in llpr_model.named_parameters(): - if "last_layers" in name: - parameters.append(param) - - loss_weight_dict = { - "energy": 1.0, - "energy_positions_grad": 1.0, - "energy_grain_grad": 1.0, - } - loss_fn = TensorMapDictLoss(loss_weight_dict) - - llpr_model.compute_covariance_as_pseudo_hessian( - dataloader, target_info, loss_fn, parameters - ) - llpr_model.compute_inverse_covariance() - - exported_model = MetatensorAtomisticModel( - llpr_model.eval(), - ModelMetadata(), - llpr_model.capabilities, - ) - - evaluation_options = ModelEvaluationOptions( - length_unit="angstrom", - outputs={ - "mtt::aux::energy_uncertainty": ModelOutput(per_atom=True), - "energy": ModelOutput(per_atom=True), - "mtt::aux::last_layer_features": ModelOutput(per_atom=True), - }, - selected_atoms=None, - ) - - outputs = exported_model( - qm9_systems[:5], evaluation_options, check_consistency=True - ) - - assert "mtt::aux::energy_uncertainty" in outputs - assert "energy" in outputs - assert "mtt::aux::last_layer_features" in outputs - - assert outputs["mtt::aux::energy_uncertainty"].block().samples.names == [ - "system", - "atom", - ] - assert outputs["energy"].block().samples.names == ["system", "atom"] - assert outputs["mtt::aux::last_layer_features"].block().samples.names == [ - "system", - "atom", - ] - - # Now test the ensemble approach - params = [] # One per element, SOAP-BPNN - for name, param in llpr_model.model.named_parameters(): - if "last_layers" in name and "energy" in name: - params.append(param.squeeze()) - weights = torch.cat(params) - - n_ensemble_members = 10000 - llpr_model.calibrate(dataloader) - llpr_model.generate_ensemble({"energy": weights}, n_ensemble_members) - assert "mtt::energy_ensemble" in llpr_model.capabilities.outputs - - exported_model = MetatensorAtomisticModel( - llpr_model.eval(), - ModelMetadata(), - llpr_model.capabilities, - ) - - exported_model.save( - file=str(tmpdir / "llpr_model.pt"), - collect_extensions=str(tmpdir / "extensions"), - ) - llpr_model = load_atomistic_model( - str(tmpdir / "llpr_model.pt"), extensions_directory=str(tmpdir / "extensions") - ) - - evaluation_options = ModelEvaluationOptions( - length_unit="angstrom", - outputs={ - "mtt::aux::energy_uncertainty": ModelOutput(per_atom=False), - "mtt::energy_ensemble": ModelOutput(per_atom=False), - }, - selected_atoms=None, - ) - outputs = exported_model( - qm9_systems[:5], evaluation_options, check_consistency=True - ) - - assert "mtt::aux::energy_uncertainty" in outputs - assert "mtt::energy_ensemble" in outputs - - analytical_uncertainty = outputs["mtt::aux::energy_uncertainty"].block().values - ensemble_uncertainty = torch.var( - outputs["mtt::energy_ensemble"].block().values, dim=1, keepdim=True - ) - - torch.testing.assert_close( - analytical_uncertainty, ensemble_uncertainty, rtol=1e-2, atol=1e-2 - ) From 853ccf0974b830252671970ad2ba8c4affe8cb5b Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 09:07:28 +0100 Subject: [PATCH 089/126] Fix `tests/resources` folder --- tests/resources/ethanol_train_1.xyz | 11000 -------------------------- tests/resources/options.yaml | 23 +- tests/resources/options_pet.yaml | 25 - 3 files changed, 9 insertions(+), 11039 deletions(-) delete mode 100644 tests/resources/ethanol_train_1.xyz delete mode 100644 tests/resources/options_pet.yaml diff --git a/tests/resources/ethanol_train_1.xyz b/tests/resources/ethanol_train_1.xyz deleted file mode 100644 index e1d7220b7..000000000 --- a/tests/resources/ethanol_train_1.xyz +++ /dev/null @@ -1,11000 +0,0 @@ -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.561992071153 pbc="F F F" -C 0.19970106 0.43197387 0.36250323 0.12762369 -2.71919782 -1.59520061 -C -0.49809287 0.74599562 -0.94902270 2.61226468 0.31245676 -1.24609030 -O 0.30968448 -1.03509020 0.61090673 -0.54246166 1.06915684 0.27287981 -H 1.27266838 0.61605511 0.29452188 0.31997235 1.23934089 0.22425015 -H -0.36913546 0.96917318 1.09395517 -0.13141849 0.44782266 1.67993752 -H -0.19007076 1.73384795 -1.43131626 -0.16236327 -0.86173549 0.46502330 -H -0.28078976 -0.07821817 -1.64347345 0.86860893 -0.04542884 -0.63701550 -H -1.53448212 0.67466507 -1.01107593 -2.85886328 0.28543831 0.81664964 -H -0.25925179 -1.52344439 -0.01074062 -0.23336297 0.27214668 0.01956605 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.560889974301 pbc="F F F" -C 0.28678675 -0.08054401 -0.47353047 -1.38370885 -0.79497045 0.25142919 -C -0.66671069 1.10165901 -0.21085351 1.65911734 -0.76353619 -0.82560727 -O 0.34024510 -0.87922676 0.65828068 0.71964343 -3.65128129 0.90514720 -H -0.16287301 -0.64302268 -1.31618949 -0.06230963 -0.20024324 -0.33625649 -H 1.27993147 0.23446093 -0.84324063 0.37277640 0.46121529 0.01255038 -H -0.15128420 1.86927971 0.33956012 0.53316521 0.98796035 0.40346885 -H -0.73139242 1.33792963 -1.27271822 -1.13196994 1.32063360 -0.35401979 -H -1.58192605 0.89916371 0.35305249 -0.45958428 -0.57431147 -0.35221626 -H 0.47292663 -1.91071820 0.44558433 -0.24712974 3.21453335 0.29550413 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625866460179 pbc="F F F" -C -0.15816900 0.28862165 0.42046268 0.83051062 0.43257740 1.03239983 -C 0.27301983 0.93475072 -0.84621461 0.54315920 -1.42121025 -1.80801270 -O -0.15884267 -1.12124729 0.34785667 -0.51965057 0.31000573 -1.22014256 -H 0.60600200 0.64918622 1.17146887 -0.17111392 -0.24503377 -0.13919592 -H -1.06674992 0.70686103 0.79999274 -1.73442909 0.28517369 0.50658746 -H 0.57883660 1.94243646 -0.78751912 0.87695674 1.89382144 0.99067389 -H 1.16434200 0.29716602 -1.01029825 0.30247697 0.36533290 -0.98432671 -H -0.31403293 1.05316446 -1.79942543 -0.45806939 -1.13736813 0.60190245 -H 0.18340847 -1.43015696 1.17742187 0.33015948 -0.48329901 1.02011432 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.474509717598 pbc="F F F" -C -0.17310169 0.58438358 0.27766879 -0.40877752 -3.51140928 -0.98397241 -C -0.61157331 -0.01498934 -1.08315879 -1.64272130 -0.38873463 0.35078668 -O 0.71021693 -0.51367675 0.71143624 -0.25101802 2.25857739 2.98559788 -H 0.27779538 1.48090130 -0.01350661 1.97297463 2.17872332 -0.31657161 -H -0.86106379 0.91704885 1.09270938 -0.63728922 -0.66668887 -0.41501126 -H -1.30956911 0.51092629 -1.74086522 -0.19586928 0.99175196 -0.01085104 -H 0.24802665 -0.25499284 -1.69149183 1.14932531 0.27779977 -0.28655895 -H -1.09616770 -1.00701634 -1.05618952 -0.15691468 -0.26207279 0.83069198 -H 0.81671158 -0.27953947 1.71474461 0.17029013 -0.87794682 -2.15411127 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.80676845415 pbc="F F F" -C -0.01418772 -0.47246329 0.36932440 1.85265184 -2.39275220 -1.84498101 -C -0.96733500 0.59570357 0.42586631 -1.69684237 3.37524782 2.35379586 -O 0.92278643 -0.09094678 -0.68251434 0.32703991 -0.22571049 0.70558854 -H 0.55293176 -0.66727344 1.31457708 -0.12745492 0.14313249 -0.15258628 -H -0.51146853 -1.47636012 0.04861556 0.45847320 1.06469372 0.71196863 -H -1.60465357 0.52905323 1.35652704 0.13059733 0.01603202 -0.39446485 -H -0.50369184 1.67252548 0.47329437 -0.33739117 -1.69734652 -0.09426968 -H -1.64959572 0.59578893 -0.40831613 -0.58056352 0.01608688 -0.92588428 -H 0.76367191 -0.68014453 -1.42645939 -0.02651024 -0.29938372 -0.35916688 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.781274316009 pbc="F F F" -C -0.04370833 0.33751561 0.49418488 -1.17449318 -1.66686891 0.78671145 -C 0.24857255 0.90355423 -0.86808128 2.18218973 -0.76581820 -0.26099889 -O -0.14769496 -1.10979505 0.31415209 1.81231909 1.16102805 -1.09547482 -H 0.72870720 0.46714388 1.28020736 0.18487220 0.62818746 -0.09079494 -H -1.03357721 0.72766069 0.93746680 0.87770457 -0.16990442 -0.51669128 -H -0.12946847 1.91515222 -0.91743845 -0.39215615 0.79113133 -0.59071002 -H 1.40427448 0.94783342 -1.05163191 -1.62086342 -0.09397951 0.12093322 -H -0.18308531 0.14457987 -1.59029905 0.08757047 0.99921911 0.24697537 -H -0.88460342 -1.37638311 0.81042614 -1.95714326 -0.88299498 1.40004991 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2318289315035 pbc="F F F" -C -0.34595296 0.39859502 -0.31667774 0.23075175 0.03330778 2.47081323 -C -0.51941434 -0.04143845 1.21923210 -0.85000715 4.20452570 -1.75727967 -O 0.76216570 -0.37445945 -0.85403498 -0.76875980 1.29486898 -0.58349458 -H -1.25878108 0.11236654 -0.87516619 0.14955156 -0.46938548 -0.11894652 -H -0.52324401 1.58118298 -0.23803313 1.53829519 -1.51577463 -0.90306959 -H -1.47509931 0.55053976 1.45606135 0.15593977 -1.77360551 0.34606963 -H -0.33699565 -1.08198404 1.25115187 -0.60335497 -1.84471639 0.60225829 -H 0.16061256 0.51016271 1.90451290 0.57814853 -0.24355493 -0.33257796 -H 1.64617502 0.01425508 -0.69703302 -0.43056479 0.31433449 0.27622713 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.636061306708 pbc="F F F" -C -0.09847947 -0.21592462 -0.57229749 2.08272873 0.69985524 0.06010336 -C -0.34477535 1.26257691 -0.05011581 -3.56399977 -1.24661460 -1.49307019 -O 0.44033237 -0.91318520 0.57527907 -0.09820347 1.13071005 -0.58791590 -H -0.87084632 -0.82649860 -1.10752429 -0.83131429 0.69814463 0.74405416 -H 0.68335875 -0.30974401 -1.41258178 -0.21544088 0.90124462 0.65745028 -H -1.28119962 1.26721468 0.62776063 1.12138764 -0.30029590 -0.43297788 -H 0.46048608 1.64870767 0.53700139 1.22629743 0.29113794 0.42034615 -H -0.69942092 1.98266798 -0.84951774 0.75758712 -0.40783161 0.22841303 -H -0.00106107 -1.74052453 0.48997743 -0.47904250 -1.76635042 0.40359700 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.225802304469 pbc="F F F" -C -0.41079578 0.21568952 0.23670050 -2.24342186 -1.15964217 0.49041506 -C 0.86617929 1.01508737 0.18229860 0.20936027 0.44497239 -0.34401506 -O -0.46213489 -1.10092878 -0.40116033 2.42318492 -0.07574303 -0.08653956 -H -0.82569259 -0.10908545 1.28581799 0.59527440 1.64461055 -0.93621878 -H -1.12265562 0.96960082 -0.30031733 0.10357153 -1.82825135 0.60771695 -H 1.44377666 0.60042457 -0.76013819 -0.89708062 1.52845784 1.08742809 -H 0.48113429 2.15169754 0.26687107 1.55142623 -1.99401083 -0.64086305 -H 1.51140146 0.79617778 1.04581335 0.36066707 0.09704401 0.24495613 -H 0.42029348 -1.60091412 -0.16311183 -2.10298194 1.34256260 -0.42287976 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.504088782736 pbc="F F F" -C -0.14578485 0.32337912 -0.39624167 1.91752008 -0.37598694 -2.77079021 -C -1.20845323 -0.14302450 0.52191596 -1.12469650 -1.38684493 0.74141158 -O 1.26109900 -0.11358593 -0.05878773 -2.28884545 1.57611942 -0.12249742 -H -0.44539327 0.09192985 -1.51170028 0.50139619 -1.09572288 1.32982072 -H -0.22666318 1.38930181 -0.73232874 0.75943661 0.53019004 1.63675840 -H -1.08229381 -0.05314883 1.63462699 0.35879597 0.49380470 -0.54033721 -H -2.14031625 0.37256367 0.22775826 -0.25555900 0.11318288 0.16755124 -H -1.44086645 -1.24720786 0.39534896 0.29052792 0.59154115 -0.08103400 -H 1.45387633 -0.90106907 -0.57809166 -0.15857587 -0.44628350 -0.36088304 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.895158888658 pbc="F F F" -C -0.00902536 -0.21823776 -0.53733526 -0.56262122 0.60455804 1.54066781 -C -0.29220333 1.26910710 -0.17298495 -0.53991663 -0.18267648 -0.52540516 -O 0.25013732 -1.00082832 0.60804103 -0.64242325 -0.97726728 -0.10861223 -H -0.93898831 -0.72210730 -0.84928875 -0.05827988 0.30839801 -0.97200886 -H 0.77745713 -0.27305893 -1.28164020 0.68296797 -0.27485416 -0.83550504 -H 0.05891665 2.05082228 -0.88177961 -0.06253686 -0.36888313 -0.35886586 -H -1.39486811 1.36065266 -0.09421613 0.09928174 0.40244165 0.31686697 -H 0.17836155 1.57333592 0.77325219 0.03224766 -0.21083840 0.44938044 -H 0.93707799 -0.62688092 1.14625194 1.05128042 0.69912180 0.49348197 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.85919229809 pbc="F F F" -C 0.22531367 0.42418824 -0.39484575 -0.75685204 -4.09983893 -1.34929580 -C -1.21360440 -0.05055743 -0.24086549 -1.16929893 0.47484882 1.08196963 -O 0.94200527 -0.28414828 0.58831506 1.34998239 -0.43504798 0.30116308 -H 0.58631259 0.24072075 -1.47574735 -0.06501720 0.14737342 0.88172593 -H 0.25009071 1.45793483 -0.22999342 0.41632623 2.22895385 0.63527245 -H -1.46643384 -1.16305505 -0.27299614 0.76527256 0.81777034 -0.02630013 -H -1.56709005 0.36098944 0.76714404 0.19613287 -0.67204247 -0.74223680 -H -1.86881383 0.42447377 -0.96376868 -0.61533785 0.33951038 -0.72913877 -H 0.88870898 -1.26439141 0.41201162 -0.12120807 1.19847253 -0.05315958 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.444820666567 pbc="F F F" -C 0.10515838 -0.19778228 -0.54334527 0.26347959 0.60139825 0.01528295 -C -0.31088314 1.24643866 -0.15265439 -1.23767307 0.54728515 -1.77355635 -O 0.24327514 -1.01351764 0.62094538 0.40404103 0.98034237 0.37762299 -H -0.58095455 -0.72609207 -1.16096370 -2.02484002 -0.29836912 -1.00699824 -H 0.94255664 -0.21454150 -1.31938540 0.43620605 0.24337094 1.34878097 -H -0.96380543 1.76869371 -0.96205929 1.49304016 -0.54293541 0.11973919 -H -1.21091860 1.29255160 0.54219316 1.28274422 -0.38290079 0.62208237 -H 0.60099293 1.88951142 0.06159963 -1.06525093 -0.34933894 0.32973725 -H -0.19902136 -0.41956738 1.27571452 0.44825291 -0.79885236 -0.03269112 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.700979912266 pbc="F F F" -C -0.42626143 0.08743796 0.31532280 0.04456078 0.59344881 -1.38433676 -C 0.11248185 1.14626973 -0.68630183 1.75796564 -1.57297260 -1.35532041 -O 0.25248344 -1.14337633 0.41450627 2.16527860 -0.10440631 -0.87518227 -H -0.60782998 0.61718758 1.27973792 0.39405064 -0.51227016 0.18752090 -H -1.36173200 -0.24094951 -0.07736743 -2.10758658 0.31938902 -0.27326352 -H 1.24432767 1.21731676 -0.58456094 -0.72911420 0.21264419 0.17126119 -H -0.02472561 0.98548138 -1.83919040 -0.14253152 -0.36093616 1.65748628 -H -0.31918176 2.10630893 -0.50332188 -0.47837350 1.30016041 0.40146344 -H 0.79941522 -1.23858235 -0.43428861 -0.90424978 0.12494285 1.47037120 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.557254710622 pbc="F F F" -C 0.43151114 0.28821540 0.11042636 1.56124569 -0.94540462 0.23172846 -C -0.72394562 0.93756136 -0.54703509 -0.10869389 -1.49289443 0.56535662 -O 0.32207508 -1.11834675 0.39088370 -1.22306935 -0.54740394 -0.05797181 -H 1.38712306 0.43264927 -0.42653735 0.16523071 -0.39199278 -0.62107028 -H 0.67349172 0.88097035 1.02319710 -0.30831307 -0.18779801 0.47240144 -H -1.19468834 0.38610573 -1.34651305 -0.48091416 -0.84807913 -0.48655012 -H -1.32594932 1.09547635 0.30803306 -2.19543935 0.24508232 0.86019813 -H -0.55308119 1.88205482 -0.94193241 0.92328510 2.54072155 -0.91434471 -H -0.61562596 -1.53329164 0.38178023 1.66666836 1.62776905 -0.04974778 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.1139317529105 pbc="F F F" -C -0.36774270 0.29206774 -0.32894846 -0.57848951 1.25283009 0.71250728 -C -0.49297004 0.01995695 1.23236023 -0.00771943 -0.55143872 -3.56451065 -O 0.74613294 -0.29134387 -0.83458332 3.51914141 -0.95015617 -1.21483488 -H -1.25085522 -0.24272628 -0.92731325 1.02259060 1.49698038 1.19824581 -H -0.21221488 1.44604787 -0.54823432 -1.38631831 -1.35161088 0.40788149 -H -1.34141509 0.53491001 1.53405816 -1.65022522 1.75903753 1.76531221 -H -0.75254641 -0.99499439 1.33501883 -1.15152962 -2.31344629 -0.26972275 -H 0.39622473 -0.11405303 1.79284038 1.76018291 1.47809824 0.96771285 -H 1.57250413 0.27581029 -0.70385639 -1.52763272 -0.82029423 -0.00259131 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614875481865 pbc="F F F" -C 0.44283690 -0.36394614 -0.18391502 -0.10343778 2.91527855 3.23384651 -C 0.20383226 1.07587586 -0.63055748 2.11811427 -0.28126407 -0.70254837 -O -0.61000191 -0.67414247 0.70132138 -1.28049697 -1.80031126 -1.37823918 -H 0.60336104 -1.03505504 -0.98210926 -0.66516770 -1.52983801 -1.59423239 -H 1.43133878 -0.36723157 0.29656294 0.53909048 -0.14950528 0.58717845 -H 0.21722100 1.81882326 0.24206685 0.12829943 -0.69791930 -1.08622332 -H 0.99659482 1.21932402 -1.43987087 -0.35322737 0.79052167 0.81370578 -H -0.70963126 1.09716592 -1.18658009 -1.43324950 0.33884220 -0.35555962 -H -0.56285589 -0.51703290 1.64292440 1.05007509 0.41419550 0.48207213 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.608064203804 pbc="F F F" -C 0.03634166 -0.47393233 -0.32784941 0.23959959 -1.07237258 -0.14227780 -C -1.25796615 0.12811559 0.14677928 -1.55740338 -0.32107351 0.60187077 -O 1.13697607 0.29260596 0.11055213 0.81235729 0.77036175 -0.15710582 -H 0.09748948 -1.49392357 0.08453477 0.18377017 -0.59136200 0.36665229 -H 0.08267871 -0.71384190 -1.47662074 0.05327153 1.01715786 1.39732048 -H -1.36997110 1.04727579 -0.48876566 -0.62310619 -0.10289795 0.65679104 -H -2.22478380 -0.61501775 0.05930918 2.08154114 1.73043848 0.13810120 -H -1.08044012 0.41683027 1.28084276 -0.66628644 -0.40396508 -1.76005713 -H 1.00338381 0.83331765 0.94351245 -0.52374376 -1.02628698 -1.10129492 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734210867107 pbc="F F F" -C -0.23570735 -0.50436780 0.29795775 2.18350434 3.23611428 2.09058572 -C -0.97591720 0.83091201 0.05523206 -0.13690275 -0.41600222 1.15551771 -O 1.06123170 -0.29509545 -0.33689838 -1.61154687 1.11556208 -0.10948260 -H -0.08940695 -0.58909499 1.46232290 -0.40843798 -0.50176057 -1.56780622 -H -0.72948053 -1.29821542 -0.17754326 -1.23210720 -2.01027178 -0.51111373 -H -1.86987170 1.09779187 0.70806205 0.35147640 -0.79579377 -0.91927166 -H -0.29137333 1.63273413 0.27660654 1.01886276 0.67802775 0.57625234 -H -1.06276089 0.96158551 -1.00858381 -0.96906921 0.03379865 -1.13387703 -H 1.63440833 -1.01327242 -0.12179353 0.80422057 -1.33967437 0.41919547 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.852744587346 pbc="F F F" -C -0.20589459 -0.02816254 -0.48841445 1.72203477 0.92452509 -0.95730703 -C 0.18450336 1.30766322 0.19729070 -0.78638497 -0.88805311 -1.71527385 -O 0.05239358 -1.13380473 0.30485512 0.35227483 -1.43143594 0.60649614 -H -1.24487982 -0.16358246 -0.71107577 -1.59115658 1.09658132 -0.75512482 -H 0.37051729 -0.05981461 -1.49282135 -0.45848169 -0.04761942 0.68040869 -H 1.25071147 1.28114573 0.44567967 0.35584414 -0.00282940 0.24284633 -H 0.03477535 2.08831750 -0.61171537 -0.07066772 -0.14166228 0.98865234 -H -0.43916702 1.40488742 1.09247296 -0.09022328 0.55984253 0.31654656 -H -0.54970915 -1.80179741 -0.09256123 0.56676049 -0.06934874 0.59275564 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699267800604 pbc="F F F" -C 0.05074272 0.61965379 0.12102496 0.75667746 -1.16069771 1.02599243 -C -0.80573588 -0.03909528 -1.00401141 0.96798333 3.41460258 0.22448078 -O 0.67647489 -0.52019055 0.74771161 0.20767409 -0.72080495 1.92033379 -H 0.91253285 1.22665734 -0.23669731 -0.23422763 0.10846969 -0.71285633 -H -0.34899619 1.28071819 0.93628957 -0.86358458 -0.20634318 -0.62205522 -H -1.04424914 0.75895807 -1.77604595 -0.26973946 -0.79995829 0.39080272 -H -0.11936883 -0.75009720 -1.41949801 0.58947188 -0.85521137 -0.69292575 -H -1.65244684 -0.54921350 -0.59559952 -1.15940434 -0.45938980 0.35385704 -H 0.51016943 -0.62933373 1.74459425 0.00514925 0.67933304 -1.88762945 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4208.938689370757 pbc="F F F" -C 0.02239098 -0.63475417 0.13818704 1.27301989 4.65060238 3.67105375 -C -1.26029282 0.22241591 0.04844547 2.46885467 -0.91158329 -3.91922849 -O 1.10159301 0.35115560 -0.07914041 1.41731153 -0.42513118 -3.00444202 -H 0.38521225 -1.00310128 1.15278380 -1.24500941 -0.16923608 -0.53850756 -H 0.15651179 -1.34845397 -0.56198746 -0.10648860 -3.30273811 -2.71022955 -H -2.11670353 0.07645942 0.56144534 -3.05563044 -0.75611434 3.03891872 -H -0.96869358 1.25018316 -0.06746172 0.40358065 1.12530343 0.89242491 -H -1.66643812 0.10407546 -0.98541659 0.11519878 -0.37683191 -0.23436513 -H 1.47407874 0.25877419 -1.06706770 -1.27083702 0.16572910 2.80437536 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.748601469618 pbc="F F F" -C -0.01100293 0.20056775 0.51667653 0.40337969 0.48437466 -1.45174803 -C -1.24468188 -0.00312786 -0.34720876 -1.95328280 0.36379723 0.84542986 -O 1.13881417 -0.15203690 -0.17954023 2.46953827 -1.42041151 -0.92711101 -H 0.16397687 1.28161143 0.74064065 -0.85932699 -0.01050435 0.45075434 -H -0.06082906 -0.38337240 1.38900909 -0.45749145 -0.86922959 2.18800881 -H -1.57090835 -1.03713939 -0.68951898 1.09812871 0.60039305 0.04910043 -H -2.16519412 0.27066708 0.27007539 0.66381504 0.15702668 -0.31529361 -H -1.21969153 0.74273479 -1.16068134 -0.08209669 -0.30842100 -0.45047481 -H 1.73769210 -0.81537532 0.28099031 -1.28266374 1.00297483 -0.38866603 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.558815588599 pbc="F F F" -C -0.34263969 0.21811123 0.44411169 1.33097736 -2.88691053 -3.69769265 -C 0.06482822 1.03240348 -0.77921940 -0.40918308 -1.00481101 0.46563640 -O 0.28856392 -1.12536946 0.38628464 0.04876094 1.09912774 0.59472943 -H -0.21394466 0.78547523 1.30134876 1.43504135 0.85475032 2.74204830 -H -1.37627349 0.00086076 0.48413446 -2.24742193 0.06786187 -0.40751330 -H 1.13600590 1.20673400 -0.90761372 0.38113018 0.41799868 0.38956103 -H -0.26423845 0.60366854 -1.71215531 -0.18291266 -1.24398019 -0.91286987 -H -0.57711865 1.87471208 -0.82081345 -0.39112817 2.21487690 0.27800988 -H 0.02452520 -1.51079130 -0.48336577 0.03473603 0.48108611 0.54809078 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.619278920044 pbc="F F F" -C 0.29745337 -0.35147094 0.22078408 -0.96139833 -0.32502905 -2.04453406 -C -1.29331054 -0.53242309 0.19225295 2.75562090 -0.44675925 1.00486027 -O 0.84938985 0.83809181 -0.37473634 0.92700559 -0.36098105 0.08036135 -H 0.70844313 -0.44886745 1.18594557 0.43695594 -0.30420166 2.22264328 -H 0.64435334 -1.21926054 -0.35349880 0.47838296 -0.56290913 -0.21260500 -H -1.64242844 -0.75443289 1.21882378 -0.28097272 0.43776918 -0.06924096 -H -1.64076827 0.36507555 -0.24631725 -1.20497089 1.47306022 -0.46839021 -H -1.54472585 -1.39609615 -0.42340674 -0.18346761 -0.27341989 -0.44745731 -H 1.85818133 0.68130114 -0.35500457 -1.96715586 0.36247065 -0.06563741 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.555126454199 pbc="F F F" -C 0.01613044 0.07400949 0.50402265 -0.05611347 -3.08095288 0.93954430 -C -1.15136412 0.53154588 -0.25845865 -1.76046059 4.11946170 -1.31227890 -O 1.04123295 -0.56981814 -0.27140423 -0.91718079 0.41856154 0.08322088 -H 0.40108953 0.90016010 1.05639884 0.74896204 1.22766505 0.93088626 -H -0.49547801 -0.62742092 1.31171096 1.30403944 0.46843870 -0.88274404 -H -2.06193885 0.45481362 0.34067901 -0.40235757 -0.28921413 0.48491238 -H -1.17695273 1.73724764 -0.43641446 0.44441569 -2.32099819 -0.02689066 -H -1.45160896 0.10010626 -1.22006637 0.53301203 -0.53789234 -0.35918879 -H 1.78357126 -0.73732529 0.32962862 0.10568323 -0.00506945 0.14253861 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.671209089828 pbc="F F F" -C 0.11408594 0.23718107 0.54237368 0.33604505 0.49258399 -2.54860831 -C -0.33930346 1.05012718 -0.79067766 1.70597828 0.02438337 1.90445357 -O 0.25778874 -1.15545018 0.24770040 0.51614307 0.00448575 0.02946639 -H 1.04679894 0.69985956 0.97282033 -0.23250072 -0.73785538 -0.32742614 -H -0.64647384 0.31618772 1.24915078 -1.80245536 0.61640543 2.05613627 -H -0.19112046 0.24440575 -1.46859863 -0.03566024 -0.80930750 -1.62817580 -H -1.35104101 1.44081806 -0.82807559 -0.75381834 0.04615816 0.22025224 -H 0.36152160 1.87608805 -1.06443259 -0.14413635 -0.21475722 0.15577198 -H -0.62893772 -1.57765256 0.16610837 0.41040466 0.57790340 0.13812984 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.631716806012 pbc="F F F" -C -0.31239392 -0.48633984 -0.11945614 1.20159261 -0.24439064 0.26557335 -C -0.97282497 0.79029041 0.49816080 0.08638287 -1.02743415 0.49368566 -O 1.16193281 -0.26754267 -0.32658867 -2.48077122 -0.08294937 3.85150330 -H -0.36275233 -1.24488531 0.72268510 -0.08797187 0.26204569 -0.63371302 -H -0.77841411 -1.00671926 -1.04710590 0.37345111 0.97418566 0.97519924 -H -1.90287153 0.42571236 1.08093936 0.78848099 0.85118564 -0.87417871 -H -0.20286879 1.04337637 1.27155510 -0.40690056 0.22599357 -0.08439479 -H -1.11788857 1.72138097 -0.12814125 -0.14768494 -0.87082846 0.14891814 -H 1.23480106 -0.31546396 -1.22854844 0.67342100 -0.08780793 -4.14259315 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.216830919839 pbc="F F F" -C -0.01438254 -0.27944291 -0.61873122 -5.16971270 1.41203881 3.97550996 -C -0.20971998 1.23409283 -0.17545621 1.19179573 -0.89160920 -2.27561162 -O 0.24498275 -0.87553870 0.69169765 0.83850243 -0.89832220 -0.25206970 -H -1.14093873 -0.56908533 -0.94505051 2.53654855 -0.08917823 -0.27896186 -H 0.81607763 -0.35335636 -1.29390801 0.64757652 -0.65749460 -0.92829557 -H -0.43748565 1.87910289 -1.02771897 -1.17753916 0.29008893 -0.51705483 -H -0.80029192 1.40312986 0.71980469 -0.45870291 -0.10315871 0.29305212 -H 0.79054150 1.60905351 -0.07840477 1.35665708 0.36132568 1.17197591 -H -0.44716774 -1.44828976 1.10931389 0.23487442 0.57630947 -1.18854441 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.380504618943 pbc="F F F" -C -0.17305796 -0.55027521 0.02185605 -3.31049513 1.84740643 0.30778028 -C -0.95059467 0.80572499 0.46892287 0.89389152 -0.52710749 2.24103094 -O 1.06942408 -0.29014771 -0.39772169 2.58525719 0.48272159 -1.60653234 -H -0.05937095 -1.24309754 0.89300501 -0.74436490 -0.18315445 -0.48723157 -H -0.89016769 -0.81701916 -0.87005847 0.93622321 -0.92413619 1.29288563 -H -1.92467097 0.67790396 0.05475370 -1.74913992 -0.06003955 -0.05945611 -H -1.04628179 0.97557233 1.65470278 0.32882261 -0.16524475 -2.31139213 -H -0.59811967 1.73675154 -0.04927033 0.45106452 -0.41157066 0.36980565 -H 0.93180445 0.23004776 -1.21811487 0.60874092 -0.05887489 0.25310961 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7087900190445 pbc="F F F" -C -0.15236173 -0.16702297 -0.58972780 3.33865263 1.67823673 2.03632941 -C -0.14895577 1.29032820 0.04412658 1.09564662 -1.92049649 -0.31397330 -O 0.30105943 -1.04419903 0.42648785 -1.11853263 -0.11121969 1.31257334 -H -1.06416895 -0.40873739 -0.99997915 -3.28447479 -0.72779095 -1.00207725 -H 0.57365217 -0.44188173 -1.34666445 0.64564865 0.82760059 -1.10073216 -H -0.83221515 1.16807056 0.87426612 -0.76908304 0.23768499 0.79949056 -H 0.83262310 1.53044572 0.50222643 0.10408935 -0.26355503 -0.14189671 -H -0.43622259 2.15806273 -0.51443236 -0.58029324 0.75201214 -1.07249054 -H -0.26295874 -0.81790933 1.21621706 0.56834645 -0.47247230 -0.51722334 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8132398195685 pbc="F F F" -C 0.01029129 0.54497928 0.24423148 0.91949735 0.01160494 -2.09292640 -C -1.29119429 -0.24779772 0.01833556 1.14577847 1.68381618 -1.51010530 -O 1.13169640 -0.25434814 -0.26669092 0.50418383 -0.32653649 2.07763476 -H 0.09298572 1.50212632 -0.38088326 -0.56999561 -0.56492462 0.79357512 -H 0.22680472 0.76607703 1.28550550 -0.25732380 0.40296266 0.82532496 -H -1.06177369 -1.20568662 0.44740329 -0.67889380 -1.09662261 0.64176346 -H -2.19532375 0.31658385 0.26373460 -0.41184171 -0.13837286 0.92190118 -H -1.40543813 -0.35485558 -1.08510675 0.23618300 -0.36123148 0.09712073 -H 1.64127615 -0.52962522 0.57385750 -0.88758774 0.38930433 -1.75428840 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.722504926634 pbc="F F F" -C -0.34084021 0.11874735 0.39973824 -1.73886321 1.12660441 -2.70346236 -C 0.03819856 1.10141007 -0.86414151 1.41667436 -1.22299155 2.60399915 -O 0.29270099 -1.10296682 0.46525633 1.00523981 0.41431238 1.38858351 -H -0.01957016 0.60469971 1.28944959 -0.02583949 1.12561448 1.36243512 -H -1.49754505 0.04713852 0.32681705 1.00109982 -0.08169483 0.56102775 -H 1.19618570 1.21368920 -0.68678826 -1.70559673 0.18668678 -0.98352031 -H -0.23614112 0.61690487 -1.83450996 0.21707379 0.37099077 0.24471799 -H -0.50993027 2.06306953 -0.65836200 0.40604222 -0.39350259 -0.47068003 -H 0.02616593 -1.57870771 -0.28792075 -0.57583058 -1.52601987 -2.00310077 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4477765906295 pbc="F F F" -C -0.26496460 -0.05407322 -0.48110037 -0.93120009 -2.21875114 -0.51460159 -C 0.86032078 0.80890484 -0.31406811 2.24295243 4.21026194 -0.61177862 -O -0.56434604 -0.75294053 0.68341646 -0.59415730 -1.03223548 0.39566303 -H -1.05247446 0.63811863 -0.76622200 -1.21888231 0.05261451 -0.75814371 -H -0.09297188 -0.86566277 -1.20462257 -0.18401659 0.10964170 -0.78806632 -H 1.80373579 0.36804630 0.11533946 -0.39634895 0.05327749 -0.47240756 -H 1.07265426 1.40850097 -1.39454988 -0.24081799 -1.21084560 2.82293231 -H 0.44055707 1.56811341 0.49209441 1.22568591 -0.53155318 -1.24936342 -H -0.30873458 -0.16155526 1.38513741 0.09678489 0.56758978 1.17576582 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.811889281444 pbc="F F F" -C 0.33927550 -0.06658609 -0.44973400 -0.19514422 -0.10622002 0.00546956 -C -0.57215903 1.15906652 -0.25363061 -1.31625028 -0.16386212 0.14925979 -O 0.26935176 -0.98124662 0.64829599 1.17912939 1.46300782 0.21929090 -H 0.12927799 -0.62157812 -1.39262428 -0.35589479 0.17451070 -0.14968942 -H 1.40613446 0.15975712 -0.56021752 0.41268529 0.75572003 0.04204434 -H -0.66383778 1.94012123 -1.04731273 0.22853155 -0.57524786 -0.17341783 -H -1.62474493 0.91963420 0.11231665 0.47512043 -0.55414599 -1.03697886 -H -0.34861689 1.71179475 0.63838317 1.25220526 0.69804225 1.06607964 -H -0.39966069 -1.55363421 0.34016886 -1.68038263 -1.69180486 -0.12205818 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553561678762 pbc="F F F" -C -0.33974174 0.40434328 0.22350191 -0.72421871 -1.82683019 -2.62230731 -C 0.97183456 0.81591640 -0.48244467 -2.35194014 2.50144166 -0.77658372 -O -0.58037272 -1.12278043 0.20076237 0.73542338 2.93827116 -0.51824859 -H -0.39612107 0.80200396 1.22143765 -0.19698339 0.24434508 1.14125024 -H -1.20721390 0.81270933 -0.39750659 0.65551660 -0.19314010 0.68446039 -H 1.27860501 0.02707669 -1.12471373 0.28149856 -0.99036176 -1.38020248 -H 0.78570663 1.84699127 -1.06325295 0.31074579 -2.04243907 0.69405699 -H 1.80745650 1.04805571 0.12126073 1.33173696 0.16003847 1.57853811 -H -0.58902649 -1.25675257 1.14158466 -0.04177900 -0.79132525 1.19903642 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.365940590522 pbc="F F F" -C -0.30163607 0.05743564 -0.40488321 2.23060558 -2.67707506 -1.62402027 -C 0.35806386 1.26977604 0.10783698 -0.47265073 -0.49695661 3.40841671 -O -0.01466933 -1.20513477 0.24309798 1.46056115 1.22914791 -2.01372940 -H -1.35870684 0.18935210 -0.60989093 -0.88670565 0.10752563 -0.19470354 -H 0.27256070 0.00696423 -1.35692356 -0.74540044 -0.93839754 -0.58568115 -H 1.36178086 0.97884693 0.61553840 -1.04878763 0.76949626 -1.17237022 -H 0.31125571 1.87448959 -0.79226196 0.60256687 1.40150089 0.12889608 -H -0.35977216 1.55070352 0.93445883 0.86531673 1.07690636 -0.20602920 -H -0.66765405 -1.28748083 0.88992466 -2.00550593 -0.47214777 2.25922104 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.528261022852 pbc="F F F" -C 0.09695516 0.49556653 -0.00418502 -0.25659387 -1.05662857 2.53978798 -C -0.84220296 0.02557552 -1.00889847 -2.05030907 0.37463032 -0.46594144 -O 0.70990185 -0.50979423 0.87717423 -0.92791520 1.13054463 0.22316098 -H 0.81064452 1.13126854 -0.41856325 2.16637827 1.37289514 -1.14971997 -H -0.48130395 1.09266569 0.64794130 -0.88633705 1.63306789 1.26805627 -H -1.10629695 0.84531733 -1.74629701 0.03649914 -0.47304092 0.63221715 -H -0.28173972 -0.68109356 -1.53861533 0.60177867 -2.07791424 -1.65785600 -H -1.77709138 -0.41580712 -0.54438387 0.64743881 0.15760899 -0.53986289 -H 0.44670394 -0.09167451 1.74820137 0.66906025 -1.06116328 -0.84984208 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.502001667709 pbc="F F F" -C 0.17803013 -0.57061933 -0.22365059 0.99812979 1.43439662 2.05449883 -C -1.16652062 0.12196660 -0.46058213 -1.62773768 -1.90448360 -0.56610985 -O 0.93940154 0.36485498 0.65384040 0.41384547 -2.04192197 -0.60004549 -H 0.37453214 -1.63392139 0.25602170 -1.34639930 1.65983832 -0.36901472 -H 0.59187480 -0.73102728 -1.21673504 0.96683467 0.33503105 -0.84095347 -H -1.11596915 1.14206510 -0.99460288 0.28760642 -0.90767192 1.15367387 -H -1.69135994 -0.49540382 -1.24317445 -0.04944439 0.18426845 0.15698719 -H -1.87839566 0.01956331 0.42624054 0.73583763 0.82679229 -0.59398869 -H 0.58580261 1.25193207 0.54697853 -0.37867261 0.41375065 -0.39504761 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.592397127193 pbc="F F F" -C -0.02159746 -0.32380858 -0.49182514 0.19421169 -1.83121552 -0.50432601 -C 0.62182824 1.07208616 -0.37913893 -0.24150447 -1.50582492 -2.46544364 -O -0.55692217 -0.60873456 0.80199381 -0.18799908 -3.55625751 -0.35737266 -H -0.89685562 -0.59137188 -1.26299295 1.63444811 1.19795990 0.63164740 -H 0.84717025 -1.12789721 -0.73603580 -1.32559177 1.47028178 0.16306693 -H 1.30710560 0.98216683 0.43081861 0.93601685 0.11794713 1.22163468 -H 1.20648490 1.30259117 -1.30920079 -0.27917094 0.05067338 0.33979243 -H -0.09911091 1.84541366 -0.20050035 -0.81790470 0.86648391 0.26950292 -H -0.67795594 -1.66627690 0.72605337 0.08749441 3.18995185 0.70149802 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.519665881094 pbc="F F F" -C -0.30876910 -0.55155582 -0.06158253 1.88905487 3.33965613 -0.45039032 -C -0.96871079 0.76195278 0.46756217 3.00423473 0.70912468 -0.19005318 -O 1.12878101 -0.26121425 -0.33683656 -1.31175794 -3.17773710 2.72279696 -H -0.27709741 -1.36457472 0.61953685 -0.12057671 -1.16285806 1.13479471 -H -0.74403570 -0.82408981 -0.97896736 -1.13409558 -0.96788455 -1.78595859 -H -1.93095145 0.81862017 0.99413260 -0.30264070 -0.50335589 0.00113648 -H -0.09211095 1.04840745 1.19956201 -1.64150517 0.29162043 -0.84254745 -H -0.96591105 1.51708644 -0.41858683 -0.08273694 -0.80969666 1.27585073 -H 1.31412448 0.44229133 -0.90663590 -0.29997657 2.28113096 -1.86562934 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.723695600818 pbc="F F F" -C 0.28945254 -0.07197624 -0.52754706 -1.65938072 1.38299259 3.11701992 -C -0.63536450 1.13148013 -0.08670670 0.89238840 0.37966233 -1.79219773 -O 0.34896851 -1.01755668 0.50868660 -0.17031065 -1.56244141 0.87287547 -H -0.29102162 -0.52281001 -1.33618318 0.57560638 -0.31614449 -0.89962210 -H 1.32385691 0.25265680 -0.68109167 0.31737091 0.43634453 -1.08044687 -H -1.69247902 0.93764714 -0.19497431 -0.97062648 -0.84130360 0.03849370 -H -0.54678573 1.58737302 0.91130695 0.72307416 -0.05052471 0.25482742 -H -0.50808330 1.91437730 -0.87309984 0.20714917 0.30192074 0.38236138 -H 0.29613575 -0.64383515 1.41897462 0.08472873 0.26949407 -0.89331112 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.847121153783 pbc="F F F" -C 0.09501989 -0.05553224 -0.53412723 -0.29160747 -2.00047994 1.07610325 -C 0.49233307 1.20077949 0.13708797 2.12856396 0.34135355 0.24627577 -O -0.59670236 -1.04273184 0.31055280 0.51504788 0.62797478 -0.00756079 -H -0.52050997 0.15732828 -1.39219808 -1.08193940 -0.05483265 -0.68347113 -H 0.98547852 -0.51546026 -0.97673231 0.60066698 -0.40647555 -0.11687185 -H 0.70507944 1.00028197 1.17993206 0.09046419 -0.20247676 1.02577743 -H 1.51156599 1.49924616 -0.24406661 -0.64127860 0.27560739 -0.03887185 -H -0.17097439 2.04424465 0.12309662 -0.91173930 0.80213412 -0.24870145 -H -0.03890263 -1.28234245 1.11160440 -0.40817824 0.61719507 -1.25267942 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.756033375066 pbc="F F F" -C -0.49682970 0.20895576 0.37155638 2.07216751 1.20097154 -1.58335472 -C -0.32957696 0.25772345 -1.18559833 -1.47444892 0.77425137 0.26518675 -O 0.73380662 -0.44831561 0.71445878 -0.32911952 -0.06780253 1.23938085 -H -0.51033428 1.32153754 0.60841224 0.08209170 -0.53302689 0.54745335 -H -1.40183571 -0.21079420 0.83999773 -0.31673009 -0.55426282 -0.31987239 -H -1.16558352 0.83137512 -1.69622848 0.00939080 -1.14617370 0.20148102 -H 0.47757456 0.93390429 -1.46673349 0.91655400 0.34829944 0.48604953 -H -0.01018214 -0.70547221 -1.61453938 -0.64830234 -0.31435439 -0.15703609 -H 0.80892433 -0.61676294 1.68842016 -0.31160326 0.29209788 -0.67928831 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.271835249856 pbc="F F F" -C 0.20150284 -0.50455971 -0.37929537 1.70822722 -0.22061435 3.23355150 -C -1.20091662 0.03394286 -0.35093331 1.16147845 1.18308303 -0.79185808 -O 0.93939032 0.37940809 0.63433430 0.89200371 -2.08229627 -1.79435602 -H 0.35627951 -1.65344905 0.11971830 -0.52529722 2.62880269 -1.74112584 -H 0.62431613 -0.40160691 -1.42835225 0.21053547 -0.22800725 0.89679044 -H -1.02281108 1.20083179 -0.40115646 -0.81838354 -1.76636256 -0.17367186 -H -1.68089934 -0.35300716 -1.26248941 -0.93690146 0.17325976 0.12343690 -H -1.62426927 -0.24716084 0.61018977 -0.87725905 -0.01190133 0.30437151 -H 0.34420985 1.03831975 0.99453792 -0.81440353 0.32403629 -0.05713857 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.677585232732 pbc="F F F" -C 0.49158198 0.08609781 -0.31822000 -1.78160561 -1.61616931 0.07412128 -C -0.69618975 1.09027995 -0.40663488 0.87422016 -0.35526358 -1.04670036 -O 0.15480733 -1.06714756 0.63171344 0.61746308 1.76091033 -1.08939004 -H 0.62634236 -0.32797914 -1.35668159 0.40560796 -0.07638370 0.54890433 -H 1.36061295 0.61783466 0.04155841 1.01440153 0.23255266 0.09642807 -H -0.68959625 1.72240104 -1.43021869 0.25826653 -0.86959896 2.29286373 -H -1.59795751 0.45921043 -0.45998185 -0.37679314 0.10726656 0.16476221 -H -0.63635434 1.62721372 0.56619305 -0.63587547 0.55146674 -0.51208648 -H 0.91677425 -1.17877667 1.24914558 -0.37568509 0.26521925 -0.52890268 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.544706151182 pbc="F F F" -C -0.29478774 -0.48334699 0.13933959 2.38104026 2.50964184 0.03178419 -C -0.87788257 0.89541246 0.21445323 0.26077932 1.47949667 -0.31936763 -O 1.09151521 -0.45318226 -0.29550247 -1.28777684 -3.69562430 1.26317148 -H -0.45200219 -0.92379323 1.14229735 0.45629846 -0.62854268 -0.04980743 -H -0.92500922 -0.92111732 -0.60449959 -0.48263896 -1.45354806 -0.93878685 -H -1.91213610 0.70857035 0.16336154 -2.45530855 -0.09716408 0.60683650 -H -0.68718408 1.59524691 1.07277265 0.30387354 -0.53755322 -0.33412304 -H -0.82097581 1.45311617 -0.75265568 0.76575176 0.01857818 0.14871888 -H 1.44393901 0.36979694 -0.54648341 0.05798107 2.40471565 -0.40842610 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.883757593963 pbc="F F F" -C -0.05012511 0.55199144 -0.14130052 0.83395574 -2.22796438 0.33452419 -C -1.29919998 -0.33876896 0.27344225 0.30534524 0.78927289 -2.26824078 -O 1.24372755 -0.15794128 -0.17868702 -1.08230079 0.34877129 -0.38060022 -H -0.07144613 0.96356942 -1.15892644 -0.58643530 0.15223543 -0.26415826 -H 0.05740063 1.38641856 0.56134239 -0.30044436 0.48673694 0.40193786 -H -1.16364853 -0.78560011 1.21635193 0.65355701 -0.85000545 1.99480171 -H -2.19955437 0.26620466 0.41096748 -0.34356938 0.65946741 -0.05251377 -H -1.65727249 -1.17904521 -0.39357612 0.79524664 0.58192934 -0.07420947 -H 1.37006396 -0.68676529 0.62559301 -0.27535485 0.05955649 0.30845869 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.605840388043 pbc="F F F" -C 0.25048161 0.46652787 0.25534502 0.11148518 -1.73341947 -1.11010939 -C -0.96476606 0.64597121 -0.71714136 -0.53113137 -1.01115125 1.39773761 -O 0.69843786 -0.98429513 0.44073492 3.32503288 5.60153137 -0.06575583 -H 1.12843778 0.86394421 -0.27987701 0.19175983 0.25315121 -0.00568409 -H 0.15825266 1.10410602 1.17121364 -0.17964227 -0.74684360 0.25735219 -H -1.20331962 1.71748814 -0.93433048 0.38668582 -0.32927250 -0.12249382 -H -0.73554985 0.03844330 -1.61531483 -0.12624080 0.35373619 -0.24697599 -H -1.94741085 0.21621350 -0.28792945 1.06815658 0.36679679 -0.27066331 -H 0.02351637 -1.57425412 0.45309660 -4.24610585 -2.75452875 0.16659258 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7369356125355 pbc="F F F" -C 0.27691334 0.34670435 0.45674257 -0.92114126 -0.67466860 -0.83711080 -C -0.49767881 0.84819105 -0.76684375 1.10172461 -1.34652899 0.53433651 -O 0.19576813 -1.06453273 0.24058915 0.78861520 -0.97040043 2.69518109 -H 1.32227152 0.69611012 0.55832997 0.30654224 0.26272215 -0.29958998 -H -0.21416686 0.53257727 1.43113811 -0.23717725 0.70179539 0.07843940 -H -0.08974897 0.26921911 -1.63054524 -0.59223288 -0.37716363 0.25332641 -H -1.56420799 0.73755195 -0.59091462 -0.59854356 -0.27088340 -0.29192181 -H -0.26869090 1.81121709 -1.08866389 0.34135530 2.81792518 -0.23867358 -H 0.33671526 -1.38893538 1.19688851 -0.18914234 -0.14279768 -1.89398728 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542195095982 pbc="F F F" -C 0.15824069 -0.43662680 -0.41486485 0.73658006 4.88771355 0.53622689 -C -1.29528271 0.18218067 -0.26530093 0.88108079 -2.18475050 -3.29943913 -O 1.07103858 0.22907215 0.60256369 0.43371692 -0.44869329 -4.40233117 -H 0.27172336 -1.48963203 -0.47779564 -0.19021850 -1.87950913 0.42316387 -H 0.63667078 -0.03487884 -1.34150486 -0.49644383 -0.22927748 -0.09017093 -H -1.28266552 1.25238898 -0.18864989 0.35622019 1.11712249 0.34119399 -H -1.81222721 -0.01879322 -1.30496061 0.40069720 0.13984641 1.63080089 -H -1.89478471 -0.26944020 0.51013166 -0.49522816 -0.39084612 0.75720279 -H 0.62839823 -0.04528891 1.34297979 -1.62640461 -1.01160597 4.10335286 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.618898773071 pbc="F F F" -C 0.08678738 -0.03414473 -0.57822866 -0.61035223 -2.10385956 1.11255250 -C 0.53534722 1.10876847 0.18011858 -0.16309130 2.29813022 2.36569071 -O -0.58406490 -1.02582883 0.29656113 -0.38910646 0.74476857 -2.86551467 -H -0.58667719 0.50442522 -1.24657183 -0.77930801 -1.06425503 -1.13536935 -H 0.94974151 -0.49545020 -1.06402532 0.16312580 -0.52925081 -0.71830610 -H 0.92962336 0.83995069 1.20283591 0.40295021 0.27541857 -0.58957272 -H 1.19351460 1.77877730 -0.39957994 0.44724164 -0.03642169 0.14166855 -H -0.37595671 1.72834572 0.37366808 0.28802150 0.06464259 0.36140786 -H -0.25356863 -0.87950223 1.17016389 0.64051884 0.35082720 1.32744322 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.585015886448 pbc="F F F" -C -0.03720627 0.08288148 0.58085278 3.53159578 -0.61477854 -0.27173927 -C -1.14514512 0.49277283 -0.27805520 -2.34697467 1.94009334 0.75098025 -O 1.09473490 -0.49988377 -0.22216480 -0.93829834 0.39316120 0.17544196 -H 0.56898126 0.90812501 1.03677787 -0.89207509 -0.13366080 0.45733235 -H -0.32619366 -0.67397306 1.29510105 -0.29534236 -0.55211029 1.02461000 -H -2.19840411 0.76583996 0.26428964 2.20762068 -0.80118718 -0.91678185 -H -0.81062419 1.44138447 -0.74934499 -0.40001802 -0.33555931 -0.76058718 -H -1.26509549 -0.36918769 -0.93529143 -0.68847373 -0.04680695 -0.87161527 -H 0.74222114 -0.99839747 -0.99319112 -0.17803435 0.15084847 0.41235906 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.575107734912 pbc="F F F" -C 0.33549576 0.02572453 -0.38721599 1.67469380 2.02076297 -0.46531059 -C -0.68128870 1.08815019 -0.13478284 -2.29767097 1.10608638 -0.39161154 -O 0.28279122 -1.01840645 0.48294722 1.83370836 -2.08839169 3.24507565 -H 0.06779768 -0.49389058 -1.25288008 -0.25381744 -0.07057681 -3.30684473 -H 1.38683858 0.52517126 -0.48891316 -1.11675132 -0.63736759 0.01487132 -H -1.72544224 0.63150265 0.05016489 1.13819834 0.41454229 -0.16271345 -H -0.48684582 1.78794636 0.68709641 0.29994361 -0.15813359 0.73767726 -H -0.82645593 1.83925811 -0.98860097 0.31449991 -1.06909956 0.32072882 -H 1.21476864 -1.39897740 0.54731823 -1.59280429 0.48217760 0.00812736 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.249180941363 pbc="F F F" -C 0.21652320 -0.04325636 0.58325190 3.64568734 4.35364202 -3.17154208 -C -1.20267032 0.34047116 0.34312272 0.89353429 -1.44796866 -2.23288974 -O 0.92190792 -0.29235771 -0.78117855 -0.68123597 -0.76291645 1.87036593 -H 0.89854763 0.88553494 0.94772078 -1.36076051 -1.95744135 0.18856539 -H 0.29072849 -0.93720867 1.16595384 0.51157555 -0.93069369 0.79183797 -H -1.68736900 0.72942905 1.18821236 -1.10526800 0.93102479 1.65346420 -H -1.31996157 0.97046895 -0.59429818 -0.05843513 -0.30769898 0.91691036 -H -1.51340461 -0.69741784 0.16823497 -1.53414718 0.00940705 -0.55649469 -H 0.44770265 0.14675693 -1.51465111 -0.31095035 0.11264526 0.53978267 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542697746252 pbc="F F F" -C -0.01417718 0.41444192 0.45649645 -1.88972182 -2.81990216 -1.83297246 -C -0.30070216 0.73070872 -1.05657307 -0.33528436 -1.80664440 2.96570797 -O 0.25107066 -1.01671572 0.52574466 -0.69926815 0.20162053 -0.42734798 -H 0.84279889 0.89616320 0.84886088 1.11566493 1.47101593 0.64349756 -H -0.98546309 0.61183161 0.97290304 0.50574665 0.36398256 0.55564983 -H 0.06549729 1.67617483 -1.20508456 0.65046865 3.15983060 -1.15482387 -H 0.20749116 0.01132456 -1.62299195 1.75321162 -1.30385210 -1.19101098 -H -1.31111205 0.51724050 -1.34809059 -1.36463989 0.47479318 0.01652906 -H 0.94659165 -1.22124844 1.15963069 0.26382237 0.25915592 0.42477091 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.973450234401 pbc="F F F" -C -0.09413739 -0.50565849 0.25985917 1.01731562 0.98630070 -1.31742198 -C -0.96249546 0.71398158 0.44731863 -0.80298947 -1.14972681 2.44537329 -O 0.99374409 -0.17701223 -0.60963817 0.55933149 -0.33020375 0.14458655 -H 0.32183117 -0.92779611 1.19198429 0.11086868 0.37920128 0.38241881 -H -0.65829429 -1.32098945 -0.15207826 -0.89937785 -1.06967919 -0.59249293 -H -1.75177381 0.30276648 1.17370203 0.19592008 0.97679158 -0.64874431 -H -0.38014458 1.47057452 0.99987131 -0.04306394 0.31812198 -0.06587575 -H -1.43233612 1.15586501 -0.43889466 -0.03909004 -0.13214297 -0.39486892 -H 0.71659362 -0.35453665 -1.52436696 -0.09891459 0.02133723 0.04702529 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718974896817 pbc="F F F" -C 0.31455458 -0.06631580 -0.42566228 1.31430894 -0.96587040 -1.88452428 -C -0.56254678 1.12626514 -0.23036715 0.88015344 0.69599128 0.04293523 -O 0.29564001 -0.96698702 0.60336403 -1.14116359 -0.93006716 2.80389390 -H -0.00927591 -0.74732175 -1.27752875 0.16056128 1.37439477 -0.69265275 -H 1.41229195 0.14789971 -0.56226062 -0.49973433 0.36175372 -0.25681838 -H -0.49891266 1.85710231 -1.02153476 0.77169193 0.83550139 -0.85537700 -H -1.56216652 0.83677628 -0.42479471 -2.06645390 -0.66671602 0.59490745 -H -0.40903006 1.67257634 0.72536138 -0.13677158 -0.34299505 0.01119834 -H -0.67160137 -1.04964240 0.80064304 0.71740780 -0.36199258 0.23643754 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.921585432316 pbc="F F F" -C -0.27070871 -0.45208692 0.19830155 0.51798814 -0.09099163 0.86822512 -C -0.90371037 0.89906510 0.04215270 -0.04497776 0.01193481 0.62991457 -O 1.06921634 -0.44642424 -0.17597533 1.92410164 -0.03320411 -0.49317817 -H -0.31206967 -0.91183360 1.27261476 0.09716727 1.01358156 -1.16799579 -H -0.84292572 -1.15460845 -0.38286210 -0.78934930 -1.07082852 -0.84639500 -H -1.85040499 0.87998608 0.58807480 -0.54395907 0.49565425 0.16063687 -H -0.21817435 1.65996976 0.42611263 0.10590326 0.41665214 0.58189144 -H -1.07664984 1.19268289 -0.99673345 -0.21403459 -0.19140543 -0.61821106 -H 1.32165286 0.09232765 -0.97915943 -1.05283954 -0.55139311 0.88511202 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.787358480773 pbc="F F F" -C 0.45573065 0.10509353 -0.21322112 1.60548493 -0.52629970 -2.26452245 -C -0.71552540 1.01931872 -0.43882242 0.11296002 -0.07771131 0.87231620 -O 0.30757338 -1.01728126 0.63072761 -1.24250078 0.72581557 0.73753939 -H 0.62370084 -0.37763097 -1.23803149 0.49102359 0.84364022 0.30056268 -H 1.35063172 0.71064957 0.05477001 0.15692960 -0.40153214 0.18456531 -H -0.65676885 1.65978823 -1.32315060 0.64275374 0.52000605 -0.18249059 -H -1.45638902 0.31906923 -0.76106315 -1.85778058 -0.62905747 0.05792780 -H -0.98420241 1.60119482 0.46424776 -0.33840182 -0.01845143 -0.07826420 -H -0.66444942 -1.16548728 0.56126472 0.42953126 -0.43640979 0.37236580 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5771800153225 pbc="F F F" -C -0.01580612 -0.16545404 -0.53854926 0.24755407 -1.32459156 2.60339710 -C -0.31316150 1.26452886 -0.20562122 -1.79543156 -1.32154644 1.68741923 -O 0.32617247 -0.97120989 0.66809550 0.45279739 1.22771323 -0.14929203 -H -0.82403119 -0.68889703 -0.97989632 -1.70550689 -0.39416362 -1.04849813 -H 0.77422834 -0.21527387 -1.25109697 1.54077584 -0.14142080 -0.95841029 -H -0.28629427 1.93770460 -0.99952891 -0.55711443 1.13271675 -2.65874644 -H -1.26591092 1.38840206 0.36967140 0.18500929 -0.07313253 -0.33089590 -H 0.40963044 1.76403041 0.37382518 1.83156452 0.23868124 1.71313047 -H -0.06605980 -1.86776726 0.74970135 -0.19964828 0.65574368 -0.85810402 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.890987946174 pbc="F F F" -C -0.26705423 -0.27842954 -0.43570585 -2.18719202 2.06363782 -0.25188443 -C -0.91200166 0.26058989 0.88270885 -0.46533018 0.58891200 -0.86877009 -O 1.08531274 -0.03080226 -0.47249482 1.42414954 -0.30243244 0.03066216 -H -0.53365901 -1.29857980 -0.70958794 0.02491878 -1.07123306 0.44510305 -H -0.72402873 0.29278252 -1.29322199 -0.19731434 0.01025428 0.18009802 -H -2.00946792 0.20235506 1.07204506 0.02820126 -0.36907957 -0.73695673 -H -0.50172577 -0.25945650 1.72297749 0.80797381 -0.63836317 1.17734335 -H -0.72121510 1.35979863 1.02189355 0.30282659 -0.40673652 -0.23888997 -H 1.31127338 0.40311433 0.35945050 0.26176652 0.12504066 0.26329458 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.750075549509 pbc="F F F" -C 0.18812592 -0.31263587 -0.37373050 -0.92156725 1.99009396 1.54370778 -C -1.35626494 -0.04843808 -0.24112898 1.77404358 -0.37592246 -2.63645496 -O 1.02981183 0.34914981 0.61829847 -0.53787039 -0.22186746 -0.82160298 -H 0.47171465 -1.32933576 -0.35414255 -0.19690214 -2.35623152 0.16376544 -H 0.49523966 0.00131449 -1.36153638 0.06550947 0.64291516 -1.14056638 -H -1.61411914 1.00380762 -0.46260294 0.05747374 0.09091866 0.39071042 -H -1.79645097 -0.63256153 -1.09460702 0.13898195 0.26977304 0.03859896 -H -1.88887479 -0.46312675 0.57272893 -0.42513724 -0.34145444 1.94260217 -H 1.90456726 0.17880744 0.21240098 0.04546823 0.30177511 0.51923955 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.57104279754 pbc="F F F" -C -0.10056440 -0.49212230 0.23412483 1.47505621 -0.73016943 -0.71902878 -C -1.06166684 0.65298715 0.45585735 -0.95894452 -1.05704823 1.93784558 -O 1.08120042 -0.16963154 -0.56815111 0.04896148 0.54956701 1.02598868 -H 0.46220607 -0.80455855 1.19257948 -1.39633785 -0.24060237 -0.86889957 -H -0.63575587 -1.28221092 -0.36901819 0.11182528 -0.25102542 1.04879668 -H -2.13890329 0.51267786 0.78257906 0.75849749 -0.98578335 0.03002072 -H -0.72283907 1.38247742 1.15848726 0.86516756 1.02479877 0.80474898 -H -1.21790372 1.12207499 -0.44353408 -0.20535248 1.71993474 -3.04925137 -H 0.93916501 -0.15621694 -1.52451050 -0.69887313 -0.02967167 -0.21022087 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.654315328211 pbc="F F F" -C -0.29557033 -0.19632812 -0.38714056 2.02380967 -0.10337648 1.34278525 -C -0.12373091 1.30025979 -0.21643277 -2.23157545 0.52607210 0.15203653 -O 0.39984912 -1.03339249 0.51979994 0.60132724 -0.39443291 -0.18959794 -H -1.26629695 -0.59568537 -0.54236407 -2.10987095 0.00890348 -0.18256592 -H 0.25043326 -0.43687577 -1.25268515 0.77568851 -0.42110663 -2.22150258 -H -0.29306233 1.71898545 -1.22576771 0.93937471 0.32989810 -0.27972069 -H -1.04588405 1.78380489 0.22987772 0.73886881 -0.32389550 0.68454308 -H 0.81397436 1.58669640 0.31285146 -0.21507733 0.01186153 -0.45878569 -H 0.18932509 -0.80955422 1.41934527 -0.52254517 0.36607641 1.15280797 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.686374245325 pbc="F F F" -C -0.30595113 -0.27913824 -0.40944640 -0.65991149 -0.23473918 2.97631656 -C -0.88734246 0.59124892 0.82144790 0.43742666 -0.31541060 -0.86401786 -O 1.07127659 -0.27282037 -0.40054554 0.61081029 1.63070715 -1.72684217 -H -0.75828190 -1.27633171 -0.58824011 -0.10973379 -0.39192866 0.57803340 -H -0.64540759 0.25567972 -1.24752026 -0.34605322 1.31188573 -1.93637110 -H -1.90314543 1.00411030 0.47422189 0.89203647 -0.43802038 0.93444729 -H -0.85267123 0.13396262 1.88113035 -0.37249543 0.26668777 -1.33997144 -H -0.12491611 1.42981001 0.82704408 -0.74189772 -0.26250936 0.14007472 -H 1.49805761 -0.93729153 0.10192438 0.28981824 -1.56667252 1.23833055 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.818190583056 pbc="F F F" -C -0.15980809 -0.53163218 0.02858949 1.09949963 -0.04361117 1.85904237 -C -1.06347897 0.60423334 0.39701799 0.17417219 1.47677263 1.54843290 -O 1.12776190 -0.14135204 -0.38797059 0.48094188 0.52747012 0.13262634 -H -0.01822165 -1.15558865 0.92473161 0.00615733 -0.46887507 0.26950060 -H -0.51317320 -1.15979713 -0.74666271 -1.49047122 -1.13716399 -1.23074384 -H -1.97795456 0.36292418 1.01202465 0.11913103 -0.20409516 -1.06214354 -H -0.59544439 1.37915388 1.11538017 0.19226371 -1.04400877 -0.68039100 -H -1.20653386 1.19275182 -0.50981479 -0.96703825 0.41434576 -0.48963617 -H 0.98575589 0.75766667 -0.70883553 0.38534365 0.47916571 -0.34668767 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.637452811205 pbc="F F F" -C -0.42408020 0.15183479 -0.37143678 -0.51974554 -2.54503967 1.22897307 -C -0.56495617 0.15629326 1.20097715 0.37426672 -1.74972278 -1.23606037 -O 0.91259635 -0.25350852 -0.72654279 -0.95271345 0.37682718 0.91244543 -H -1.30797086 -0.60930274 -0.82716400 1.97792148 2.00411512 0.80808283 -H -0.60017618 1.20080653 -0.53794972 -0.37860921 1.10056087 -1.40263732 -H -1.51241389 0.70783730 1.40944398 0.33490209 -0.36342741 0.51181420 -H -0.51306436 -0.92303609 1.54666693 -0.65322981 0.70888670 0.05085618 -H 0.34157262 0.57420908 1.67626823 -0.11390366 0.64699133 -0.12376817 -H 0.89053080 -0.59966130 -1.61946076 -0.06888857 -0.17919140 -0.74970586 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.60676123661 pbc="F F F" -C -0.27689866 0.01423385 -0.51864560 1.33946426 1.12399808 4.31443500 -C -0.90357440 0.34210673 0.92367277 0.58500145 3.85637806 -1.72054209 -O 1.08466979 -0.29806209 -0.39763740 1.21307743 0.22030340 -0.34990078 -H -0.83049504 -0.75133165 -0.88008267 -2.20265906 -3.31411350 -1.74111961 -H -0.41898743 0.83908591 -1.19638966 0.09263081 1.09846537 -0.48068584 -H -1.91768881 0.81885292 0.80088733 0.23153784 -0.40565090 -0.09778495 -H -1.00821605 -0.41127862 1.66492179 0.17846146 -1.58898641 0.75369292 -H -0.30825079 1.23323404 1.40236705 -0.54989066 -1.42503672 -0.62303893 -H 1.33190790 -1.24499939 -0.30619891 -0.88762353 0.43464272 -0.05505567 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.969592214558 pbc="F F F" -C -0.42334786 0.10540076 0.38697192 2.66478066 0.62507154 0.28144709 -C 0.13572748 1.14688696 -0.66878024 -1.07344889 0.27038373 1.97194058 -O 0.29199050 -1.12708356 0.28734753 -0.86672287 -0.95116420 -0.53670511 -H -0.26302277 0.49927143 1.45819308 -0.03850814 -0.26735888 -1.04247902 -H -1.48460533 -0.05361893 0.29958006 -1.24182715 0.05812644 -0.34834300 -H 1.22686300 1.33103488 -0.63405242 0.06951432 -0.42516280 0.32795440 -H -0.11074273 0.81399425 -1.67706230 -0.33054725 0.12183835 -0.59461784 -H -0.33475901 2.12952642 -0.36154621 0.09666539 -0.37830433 -0.79995747 -H -0.24228491 -1.75346747 -0.28823235 0.72009399 0.94657025 0.74076032 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.627550980414 pbc="F F F" -C 0.51971808 -0.29283340 -0.07763386 -2.63624660 2.06474617 2.74613708 -C 0.22413886 1.10350399 -0.68070120 -0.50242340 -1.09394465 0.98594584 -O -0.66687590 -0.77987425 0.65973933 0.87325378 0.19305027 -0.55384178 -H 0.67771423 -0.86946885 -0.90490508 0.28619761 -2.78646989 -2.41244768 -H 1.36922607 -0.37726240 0.58885909 0.98154791 0.25892797 0.37594524 -H 0.81640177 1.87528664 -0.18676531 -0.42037921 0.78470450 0.54899694 -H 0.58799591 1.10807772 -1.69479676 0.01915930 0.12025023 -1.18640896 -H -0.91823766 1.13162528 -0.64064443 1.16327298 0.68592654 -0.14427035 -H -0.81238816 -0.15055022 1.40235511 0.23561762 -0.22719108 -0.36005633 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.909778446852 pbc="F F F" -C -0.00830577 0.02233836 0.56982034 0.26204235 -2.82927800 -0.08246883 -C -1.17597707 0.52319954 -0.26906140 0.21390413 0.34204359 -0.10938510 -O 1.06508123 -0.44490596 -0.28984571 -0.79877219 1.21884256 -0.57606907 -H 0.40566876 0.67677254 1.32107754 0.15587112 1.26318593 0.59621630 -H -0.30453205 -0.92097870 1.17440806 -0.26577276 1.11841200 -0.38047568 -H -1.85871139 1.27326284 0.20507996 0.03942839 -0.72102442 0.34295895 -H -0.80514155 1.10498315 -1.13028158 0.40311013 -0.06836226 -0.25743632 -H -1.69100689 -0.36723892 -0.68413561 -0.32327638 0.30317405 0.02926292 -H 1.45832683 -1.20682292 0.13080901 0.31346520 -0.62699339 0.43739689 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.644087469445 pbc="F F F" -C 0.15610233 0.47185855 -0.20163670 0.60910925 1.01772299 -1.68839959 -C -1.33825485 0.00422549 -0.28242479 -0.92014285 -0.51497352 1.27360528 -O 1.11149567 -0.39942181 0.48100563 -1.70530820 -0.54695543 -2.08450228 -H 0.48318742 0.74092510 -1.28057586 0.05808983 -0.70265609 0.82718340 -H 0.26013161 1.50134113 0.25235133 -0.32344160 -0.74098457 0.27279038 -H -2.09597816 0.29895677 -1.09407517 1.54167064 0.15491905 0.19301422 -H -1.45947643 -1.13989596 -0.22743748 0.35751171 1.13217995 0.13383769 -H -1.81987684 0.45809357 0.63144416 -0.02330089 -0.73727647 -0.20019701 -H 1.07447776 -1.19381095 -0.14876660 0.40581206 0.93802416 1.27266790 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.405886085398 pbc="F F F" -C -0.36780238 -0.20232027 -0.50110931 2.05761218 1.43144109 3.85053419 -C -0.84850653 0.59000731 0.94210159 1.52549912 -2.53982357 -1.63542343 -O 1.10779283 -0.39406207 -0.38002598 -1.61755786 0.44899298 -1.22129539 -H -0.88911747 -1.16067245 -0.69531401 0.00795782 -0.08957372 0.49767992 -H -0.62860756 0.47278906 -1.28406259 -0.15325724 0.90111535 -1.35082566 -H -1.87918322 0.74898765 0.80705806 -2.18926675 0.80906098 -0.21682588 -H -0.83636490 -0.21327949 1.71479925 0.47878647 0.40167515 0.14906860 -H -0.32645438 1.53527115 1.27430853 -0.01221084 -0.82044557 -0.64149699 -H 1.46797986 0.25078293 -1.03940002 -0.09756286 -0.54244268 0.56858464 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.514684739595 pbc="F F F" -C 0.09499284 -0.57676080 -0.03971700 -1.12509065 2.16984818 5.30006788 -C -1.28558116 0.18164632 0.16980192 -0.09427318 -4.30642143 -1.37136534 -O 1.13646182 0.33198196 -0.12664830 1.31182222 0.67501616 -1.23350737 -H 0.34110476 -1.06705574 0.99791139 -0.71346784 0.02624778 -1.22508458 -H -0.03855067 -1.41404675 -0.68171680 0.25621988 -0.88118482 -1.97169550 -H -1.96442461 -0.76806312 0.29875140 0.25893943 1.72287794 -0.00901599 -H -1.39729540 0.83242261 1.01807885 0.25872711 0.63768733 0.82808298 -H -1.59003213 0.64363656 -0.78217846 -0.14176389 0.36200019 -0.12623082 -H 0.79588813 1.21015348 -0.39061472 -0.01111313 -0.40607138 -0.19125121 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734200086688 pbc="F F F" -C -0.35215084 0.06547707 0.51438417 0.22250561 -1.17730350 -3.54337843 -C 0.82635736 0.96758348 0.13096050 -0.67930173 0.29021265 0.58767457 -O -0.48967859 -0.92755216 -0.58377812 -1.30307106 0.82036000 1.03014985 -H -0.17851231 -0.45088886 1.49176628 -0.51622395 0.43373517 0.02439664 -H -1.32557880 0.61066306 0.31939302 0.63742770 -0.10957048 1.19162676 -H 0.77699138 1.37730395 -0.91558451 -0.22301566 -0.16012013 0.67842395 -H 0.69734306 1.71701393 0.90519023 0.39261550 1.48106838 0.17745770 -H 1.84064127 0.58791513 0.32174228 0.15249958 -0.63872436 -0.09208892 -H 0.31028765 -1.43017156 -0.54596661 1.31656400 -0.93965779 -0.05426212 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.816888504341 pbc="F F F" -C -0.25465424 -0.46738401 0.02780233 1.32330374 0.80373663 -2.91105818 -C -0.97892083 0.76468829 0.43447672 -0.93289224 0.45033093 0.98363442 -O 1.10716265 -0.27768679 -0.49223919 -0.18961702 -0.12586901 1.31580424 -H -0.28913460 -0.98629030 0.93385308 0.37042194 -2.11320465 1.79982512 -H -0.80276921 -1.01376721 -0.77894374 0.16153254 -0.05100582 0.25899147 -H -1.93733103 0.39233057 0.90992115 0.36968450 0.48208823 -0.26530405 -H -0.37778776 1.19202748 1.25572116 -0.08501299 0.50405733 0.17222376 -H -1.23115666 1.55328688 -0.28908057 0.15225728 0.01276142 -0.41460739 -H 1.76217967 -0.27396714 0.27346455 -1.16967781 0.03710489 -0.93950939 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.576545060456 pbc="F F F" -C 0.08940412 -0.39347957 0.44892158 -2.66923546 -0.45636917 -0.41698505 -C -1.10200216 0.61867429 0.32991484 -1.00169694 -3.48772247 -2.18775268 -O 0.91795929 -0.22035924 -0.71321361 -1.00886080 -1.04017263 0.69597524 -H 0.59492332 -0.26144993 1.44246052 0.17817679 -0.26275958 -0.44277106 -H -0.56417699 -1.42081821 0.46924946 2.13253256 1.41484430 -0.22257693 -H -2.01203282 0.21449372 0.86821956 0.67367646 0.89706226 0.31650280 -H -0.79226238 1.61719023 0.44945345 0.14683771 2.02312854 0.57138488 -H -1.45287492 0.47107267 -0.77986527 0.59034302 0.51484183 1.39893241 -H 1.72053700 0.19241422 -0.40909936 0.95822671 0.39714692 0.28729038 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.537378115105 pbc="F F F" -C 0.03206268 -0.51997457 0.33491935 -2.46684952 -0.06482828 -2.40123350 -C -1.23938711 0.19382072 -0.25415573 0.41289756 0.54820520 -0.82613229 -O 1.15032226 0.23011972 -0.04402878 0.45845752 0.16529530 -0.13854512 -H -0.09117295 -0.53960885 1.39131699 0.01679250 -0.58708595 1.79381382 -H -0.14986075 -1.55093824 -0.13780505 1.52627328 0.62295598 0.59135701 -H -1.60068445 0.98962158 0.48579151 -0.14409758 -0.70228051 -0.99167632 -H -0.78533753 0.68898265 -1.19723395 -0.83333904 -0.23751232 0.95040788 -H -2.03917745 -0.50559129 -0.69365537 0.52536063 0.80947739 0.99509897 -H 0.79234044 1.14973701 -0.11191537 0.50450466 -0.55422688 0.02690948 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.566144859094 pbc="F F F" -C -0.10105893 0.49103511 0.07064392 1.82961897 0.52878344 0.70884186 -C -0.88834935 -0.22544226 -1.02089511 -0.36989090 -0.77899819 -0.94266871 -O 0.91677394 -0.26236192 0.83815462 -0.53972539 0.11499798 0.39832361 -H 0.48708435 1.32818205 -0.51671443 -1.12552182 -0.59193685 1.27156721 -H -0.82892576 0.84167397 0.84931841 0.18701002 0.52085965 -0.60387803 -H -1.79302702 0.42631202 -1.23339912 0.19443007 -0.83002782 0.46348218 -H -0.44345083 -0.25711037 -2.04702117 0.62570197 0.19656651 0.41839602 -H -1.10734434 -1.33105317 -0.86136386 -0.34034141 1.00217290 0.45789414 -H 0.92226105 -0.00976527 1.82812065 -0.46128152 -0.16241762 -2.17195823 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.530069362327 pbc="F F F" -C -0.32538361 -0.47348358 -0.13468486 0.88545660 1.57309128 -3.56835121 -C -0.86257726 0.64201611 0.65444970 -2.19390091 3.25290585 0.24807601 -O 1.07681185 -0.24870881 -0.45146002 -0.47123097 0.28401130 0.08842490 -H -0.23719549 -1.41880524 0.27175368 -0.57760212 -2.62825931 1.70504877 -H -0.90260679 -0.58122550 -1.12678298 0.23309876 -0.02317583 0.88990533 -H -1.97539604 0.78775374 1.00604067 1.39677561 -0.85630249 -1.06771605 -H -0.34204174 0.87279858 1.54071709 1.30419499 -0.52854396 2.13777607 -H -0.58553085 1.66346659 0.18769929 -0.68193948 -1.07897898 -0.41132373 -H 1.10499790 0.61410936 -0.90680058 0.10514751 0.00525215 -0.02184009 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.761316698623 pbc="F F F" -C 0.15729351 -0.37800393 -0.34095989 -0.90846654 0.13710762 1.75348390 -C -1.29504212 0.15728685 -0.33241961 1.09764108 0.33792025 1.98289976 -O 1.05681350 0.13366939 0.63423123 -0.91291183 2.90697558 -0.27274760 -H 0.19037004 -1.42173156 -0.12394184 -0.12787329 -1.68300937 -0.24353585 -H 0.54447011 -0.16191894 -1.29855081 0.74396129 0.04819329 -2.14253236 -H -1.11726808 1.25421136 -0.45589393 -0.79359743 0.04534656 0.50094476 -H -1.81613810 -0.14096879 -1.20622426 -0.74238407 -0.64491604 -1.55945229 -H -1.95600297 -0.17106185 0.55373193 0.98904695 0.78197198 -0.71868297 -H 0.93590345 1.14827029 0.48754309 0.65458385 -1.92958992 0.69962260 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.867676568714 pbc="F F F" -C -0.23923857 -0.47756476 0.06751785 1.33020623 -0.15736648 -0.82112434 -C -0.99411296 0.77871197 0.46445067 1.21939885 0.37391746 -0.16927362 -O 1.08568822 -0.29448818 -0.51496383 -1.13590471 0.13328012 -0.86565648 -H -0.15796996 -1.22346494 0.89446746 -0.44720909 -0.02438713 -0.13383388 -H -0.73228943 -0.86139850 -0.83034906 -0.55634259 -0.84168901 -0.00672889 -H -2.05427963 0.64574923 0.69083369 -0.51377966 -0.43932964 -0.02855196 -H -0.51781670 1.09392147 1.40534701 0.01268007 0.89038304 0.12287728 -H -0.90509171 1.52219116 -0.37938875 0.06222807 -0.16742582 0.72498932 -H 1.82965571 -0.09247627 0.05431605 0.02872283 0.23261750 1.17730257 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.554644162406 pbc="F F F" -C -0.04226733 -0.29472499 0.57110165 -1.20586604 2.35762331 -1.67065342 -C -1.02481279 0.64128801 -0.17088895 -0.73799088 -0.21909113 1.96144425 -O 0.97535737 -0.39547698 -0.32748620 2.80070377 -0.74193686 -2.33714842 -H 0.41013120 0.05873553 1.48245703 -0.45278073 0.65227464 1.58757313 -H -0.58276473 -1.19881792 0.71364584 -0.25908763 -1.86075915 0.37940486 -H -1.76171042 1.13576919 0.46659454 -0.87897639 -0.18069287 0.45155858 -H -0.44234213 1.49458576 -0.42895852 0.90748531 1.26530575 -1.03608916 -H -1.52139265 0.16664420 -1.03133594 0.17281825 -0.07640740 -0.12443912 -H 1.13030426 0.48945891 -0.77306387 -0.34630560 -1.19631630 0.78834930 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.685625316491 pbc="F F F" -C -0.21762755 -0.42209022 0.31727403 -0.00716654 0.70114156 -0.02616901 -C -0.94188438 0.87931846 -0.05370753 2.09751397 0.81666029 0.27108677 -O 1.07941234 -0.42881418 -0.18218600 0.84453640 0.21878177 -2.31293870 -H -0.22969155 -0.61329235 1.40188057 0.33254629 0.12472878 0.36475708 -H -0.69607673 -1.28902024 -0.14142384 -1.17875879 -0.50804784 -0.05551260 -H -1.77907608 0.91048531 0.59731960 -2.05339598 0.24529644 0.31432508 -H -0.36051470 1.88466206 0.22742124 -0.59724417 -2.02237232 -0.70256055 -H -1.13129243 0.80228897 -1.14785937 -0.45848189 0.60294297 0.23460430 -H 0.87859990 -0.33827095 -1.18611435 1.02045062 -0.17913175 1.91240764 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.706176829392 pbc="F F F" -C 0.08092329 -0.28120530 0.43135613 0.60002302 -0.94238254 1.23233402 -C 0.80274174 1.01957915 0.21781462 0.65928193 2.79517353 -1.71369925 -O -0.85834857 -0.68274479 -0.54453862 -1.42709330 1.05253337 2.76469294 -H 0.94515390 -1.00682925 0.58369406 -0.87365565 -0.23217327 -0.02504744 -H -0.44779287 -0.21054428 1.42995622 -0.02416190 -0.32567743 -0.73099609 -H 1.84230428 0.88028205 -0.19381979 -0.36729486 -0.11441356 0.17742088 -H 0.27406841 1.57448700 -0.67041026 0.50892572 -0.37561387 1.50121566 -H 0.97076730 1.75971715 1.10578474 -0.68918639 -1.16895085 -1.05077618 -H -0.49043835 -0.95968181 -1.34711915 1.61316142 -0.68849543 -2.15514460 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.749892635694 pbc="F F F" -C 0.00822983 0.51094768 0.09216145 1.44661759 0.19159399 1.07235329 -C -0.89497373 -0.05698301 -0.97189428 -0.52099181 1.53294421 -2.23651593 -O 0.77697663 -0.41961125 0.85500142 -2.05049917 0.83511711 1.51594032 -H 0.68908334 1.36016321 -0.32532720 -0.79082218 -0.95164819 0.20418911 -H -0.51781325 0.94360148 0.95036463 -0.93385327 0.75822650 -0.26261287 -H -1.23695954 0.92309296 -1.52914065 -0.12875019 -1.48824022 0.74259105 -H -0.33414212 -0.56386899 -1.83414397 -0.36750055 0.05924538 1.05336363 -H -1.80589052 -0.66114936 -0.66458961 0.87901470 0.42521376 -0.03937435 -H 1.43801575 -0.75217898 0.31405900 2.46678493 -1.36245261 -2.04993420 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.856726983366 pbc="F F F" -C -0.30247389 -0.19920482 -0.39170065 1.25293874 -0.35590472 0.49973320 -C -0.13582491 1.32139255 -0.25323297 -0.06920723 0.52176401 -0.69625780 -O 0.42004311 -1.00280212 0.58283282 -0.11704730 0.96518268 0.15713400 -H -1.34742321 -0.49965683 -0.42659338 -0.76640441 -0.10418664 -0.18112667 -H 0.18955044 -0.42443280 -1.33914633 -0.12014008 -0.34432256 -0.90152472 -H -0.01250202 1.83334241 -1.28542117 -0.19241160 -0.68785142 1.26009402 -H -0.92005582 1.85966409 0.29828821 -0.61519490 -0.08886373 0.01032761 -H 0.73812755 1.56457935 0.35206038 0.87025022 -0.10759284 0.05147638 -H -0.09337747 -1.78923768 0.83437867 -0.24278334 0.20177520 -0.19985603 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539038977537 pbc="F F F" -C 0.11769738 -0.21561439 0.51779775 -2.33148408 0.92358453 -0.07354982 -C -1.27023648 0.29375702 -0.02757906 0.48686765 1.03482746 2.36588041 -O 1.08844448 -0.11352254 -0.42455547 2.65039410 -0.52757502 -2.77437839 -H 0.48319916 0.42188725 1.34009765 -0.43942523 0.48039171 0.60130893 -H -0.04304365 -1.21521388 1.06949729 0.36181573 0.24964510 -1.15210837 -H -1.82965483 0.53290281 0.91536260 -0.37063606 -0.38047352 -0.30931415 -H -1.22435624 1.34233150 -0.46154657 0.28960798 -0.98130330 -0.30895924 -H -1.85279786 -0.43900897 -0.60096444 0.04145036 -0.04857875 -0.40391201 -H 0.92214258 0.22643159 -1.36481065 -0.68859041 -0.75051828 2.05503265 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.948537699898 pbc="F F F" -C -0.23380333 -0.24170992 -0.44561337 2.11781680 0.87917488 -1.31117672 -C -0.03557191 1.29582378 -0.27104284 -2.20410572 -0.13004896 0.26907113 -O 0.25744456 -1.00917290 0.60463356 0.13788281 -0.62300149 0.80584828 -H -1.28671394 -0.39267305 -0.70802137 -0.66066755 -0.43762186 -0.10008840 -H 0.43421123 -0.62793351 -1.29964780 -0.99809425 0.59509668 0.33116766 -H -0.03093877 1.90338700 -1.21801428 -0.23239875 -0.45073094 0.36895790 -H -0.88931445 1.66453785 0.41569283 0.77648298 -0.12623103 -0.88576544 -H 0.84944686 1.54771552 0.27518930 1.40833550 0.03671459 0.50798629 -H 0.04570694 -0.63847533 1.47696910 -0.34525186 0.25664807 0.01399930 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.69347899769 pbc="F F F" -C -0.32903124 -0.30541053 -0.27689477 1.51213606 2.59031434 -0.97631459 -C -0.88122406 0.68071424 0.74261422 -0.69154959 -1.89843781 0.83535931 -O 1.12202863 -0.39617055 -0.46344963 -1.38617001 0.09591601 0.06419713 -H -0.62295812 -1.26186765 0.03248700 -1.06086318 -2.18890849 0.09651246 -H -0.85872317 0.08476900 -1.19977935 0.66935217 -0.97496861 -0.13979370 -H -1.92844763 0.76879442 0.44688923 -0.78585574 0.04037543 0.04558994 -H -0.93202351 0.24345213 1.78239035 0.52245019 0.74747306 -0.33968475 -H -0.54048980 1.68842798 0.64226011 0.95115371 1.23250011 0.23251795 -H 1.49278919 0.29133255 0.10270492 0.26934639 0.35573595 0.18161621 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.66433433409 pbc="F F F" -C 0.17299433 -0.51277277 -0.24351318 -0.98889315 -0.91990621 1.67765134 -C -1.20435377 0.12288365 -0.37270622 -1.11539733 -2.12096311 -0.53716585 -O 0.95899466 0.36600147 0.48667150 1.69775496 1.29505913 0.26477934 -H -0.09992563 -1.44870175 0.30373553 0.64368479 -0.31767662 0.07880907 -H 0.77622489 -0.86288752 -1.09479935 -0.30407141 0.32852734 -0.80540333 -H -1.11662418 1.16304065 -0.49848680 0.20062032 2.10534288 -0.72469200 -H -1.87165751 -0.33936898 -1.18539920 0.56012180 0.44803575 0.87849524 -H -1.68407349 0.01653745 0.63863577 -0.07826631 -0.11276122 -0.53285930 -H 1.06236216 0.30615732 1.45412300 -0.61555372 -0.70565801 -0.29961440 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.44228596921 pbc="F F F" -C 0.42292834 -0.07323516 -0.45909328 -5.97735788 -0.24094027 0.56137300 -C -0.61945195 1.15229112 -0.23837830 1.47486672 0.41174421 0.04715112 -O 0.26264811 -1.03458095 0.63321755 -1.30815690 2.03557443 -0.36262553 -H 0.06661973 -0.43802242 -1.46025912 -0.17812521 -0.75163799 0.27005123 -H 1.38606487 0.14748853 -0.69977102 3.84183466 1.25589958 0.09329081 -H -0.79422776 1.79458920 -1.14010809 0.27681293 -0.49673915 -0.10964149 -H -1.64769070 0.74900239 -0.00482697 0.65699725 0.09296423 0.20457251 -H -0.25813554 1.94205296 0.50949672 -0.48556169 -1.06299560 -0.17631315 -H -0.58093687 -0.63245312 1.05530642 1.69869012 -1.24386943 -0.52785846 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.800984027018 pbc="F F F" -C 0.28050573 0.01252346 0.55949975 -0.98821088 -2.10113594 -0.93131029 -C -1.18467454 0.22844776 0.26098225 -0.01596501 3.41765572 1.35401357 -O 0.89536324 -0.24915306 -0.72302597 1.58872632 -0.43155688 1.92461689 -H 0.70271889 0.83656014 1.20124915 0.14192628 -0.17037405 -0.58605740 -H 0.27100783 -0.96078502 1.19961967 0.68501333 1.07182159 -0.74601848 -H -1.70345941 0.36511897 1.22182948 -0.41334097 0.11036032 0.32056551 -H -1.34191661 1.23936663 -0.27422075 0.11880943 -1.08125137 0.29260218 -H -1.71851523 -0.53253437 -0.24701611 -0.37808162 -1.46139141 -1.03608674 -H 0.35090103 0.13423729 -1.40154021 -0.73887693 0.64587198 -0.59232519 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.636290660248 pbc="F F F" -C 0.19082221 0.49850805 -0.32421522 -0.33634478 0.05586690 3.31152954 -C -1.34559891 0.00098235 -0.22650630 2.83028181 0.51138858 -0.56914735 -O 1.05155413 -0.39270306 0.51182632 -0.78212532 2.08975201 -0.52121143 -H 0.55439368 0.56180087 -1.34960365 0.04474035 -0.07551836 -0.75589307 -H 0.38245001 1.50898409 0.18065494 -0.32921069 -0.81087479 -0.59893236 -H -2.15418706 0.65011318 -0.58599562 0.10758055 0.22425781 -0.68230884 -H -1.11724154 -0.88234108 -0.82850417 -1.36189221 -0.84741907 -0.27844964 -H -1.60739622 -0.25376621 0.79403384 0.16223450 -0.33064449 0.76885164 -H 1.00970774 -1.30474250 0.22745354 -0.33526415 -0.81680859 -0.67443849 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.59310652318 pbc="F F F" -C -0.11205458 -0.24332424 0.54185203 1.75557549 1.81777873 0.71189500 -C -1.04273954 0.76730114 -0.21032460 -2.00924720 -2.74166218 2.04542721 -O 1.00822765 -0.48225790 -0.31132522 1.43418636 0.02755843 -0.53172067 -H 0.39526460 0.13262223 1.51818958 -1.51791786 -0.32667481 -0.65347478 -H -0.56662069 -1.22050399 0.67192555 -0.84764507 -0.52159766 0.54518729 -H -2.17007534 0.79987332 0.06278679 1.43783902 -0.07500666 0.44878482 -H -0.67730894 1.74505668 -0.25263839 1.00189903 2.06769076 -0.28712105 -H -1.11320389 0.26997357 -1.14613112 0.19027445 -0.14579569 -1.95661428 -H 1.88761552 -0.31722010 0.13713712 -1.44496427 -0.10229091 -0.32236353 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.644401429983 pbc="F F F" -C 0.16861793 -0.36146600 -0.32947840 1.68709660 -1.47938009 0.09122431 -C -1.25220936 0.10560236 -0.36956695 -0.97666631 -1.02209932 -2.41971244 -O 0.99866140 0.19910212 0.64284567 0.96172702 2.20562298 1.56353310 -H 0.21990080 -1.46162143 0.02519036 -0.34424692 0.89220189 -0.86149762 -H 0.73102659 -0.33126118 -1.35784975 -1.16505404 0.02126792 0.86437787 -H -1.29428752 1.19204403 -0.66878902 -0.39251801 -0.64857529 -0.14691720 -H -1.79478673 -0.66136483 -1.10222402 0.75205868 1.84895634 0.54500458 -H -1.87229341 -0.06864952 0.50116556 0.11400769 0.13663541 1.23280170 -H 1.06950270 1.21782526 0.72826727 -0.63640466 -1.95462985 -0.86881431 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.568625343165 pbc="F F F" -C 0.12184541 0.26432694 0.51825630 1.03113335 2.68692826 -0.02384000 -C 0.01001655 0.89299784 -0.86232598 -0.53249416 0.37935863 -0.91829336 -O -0.17625960 -1.05435708 0.30160682 -1.45849800 -0.91380585 0.41964758 -H 1.16798948 0.48264858 0.91558405 -0.30483889 -0.64616297 -0.36830330 -H -0.46229703 0.91537224 1.25310076 -0.42212828 -1.08806824 -0.13306147 -H 0.62554204 1.80679609 -0.92490517 0.13712737 0.23536061 -0.12718609 -H 0.49579290 0.06429485 -1.52304189 -1.12717936 1.45904636 0.25035982 -H -1.09033787 1.25842867 -1.12146621 1.82674776 -1.17192218 0.08673234 -H 0.48887598 -1.58362739 0.71317713 0.85013020 -0.94073452 0.81394443 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.887104732445 pbc="F F F" -C 0.28138457 -0.48862961 0.08234814 -1.27704876 3.09935478 2.20475822 -C -1.22665463 -0.34094260 0.34543286 0.74504635 -0.28848183 0.28531305 -O 0.83356706 0.78003641 -0.39521594 -1.75477562 -1.22500514 0.46970610 -H 0.69434621 -0.68995734 1.11163641 0.24587144 -0.35027045 -0.47823013 -H 0.42850603 -1.30957995 -0.55331193 0.72595750 -1.68246497 -1.62345093 -H -1.80286038 0.04169410 -0.49140200 -0.11852471 0.46388466 -0.78419043 -H -1.63171353 -1.36092219 0.50903463 -0.11004819 0.12994195 0.53367928 -H -1.35560149 0.34959564 1.20569389 -0.33706187 -0.27866484 -0.00950625 -H 1.69873895 0.47112055 -0.60571938 1.88058391 0.13170588 -0.59807896 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7748841670755 pbc="F F F" -C -0.23101230 -0.47660295 0.24881311 -0.12777677 -1.62486385 -0.06564466 -C -0.95448342 0.80378966 0.11254848 -0.42401763 2.63896930 -0.71468202 -O 1.08355085 -0.29371347 -0.29353141 0.42001329 -0.64004771 -0.24194716 -H -0.26685125 -0.70946051 1.36852963 0.73728156 -0.22506211 -0.76254965 -H -0.77136871 -1.35298274 -0.25768051 0.36039674 0.72961541 0.37200430 -H -1.93272122 0.92907249 0.64734981 -0.15740458 -0.74435652 -0.71882469 -H -0.41289113 1.59393402 0.71997252 0.27689402 -0.36195730 -0.77996642 -H -0.95982848 1.13698639 -1.01011194 -0.34416377 -0.25651648 1.69316544 -H 1.26954235 -0.83561370 -1.11474405 -0.74122286 0.48421931 1.21844491 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.786044079841 pbc="F F F" -C 0.02638145 -0.37576412 0.43527886 0.87185778 -0.74216090 -1.18151286 -C -1.17898770 0.55574419 0.26140133 2.31957174 0.58452245 2.13408839 -O 1.04411017 -0.12156542 -0.60954074 -1.11112482 -0.08428254 0.71569889 -H 0.62031582 -0.18318108 1.29943523 0.21697213 0.65579186 1.77160550 -H -0.14676833 -1.49973719 0.53782573 -0.45172354 0.78964122 -0.43017152 -H -1.93281566 0.47393255 1.06172063 0.07187012 0.05103935 0.35870876 -H -0.69291909 1.58575801 0.25415913 -0.91094596 -0.64002770 -0.19407295 -H -1.66220425 0.31649152 -0.62798008 -1.14329010 -0.22654790 -2.42624715 -H 0.97441544 -0.90976967 -1.15139893 0.13681261 -0.38797590 -0.74809712 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.661617967813 pbc="F F F" -C -0.30889587 -0.36920710 -0.20054464 -1.55283587 -1.23702680 1.86022452 -C -0.76870048 0.73874758 0.77592090 -2.15150901 -3.20910827 0.87027763 -O 1.02642854 -0.38064815 -0.51811009 0.94103379 2.00339408 -1.18021532 -H -0.51217052 -1.37372380 0.24314901 -0.05766261 0.11663855 0.08763711 -H -0.97574624 -0.31751930 -1.06494811 -0.39705282 -0.00541788 -0.85659339 -H -1.25718191 1.49203096 0.23591880 -0.11177926 2.44893427 -0.96854646 -H -1.70969125 0.37723849 1.37514326 1.25776208 0.02174074 -0.68420991 -H -0.05838241 0.94585780 1.54655098 1.07628122 0.82221485 0.60789302 -H 1.06003889 0.51330662 -0.96789634 0.99576242 -0.96136953 0.26353287 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.633677165936 pbc="F F F" -C -0.30535797 0.34755542 0.30535089 -0.71623641 0.94196767 2.11849351 -C 0.40808411 0.83646964 -0.89869798 -1.13588255 -1.64087844 -2.78828334 -O -0.10752401 -1.07609096 0.50711747 0.82952301 0.41641292 1.27877063 -H 0.04942875 1.12731374 1.13370432 -0.70641428 -1.81572071 -0.50059617 -H -1.40483812 0.45958078 0.20356246 -0.14004716 0.42804064 0.00540004 -H 0.02078126 1.68915166 -1.52033409 -0.44742800 -0.34680080 0.69892583 -H 1.40060880 1.09317877 -0.69043242 2.35887163 0.35274421 0.48739463 -H 0.42537593 -0.07476048 -1.58727139 0.17940423 0.85753498 0.17572447 -H -0.00967147 -1.32372429 1.48148535 -0.22179043 0.80669952 -1.47582960 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.87048843871 pbc="F F F" -C 0.20759601 -0.28825749 -0.44848687 -0.85376538 0.78938751 -0.58968065 -C -1.32262016 -0.05284359 -0.16377295 0.51475395 0.88055942 0.66428252 -O 1.04953720 0.30720694 0.49987415 0.21542396 -0.47851275 1.69531905 -H 0.41724563 -1.40390795 -0.58525216 -0.04338712 0.82762101 -0.32883402 -H 0.45643604 0.37898438 -1.34131677 -0.24439377 -1.30048036 0.13468209 -H -1.40886023 0.83693304 0.51170429 0.36289385 0.02591118 -0.21684645 -H -1.86989158 0.30259219 -1.06724569 -0.12621642 -0.73087340 0.07981828 -H -1.84042304 -0.81863039 0.45558778 -0.00038495 -0.34405280 -0.63338387 -H 0.87154041 -0.10928960 1.38757833 0.17507594 0.33044019 -0.80535694 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.687729837722 pbc="F F F" -C -0.13185866 0.10273930 -0.53409286 -1.36403635 -0.39569759 1.84223491 -C 0.84472670 0.98618329 0.24504105 1.44558483 -2.38202278 -1.99969380 -O -0.60832919 -1.01514453 0.26361141 2.61212605 -0.09239540 -0.96129445 -H -1.01960571 0.66152643 -0.94987206 0.54799951 0.06685580 0.14839636 -H 0.39906814 -0.31081492 -1.35477353 0.71546323 -0.85342918 -1.47974035 -H 0.31488262 1.72600703 0.70407020 -1.67904807 2.25073933 2.73677281 -H 1.59906646 0.37765483 0.84738641 -0.90493493 0.71901685 -0.37240200 -H 1.36295119 1.58703297 -0.50962207 0.76212840 0.05502492 -0.42714014 -H -1.49571731 -0.90484198 0.52277699 -2.13528261 0.63190805 0.51286661 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.666635050365 pbc="F F F" -C -0.38822650 0.38480149 0.28776752 2.22234755 -0.35813093 -0.30602216 -C 0.97975301 0.76318943 -0.44765661 -0.02881303 1.81293759 4.21320523 -O -0.51817757 -1.03563507 0.18866162 -1.53317792 -0.54145816 -0.92644669 -H -0.36355950 0.63196846 1.39157812 -0.06265883 0.14312801 -0.67243580 -H -1.10634480 1.00018687 -0.25042236 -1.15332163 0.08443377 -0.01798534 -H 1.77756407 0.10631842 -0.01555655 -0.04427205 0.53703030 0.02393739 -H 0.87392494 0.44525205 -1.42040637 -0.30955223 -0.56242088 -3.18508501 -H 1.25169033 1.92347722 -0.35669967 -0.42489628 -2.17134811 -0.23215156 -H -1.25772316 -1.34924826 -0.43793584 1.33434442 1.05582840 1.10298399 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.421091175546 pbc="F F F" -C -0.44786309 0.25337177 -0.29347760 2.12631543 -3.01134260 -2.41040381 -C -0.51831960 0.08953464 1.15549197 -0.09911472 0.75691020 2.67950100 -O 0.87160115 -0.27174414 -0.75636811 -0.08956353 0.59715094 0.73078706 -H -1.20329130 -0.42221756 -0.76072206 -0.36901215 0.85834421 -0.40505188 -H -0.36489012 1.30068607 -0.61146236 -1.08095029 0.39825414 -0.05542992 -H -1.62144928 0.41844761 1.41929859 1.95872367 -0.16709950 0.37405630 -H -0.26742177 -0.92625142 1.67414582 -0.60795688 1.08332898 -1.35248053 -H 0.35194173 0.77155578 1.48297577 -1.37712872 -0.39582039 0.61570069 -H 0.78199439 -0.91632908 -1.46996599 -0.46131273 -0.11972593 -0.17667897 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742564287529 pbc="F F F" -C 0.35822880 -0.28903290 -0.34958591 1.78055598 -0.52652935 2.17316552 -C -1.06988721 -0.17208813 -0.65096522 -1.89152750 -0.38619042 -2.03186016 -O 0.70087758 0.40456459 0.89829719 -0.37873041 -0.47084690 0.08482766 -H 0.81144839 -1.34887957 -0.39152574 -0.63400865 0.79272897 0.27785587 -H 0.92242981 0.28146813 -1.06577408 0.62123304 0.47604958 -1.01905446 -H -1.32300850 0.84773346 -0.25457505 -0.58578430 -0.47533918 -0.40488620 -H -1.20632490 -0.20230659 -1.80639210 -0.00914403 0.32243887 1.35488338 -H -1.76524306 -1.00621091 -0.31748219 0.56056362 0.77204850 0.35031837 -H -0.08539388 0.49965169 1.49940320 0.53684230 -0.50436006 -0.78525003 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.69443040076 pbc="F F F" -C 0.16544274 0.30466088 0.45470961 -0.69501884 -1.42591383 2.28360698 -C -0.02038259 0.99102458 -0.87375830 1.96247115 0.68372248 -0.50575766 -O -0.11505651 -1.18241448 0.33241591 -0.24346941 1.65438157 0.50328857 -H 1.16569232 0.41727033 0.91018872 0.76477834 -0.16971009 -0.65189751 -H -0.38290747 0.79841730 1.36274020 -0.23588229 -0.65089242 -1.45528998 -H 0.56834599 1.98353639 -0.95309476 -0.37312911 -1.14346756 0.36523520 -H 0.41587919 0.31930172 -1.69262230 -0.79581882 0.62798218 0.63299470 -H -1.03920577 1.32399531 -1.02779238 -0.93349784 -0.32895188 -0.49267285 -H -0.63100859 -1.51462374 1.11744164 0.54956680 0.75284960 -0.67950747 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7809061897515 pbc="F F F" -C 0.50440697 0.12198232 -0.27104966 -0.73270886 -0.17031492 0.54479010 -C -0.72576589 1.09629943 -0.30079702 -0.04890821 -3.01967571 -0.27284098 -O 0.22771368 -1.07485509 0.54774903 0.18320453 1.16360327 -1.02135498 -H 0.89994272 -0.13485552 -1.34291229 -0.31295972 0.39609688 1.59559955 -H 1.22362868 0.64700850 0.38105452 0.73330103 0.17553493 -0.55688468 -H -1.47903090 0.79168224 -1.03746659 -0.03778680 0.15663299 -0.81272192 -H -1.29983796 0.89962224 0.60045338 0.01024117 0.21645893 1.05343609 -H -0.45956980 2.11520951 -0.37920255 0.44578861 1.76277942 -0.26719849 -H 0.13702764 -1.77574987 -0.10237244 -0.24017176 -0.68111575 -0.26282468 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.609312076854 pbc="F F F" -C -0.47025557 0.00427256 -0.31681430 0.01533988 2.00106363 1.08193379 -C -0.43735136 0.20467728 1.18200626 2.75523077 -0.31765615 0.99685997 -O 0.77259108 -0.24090225 -0.85646615 2.36125798 0.84265903 0.84017962 -H -1.02952053 -0.81209001 -0.67485811 -1.97871873 -1.21262589 -0.36342905 -H -0.80213104 1.00000770 -0.59827856 -1.10361098 0.60048618 -1.33283714 -H -1.30754468 0.42907245 1.77602302 -1.19025816 0.27549632 0.02291918 -H 0.01347512 -0.69539674 1.60789440 0.08465550 -0.68338037 0.53439405 -H 0.36957458 0.99553983 1.49294202 -1.13685473 -0.63915564 -0.73597668 -H 1.30665938 0.41543171 -0.31842455 0.19295848 -0.86688711 -1.04404374 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.396141264944 pbc="F F F" -C 0.29364894 -0.28206980 -0.51003209 1.87769121 1.85914733 4.30288709 -C 0.46451735 1.22430346 0.12344355 2.16887260 -1.95255008 -0.49853661 -O -0.74309826 -0.82447771 0.29015490 -0.24350078 -1.76439659 0.19511728 -H 0.07233294 -0.24495222 -1.53465471 -0.64503333 -0.25467968 -2.20551001 -H 1.33838687 -0.74903215 -0.31392287 -1.30933082 0.12586264 -0.51651942 -H 1.58927344 1.48586644 0.07017926 -1.26977480 0.25482649 -0.39658899 -H -0.19182373 2.01435053 -0.33483071 0.20771965 -0.46217420 0.73234936 -H 0.38114061 0.89908348 1.20150593 -0.66982700 1.13938043 -0.47833308 -H -0.42920384 -1.54731777 0.91261063 -0.11681667 1.05458372 -1.13486562 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.545772142599 pbc="F F F" -C 0.23375502 -0.41800645 -0.25871010 -1.53516590 -1.88863568 -0.71940164 -C -1.25421351 0.01577551 -0.38841264 1.63133733 -0.77306820 -2.20065098 -O 0.94131482 0.30922314 0.65813618 0.88415871 1.98748326 0.91040094 -H 0.34842456 -1.57545334 -0.20471605 0.10984543 1.37466833 0.95638277 -H 0.58906899 -0.26832126 -1.28140586 0.52042750 0.26638479 -0.85250580 -H -1.00476302 1.04805311 -0.66281322 -1.20401459 0.87363323 0.20456588 -H -1.55770880 -0.46588467 -1.36184392 -0.33668093 0.28334590 0.46632330 -H -2.02875053 -0.16539004 0.34860332 -0.10027347 0.09889541 0.87353429 -H 0.87077697 1.31010279 0.42650998 0.03036597 -2.22270714 0.36135119 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.953419408027 pbc="F F F" -C -0.33699108 -0.16338668 -0.46319155 -0.24759228 0.52901463 1.41337702 -C -0.82735535 0.48453912 0.84704663 -1.09944645 -0.30747375 -0.21955609 -O 1.06789088 -0.25016450 -0.39791694 0.25147835 -1.68802086 0.29006399 -H -0.81967000 -1.16062572 -0.54776559 -0.09579085 -0.03189444 -0.50334725 -H -0.55033702 0.46504257 -1.30787761 -0.60398602 0.57418343 -1.03711364 -H -1.84779293 0.97446643 0.74253064 0.58781038 -0.52183395 0.19493154 -H -0.85541809 -0.30898370 1.65177803 -0.02852707 0.69193012 -0.23483734 -H -0.10729247 1.27258109 1.10068233 0.18339263 0.21110914 0.26466657 -H 1.10295173 -1.09990851 0.10288292 1.05266136 0.54298570 -0.16818486 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.775000239667 pbc="F F F" -C 0.16378709 -0.56839745 -0.00499789 1.43158862 2.56874401 -2.47890748 -C -0.88511811 0.09190140 -0.93165844 0.64524710 0.11353738 0.29564724 -O 0.65756819 0.45659544 0.82453285 1.58052100 -0.40225601 2.47006016 -H -0.41280493 -1.25110870 0.51683351 -1.13448793 -2.46772282 1.62781353 -H 0.97233265 -1.06993400 -0.67267396 -0.73170345 0.29176822 0.90224062 -H -0.53369652 0.87627923 -1.64577086 0.18494625 -0.23657947 0.37139371 -H -1.30224844 -0.72620728 -1.49516751 -0.58021894 -0.68511700 -0.87116399 -H -1.70171352 0.50046496 -0.31748355 -0.10992071 0.25885361 0.15513270 -H 1.13476404 0.09926730 1.68742872 -1.28597198 0.55877207 -2.47221654 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539074322523 pbc="F F F" -C 0.33600460 0.30884979 0.37805711 -0.44217503 -1.64752865 -1.85133333 -C -1.12231617 -0.02123694 0.71406099 -0.66005773 0.99565710 -0.77578986 -O 0.77725599 -0.32661379 -0.95479703 -0.36501198 0.90532229 2.79363715 -H 0.16516045 1.37720630 0.22523614 1.18803467 0.81232757 0.07444236 -H 1.04044404 0.06973196 1.20042336 0.27988406 -0.05705388 -0.41407276 -H -1.35515224 0.58246498 1.64243018 -0.15792158 -0.54280351 -0.39146144 -H -1.62373947 0.56235854 -0.15926565 -0.25828596 -1.22796674 1.18478371 -H -1.50146778 -1.08432309 0.80688665 0.52302195 0.69092574 -0.14830061 -H 0.30585400 0.24830172 -1.57364196 -0.10748840 0.07112003 -0.47190516 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.657215687779 pbc="F F F" -C -0.32817543 -0.09817077 -0.40393564 -0.92512776 -1.66324190 -2.16996881 -C -0.81906366 0.45338361 0.87845539 -4.27694136 -2.01181270 -0.34875206 -O 1.07035851 -0.27129104 -0.45188147 0.45723933 -1.78651312 0.55478799 -H -1.01133471 -1.08464699 -0.61921283 1.57550478 1.52952762 -0.00516653 -H -0.45849781 0.58617097 -1.30661211 -0.67612965 -0.24812686 0.88850521 -H -1.95001177 0.71734549 0.70012329 1.56267193 -0.02922785 0.39672264 -H -0.87271087 -0.26975805 1.73556866 0.49751547 0.24140517 -0.34782142 -H -0.27618736 1.29445534 1.07373066 1.70518447 3.03383251 1.25043942 -H 1.24816150 -1.17151187 -0.06513614 0.08008279 0.93415717 -0.21874639 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.354895144196 pbc="F F F" -C -0.24515732 -0.20498999 -0.63670295 -1.36047229 1.76255383 5.07384276 -C -0.08838776 1.26835144 0.04228190 -2.48238186 -1.42665384 -1.80652079 -O 0.26128353 -0.97985301 0.53173775 0.28594055 -0.60319083 -1.50363388 -H -1.32337251 -0.48176818 -0.92562046 0.94447059 0.35726570 0.77035856 -H 0.33014328 -0.49787789 -1.43307220 2.03361458 -0.18243161 -2.90128351 -H -0.90899944 1.30302581 0.79294689 0.45519021 -0.23925542 0.30994834 -H 0.86978107 1.45064800 0.49489036 0.95639917 -0.11021793 0.33510387 -H -0.37413886 2.10606600 -0.59011915 0.14738859 0.63283946 -0.84730630 -H 1.23270036 -0.99913592 0.30367952 -0.98014959 -0.19090931 0.56949096 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.515007128454 pbc="F F F" -C 0.21076639 -0.38234217 -0.31720437 -2.47134499 -1.83069837 0.69029885 -C -1.26750931 0.12285079 -0.36504816 0.59761909 -2.91905473 -0.78684931 -O 0.99765925 0.18898632 0.62435273 0.71661153 3.31596840 2.13517833 -H 0.04915371 -1.46437295 0.11794846 0.78974443 0.98535726 -1.73905193 -H 0.74660843 -0.14769259 -1.22921215 -0.12091825 -1.16659773 -1.74636425 -H -1.39602977 1.12946707 -0.66055077 -0.14541578 1.85186992 -0.65668763 -H -1.83610195 -0.58071377 -1.08230587 0.43928156 0.96809096 0.71996698 -H -1.67188725 -0.02045567 0.63129955 -0.47626097 0.00135158 0.71063608 -H 0.86329754 1.17454044 0.44202173 0.67068339 -1.20628735 0.67287284 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718994524475 pbc="F F F" -C 0.19015651 -0.10474244 -0.44993333 0.41020546 -2.26714539 -1.47966245 -C 0.56302344 1.25519381 0.10683445 -1.49349221 -0.18154874 1.35707771 -O -0.71956693 -1.03977004 0.27246526 1.34025878 1.14153934 0.70046593 -H -0.18367768 -0.02069009 -1.52512014 -0.60393295 0.08478185 1.11313697 -H 1.11607795 -0.68185903 -0.71701951 0.12231344 0.06845575 0.48225293 -H 1.55087626 1.33884656 0.57466405 0.32210899 -0.22738633 0.24350268 -H 0.47108967 2.07985304 -0.60233583 -0.08212420 0.24382448 -0.53864635 -H -0.22544632 1.43276497 0.89211006 0.45366956 0.30106008 -0.16120149 -H -0.28291737 -1.35464361 1.14115669 -0.46900686 0.83641891 -1.71692604 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.316413556696 pbc="F F F" -C -0.38274557 0.18392526 0.45783225 4.06457717 1.01864910 0.20792611 -C 0.08234688 0.98317275 -0.80297872 -0.25860807 1.92383229 0.94546746 -O 0.29547425 -1.06691733 0.34299314 1.80911066 1.23187986 2.30634002 -H 0.16482141 0.82850240 1.28567235 -1.39016443 -1.33881645 -0.57220044 -H -1.43694847 -0.03159575 0.70321334 -0.41902352 0.76479212 -0.32284093 -H 1.12913933 1.57474832 -0.67942584 -1.89910012 -1.76664255 -0.15463268 -H 0.03158057 0.38292836 -1.73764465 0.05585389 0.22767316 0.10888461 -H -0.65217317 1.81751198 -0.80287180 -0.01057212 0.29614928 -0.82345494 -H -0.34800292 -1.54526735 -0.10060376 -1.95207351 -2.35751681 -1.69548920 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.612575144564 pbc="F F F" -C 0.02697146 0.49812258 0.17572203 2.54732631 0.24975021 -2.71292345 -C -1.19566559 -0.20243896 0.44545428 -3.98117724 1.06878697 -1.66001434 -O 1.09972380 -0.22119834 -0.59619356 -1.70310862 1.44874451 0.46220778 -H -0.12616686 1.40779203 -0.44503125 -0.09637413 -0.02292155 0.24014934 -H 0.40417449 0.77510058 1.11820175 1.24522080 0.95848172 1.86115757 -H -2.02185685 0.39914151 0.92503348 0.82129840 0.41254799 0.10622599 -H -1.78194753 -0.50165950 -0.43565760 0.25888992 -0.35282644 -0.72582123 -H -1.18816492 -1.03040119 1.05495239 0.71397893 -2.73331812 1.93959295 -H 1.18291476 -1.06370305 -0.15589112 0.19394558 -1.02924529 0.48942539 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.659692206305 pbc="F F F" -C -0.20204063 -0.37132930 0.33470228 0.30948523 -2.38574707 -2.88317394 -C -1.00449002 0.89864810 0.00732360 1.28227257 -0.52630988 1.69349999 -O 1.06758854 -0.44128339 -0.32874086 1.49054033 0.86168587 -0.31788410 -H -0.12035164 -0.69611181 1.35998607 -0.12703018 0.32874712 1.32274288 -H -0.69046547 -1.27474913 -0.21076596 -0.52862932 0.98002253 1.02984909 -H -1.93337585 0.78721523 0.58427025 -0.30624765 0.41733055 0.27271670 -H -0.40428663 1.80332573 0.31236092 -0.57878724 -0.31940717 -0.21320032 -H -1.29162881 0.92454871 -1.02938025 0.04007976 0.17140085 -1.08234141 -H 1.87001949 -0.82465279 0.12614291 -1.58168350 0.47227720 0.17779123 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.499112071635 pbc="F F F" -C 0.41076648 -0.01487847 0.43315514 -1.43970950 -1.46677073 -0.76046639 -C -1.18379113 0.06810819 0.69965276 2.72482545 2.25731035 -4.87572238 -O 0.74557702 -0.09663689 -1.01096894 -0.44755825 0.50346680 2.12200523 -H 0.95092256 0.77488579 0.99423836 0.08554449 0.31435264 -0.26550742 -H 0.68711209 -0.98233854 0.93935484 0.39602340 0.36511534 -0.66552904 -H -1.49366028 -0.77610179 1.16985673 -1.47107105 -2.76374086 2.09902033 -H -1.37397135 1.02095911 1.10880807 -0.76749497 1.37052690 1.46786905 -H -1.71365128 0.13530091 -0.33373190 0.69135080 -0.41042220 1.16773374 -H 0.31887095 0.72545704 -1.32968326 0.22808968 -0.16983824 -0.28940316 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.179239734538 pbc="F F F" -C -0.29579186 -0.47953310 0.04515960 2.63380472 -0.85588526 3.23091643 -C -0.88000964 0.93491943 0.37716338 -2.90097750 -0.39156876 -1.40749819 -O 1.08669579 -0.37338556 -0.38699242 -0.39423885 -0.04723082 -0.18011216 -H -0.27666607 -1.14854849 1.14394063 -0.41622179 1.36115301 -2.64247639 -H -0.90806954 -1.03376726 -0.70707992 -0.14600235 0.18794596 0.28099591 -H -1.56831505 0.87257917 1.28296797 0.37576495 -0.20837636 -0.80077050 -H -0.43574639 1.94802626 0.50453236 1.28233124 -0.79313278 -0.11051634 -H -1.57128365 1.11086413 -0.54654341 0.51340140 0.13756003 1.34355633 -H 1.52052406 -1.25019123 -0.56738250 -0.94786182 0.60953492 0.28590492 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77479442586 pbc="F F F" -C 0.16409666 -0.14499964 -0.44531201 1.51869957 0.16479455 -2.22406695 -C -0.46596899 1.26806948 -0.23695377 -0.08959948 -1.99486645 -3.19354554 -O 0.24294911 -1.06753582 0.62672401 -0.28436009 0.64636573 -0.27323040 -H -0.35381312 -0.72727170 -1.33711742 0.60167110 1.05597413 1.50858459 -H 1.24827286 0.13473874 -0.88849362 -1.47589815 -0.81915662 0.68988450 -H -0.52190069 1.71968553 -1.28793277 0.43240936 -0.12927269 0.94251156 -H -1.49548650 1.16667709 -0.01259655 -1.75716356 -0.03008819 1.01103241 -H 0.05406375 1.91118821 0.41426209 0.98719771 1.13183866 1.31225987 -H 0.80859127 -0.64372894 1.29359694 0.06704349 -0.02558907 0.22657001 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.246289421416 pbc="F F F" -C -0.30104990 0.00427702 -0.53015006 -0.83627334 -1.40688031 -0.47919630 -C -0.85269323 0.34294348 0.91716044 -0.93451445 5.41655103 -6.16732441 -O 1.03622897 -0.31243809 -0.29452272 1.13851073 -1.13012271 0.14912367 -H -0.89407349 -0.89710594 -1.09021199 0.87185197 1.50407565 1.14711555 -H -0.19155391 0.83823931 -1.32423248 -1.48788767 -0.17343716 1.09316242 -H -1.90029533 0.73462493 0.79551921 0.25403942 -0.43727008 0.33841812 -H -0.74822630 -0.28095967 1.69213307 0.72436069 -3.31875064 3.08055220 -H -0.26517672 1.29277318 1.03585719 -0.16842320 -0.40254141 0.89353743 -H 1.29799814 -0.86713733 -1.04564735 0.43833580 -0.05162448 -0.05538873 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.135749778308 pbc="F F F" -C 0.40583215 0.03863944 -0.35230106 0.36735070 -2.10640593 -1.46513587 -C -0.69513628 1.04324270 -0.36347692 3.12977645 1.50580518 0.63960203 -O 0.26523883 -1.02624490 0.61333002 0.54545185 1.83317861 0.36477425 -H 0.23220201 -0.56817295 -1.26730787 0.80411268 0.33165170 -0.52158265 -H 1.39396930 0.67450175 -0.49490663 -0.75901444 -1.58951169 0.91841014 -H -0.01589852 1.82075176 -0.92237569 -2.63173365 -0.10679045 0.43474562 -H -1.64210007 0.65810495 -0.62581351 -1.57453526 -0.30758817 -1.42303064 -H -0.84062462 1.29433137 0.68715978 0.04895927 1.10391267 0.72859715 -H 0.10860299 -0.48285771 1.41690466 0.06963239 -0.66425193 0.32362003 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.709689938213 pbc="F F F" -C -0.22693559 -0.48388420 0.14034024 -1.27844687 1.01676911 -2.52878237 -C -0.98707343 0.92996101 0.26574320 -0.90825911 -1.98740670 -0.96770653 -O 1.14178186 -0.37156980 -0.31422940 -0.74447778 -1.02186514 -1.09932649 -H -0.27403852 -1.12636590 1.01284679 -0.07717302 0.03488525 1.24385940 -H -0.89482752 -1.05387895 -0.59733977 0.77501673 0.26321595 0.24579467 -H -2.11022298 0.78721871 0.44160906 1.07715647 -0.25907786 0.55000481 -H -0.52236322 1.47706726 1.05820244 0.30967997 1.08222397 0.88292376 -H -1.08839786 1.52721972 -0.68313273 0.97363550 -0.37544577 0.26006157 -H 1.23117630 -1.03018758 -1.08323298 -0.12713194 1.24670119 1.41317123 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625445396605 pbc="F F F" -C -0.07848785 -0.08772414 0.55916107 3.52162288 -0.46048129 1.42184166 -C -1.09083781 0.61251760 -0.19105729 0.56556982 -1.89211068 -4.07295192 -O 1.01235263 -0.45610686 -0.34987964 -2.49918567 1.14298887 -0.78465709 -H 0.30926905 0.52716075 1.44707071 -0.11334116 -0.26770916 -0.67748689 -H -0.45628733 -1.00390171 1.00339699 -0.53181456 -0.77468779 0.51715886 -H -1.79565831 1.07686314 0.43567269 -1.89307952 0.59889312 0.73123782 -H -0.57780403 1.31987289 -0.85238433 0.11111026 0.81065553 0.08338306 -H -1.37081675 -0.20114458 -1.01129155 -0.71145529 1.50302047 1.45516723 -H 1.75465049 -0.73388395 0.14494643 1.55057319 -0.66056913 1.32630725 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.679253983066 pbc="F F F" -C 0.21287180 -0.15128975 -0.45021568 -0.44720153 0.91471237 -2.57785986 -C 0.46409015 1.18361557 0.13186935 1.39009624 0.79846119 0.19428445 -O -0.55748026 -0.99505364 0.33333292 -0.68952742 -0.71599107 0.27705394 -H -0.42687137 0.27152520 -1.30342710 0.51808970 -1.36938836 -0.27371809 -H 1.14707328 -0.62078369 -0.88359333 -0.56716241 -0.06492156 0.36203310 -H 1.27200717 1.21129884 0.86817027 0.09749868 0.17453760 0.72015220 -H 0.73600891 1.87918929 -0.67961055 0.28638736 0.17599901 -0.13951428 -H -0.48813062 1.53589711 0.48844421 -0.76113735 0.56026733 0.89191876 -H -1.45872571 -0.78506053 0.01234366 0.17295673 -0.47367655 0.54564978 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.798802742474 pbc="F F F" -C -0.50894237 0.07675584 -0.32621923 0.48380079 -0.32187235 0.17845632 -C -0.36732361 0.15949230 1.21447334 -1.53053905 2.19600381 -1.85714845 -O 0.76109644 -0.25797910 -0.83126956 -0.10465802 -1.40990650 -1.37852283 -H -1.26847557 -0.71475085 -0.58335759 0.55440259 0.13235776 -0.23490373 -H -0.81152237 1.01808940 -0.87507622 -0.48795081 -0.11169118 0.84933640 -H -1.40541852 0.40305962 1.59023699 0.80040674 -0.48994881 0.54291320 -H 0.16078149 -0.72810240 1.57583486 -0.11643898 -0.20072398 0.38666587 -H 0.22222588 1.10673126 1.26052333 0.19368425 -0.34276869 0.99122390 -H 1.46191899 0.19331613 -0.35762841 0.20729238 0.54854988 0.52197922 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.551626722879 pbc="F F F" -C 0.01550539 0.46338033 0.20721811 -0.34577611 0.11833414 1.43922572 -C -1.33213810 -0.20577817 -0.07400174 0.32318433 -0.43589526 -1.74297024 -O 1.19544546 -0.26329839 -0.17614746 -0.73628511 0.06198875 0.90853710 -H 0.16622919 1.48925166 -0.09632159 -0.55726474 1.12742032 -1.20102152 -H -0.07127242 0.69418813 1.32605256 0.56474830 -0.80023957 -0.31203253 -H -1.25739628 -1.25018576 0.36143663 -0.62426684 0.77056667 -0.34137813 -H -2.19773524 0.40099893 0.20324139 -0.17043005 0.23967626 1.55948222 -H -1.71654227 -0.21514215 -1.14605762 1.27970527 -0.71123530 0.12593160 -H 1.78909424 -0.01078901 0.56028383 0.26638499 -0.37061601 -0.43577416 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.704388842786 pbc="F F F" -C 0.12764446 0.44388355 0.36246837 0.37358738 -1.14153774 -2.46267440 -C -1.30560078 -0.13960012 0.29228865 1.24025034 -2.14253205 0.81392612 -O 1.04925118 -0.20882639 -0.61611108 -1.65110130 1.67137045 -0.05565201 -H 0.21637389 1.51834240 0.12928046 -0.34936974 0.21389693 0.02365683 -H 0.56316824 0.25054582 1.31016026 0.46601903 0.09933548 1.83860297 -H -2.09596054 0.54306496 0.68503542 0.16412478 -0.50814868 0.21360557 -H -1.52841715 -0.43734046 -0.72957715 -0.21836993 0.46897308 -0.94129049 -H -1.24584155 -1.26195891 0.74510269 -0.52005721 2.39908102 -0.16559170 -H 1.47116959 -0.92524402 -0.16238641 0.49491665 -1.06043849 0.73541710 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.389278569677 pbc="F F F" -C -0.42958611 0.23223506 -0.33567825 1.14887382 -2.01243789 -0.44192686 -C -0.52430070 0.10323686 1.17170443 -1.68610333 1.15522368 0.38589047 -O 0.89217922 -0.32540566 -0.70996278 -1.51814236 0.20714820 -0.55116202 -H -1.28338648 -0.29371675 -0.80774868 -0.03708190 -0.80314703 -0.17035930 -H -0.46792716 1.16867484 -0.88460839 -0.27702931 1.54428828 0.72717584 -H -1.52619892 0.50043736 1.57060279 0.12532733 -1.33906086 -0.69717316 -H -0.26679617 -0.96202096 1.56556674 -0.11542246 1.85226011 -0.46043022 -H -0.06743563 1.01947610 1.55458160 1.79120436 -0.35537579 0.80978048 -H 0.81546600 -0.26658018 -1.69105543 0.56837391 -0.24889866 0.39820478 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.784527854264 pbc="F F F" -C -0.16498952 -0.22536813 -0.51502535 2.09169705 -0.16175900 -1.25435342 -C -0.22932972 1.31951376 -0.16335412 0.13057681 -0.98311433 0.36864263 -O 0.31991012 -0.96747260 0.64881741 -1.43616595 1.74302166 -0.37782754 -H -1.06789047 -0.65035282 -1.09101969 0.25597074 0.34729959 1.25110729 -H 0.66234268 -0.35235562 -1.36552745 -1.16625536 0.41634412 1.15178328 -H -0.92052210 1.90755334 -0.81988585 0.43952525 -0.32887732 -0.05327713 -H -0.60775055 1.48769215 0.88732382 0.20819679 -0.33432349 -0.50112412 -H 0.82853232 1.71460827 -0.20383318 -0.77255104 -0.01302403 0.00836514 -H 0.72499083 -1.78953294 0.37765482 0.24900572 -0.68556730 -0.59331614 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.296026590356 pbc="F F F" -C 0.28118987 0.53917188 0.10756745 -0.57536516 -4.28884166 3.90128799 -C -1.20195220 -0.10092651 0.75702929 1.05061142 0.20448515 -2.54779250 -O 0.90079524 -0.39326931 -0.77680030 0.99561890 1.36133690 2.06877479 -H 0.03087316 1.51785065 -0.20922883 0.01319866 1.75328119 -1.05113284 -H 1.00368546 0.52334680 1.00910260 -0.95451759 0.63997191 -0.88881940 -H -1.51603648 0.56388440 1.56039478 -0.18561268 0.35503116 0.57437204 -H -2.08169918 -0.04030362 -0.07368961 1.83509511 -0.45619603 1.57998914 -H -1.01915631 -1.15571635 1.17275664 -0.31173911 1.07487225 -0.67828352 -H 0.25457557 -0.39022426 -1.43150991 -1.86728955 -0.64394082 -2.95839570 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.45006640651 pbc="F F F" -C 0.04684691 -0.59283804 0.17827264 -1.05399021 2.63473238 3.53850892 -C -1.31533504 0.19899816 -0.25678495 2.05084391 -0.79723776 -0.21923331 -O 1.19370330 0.29466231 0.01828380 -0.93448535 -0.40363880 0.04834370 -H -0.11895736 -0.77451548 1.33120472 0.18294346 0.44711581 -1.05664472 -H 0.30521509 -1.64581532 -0.02414806 -0.14873914 0.12507511 -1.48066148 -H -1.20002852 1.30106920 -0.11100950 0.44475482 -0.30701594 -0.15798920 -H -1.52716823 -0.00648635 -1.29761362 -0.15432563 0.16522141 -1.01757926 -H -2.23319016 -0.00601843 0.27198993 -0.60941187 -0.83841939 0.83427009 -H 0.94046519 1.14601357 0.47491054 0.22241006 -1.02583282 -0.48901463 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.647448997338 pbc="F F F" -C -0.00191313 -0.50777484 0.24566197 -3.74959502 -0.05458279 -1.07610170 -C -1.15276844 0.56034101 0.24663691 1.66564388 -1.60527497 0.08222751 -O 1.04076372 0.00221907 -0.42460628 1.52280681 1.55160647 -1.76883066 -H 0.29591391 -0.91212835 1.16531025 0.36521170 -0.49739725 2.71356710 -H -0.61470716 -1.34878353 -0.19970183 0.83960821 -0.37113830 -0.55347935 -H -2.01688308 0.08795633 0.71346451 -0.48125617 0.40939072 0.83295317 -H -0.73537797 1.49638917 0.60322653 -0.38467923 0.77084856 0.59251843 -H -1.42548989 0.64686637 -0.79764489 -0.11555205 0.42172832 -0.86860399 -H 1.73441745 -0.63340719 -0.61099991 0.33781191 -0.62518076 0.04574956 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.701592747808 pbc="F F F" -C -0.12057772 0.33010151 -0.49584892 0.45446485 -3.19129921 0.42345271 -C -1.12713828 -0.08135186 0.56005055 0.68589769 -1.23160542 -0.52642738 -O 1.13321848 -0.21214270 -0.13055458 0.90918352 -0.02939039 -1.67606934 -H -0.20917277 -0.06561458 -1.50271676 -0.91224442 -0.21254119 -0.82887324 -H -0.06390525 1.36413636 -0.56297491 -0.05325044 3.02331485 -0.18686825 -H -0.73947290 0.49214987 1.38685231 -0.27013808 0.21633352 1.44251149 -H -2.16600125 0.09297670 0.40126375 -1.42642538 0.97157393 -0.41345950 -H -1.14042516 -1.18399475 0.78179592 0.61697894 0.41746430 -0.08570554 -H 1.19788859 -0.29785753 0.80308820 -0.00446673 0.03614957 1.85143905 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.59595700704 pbc="F F F" -C -0.04432710 -0.48160577 0.33838654 -0.38920041 2.00124726 -1.26702608 -C -1.03833194 0.73211749 0.37236218 0.34787865 -2.56683718 -1.96090334 -O 1.00993072 -0.20162085 -0.58220912 0.16558290 -0.42129730 -0.09512283 -H 0.36931678 -0.55974904 1.32663853 0.73867284 -0.32296553 1.14128845 -H -0.61474292 -1.39446791 0.12726042 -0.07457539 -0.52621316 -0.16553637 -H -1.60404258 0.68215099 -0.57727657 -1.06227210 -0.73149771 0.12172388 -H -1.63451325 0.59075695 1.26142319 -0.74536604 0.88592460 0.62631565 -H -0.58295643 1.63455855 0.02951930 1.26355401 1.62896230 1.23394497 -H 0.93600829 -0.73946757 -1.39528976 -0.24427453 0.05267673 0.36531568 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.897532080166 pbc="F F F" -C 0.46284602 -0.01988161 0.24679096 1.76423759 0.30118720 0.59888947 -C 0.20611737 0.94317867 -0.92607055 -1.90686311 0.65745454 0.39178514 -O -0.63535708 -0.83482233 0.59479440 -0.38727290 0.32654446 -0.49964249 -H 1.40183041 -0.63656423 -0.01035018 -0.78787467 0.29521494 0.21971503 -H 0.80606072 0.66311961 1.10353346 -0.29170543 -0.70563132 -0.30641060 -H 0.18067120 2.04255154 -0.62143270 -0.18555339 -0.98143129 -0.10931522 -H 0.91720192 0.89059325 -1.72693474 1.13878784 -0.28786379 -0.71126765 -H -0.76917820 0.69951318 -1.44364285 0.35208344 0.15605547 0.51856772 -H -0.42374545 -1.41136101 1.35179233 0.30416053 0.23846974 -0.10232135 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525889149954 pbc="F F F" -C -0.15085455 -0.21529046 0.50319442 1.48534819 -2.04734505 -1.97513111 -C -1.06461023 0.69807199 -0.25242388 -2.58460557 1.82774628 0.76489939 -O 1.08092873 -0.44561553 -0.24762076 1.58157340 0.44040472 0.41140704 -H 0.12541452 0.20861288 1.45420408 -0.20389529 -0.10064998 1.32287462 -H -0.56235065 -1.27476427 0.42539023 -0.41881048 0.89531334 1.39441791 -H -1.61256181 1.49862115 0.44358253 0.94955484 -1.47828213 -0.92462110 -H -0.59270459 1.34155331 -1.00968708 0.47641956 -0.16589617 -0.22503521 -H -1.91802502 0.13992610 -0.72831025 0.50419237 0.29717993 0.00477979 -H 1.88484477 -0.59489758 0.35719185 -1.78977709 0.33152900 -0.77359136 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.828814057164 pbc="F F F" -C -0.06161311 -0.09568522 0.57265283 1.43616693 0.82736734 -0.71219864 -C -1.11461761 0.64715149 -0.23630251 1.89655144 0.98514561 0.87964246 -O 1.04483470 -0.54327006 -0.28725336 -2.59651806 -1.87985094 1.31253256 -H 0.30966321 0.52913595 1.45658523 -0.28712511 -0.80472013 -0.47070209 -H -0.55808129 -1.01105614 0.82809970 -0.15836499 -1.11025610 1.14045994 -H -2.00602598 0.85631133 0.35199941 -0.49898485 0.36327592 0.23576823 -H -0.60681132 1.54781233 -0.65036393 -0.63830846 0.12928714 -0.09524963 -H -1.30794720 -0.05182227 -0.99910507 -0.82948737 -0.89644031 -1.83484129 -H 1.59923717 0.18032320 -0.43551708 1.67607053 2.38619146 -0.45541148 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.560460074153 pbc="F F F" -C 0.17322118 0.44118517 -0.33786576 2.30634135 2.05336852 0.46776054 -C -1.25316053 -0.03894820 -0.26867458 -0.54238602 0.28651514 -0.81267672 -O 1.00334954 -0.32743597 0.51417988 0.32143521 -2.14417185 1.06854909 -H 0.72867273 0.54728562 -1.38053201 -1.32905160 -0.72221896 1.20151286 -H 0.43179434 1.46765164 0.12692454 -1.35812446 -0.24692256 -0.92824523 -H -1.12063432 -1.13187888 -0.42136851 -0.45981537 -0.16104521 0.32184227 -H -1.69228176 0.21304077 0.75425467 0.15299139 -0.38331130 -1.01396810 -H -1.92551017 0.27982992 -1.14092673 0.54999011 0.06334763 1.04853165 -H 0.51908659 -0.97300896 1.12746995 0.35861939 1.25443852 -1.35330642 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.786359838888 pbc="F F F" -C -0.11832312 0.26015993 0.51149901 -0.66053601 -1.27165648 -0.59684035 -C -0.17064127 0.95945050 -0.81275284 -1.77609547 -0.94320381 0.01865393 -O 0.30788424 -1.08488326 0.27967339 2.28283951 1.90632950 -1.42523115 -H 0.58505126 0.76861630 1.16851388 0.33728931 0.32386963 0.79048043 -H -1.15278449 0.22839001 0.91316722 0.11444354 0.37979048 0.55041043 -H 0.59082603 0.63750922 -1.45792208 1.80848691 -0.87303426 -1.18568946 -H -1.11267806 0.75290932 -1.34105851 -0.29966937 -0.29327334 -0.16706114 -H -0.10883883 2.00210240 -0.80581730 0.18390639 2.53322375 0.53564504 -H -0.24639950 -1.70326203 0.67352552 -1.99066480 -1.76204552 1.47963221 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.761216992323 pbc="F F F" -C 0.24415866 -0.08664318 -0.55159744 -0.43193946 -1.89567130 1.89451631 -C -0.49823567 1.18000439 -0.21935020 -1.09566297 -1.43228163 -3.36611120 -O 0.17998014 -0.99586326 0.68790245 0.03613548 1.20156274 -1.63892810 -H -0.19506905 -0.71080273 -1.36038444 -0.07659730 0.34344880 -0.10455662 -H 1.28967895 0.10023589 -0.78335149 0.74657549 0.12735084 -0.28106831 -H -0.54624666 1.89346961 -1.07219010 -0.06756352 -0.25763167 -0.25275593 -H -1.51633103 0.88988521 0.02394153 -0.61143775 0.23036958 0.63139702 -H 0.03440370 1.68889985 0.48415363 1.39848833 1.67953776 3.05512706 -H 1.10328792 -1.08407303 0.97518252 0.10200182 0.00331487 0.06237977 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.63534496836 pbc="F F F" -C 0.08343556 0.43009738 0.31597706 3.18502670 -1.58638394 0.78250965 -C -0.80842881 0.65031584 -0.83537497 -0.22759577 -0.32023173 -0.50178268 -O 0.60893068 -1.01329862 0.45885924 -4.67358959 1.71229219 -2.48127685 -H 1.03016305 1.07578780 0.26174245 -0.72687903 -0.34993708 -0.47159360 -H -0.30452931 0.78654231 1.26415080 -0.94839363 -0.17303268 0.87917313 -H -1.25372090 1.63356837 -0.78653067 -0.53033823 0.86780690 0.25109243 -H -0.26738492 0.65329862 -1.76519354 0.75852449 -0.15275860 -0.99581168 -H -1.60594906 -0.08223894 -0.98897577 -0.40163597 -0.40770094 0.41106359 -H 1.37373490 -0.85829621 0.92035664 3.56488104 0.40994583 2.12662596 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.346630321377 pbc="F F F" -C -0.07061950 0.38361611 -0.41883666 -0.91578524 2.24477658 2.03687453 -C -1.27436393 -0.38875321 0.28360057 -0.54213379 2.18472335 0.29067416 -O 1.22763199 -0.03221231 0.09460611 -2.35249154 -2.21408160 -1.75344497 -H -0.29658394 0.22453285 -1.51941104 1.14013125 0.21086534 0.46743427 -H -0.26080040 1.51972923 -0.15737993 0.52592241 -1.46867206 -0.74799170 -H -1.51150965 -1.12710807 -0.43944960 -0.93219048 -1.49300088 -0.73906900 -H -0.88324710 -0.87241060 1.16270423 0.31564966 -0.48917882 0.94069024 -H -2.29008812 0.19158187 0.61042115 2.31922469 -0.81458201 -0.93103822 -H 1.78152745 0.63470646 0.45288279 0.44167304 1.83915005 0.43587068 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.53796557839 pbc="F F F" -C -0.24253829 -0.41921454 0.02317792 0.19262984 0.39163658 -2.43534357 -C -0.98218193 0.82269447 0.47724361 0.50127921 0.61648940 0.52846210 -O 1.13152436 -0.34726015 -0.49043186 -0.82421558 -0.07208152 1.45588431 -H -0.43041494 -1.27891161 0.62892026 0.35739266 -0.97262443 1.57454123 -H -0.90210896 -0.69279883 -0.81416760 0.31157647 -0.46062717 -0.94426876 -H -1.94307167 0.50099892 0.89010429 -0.15102932 -0.46515237 1.19520676 -H -0.34033249 1.40904571 1.20162888 -0.88823972 0.08834673 -0.42824674 -H -1.48925784 1.39846616 -0.33577781 1.29237274 0.47018057 -0.22058633 -H 1.73696876 -0.63401502 0.25103004 -0.79176634 0.40383225 -0.72564907 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.61657654883 pbc="F F F" -C 0.52416099 0.10030431 -0.23681813 -2.46872802 1.17852888 1.74578102 -C -0.75157956 1.10399329 -0.31613812 0.80309895 -1.00074979 1.90621766 -O 0.18441092 -1.12108565 0.46515899 1.10418269 0.89701053 0.47722226 -H 0.65784147 -0.14506845 -1.25908912 1.01276734 -0.44006348 -1.64378692 -H 1.35008230 0.67256030 0.24634798 0.19890014 -0.40663460 -0.37150376 -H -0.79602501 1.53950540 -1.29958002 -0.66359311 -0.25692451 -1.35081239 -H -1.63431949 0.48747744 0.07765491 0.59437364 0.86155505 -0.87428120 -H -0.66577288 2.06155573 0.26271477 0.12823196 -0.64028625 0.56196143 -H 0.86992176 -1.17264241 1.17738721 -0.70923370 -0.19243582 -0.45079810 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.56882016074 pbc="F F F" -C 0.28354404 -0.17128139 -0.51217075 -4.00495897 1.59060456 3.00201222 -C -0.56632875 1.21391148 -0.24215820 0.77946726 -2.20078581 -0.20197236 -O 0.29910496 -0.92927426 0.68186774 0.38506741 -0.30165288 0.26924555 -H 0.05288537 -0.81234531 -1.30953895 -1.25481951 -0.92939723 -2.06439568 -H 1.19034592 0.21255382 -0.75562519 4.00293567 1.12040064 -0.40709905 -H -0.41520054 1.95253530 -1.03275831 0.26202743 0.44703205 -0.22410380 -H -1.64014145 1.09246584 -0.09572977 -0.68342943 -0.43771102 -0.18593067 -H -0.21249326 1.53265107 0.75338411 0.36480361 0.35721315 -0.09531345 -H -0.35450063 -1.65272102 0.60538120 0.14890647 0.35429654 -0.09244281 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.557710079437 pbc="F F F" -C 0.39109087 0.30104411 0.31978143 -2.12385976 0.13988354 1.41373775 -C -1.17694809 0.04493669 0.63997585 2.11621711 1.44762793 3.07028475 -O 0.76056526 -0.33379322 -0.86677863 1.31066353 -0.93539089 0.02799387 -H 0.54136979 1.42281422 0.31381802 0.13782115 -0.39800166 -0.06664960 -H 0.95282710 -0.09711893 1.27993974 -0.32005134 0.26915942 -1.99188412 -H -1.75017830 0.69241685 -0.02448882 -0.75602147 -0.28466765 -0.41243954 -H -1.32450623 -1.03098608 0.67891585 -0.53443169 -0.61404572 -0.72392900 -H -1.42617977 0.35504207 1.79045203 0.51503538 -0.23798417 -2.33692397 -H 0.29729039 -0.16798370 -1.71649336 -0.34537286 0.61341914 1.01980980 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.736883232835 pbc="F F F" -C -0.47596553 -0.06326963 0.27433818 0.89554901 -1.27576547 1.24506402 -C -0.27196309 1.17776708 -0.56442848 1.18915978 0.57732043 -0.83336470 -O 0.65644297 -1.02140125 0.22863010 -0.61165732 1.12086884 -0.74865057 -H -0.62683390 0.16206486 1.39074820 -0.28440159 0.10970356 -1.13527356 -H -1.35276024 -0.62166427 -0.11018114 -0.29388619 0.07210502 0.13051510 -H 0.16338580 2.05114650 -0.07949087 -0.29043818 0.56745197 1.07622748 -H 0.55325635 1.11093714 -1.29755611 0.13705203 -1.06270579 -0.32230172 -H -1.08880651 1.53326411 -1.20882390 -0.65990558 -0.16755602 0.28397865 -H 0.84319222 -1.30462089 1.13291565 -0.08147196 0.05857746 0.30380535 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.443115415224 pbc="F F F" -C 0.44023751 -0.18734497 -0.29656922 2.47114161 0.33657310 -0.05242044 -C -0.87815031 0.00489746 -0.91475396 -1.08856729 2.55835552 0.56030491 -O 0.37893653 0.21423326 1.08004612 1.76807229 -2.53482621 0.85777733 -H 0.75405003 -1.21535414 -0.29162993 -0.04644669 -1.54894450 -0.23291508 -H 1.38367685 0.23180388 -0.86877394 -1.47545175 0.27482963 0.64384512 -H -1.49571306 0.39224434 -0.04762161 0.03038906 -0.45852730 -0.62891539 -H -0.87692662 0.85553073 -1.61367007 -0.09920312 0.01341936 -0.47280834 -H -1.37045351 -0.83580599 -1.34398775 -0.49571400 -1.25798207 -0.64637689 -H 0.80758592 -0.65646159 1.45594803 -1.06422007 2.61710252 -0.02849118 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.678913081045 pbc="F F F" -C -0.27307780 -0.44344397 0.00945915 -1.49579309 -0.14337818 -0.40495686 -C -0.95205757 0.94326792 0.32780909 0.98064684 -0.65558422 -3.91595753 -O 1.09486883 -0.48434962 -0.33390206 -0.63165171 -0.00058287 -1.49859673 -H -0.42817038 -1.14340331 0.87431078 -0.43206951 0.00016090 -0.28189096 -H -0.89249560 -0.77717215 -0.91612851 1.15795306 -0.27412921 1.08920333 -H -2.08486497 0.91094105 0.31322630 0.89841780 -0.03029722 -0.06638138 -H -0.58248148 1.22883168 1.25526702 0.69491774 1.36424204 2.41277010 -H -0.49967832 1.62029773 -0.54507837 -1.15301212 -0.70858892 1.70999573 -H 1.70626737 -0.10868208 0.29963478 -0.01940906 0.44815773 0.95581425 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.261793734358 pbc="F F F" -C 0.28502530 0.01072244 -0.53881091 0.30624790 -1.83171545 -0.15933224 -C -0.59349565 1.23179657 -0.05804812 2.96198301 -1.81498039 1.10092289 -O 0.27453213 -1.15916050 0.44959803 -0.74847517 2.38581140 -0.48279965 -H -0.02026502 -0.46803066 -1.55074568 -0.02729381 0.67245766 1.24553304 -H 1.40817264 0.17783618 -0.68256108 -1.03303093 0.81585291 0.13639913 -H -1.61582077 1.06954585 0.12384950 -2.34130924 -0.35252711 -1.00156812 -H -0.35920811 1.24909990 1.00568408 0.70221824 -0.02810628 1.21371064 -H -0.27381098 2.24532117 -0.24259963 -0.00117032 0.78933958 -1.27729774 -H 0.17795353 -0.68145810 1.32196256 0.18083032 -0.63613233 -0.77556793 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827483060276 pbc="F F F" -C 0.09054171 -0.08059375 -0.56081274 0.86506837 -1.14185548 -1.20327998 -C 0.56623011 1.15184457 0.16222778 -0.08303982 -0.09328444 1.85850722 -O -0.54951649 -1.00368200 0.32151823 0.55244546 0.01633258 -0.26820970 -H -0.54471541 0.16594194 -1.42504140 -0.55783979 0.35365073 -0.27194650 -H 0.93324447 -0.63908865 -1.06157624 -0.26001488 0.01476066 0.47368072 -H 1.30196546 0.84299544 0.96633391 -0.17695294 0.26480726 -0.63633138 -H 0.90681197 2.12294495 -0.30930093 -0.44907983 -0.93345752 -0.11481538 -H -0.36876238 1.25507707 0.75632560 0.11497782 1.31645463 0.27889238 -H -1.33300699 -0.58267702 0.71925547 -0.00556438 0.20259153 -0.11649734 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.649301545666 pbc="F F F" -C 0.34783227 -0.29051323 -0.28578786 1.57241868 -0.40790247 -0.81309607 -C -1.08439370 -0.15707760 -0.66762375 0.33899287 0.34721834 -3.40369791 -O 0.68684770 0.44237014 0.85471685 0.19138532 -1.34304067 3.57066392 -H 0.59235320 -1.43902623 -0.27555273 0.10712150 1.50053822 0.12856672 -H 1.01525566 0.22262121 -1.05398101 -0.48435589 -0.75787374 0.12580582 -H -1.51608624 0.81465969 -0.49305582 -0.35872563 0.84168042 0.82151777 -H -1.16951627 -0.19463483 -1.82820558 0.10843338 -0.38323853 1.26885105 -H -1.63037695 -0.97959258 -0.29670046 -1.51796907 -1.13594508 0.84748494 -H 0.58172648 -0.11389940 1.74119775 0.04269889 1.33856345 -2.54609629 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.902298551744 pbc="F F F" -C -0.32968389 0.16902674 0.34482876 -1.80297225 -0.99239396 1.71711198 -C 0.08091423 1.06956226 -0.75586612 0.40943032 0.65038534 -1.03494172 -O 0.26753774 -1.10516724 0.40518191 1.02630256 0.12531885 0.39103309 -H -0.14620249 0.62382435 1.32524451 0.32129195 0.29933981 0.51569662 -H -1.47134760 0.03029682 0.38726450 0.71767540 0.31523926 -0.43606917 -H 1.11958183 1.54047284 -0.64694116 -0.80763859 -0.80099553 -0.13989907 -H 0.02654013 0.36484068 -1.64836645 0.10642962 1.27902779 0.00798184 -H -0.64026296 1.94905071 -0.76933243 0.42791481 -0.73481048 -0.50961411 -H -0.17166174 -1.72639543 -0.18151292 -0.39843386 -0.14111109 -0.51129941 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.856523191473 pbc="F F F" -C -0.27750008 -0.48430287 0.11073024 1.52847455 -0.88049771 2.03132882 -C -0.87777921 0.83389185 0.26236225 -1.27590030 3.22823621 -0.07612926 -O 1.06242077 -0.28585156 -0.33061345 0.36230142 -2.71057578 -1.22407712 -H -0.28982341 -1.05278856 1.10840844 0.08719339 0.53957045 -0.31854621 -H -0.88701959 -1.15650141 -0.46851090 -0.53686514 -0.51319982 -1.45165937 -H -1.97448904 0.81855926 0.38801698 -0.27471367 -0.34007669 0.03999825 -H -0.54584423 1.47016563 1.13971925 0.26992854 -0.65801540 -0.51683557 -H -0.73240143 1.50019313 -0.65930425 0.09290880 -0.77682324 0.68905557 -H 1.33080310 -1.20943435 -0.70618362 -0.25332764 2.11138194 0.82686490 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.880038028928 pbc="F F F" -C 0.27165411 0.50868204 0.15600787 -1.76285238 -2.61623128 0.68177960 -C -1.13701029 -0.01234215 0.63813383 -0.65732938 2.13578069 -0.82436218 -O 0.83374791 -0.44377127 -0.69239813 1.48781861 -0.61827781 -0.46827245 -H 0.23940650 1.52223107 -0.20562329 -0.02199256 1.20120139 -0.53928691 -H 0.90261685 0.42403798 1.04787215 0.38778594 0.55144602 0.38135042 -H -1.00038926 -0.99717594 1.13136666 -0.32421586 0.11596307 -0.16185609 -H -1.56779338 0.77722207 1.34155157 0.27959543 -0.87814449 -0.15034952 -H -1.92643348 -0.00968696 -0.22655071 1.21675848 -0.43702732 1.03778778 -H 0.42887726 -0.58841377 -1.56098882 -0.60556828 0.54528967 0.04320941 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.79221448687 pbc="F F F" -C 0.10198988 -0.37599449 -0.42640758 -0.06774751 1.34130754 -0.10745770 -C -1.21022944 -0.36198956 0.38285026 2.02356737 -0.09547476 -0.37394209 -O 0.99550064 0.65892346 -0.00257729 0.43315919 0.10981977 -0.14256633 -H 0.61373793 -1.35569027 -0.56487818 -0.17723129 -0.13322901 0.21346041 -H -0.21953597 -0.01838728 -1.43532477 0.43405080 -0.27947037 -0.01881133 -H -1.23847735 0.61416216 0.81507075 -0.05592239 1.41211471 0.57076237 -H -2.00510977 -0.36265052 -0.32427152 -1.57008412 -0.80052054 -0.50170261 -H -1.18807361 -1.04482487 1.21247343 -0.58451448 -1.05775580 0.60545098 -H 1.44040238 0.50043926 0.85687331 -0.43527763 -0.49679145 -0.24519380 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.605193940934 pbc="F F F" -C 0.18472593 -0.14542283 -0.50880493 -3.38348955 3.41154338 -1.79066936 -C 0.48297220 1.18468548 0.17172264 1.98312406 -0.71126785 1.65947348 -O -0.63547522 -0.93415035 0.27665796 0.60008828 -2.07938434 1.31376649 -H -0.52070374 0.27637859 -1.33553913 0.68955005 -0.93410184 0.32173181 -H 0.90122749 -0.69221322 -1.05038771 2.05894962 -0.85666569 -0.72218178 -H 1.21269472 1.02895118 0.99847401 -0.06846747 -0.27687211 0.42289848 -H 1.01919174 2.01744192 -0.31204734 -0.54278289 0.05139061 -0.96830431 -H -0.44144526 1.46459575 0.68014122 -0.42428971 0.53494874 -0.03870324 -H -0.04117221 -1.65248792 0.64456780 -0.91268233 0.86040916 -0.19801167 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.455078349073 pbc="F F F" -C 0.16710085 -0.45894082 -0.32236052 0.96427292 1.17929574 -2.55065558 -C -1.23330846 0.16343332 -0.30504621 -0.38849181 0.56452461 -0.30424177 -O 1.03132864 0.26971330 0.55901366 0.92375505 -0.59979286 -2.59117952 -H 0.25375659 -1.62076292 -0.23510166 -0.52029951 1.40158841 0.19193405 -H 0.52053294 -0.21159974 -1.37410579 0.28304940 -0.49475487 0.63896249 -H -1.38454336 1.31310329 -0.38082435 1.08127729 -1.24925754 1.06955048 -H -1.81158118 -0.00565542 -1.20618747 -0.33140096 -1.11967467 -0.92401941 -H -1.77832499 -0.33445588 0.48774475 -0.91609141 0.32910923 0.89729463 -H 0.53353635 0.09790559 1.31127906 -1.09607090 -0.01103806 3.57235462 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.797875331854 pbc="F F F" -C 0.15713252 -0.58834543 -0.01851079 -2.63277556 0.70948433 1.48272643 -C -1.26646320 0.05001763 -0.30707264 0.22321178 -1.44337224 0.56769504 -O 1.06780199 0.46390938 0.25260689 -0.29656955 0.21707358 0.69012423 -H -0.01225206 -1.35579438 0.80537921 0.51460879 0.54912030 0.01653220 -H 0.38745716 -1.21877877 -0.86852471 1.01116405 0.04122971 -0.91412549 -H -1.64074373 0.53441130 0.65251529 0.32299875 0.05310477 -0.82861448 -H -1.02809006 0.78462625 -1.12850179 -0.96108419 -0.30120849 0.36004754 -H -2.06851471 -0.78843783 -0.51070899 1.21232425 1.44322235 -0.24296321 -H 0.63042306 1.09343057 0.91979970 0.60612163 -1.26865431 -1.13142220 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4664241760365 pbc="F F F" -C 0.10976311 -0.06474892 -0.51501078 0.01424798 -0.17165760 0.40502494 -C -0.38716318 1.35302118 0.02011937 2.12531707 0.00275597 1.15071329 -O 0.21424639 -1.16731159 0.47511505 -0.99267827 1.30329083 -0.60256913 -H -0.61561725 -0.20882560 -1.37752951 -0.10780793 -0.81195296 0.79499385 -H 1.04888684 -0.11520579 -1.06029925 0.92557483 0.83619862 -0.26626847 -H -1.30750633 1.09713201 0.58674337 0.02897588 0.49068785 0.08902072 -H 0.35097765 2.06978480 0.68033496 -1.36540017 -2.02973386 -1.04523869 -H -0.61498100 2.01919621 -0.83665986 -0.27393632 -0.31411471 -0.15053048 -H 1.04196289 -1.68558173 0.36290427 -0.35429299 0.69452585 -0.37514598 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.437407957614 pbc="F F F" -C -0.33532751 -0.12448322 -0.50332857 0.86889237 -0.12965790 0.05334696 -C -0.85767773 0.11381920 0.90368936 -3.31448811 5.32603773 -2.79617647 -O 1.07127900 -0.01378961 -0.43058777 0.92735382 0.52550111 -1.69577269 -H -0.62111466 -1.10586483 -1.02861813 -0.11757803 0.67044083 0.67370125 -H -0.58415008 0.73914113 -1.20616817 -0.47599260 -0.84125573 0.56020269 -H -1.96636380 0.10680995 1.09778442 0.20947196 -0.35934449 -0.63272993 -H -0.48447427 -0.36477744 1.69622152 2.35236597 -2.92205412 3.32329620 -H -0.65352738 1.25797218 1.13527233 -0.01319460 -1.73357363 -0.30982169 -H 1.51979125 -0.28882021 0.36965132 -0.43683078 -0.53609386 0.82395364 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.75585621921 pbc="F F F" -C -0.14409405 0.33670978 0.39168887 -0.28893249 -1.81109396 0.25940696 -C 0.75104126 0.86117387 -0.72745671 -3.32457980 2.36434325 0.96060432 -O -0.53028159 -1.09299613 0.35932811 0.93865095 1.23578213 -0.08372975 -H 0.39625208 0.31421669 1.34555081 0.02501345 0.83819205 0.45303887 -H -1.07556080 0.89647918 0.41792036 -0.57825960 0.76494099 0.41872846 -H 0.23546078 0.73436765 -1.67061809 -0.07099358 -0.42577498 -1.00174306 -H 0.84496204 1.99991167 -0.63882199 0.27699450 -1.10915998 0.17032088 -H 1.62529919 0.35100418 -0.61898052 3.45598666 -1.48702126 -0.35925929 -H -0.84248439 -1.22203746 -0.53775846 -0.43388003 -0.37020818 -0.81736739 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.598566585306 pbc="F F F" -C -0.04623956 -0.50178017 0.21445199 2.11043222 1.30033648 1.73405139 -C -1.11411315 0.52149135 0.32657567 -2.44824830 0.84582123 1.63659801 -O 1.05972880 -0.09907016 -0.54141343 1.00301375 2.46694069 -0.22472406 -H 0.41896368 -0.72763752 1.22604921 -1.07105206 -0.11555025 0.05974022 -H -0.28497967 -1.42139274 -0.19379137 -1.38714970 -2.54523487 -1.11304893 -H -2.12504045 0.15707255 0.73998446 1.17788739 0.02834560 -0.10408595 -H -0.82752187 1.36931843 0.98141672 0.31716080 -0.24041304 0.68408280 -H -1.45639570 1.15966951 -0.48231539 0.21704689 -0.38403640 -1.71705300 -H 1.27938529 0.79916630 -0.12422258 0.08090899 -1.35620945 -0.95556053 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.535023401931 pbc="F F F" -C -0.18798305 0.55367421 -0.18050438 2.91574664 0.23045551 0.76707459 -C -0.65621004 -0.19149553 1.09118616 -1.21519941 1.62158950 1.27933755 -O 0.79062923 -0.28727368 -0.81394116 -1.12008733 -1.48622242 -2.23901951 -H -1.00160722 0.91408918 -0.87258285 0.12866350 -0.28681874 0.46808240 -H 0.54140680 1.46243568 0.03840331 -1.80372877 -0.93636518 0.13658712 -H -1.47108533 0.50530043 1.61274655 0.94317449 -1.73215803 -0.75404305 -H -0.94790936 -1.22967415 0.84336455 -1.01209304 0.15599068 -0.37785773 -H 0.06794102 -0.47895316 1.91749737 0.27334147 1.05539887 -0.83795808 -H 0.31979593 -0.93045047 -1.47120624 0.89018250 1.37812976 1.55779666 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.355523503158 pbc="F F F" -C 0.03692443 0.57929606 0.05907946 2.98677354 0.33636998 2.26649238 -C -0.78295889 -0.02567427 -1.03054885 -2.89872640 1.45878581 1.69178455 -O 0.66722764 -0.52890801 0.83421253 -2.02187224 -0.83332109 -1.04515271 -H 1.03872144 0.95208122 -0.24508316 -0.59711742 1.13643863 -1.18456321 -H -0.41457794 1.48838382 0.72375089 0.21403032 -2.07008934 -1.24523237 -H -1.21376542 0.79568427 -1.61568562 0.28701692 0.32219631 -0.76471843 -H -0.36406019 -0.79731090 -1.63502817 0.89256370 -0.84536548 -0.62197074 -H -1.75868020 -0.38696152 -0.56744294 0.81799022 -0.35157770 -0.18453734 -H 1.01003584 -0.25483179 1.67384175 0.31934135 0.84656290 1.08789788 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.580825024272 pbc="F F F" -C -0.13021609 -0.59530235 0.18654570 0.42246067 3.76411260 -3.48034756 -C -1.04499267 0.69562244 0.45439825 0.94246842 -0.25727552 -0.22409475 -O 1.05694862 -0.07598046 -0.56724692 -0.34720754 0.00581697 1.03904407 -H 0.12373209 -1.11267950 1.08381512 0.31285477 -0.75495955 1.27830438 -H -0.59340498 -1.18224160 -0.60319721 -0.92552788 -1.03638571 0.27138147 -H -1.68300332 0.45183667 1.27607664 -0.97935265 -0.47837864 1.24593439 -H -0.45170529 1.56837325 0.85860972 -0.00975497 -0.57432859 -0.54545103 -H -1.78495321 1.08318531 -0.31953699 1.13124890 -0.61483957 0.03310852 -H 1.61490280 -0.79933154 -0.92919297 -0.54718971 -0.05376194 0.38212046 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.772967239665 pbc="F F F" -C -0.04842807 0.01239413 0.53555806 2.78759135 -1.62364613 2.17875068 -C -1.12824355 0.51058793 -0.26926256 -0.98971929 -0.84619245 -1.70165929 -O 1.08458846 -0.41890368 -0.20975035 0.32816847 -0.05357178 -0.03028349 -H 0.49795810 0.72858257 1.16097034 -0.56414486 0.88864241 0.49925112 -H -0.41133921 -0.77255779 1.28040989 0.19785381 0.23796761 -0.41028902 -H -1.82551421 1.06177227 0.35027408 -0.61730732 0.89295687 -0.12773286 -H -0.65734687 0.92996890 -1.17171817 -0.36302081 1.11422043 -0.00043405 -H -1.65265805 -0.37737977 -0.68108351 -0.41060079 0.00843286 0.00725375 -H 0.85316272 -1.15437452 -0.78260883 -0.36882061 -0.61880982 -0.41485674 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.561269231895 pbc="F F F" -C 0.45047933 0.17994559 -0.18599566 0.71019575 -3.43264901 0.04355347 -C -0.70265978 1.04311861 -0.30174503 -2.35507807 2.23235747 1.32179995 -O 0.21950393 -1.13317629 0.40198175 0.26471789 -0.15047633 1.78910187 -H 0.82214482 -0.08865210 -1.18163319 0.17688666 0.03164217 -0.62814046 -H 1.27883452 0.67524110 0.25740607 1.30518481 0.80306583 1.13693958 -H -1.27598870 0.99849528 -1.22175028 -0.69604332 -0.92799603 -0.58112438 -H -1.44000477 0.97490258 0.61239175 1.21679159 0.30955589 -1.33840358 -H -0.31251235 2.07763761 -0.44418149 -0.15245634 0.21468785 0.65454231 -H 0.44727533 -1.22594175 1.40892411 -0.47019893 0.91981211 -2.39826881 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.706894306753 pbc="F F F" -C 0.37324403 0.37327936 0.09340239 1.22374458 -0.00491904 -1.44605570 -C -0.85260301 0.65138897 -0.82415634 2.13262651 -0.96365509 -1.03661628 -O 0.38445704 -0.92435943 0.68452175 0.96146106 -1.30934239 -0.36523566 -H 1.31457229 0.64260340 -0.59034315 -1.23376535 -0.70634182 1.25679519 -H 0.38336665 1.01504833 0.95384357 0.08010691 1.58432978 0.64251519 -H -1.00650852 -0.25325148 -1.43965191 -0.17315604 -0.27491535 0.03411269 -H -1.77196159 0.92267541 -0.38245232 -1.54306778 0.30915988 1.20530858 -H -0.62374539 1.42398327 -1.59106086 0.18050755 0.15156381 0.32564894 -H 1.31274328 -1.28990021 0.89172778 -1.62845743 1.21412021 -0.61647289 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.55198837824 pbc="F F F" -C -0.28045402 -0.46328921 0.00371974 2.09278252 -0.58255648 -0.11569176 -C -0.99513597 0.81175266 0.49990380 0.73839105 -0.83258967 0.21321657 -O 1.12946779 -0.30263919 -0.52400655 -1.28617160 0.24818713 1.20292696 -H -0.34703046 -1.26060564 0.83189729 0.42206195 0.70751996 -0.72267127 -H -0.55110565 -0.96903655 -0.91170882 -1.87313357 -0.13734123 -0.53950931 -H -1.57405758 0.48781322 1.36243946 -0.57265598 -0.09272959 0.61216434 -H -0.21407495 1.47923103 0.94715964 -0.38419390 0.16891624 -0.57441009 -H -1.73364791 1.27638326 -0.17483967 0.45040215 0.35422563 -0.36121420 -H 1.69051284 -0.36370367 0.26157812 0.41251739 0.16636802 0.28518876 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.325107342747 pbc="F F F" -C 0.27618346 0.32673903 0.39542265 1.87335082 0.22789531 -0.83529565 -C -0.51883326 0.89906250 -0.74545397 2.73817380 -2.73918558 -3.11679674 -O 0.17783025 -1.07635618 0.31414401 0.92561725 -1.29238190 0.78589379 -H 1.32242513 0.69618445 0.50830041 0.53310999 -0.14415538 -1.08880178 -H -0.01654587 0.72035560 1.31543996 -1.78821813 0.69231697 2.59928688 -H -0.22257583 0.10879323 -1.61310188 -0.69012772 1.33043290 1.37840358 -H -1.52114866 0.68065374 -0.59228856 -2.79033816 -0.19142708 0.38763137 -H -0.36917409 1.81236272 -1.32123395 0.37856154 0.97070639 0.74181853 -H 0.87470158 -1.54121161 0.88736472 -1.18012940 1.14579842 -0.85213998 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.173211766009 pbc="F F F" -C 0.45486011 0.07233457 -0.35033234 -0.05109601 0.07761047 2.63278631 -C -0.76807491 1.00144572 -0.35684882 2.31466926 1.93311187 1.47943007 -O 0.32497307 -0.96914933 0.60837182 -1.95067184 -3.31127953 0.76465467 -H 0.87927130 -0.18182161 -1.34405011 -0.46061514 -0.36127657 -0.35908846 -H 1.32197936 0.51373068 0.22557403 -0.33808203 0.77158924 -0.97488330 -H -0.30359099 2.06507488 -0.31574391 -1.04237540 -0.90951026 -1.28080519 -H -1.50875073 0.72370001 -1.06785617 -0.91118729 0.24236996 -1.48165485 -H -1.29978377 1.09744003 0.61077853 0.22844532 -0.84712890 0.35832371 -H -0.51623608 -1.63122117 0.66122116 2.21091313 2.40451372 -1.13876301 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.653844508304 pbc="F F F" -C 0.38606845 -0.34870794 -0.19488723 -0.78766656 -0.65023653 -0.07212615 -C 0.26640723 1.12442526 -0.68417947 -0.10428408 -1.67890995 1.62669674 -O -0.58018162 -0.74256233 0.74746667 -1.52758310 1.35961344 2.81368775 -H 0.09822807 -1.18619406 -0.96105903 1.34217960 1.46745207 0.28765466 -H 1.40696294 -0.47096397 0.24615314 0.16374565 -0.29545369 -0.39334565 -H -0.02043806 1.71771342 0.22389762 0.50504068 0.09427920 -0.36280684 -H 1.23265656 1.38578240 -1.10379821 0.39001118 0.70534876 -0.40521757 -H -0.55701540 1.19021963 -1.36123113 -0.87475798 0.39792242 -1.11926941 -H -0.72690478 -0.09460887 1.56626061 0.89331462 -1.40001561 -2.37527347 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4157535709755 pbc="F F F" -C -0.27983367 0.38141843 0.34803133 -0.81059608 -2.10123194 1.00013149 -C 0.91614042 0.72914780 -0.45598025 1.15423637 5.51037046 1.14491844 -O -0.60904851 -1.03124032 0.15476308 -0.31560317 1.36814801 2.98772727 -H -0.13948107 0.38336853 1.49306408 0.12133045 0.53302262 -1.28763476 -H -1.08415520 1.10747862 0.11017449 -0.59118197 -0.26309881 -0.00166829 -H 1.79263405 0.87065986 0.19407451 0.47338345 -0.45658812 0.09437021 -H 1.20194309 0.17306904 -1.27511764 0.44913850 -2.25376238 -2.19545812 -H 0.90991695 1.84784452 -0.94698285 -0.49567790 -2.04156387 1.01950795 -H -0.59648355 -1.24826925 -0.74549485 0.01497036 -0.29529598 -2.76189414 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.792824002758 pbc="F F F" -C -0.22529026 0.23811641 0.51390053 -1.35176026 0.42728227 -1.45461733 -C -0.00330416 0.96315176 -0.85280816 1.97217363 0.74057309 1.48318826 -O 0.21092345 -1.09558879 0.27566248 -0.13892405 0.82483280 -0.28502853 -H 0.20681136 0.76502491 1.37249724 1.06839369 0.11231523 0.28073180 -H -1.32490951 0.30895603 0.82593310 0.35479611 -0.34851315 -0.59666387 -H 1.14930611 1.15760869 -1.03617646 -1.97249640 -0.65651635 -0.00482411 -H -0.51465366 0.41273708 -1.61077236 0.05075982 -1.41935829 -1.17738377 -H -0.51292331 1.91254221 -1.01978789 -0.16254304 0.94708679 0.77757107 -H 0.37126568 -1.48210294 1.13106764 0.17960056 -0.62770245 0.97702652 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.571854226862 pbc="F F F" -C -0.44263964 0.06259603 -0.29595417 -1.44720612 1.82775384 -2.76936479 -C -0.48663509 0.15960109 1.22080049 0.62891107 1.04150817 1.20072656 -O 0.85927033 -0.24344288 -0.80181569 -0.14575717 0.17053110 -1.41218192 -H -1.31098666 -0.64323805 -0.77647287 1.56920022 0.99668812 1.17827825 -H -0.63535015 1.13741208 -0.84724263 -0.48628082 -1.76749189 1.61599483 -H -1.47649924 0.29587958 1.72355036 -0.12951026 -0.02580365 -0.82197142 -H -0.10510546 -0.75749978 1.71632763 0.29829435 -0.06713209 -0.23760395 -H 0.11802977 1.05866728 1.65206305 -0.45230039 -1.24431588 -0.84528382 -H 0.84272853 0.12381650 -1.76126062 0.16464918 -0.93173766 2.09140616 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.785698166624 pbc="F F F" -C -0.00876123 -0.23114187 0.59622799 -1.78394870 -0.03442040 -1.31994218 -C -1.09938974 0.56984157 -0.17000764 -0.00387949 2.57699150 2.76377424 -O 1.01461358 -0.28271548 -0.38323958 -0.08314446 1.23153014 0.33466981 -H 0.31899352 0.32879341 1.53074965 -0.32634118 -0.68434037 -0.35486368 -H -0.48665196 -1.27160292 0.79116379 0.92251017 1.02101811 0.29757639 -H -2.08140527 0.69096391 0.38787950 0.62885759 -0.25876671 -0.21349270 -H -0.68869832 1.65462185 -0.23052559 -0.56622668 -1.26502052 -0.35364636 -H -1.31295514 0.19934218 -1.15078375 0.02339304 -0.62554231 -1.11789587 -H 1.34921843 -1.15194734 -0.32406002 1.18877972 -1.96144940 -0.03617965 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.668551434444 pbc="F F F" -C -0.38155532 0.31609626 -0.25772237 1.83318828 -0.94656727 -1.66842319 -C -0.56909309 -0.03636035 1.22151020 -1.48974318 1.92633778 -1.16563912 -O 0.85085367 -0.25990338 -0.90318307 -3.59805065 0.44288681 -1.42421736 -H -1.22642424 -0.17921666 -0.84453223 0.60369440 0.68867587 0.37883793 -H -0.34115723 1.42999054 -0.49650719 -0.40201983 -0.68494885 0.49347889 -H -1.61585931 0.46033425 1.32702700 1.18063596 -0.71272485 0.77949426 -H -0.71081728 -1.13646698 1.27994001 0.46325047 0.20108929 0.61551284 -H 0.17948796 0.52175890 1.87223886 -0.59842071 -0.98955032 -0.21827043 -H 1.53587820 -0.30571617 -0.28619034 2.00746527 0.07480154 2.20922623 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.73942654627 pbc="F F F" -C -0.34351805 0.37937810 -0.28211849 0.29973180 -3.64402415 1.16573301 -C -0.50160644 -0.02660437 1.19633154 -2.58482524 0.92143602 -0.96533607 -O 0.74882229 -0.32910527 -0.86251075 -1.92375953 -0.51902337 -1.13659053 -H -1.25717178 -0.05535222 -0.76062494 0.32592816 0.46700598 -0.32667224 -H -0.37732474 1.43222408 -0.28660635 0.33583319 2.24805633 -0.77520802 -H -1.62220052 0.26537102 1.39466042 1.70913580 -0.43787136 0.53037217 -H -0.37178831 -1.09396286 1.30833119 -0.09311557 -0.93153099 0.04182795 -H 0.20154674 0.46006880 1.85065833 0.50598217 0.70518164 0.77712118 -H 1.61019593 0.01047707 -0.70931181 1.42508928 1.19076996 0.68875259 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.609504180119 pbc="F F F" -C -0.38050199 0.17026558 0.37058339 0.88288087 -1.67336768 -1.50414687 -C 0.04465892 1.06834814 -0.78061191 0.44161879 -3.40327065 -0.38285369 -O 0.31250840 -1.10631740 0.42756625 0.15914429 0.76575428 0.59384168 -H -0.12005000 0.71465760 1.23759156 0.98724682 0.56663574 1.86549991 -H -1.43367482 0.02820129 0.53311479 -1.54509910 -0.17129616 -0.46891070 -H 1.10732262 0.84161067 -0.94150548 0.47405399 0.76615768 0.16617390 -H -0.40991404 0.89358994 -1.74026992 -0.70000410 -1.06694030 -1.11322891 -H -0.27524788 2.03325455 -0.66432657 -0.20383420 3.56995877 1.02227009 -H 0.17194991 -1.71126174 -0.32558465 -0.49600736 0.64636835 -0.17864535 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.589905787382 pbc="F F F" -C -0.06125556 -0.55915071 0.20072229 -0.17221610 2.46410142 -0.14201930 -C -1.21220718 0.58390333 0.32764547 0.66773449 -3.62796421 0.23597444 -O 1.17215903 -0.07796166 -0.52275914 -2.62987325 -3.78330003 0.27564642 -H 0.01604276 -0.89139967 1.26285546 1.10461473 0.21208739 0.14383980 -H -0.41921835 -1.49679477 -0.25643043 0.02108691 0.20268620 -0.83281356 -H -2.07197003 0.15660183 0.92985480 0.32921414 0.23724379 -0.75935706 -H -0.86556010 1.38890607 0.90224007 1.08662338 1.67741989 1.41133562 -H -1.48615528 1.00988302 -0.60786791 -0.73980680 0.24004295 -1.50090131 -H 1.39445512 0.77386287 -0.22878092 0.33262244 2.37768255 1.16829496 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.687958584421 pbc="F F F" -C 0.01288039 -0.17717999 -0.48515027 -1.53802152 -0.83807306 1.73942963 -C -0.31246183 1.33375086 -0.24656165 1.09185594 -0.43122361 -2.97181450 -O 0.33164586 -1.04574138 0.65688678 0.81465642 0.98656347 0.05019998 -H -0.89591011 -0.67227526 -0.88386406 0.07836185 0.31031328 -0.92925474 -H 0.88602328 -0.30020451 -1.12803527 0.23412201 0.11229101 -0.57989071 -H -0.56858198 1.87044453 -1.27440327 0.89598214 -1.01715750 1.38596746 -H -1.19081558 1.56016312 0.27398204 -2.01478499 -0.08755998 1.61806981 -H 0.50186233 1.86271406 0.23858542 0.67252738 0.37640845 0.20416607 -H -0.42806481 -1.50470520 1.06587356 -0.23469927 0.58843788 -0.51687300 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.727517394624 pbc="F F F" -C -0.34149490 -0.41056090 -0.20692350 3.30906683 0.66051796 2.47375139 -C -0.88194159 0.71200931 0.62746547 -2.07113192 0.87583404 0.71938138 -O 1.10949855 -0.35737039 -0.40203059 -0.23915001 0.54049867 0.29463700 -H -0.50059318 -1.37972722 0.25998795 -0.29706243 -0.64502963 0.39354768 -H -0.79646453 -0.43376733 -1.12342567 -1.68694568 0.04696893 -3.23035608 -H -2.01834416 0.88827429 0.45025054 1.34867282 -0.39863420 0.31710964 -H -0.70991996 0.72911446 1.72188171 -0.10500764 -0.97651745 0.20158381 -H -0.44394353 1.69152918 0.45303942 0.46170241 0.72385618 -1.10981993 -H 1.43537496 0.58366204 -0.39136983 -0.72014438 -0.82749451 -0.05983494 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.616630325373 pbc="F F F" -C -0.49183797 0.02309105 0.27513950 -0.34739390 2.83253697 0.99752481 -C 0.15311940 1.16573741 -0.62685651 -4.10826747 -0.35078950 -0.36700679 -O 0.30912253 -1.09820870 0.36018705 -0.22195282 -0.78995264 -0.16294079 -H -0.43258431 0.47789454 1.34642151 -0.56810878 -0.63336206 -1.23229535 -H -1.59776237 -0.07077104 -0.03099305 0.82206290 -0.51592283 0.44083245 -H 1.15722964 0.97710472 -0.46723561 3.03324610 -0.02284796 -0.18631099 -H -0.21536934 1.18201982 -1.74844571 0.83718952 -0.03306959 1.82772201 -H -0.15119194 2.08328796 -0.06887694 0.23069509 0.20156911 -0.76152085 -H 0.36807412 -1.38495066 -0.55716059 0.32252932 -0.68816150 -0.55600443 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6203135887245 pbc="F F F" -C 0.51478206 -0.34084758 -0.16724206 -0.86049669 0.63086393 0.98243731 -C 0.35866941 1.28085387 -0.08583725 -0.11609625 -2.46547973 -1.36491603 -O -0.76181238 -0.92531413 0.22051065 -0.81506908 2.63957911 0.64667149 -H 0.69269673 -0.84419470 -1.15832504 0.54407246 0.98778510 0.06952126 -H 1.36312917 -0.67981694 0.55944924 -0.98397663 0.47303522 -0.82485609 -H 1.17106430 1.77203976 -0.58356757 1.17984200 0.57887353 -0.49601780 -H -0.54515346 1.67441080 -0.60934764 -0.05583589 -0.49019651 0.03107066 -H 0.33202808 1.62913975 0.93063250 -0.02109205 0.09641542 1.18312730 -H -1.33035057 -0.06642547 0.37662726 1.12865214 -2.45087612 -0.22703810 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.608417945085 pbc="F F F" -C -0.53541751 0.15598751 0.15824707 0.79190297 -0.67886963 -2.67628944 -C 0.61850422 1.15931695 0.12706512 1.05292680 -0.11367345 2.39754556 -O -0.03939027 -1.20262292 -0.24490635 -2.01070121 0.41059719 0.81939800 -H -1.14365038 0.13653254 1.10804025 0.26954380 0.17640242 -0.56313272 -H -1.04492915 0.59765431 -0.76452228 -0.95704771 -0.76657683 0.97345274 -H 1.20979543 1.17440101 1.12893422 -0.09551302 -0.37978868 -1.51923719 -H 1.24282138 1.12798441 -0.79730885 0.03217798 -0.59032857 0.43585474 -H 0.24102690 2.18132109 0.11449364 -0.71235990 0.60123293 -0.02139899 -H -0.87086554 -1.80300174 -0.30195367 1.62907033 1.34100461 0.15380730 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.427548169268 pbc="F F F" -C 0.08765458 -0.37761304 0.42071132 -3.38313772 -0.76951925 -2.36298437 -C -1.15937544 0.50437983 0.22770359 2.36115431 3.02785747 1.76167173 -O 1.00739590 -0.13276074 -0.56753041 2.08716666 1.46348074 0.98495396 -H 0.35814239 -0.06124545 1.39511886 1.53558684 0.13238738 1.50550914 -H -0.30783584 -1.42863300 0.45627118 0.56320692 -0.05965352 0.18398301 -H -1.60427889 0.66323792 1.19994981 -1.06833059 -0.42295983 0.83880994 -H -0.79330265 1.59424564 0.10613061 0.15879457 -1.00102670 -0.09270995 -H -1.87374437 0.49315678 -0.53075455 -1.65262036 -1.16869971 -1.95438333 -H 0.99998508 -0.66546642 -1.34466627 -0.60182063 -1.20186654 -0.86485008 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.662999119762 pbc="F F F" -C -0.00551098 0.15279012 0.59048324 -1.05000361 -1.45499039 -2.42349926 -C -1.24466505 0.06997702 -0.36736946 -0.66572542 -1.44083029 4.01485860 -O 1.15184756 -0.23014198 -0.21434641 -0.91294099 0.01161702 1.24530519 -H 0.02371081 1.16814933 0.94317311 0.56082011 1.06179588 0.71960178 -H -0.28664299 -0.57415905 1.44553334 0.86914027 0.75656356 -0.73295681 -H -1.37664559 -0.99264094 -0.55381617 -0.17331000 -0.75014665 -0.43330744 -H -2.13806026 0.33736016 0.27085120 0.24089167 -0.09444092 -0.30689896 -H -1.38790396 0.56784683 -1.27070262 0.62194215 1.65481958 -2.11736757 -H 1.77806104 0.49055875 -0.09128298 0.50918586 0.25561222 0.03426443 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.879239398865 pbc="F F F" -C -0.19896634 -0.10726324 -0.52540918 -0.40301295 -0.84590284 1.68021993 -C -0.04401290 1.27717436 0.01370345 1.49792274 -0.52208021 1.51673818 -O 0.16245680 -1.08616831 0.44331170 -1.06663567 -0.65152357 0.42828556 -H -1.25518006 -0.23369988 -0.86383603 0.11094936 -0.47115512 0.31429885 -H 0.43091253 -0.34609459 -1.34619749 0.86997779 0.40342299 -1.97911854 -H -0.52652367 1.38730399 1.03124108 -0.15597489 0.00029064 -0.88274974 -H 1.05936171 1.46482081 0.22638199 -0.73936940 0.23460044 -0.43331917 -H -0.43928189 1.89616376 -0.75897306 -0.37183672 1.66806596 -0.60096276 -H 1.04634766 -0.86960968 0.77206441 0.25797974 0.18428162 -0.04339232 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.269299890719 pbc="F F F" -C 0.33630467 -0.22205026 -0.38351243 -0.35793542 1.05328501 2.95300657 -C 0.28188967 1.34298319 -0.00340383 0.47562874 -1.46377647 -2.11047712 -O -0.56083275 -0.98651617 0.37428246 -1.15897919 -0.11787982 2.63554495 -H 0.07572865 -0.63000266 -1.30151868 0.21002634 0.65907444 -3.60535202 -H 1.37168641 -0.44726275 -0.14707336 1.02083346 -0.74401148 0.09045309 -H -0.03897816 1.64029451 0.99297422 -0.27468539 -0.49916406 0.66592772 -H 1.31741056 1.70893291 -0.15734189 -0.01320128 0.11983242 0.11809595 -H -0.31894792 1.87451542 -0.74288858 -0.54743911 0.42070703 -0.21992545 -H -0.87204261 -1.84577945 0.02525367 0.64575180 0.57193289 -0.52727374 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.72607045573 pbc="F F F" -C 0.16708153 0.54545863 -0.15190166 -1.05905966 -0.48399480 0.73097259 -C -1.28501034 -0.06174801 -0.29963400 0.30455684 0.54065931 0.20451955 -O 1.05320860 -0.39768128 0.40885881 0.44323201 -0.37460317 0.88750876 -H 0.73951929 1.01684616 -0.94455539 -0.44457294 0.15311830 -1.76245294 -H 0.04665442 1.45208202 0.49913033 0.17784908 -0.59002595 0.62147014 -H -1.58460812 -0.53781276 -1.27115012 0.48362894 -0.08657154 0.42239413 -H -1.38244979 -0.75957296 0.58390550 0.10358952 0.07786640 -0.72027438 -H -2.08086785 0.68811062 -0.08686709 0.20243603 0.16745138 -0.22081510 -H 0.86413410 -1.31255054 0.11010935 -0.21165976 0.59610003 -0.16332280 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.514208154276 pbc="F F F" -C -0.38619691 0.29321201 -0.28002312 2.04833230 1.03558388 -0.12914054 -C -0.52895184 -0.00778885 1.24546256 -1.78930827 1.06400101 -2.72059074 -O 0.79288475 -0.28216798 -0.88999004 1.19102070 0.09344102 0.19834592 -H -1.03081969 -0.27895018 -0.91152101 -1.94408277 -0.42494544 -0.11169385 -H -0.53003214 1.38587087 -0.60229889 0.22231941 -0.65702095 0.61915394 -H -1.18802969 0.68979834 1.76033440 -1.00188082 0.39118011 -0.06668102 -H -0.96770009 -0.98473012 1.24809358 0.01002566 -1.28621083 0.88030725 -H 0.34289645 0.17942548 1.78122313 2.58741481 -0.34663984 1.04754060 -H 1.69193799 0.08491388 -0.65295369 -1.32384095 0.13061106 0.28275850 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.541907741249 pbc="F F F" -C -0.01581971 -0.03112976 0.49486642 0.19950934 -0.84742689 0.42052998 -C -1.21265310 0.55860204 -0.29498146 -0.99309212 -0.41412341 4.84506834 -O 1.07980368 -0.50736964 -0.24938030 0.53636506 -0.10777796 -1.48563466 -H 0.36902807 0.72817958 1.15548552 0.12988719 1.12255245 0.80324519 -H -0.26041395 -0.87713052 1.16620572 -0.96798580 -0.02160144 0.29604499 -H -1.72990052 1.26264410 0.54245599 0.91091136 -1.03372369 -1.84248014 -H -0.77259795 1.15192725 -1.03701485 0.21701002 1.14962500 -2.09775750 -H -2.02123429 -0.18071229 -0.47600066 0.40780307 0.11025604 -0.89216266 -H 1.91259907 -0.31814968 0.22552654 -0.44040801 0.04221989 -0.04685354 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.820409366587 pbc="F F F" -C 0.19952481 -0.01915631 0.55785175 -0.62849373 -0.77381490 -3.31759837 -C -1.23253862 -0.56923025 0.13047841 1.25422897 1.83953345 -0.18223759 -O 0.99116139 0.55057694 -0.57412367 -1.57163727 -0.79511798 0.18262274 -H 0.07398897 0.74264753 1.28081864 -0.08526120 1.37239090 1.31466272 -H 0.75854081 -0.85732613 0.96978510 0.51534402 -0.41275769 0.46186140 -H -1.58489781 0.06401320 -0.75392732 -0.05151125 -0.53423238 0.90172948 -H -1.17808179 -1.60531113 -0.16161301 0.06623102 -0.94292793 -0.50237686 -H -1.93439047 -0.51189148 0.98334174 -0.16020359 0.19166855 -0.07975868 -H 0.44026585 0.43812390 -1.40733187 0.66130302 0.05525791 1.22109526 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.925312077702 pbc="F F F" -C 0.09812365 0.55020507 0.08290387 0.11360696 -0.47229952 1.30978832 -C -1.27917403 -0.02932895 -0.31398383 0.19467803 2.20716045 -0.78184147 -O 1.07649696 -0.45427489 0.25973939 0.41732443 -0.13875467 0.07038228 -H 0.40218601 1.35664594 -0.59675667 0.28510278 0.31269351 -0.55467476 -H 0.14217240 0.99724355 1.10623962 -0.68808652 0.28877165 -0.26295807 -H -1.66424158 0.55741274 -1.22232576 0.04443521 -0.74270952 0.91931290 -H -1.11654013 -1.05695254 -0.58573961 -0.10237889 -1.10546664 -0.28859182 -H -1.99411763 0.04609403 0.51461275 -0.35218998 -0.12854821 0.10515507 -H 1.21542031 -0.89787729 -0.58539990 0.08750794 -0.22084704 -0.51657244 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.577545796911 pbc="F F F" -C 0.19692459 -0.44276315 -0.36066298 0.35395608 6.95238141 -1.03790384 -C -1.28232240 0.11552765 -0.35046765 1.09647333 0.11912830 -1.23634401 -O 1.00290068 0.24890114 0.67794087 -0.49955924 -0.92536189 -1.01177788 -H 0.24298002 -1.42057017 -0.17211310 -0.11941169 -4.76207958 1.55246192 -H 0.68811609 -0.40479600 -1.40689891 -0.45423993 0.51031119 0.84848377 -H -1.48529798 1.23105374 -0.69094687 0.75140562 -1.74185983 0.99326217 -H -1.81507600 -0.48103047 -1.10221509 -0.47301804 -0.24471917 -0.29507748 -H -1.68367528 -0.18199407 0.62397205 -0.41847793 0.53447766 0.41679242 -H 1.06624891 1.20430452 0.46089264 -0.23712825 -0.44227802 -0.22989702 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.683517331359 pbc="F F F" -C -0.27492823 0.27676597 0.43687247 0.65442378 -0.93506888 0.50464874 -C -0.90107145 -0.01178519 -0.92372145 -0.56734593 0.00005836 0.89915807 -O 1.06904196 -0.18733611 0.42095325 0.13279043 2.46503930 -2.40374285 -H -0.14863208 1.38613445 0.71123100 -1.01193214 -0.92278862 -0.35426044 -H -0.87540174 -0.32846419 1.17221054 0.11837018 0.80505479 0.28891830 -H -1.88015680 0.48329899 -0.95832615 -0.07784239 0.72678879 -0.68919868 -H -0.13943174 0.19707596 -1.65041582 0.33715895 1.00753103 -1.21498215 -H -1.16242941 -1.05547318 -1.15879554 0.19597418 -0.60809783 0.68849163 -H 1.24908243 -0.86795148 1.00348579 0.21840295 -2.53851693 2.28096744 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.803521079493 pbc="F F F" -C 0.23148858 0.42357573 0.20794025 1.22910384 1.38635066 0.69312887 -C -1.13747686 -0.04881687 0.72659677 0.63862244 0.32410931 -2.21257910 -O 0.87386362 -0.34258748 -0.79935335 0.36059677 -0.23488583 1.14395545 -H 0.03684522 1.49277629 -0.10840751 0.31470678 -0.25234424 -0.15635028 -H 1.11659925 0.50835844 0.93403363 -1.32722591 -0.07429442 0.03736467 -H -1.71761062 0.50083121 1.44906348 0.03639475 1.17251728 0.69771978 -H -1.73777434 -0.05400867 -0.20789832 -0.39861332 -0.12308055 0.08116019 -H -1.13150871 -1.03805014 1.07521542 0.22186586 -2.26585845 0.69222039 -H 0.35713797 -0.43904985 -1.58960250 -1.07545127 0.06748618 -0.97661998 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.413253258724 pbc="F F F" -C -0.24451593 -0.48846805 0.11157854 0.06930303 -0.75575551 -1.85446596 -C -1.00540690 0.82380449 0.49262555 0.06276409 -0.33617314 -0.68313823 -O 1.12605613 -0.29482973 -0.57684800 -3.86139618 0.03718151 0.12501536 -H -0.22162558 -1.32874439 0.91786360 0.29419071 1.46958449 -0.55985014 -H -0.94341888 -0.95581669 -0.64722881 0.88733541 -0.00704287 -0.06559606 -H -2.16136171 0.62075424 0.58410017 1.89459745 0.11909580 0.77537129 -H -0.38611829 1.18157857 1.35397667 -1.15568401 0.66154882 0.10932905 -H -1.03366992 1.60955917 -0.35024320 0.66234550 -0.94644453 0.77371534 -H 1.76509306 -0.44478905 0.09830253 1.14654394 -0.24199468 1.37961935 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.71956815172 pbc="F F F" -C 0.11779255 -0.62971776 0.05027127 0.21317090 1.08661150 -0.28031539 -C -1.01746664 0.06028507 -0.73217225 -0.85810813 -0.55602773 2.26397095 -O 0.83075195 0.45674184 0.65438087 0.07462120 0.67970195 -0.65818042 -H -0.19160047 -1.23354144 0.91024393 -0.44483905 -0.56263973 0.02525595 -H 0.78643753 -1.21110545 -0.58819147 0.40107217 -0.58940560 -0.47284598 -H -0.49775208 0.82873706 -1.31454687 -0.20978322 0.74472157 -0.13718522 -H -1.69881845 -0.44758114 -1.43984621 0.14043375 -0.58620493 0.15240918 -H -1.62437009 0.40953587 0.19593131 0.34694601 0.48137989 -1.80784845 -H 0.75887919 1.18783381 -0.02522650 0.33648635 -0.69813697 0.91473932 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.568397314711 pbc="F F F" -C 0.19481336 0.39642955 0.22866787 3.29791873 -0.64558509 -0.97101539 -C -1.09501922 -0.08112261 0.67818379 -2.30497013 1.04871929 3.37340588 -O 0.86258134 -0.32630382 -0.80822948 -0.00851087 -0.23532009 -0.95387769 -H 0.07776841 1.43403501 -0.03031707 0.04909611 1.35166451 -0.57938487 -H 1.00128858 0.40849390 1.06112848 -1.23055615 -0.08572081 -0.57481808 -H -1.47007332 0.89262102 1.18988439 0.03354936 -1.32659882 0.09822193 -H -1.96314745 -0.29475501 0.07339631 -0.19372251 -0.20712850 -1.57237127 -H -1.12137264 -0.88244719 1.45327357 0.35369573 0.06778047 -0.12721365 -H 0.50940916 -0.13713286 -1.72416648 0.00349974 0.03218904 1.30705318 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.703758879306 pbc="F F F" -C -0.06092577 0.37953721 0.48355354 2.20799611 -1.88237170 -1.64418297 -C -1.06438344 -0.66756606 0.15428012 0.82434269 -0.93510025 -0.38114298 -O 1.05753157 0.24404594 -0.51617033 -1.66384704 1.39061596 -0.33623279 -H -0.52246493 1.28405673 0.35436046 -1.30621906 3.42290576 -0.36290305 -H 0.31557915 0.39786025 1.51195746 0.56830316 -0.51457680 0.26454598 -H -1.81268633 -0.81477004 0.91267040 -0.78620654 -0.29387693 0.85155156 -H -1.56958705 -0.41952245 -0.78267056 -0.29386521 0.11088375 -0.46668757 -H -0.46937398 -1.58486115 -0.03733331 -0.39919522 -0.27055152 0.17889001 -H 0.68024043 0.69408269 -1.36610503 0.84869115 -1.02792821 1.89616181 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5380341740665 pbc="F F F" -C 0.13783153 0.51506637 0.02975921 -0.26786970 2.62219387 1.27757964 -C -0.88016428 -0.01439904 -1.05027476 -0.60524113 0.51646384 2.52615342 -O 0.70656375 -0.45015325 0.86986328 0.25363900 -1.40692797 0.47689917 -H 1.11184069 1.03737134 -0.40490297 -1.93428532 -0.53668783 0.20196547 -H -0.41158952 1.27797915 0.74743521 0.77714813 -0.50172262 -1.34101978 -H -1.32860056 0.79229936 -1.72458393 0.57454796 -0.79888604 0.63391295 -H -0.18684262 -0.68587537 -1.53151656 -0.29442900 -1.14077047 -1.19157122 -H -1.73677784 -0.55523382 -0.40975487 1.51214166 0.75671685 -1.58926188 -H 0.18113717 -0.68858897 1.67621669 -0.01565154 0.48962038 -0.99465777 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.426981429963 pbc="F F F" -C -0.05138274 0.22299083 0.54883471 1.26587906 1.77017515 -2.97553052 -C -1.28721684 -0.03275392 -0.30229571 -1.75966571 -2.19275558 -0.24980898 -O 1.24650127 -0.20667265 -0.13284714 -2.55271215 0.99405952 -0.69539792 -H -0.06719516 1.35688546 0.57283752 0.37918529 -0.41542310 0.33630380 -H -0.04656730 -0.08798898 1.55288185 0.17611029 -1.11784337 1.84802710 -H -1.69187092 -1.12806201 -0.49222196 0.96534327 1.33192398 0.86387558 -H -2.26600419 0.55397819 -0.07794137 1.61413073 -0.33591711 -0.17160150 -H -0.87621675 0.18187004 -1.28614527 -0.45597774 0.69511947 -1.03191039 -H 1.11156307 0.13552821 -1.09845946 0.36770696 -0.72933896 2.07604278 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.685448132416 pbc="F F F" -C 0.48538968 0.21889715 0.30070343 -2.57189367 -1.35483869 -1.81570302 -C -0.36170266 1.03691403 -0.75721705 2.26141126 -1.84144450 -1.24318829 -O -0.07008260 -1.14770581 0.43010552 0.81457893 0.75910458 0.50817203 -H 1.47291294 0.08819988 -0.16122790 0.27056437 -0.44538505 -0.02407947 -H 0.66677510 0.81993888 1.19537499 -0.28448037 0.00534281 0.94952846 -H -1.18430427 1.62053837 -0.40894459 -0.83598609 1.00783617 0.74349783 -H 0.47060407 1.62274130 -1.25764438 -1.15979705 0.28417724 0.01345510 -H -0.80519765 0.32462825 -1.55962055 0.80733371 0.69622494 1.02095178 -H -0.98319782 -1.22394738 0.80469596 0.69826897 0.88898251 -0.15263441 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.65336185936 pbc="F F F" -C 0.35067824 0.35289991 0.06658995 -1.96935040 0.27535218 2.08422836 -C -0.83129435 0.60739524 -0.92264195 0.37787495 -0.02571001 -0.56318424 -O 0.48781992 -0.90848725 0.74729756 -1.57988007 -0.18207294 0.90235236 -H 1.30235061 0.66387266 -0.33039840 1.02992972 -0.34505049 -0.85166859 -H 0.21216795 1.12239246 0.84861586 -0.05789787 0.31818940 0.38606371 -H -0.41719440 0.61331627 -1.94571612 -0.15455996 -0.59931720 -0.40628853 -H -1.70973262 -0.10530126 -0.87308039 0.70211519 0.45343939 0.15574617 -H -1.18556741 1.67213526 -0.87830591 -0.09454582 -0.44882909 0.53669817 -H -0.21929418 -0.99012521 1.51754718 1.74631427 0.55399877 -2.24394750 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.607289964266 pbc="F F F" -C 0.03710770 -0.03030627 -0.55089561 -1.38029057 -0.68097922 0.33033879 -C 0.80242488 0.99382924 0.24697366 1.77742489 1.67545048 -1.69359337 -O -0.77126630 -0.92714053 0.25342158 1.35253056 -0.70857282 -2.29807356 -H -0.57121957 0.38028130 -1.40162458 0.02309314 0.39005870 0.38854380 -H 0.74231569 -0.63415618 -1.04776330 1.32811207 -1.55023442 -0.92882609 -H 1.00153411 0.63254050 1.28997898 -0.03980820 0.43119055 -0.41575590 -H 1.85566752 1.28004642 -0.31820018 -2.07417164 -0.87466758 1.39559840 -H 0.25428322 1.96203746 0.12273099 0.15360747 -0.10828991 1.02896509 -H -1.04492089 -0.38683198 0.95378504 -1.14049773 1.42604424 2.19280284 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.56161956299 pbc="F F F" -C 0.26214749 -0.31879208 -0.51871192 0.75737181 0.26214401 3.82684898 -C -1.08096121 0.32556353 -0.46508923 -0.50756298 2.61264232 -2.98513369 -O 0.74896646 0.01990407 0.86034105 0.22977761 1.99270286 -1.98893774 -H 0.27680978 -1.39593173 -0.61599050 -0.48143887 -1.09367726 -0.19523797 -H 1.02378854 0.02069132 -1.22324096 0.01969250 0.69144392 -0.59928270 -H -1.01213249 1.49467832 -0.66900953 0.06397292 -1.88134711 0.61783110 -H -1.72475794 -0.00477011 -1.29964315 -0.26597279 -0.18662014 -0.22710932 -H -1.62889015 0.19356507 0.45377935 -0.13189964 -0.38490060 0.89028041 -H 0.93262968 -0.70636683 1.42065628 0.31605944 -2.01238811 0.66074103 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.505344385917 pbc="F F F" -C 0.04808275 0.47743391 0.26525022 1.58529729 1.35032126 -0.57109558 -C -1.29673313 -0.01740136 -0.29972529 0.08264331 -1.39658298 1.04190072 -O 1.11446257 -0.45439104 0.01774738 1.22645473 1.31262379 -0.31961826 -H 0.49984213 1.59156826 -0.09724441 -1.78952311 -2.23965272 0.45206894 -H -0.02915149 0.56895864 1.37402532 -0.41861456 0.33945232 0.02189866 -H -1.82648910 -0.72120171 0.40749909 0.72580920 0.16783056 0.10901687 -H -2.02964479 0.75479314 -0.33198317 -0.83217109 1.45919554 -0.42075459 -H -1.35148225 -0.62653805 -1.22450090 0.72998354 0.53073763 -0.35118396 -H 1.92469029 0.16184704 0.00130133 -1.30987924 -1.52392545 0.03776731 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.139087717134 pbc="F F F" -C -0.32957257 -0.44903980 0.12709718 3.73605980 1.21775138 0.46210401 -C -0.89458589 0.92760769 0.43529321 2.98724221 -1.42843212 -0.40468087 -O 1.07664458 -0.48114264 -0.51289189 -2.18673982 -1.80800292 0.82672040 -H -0.39661022 -1.02474024 1.10869955 0.40736253 -0.22964870 -1.05649225 -H -0.86133762 -0.84389181 -0.70356006 -1.22664653 -1.11527942 -0.69989370 -H -1.83688073 0.60846891 0.71942891 -3.23017703 0.47064882 0.34613930 -H -0.39542290 1.38782377 1.26492801 0.54146206 0.43549082 1.14907534 -H -0.64236392 1.50758238 -0.42126284 -0.86700693 1.21245440 -1.32364169 -H 1.62883126 0.29795342 -0.52840566 -0.16155630 1.24501769 0.70066951 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.732039907084 pbc="F F F" -C -0.28666650 -0.50138656 0.09546543 0.30820369 -1.47709124 1.25462492 -C -0.85999582 0.84088270 0.29606665 -2.60630774 2.63489204 -2.35640121 -O 1.03964300 -0.29545797 -0.38562761 -0.71887992 0.15250632 -0.25594322 -H -0.42457148 -1.11873588 1.05144654 0.95980784 0.63393012 -0.10829917 -H -0.88033819 -1.21029704 -0.52289036 -0.15029188 0.52432535 -0.93455065 -H -1.99536223 0.91120392 0.49208643 1.05649662 -0.57429470 -0.31127652 -H -0.46108132 1.47574050 1.09120855 0.77761432 -0.09543763 0.39858072 -H -0.72031742 1.46613667 -0.72030965 -0.18827079 -1.05498713 1.83812223 -H 1.64177535 -0.88110134 0.06413658 0.56162785 -0.74384318 0.47514285 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7056683435285 pbc="F F F" -C 0.25748276 0.06904561 0.46434331 1.80923145 1.62803510 0.01424186 -C -1.22718572 0.27632096 0.39165586 0.77410255 2.09696447 -3.16705787 -O 0.88394787 -0.38801910 -0.73332075 -0.32869863 0.43143681 -0.70546662 -H 0.79607127 1.08403553 0.70648225 -0.73826810 -1.43025406 0.50941397 -H 0.53453651 -0.72480972 1.15055662 0.07498352 -0.24931101 1.07645091 -H -1.82978647 0.34606526 1.23319413 -1.13475419 -0.71062600 2.67471788 -H -1.44453608 1.32193418 -0.01318048 0.31672166 -0.70369539 -0.22421919 -H -1.59214222 -0.40436333 -0.37355181 -0.63137794 -0.63609864 -0.17808747 -H 1.05870434 0.41938905 -1.26339227 -0.14194037 -0.42645128 0.00000653 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740017095599 pbc="F F F" -C -0.23632578 0.43699638 0.25044183 0.32069098 -1.11229745 0.00148409 -C -0.53215421 0.06059550 -1.19414278 -1.82659463 -0.98203066 2.38760125 -O 0.72842697 -0.40718653 0.89316856 -0.09465797 -2.06176261 -0.36835549 -H 0.21984153 1.42233545 0.29744020 0.43192321 0.79336506 -0.16872233 -H -1.18973356 0.59773171 0.82058141 0.00433138 -0.60744163 0.09441696 -H -1.34525214 0.64293354 -1.53043377 -1.42474860 1.60138407 -0.71494150 -H 0.25051473 0.21788401 -1.84676874 2.44447592 0.08480581 -1.80145643 -H -1.01501084 -0.93097885 -1.30222076 0.58883383 -0.47224825 0.16390073 -H 0.67333748 -1.41733330 0.62903268 -0.44425407 2.75622563 0.40607271 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.631791405638 pbc="F F F" -C -0.46929274 0.19707092 -0.35455181 4.10717861 3.22012011 -0.76735325 -C -0.49582346 0.14634200 1.11556435 -2.77298146 -2.37454904 0.98714217 -O 0.86721703 -0.34430588 -0.67243777 -0.53340515 0.49115631 -0.62552909 -H -1.20919566 -0.32360040 -0.87928883 -1.88686115 -1.43323705 -0.88150045 -H -0.53651892 1.33990017 -0.75912611 -0.00427071 -1.97525741 0.84717091 -H -1.51836581 0.30515939 1.49376068 -0.56748950 0.14515080 -0.02239545 -H -0.27158311 -0.86988556 1.55063158 0.16969775 0.31870336 -0.63510250 -H 0.05332616 0.82488126 1.68190854 1.88027728 1.84762359 0.73116691 -H 1.21610327 0.09520007 -1.48232641 -0.39214571 -0.23971061 0.36640073 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.39985935379 pbc="F F F" -C -0.41185849 -0.29785352 -0.37260279 2.12143598 -1.13123049 1.65367981 -C -0.87038375 0.61032790 0.72997409 1.72843728 0.44206781 1.23724930 -O 1.14740528 -0.30588512 -0.26941247 -3.50017216 -0.24745133 0.16908583 -H -0.87602701 -1.31736042 -0.55670119 0.55381087 0.14905754 1.07978527 -H -0.74754438 0.18382631 -1.23201233 -0.15328470 1.44073799 -2.68330279 -H -1.95497017 0.86822108 0.72712035 0.33253024 -0.11427992 0.17688440 -H -0.43979641 0.26996334 1.73128750 -0.99579126 -0.01545480 -0.57903258 -H -0.18926002 1.51524936 0.55882597 -1.11176580 -0.35465248 0.07673733 -H 1.27273468 -0.38944523 -1.21050497 1.02479954 -0.16879437 -1.13108656 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.348119606859 pbc="F F F" -C -0.26818087 -0.53183548 0.19691384 -0.08048234 -0.76370727 0.04983915 -C -0.86533915 0.86679414 0.33399368 0.82309365 0.71079986 -2.35819096 -O 1.02084661 -0.29155940 -0.47550302 -1.64647599 0.24825603 0.15108635 -H -0.02169559 -1.05592652 1.17118452 -0.37458034 0.50509812 -0.21273598 -H -1.12428289 -1.23911373 -0.25555965 1.88202362 0.98500790 -0.12880619 -H -1.93074707 1.07319449 0.34862333 -1.15202713 -0.84574760 -1.02702591 -H -0.72236186 1.41707657 1.20395736 1.58804734 0.88820614 2.76624573 -H -0.34570853 1.53739932 -0.46057523 -0.94760368 -0.97178271 0.71033701 -H 1.44665796 -1.09749764 -0.78613695 -0.09199513 -0.75613053 0.04925083 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.587313495479 pbc="F F F" -C -0.29961133 -0.45495267 -0.01047614 -1.74158102 -1.44242381 -0.05690547 -C -0.88210950 0.91635279 0.30278135 -1.05349753 0.61952171 -3.37794141 -O 1.07775474 -0.43862536 -0.31434615 -1.81890631 -0.90263148 -2.61315192 -H -0.58415978 -1.17685174 0.86584048 0.61673741 0.79856172 -0.70258416 -H -0.96529329 -0.93265779 -0.85787966 1.58038391 0.67797406 0.71332103 -H -2.00892287 0.78293744 0.53357800 1.29932856 0.58965798 -0.40519268 -H -0.37388374 1.30217245 1.13968980 0.76843825 1.00673357 1.83345454 -H -0.63121320 1.71727086 -0.63635553 -0.96531175 -1.99397263 2.24785691 -H 1.53637631 -0.22999446 0.46172411 1.31440849 0.64657888 2.36114315 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518001684505 pbc="F F F" -C 0.05917815 -0.63087518 0.09162677 -0.58678559 1.03703892 0.60585840 -C -1.25835592 0.21553160 -0.01192060 -1.33846652 -1.20912847 2.22253185 -O 1.10870396 0.34951162 -0.04019722 -0.43206966 -1.14960607 3.55254216 -H 0.12899635 -1.08413352 1.16398966 0.04161589 0.36825147 -1.56048516 -H 0.10556821 -1.45894366 -0.69696154 0.03213037 0.60024532 0.71106427 -H -1.66279932 0.50474869 1.03515214 0.19369762 -1.07276832 -0.85329132 -H -1.08726838 1.22866299 -0.26810246 0.93210306 1.48993087 -1.33323622 -H -2.11828279 -0.15155361 -0.61811825 0.25617699 -0.25279167 0.15449291 -H 1.32343934 0.36106325 -0.92768010 0.90159784 0.18882790 -3.49947699 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.538803866854 pbc="F F F" -C 0.40977302 0.00043784 0.42612847 -1.41596972 0.99952754 -1.65090076 -C -1.17395421 0.06479157 0.68573414 0.72622972 1.58302417 -1.68128647 -O 0.74410276 -0.10321241 -0.99709116 -0.60555136 0.74076479 1.58828028 -H 1.06561621 0.74709927 0.96888469 -0.75177961 0.10054606 -0.33080370 -H 0.62962998 -0.90702138 0.86419694 1.28487689 -2.76073334 1.03006588 -H -1.56083801 -0.86214651 1.14438720 0.03646093 0.28204266 0.60898311 -H -1.36279577 1.05576731 1.18570726 -0.50298318 -0.87584741 0.28084385 -H -1.76540892 0.11122597 -0.30853947 0.93830930 0.03574251 0.88705496 -H 0.28744126 0.71462412 -1.27649508 0.29040702 -0.10506703 -0.73223716 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5739727005175 pbc="F F F" -C -0.34133177 -0.54593279 0.00214668 3.68570750 2.57426839 0.08898766 -C -0.86411619 0.80617228 0.45782422 0.04019520 -0.74542111 0.43528766 -O 1.06038060 -0.29225054 -0.46995740 -1.36160687 -1.79112718 -0.94351290 -H -0.25269107 -1.16434999 0.86045674 -0.28517457 -1.51197845 1.22243820 -H -0.71209462 -1.06284774 -0.84951523 -1.39006868 -0.49703945 -1.02258906 -H -1.92619701 0.77497481 0.65761674 -1.30379467 0.43161998 -0.78569972 -H -0.57960539 1.00429736 1.51184872 0.87953391 0.06593632 -0.09507362 -H -0.44042416 1.56647297 -0.22174689 -0.67248419 0.34030428 -0.03381953 -H 1.44243628 0.41791584 0.02009251 0.40769236 1.13343722 1.13398127 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525129321352 pbc="F F F" -C 0.01185108 0.03494774 0.55671798 -2.13780404 -5.14659133 -2.52867259 -C -1.17879387 0.51542607 -0.27061424 1.68231101 2.64596342 -1.81930915 -O 1.04451215 -0.50257437 -0.28110846 -0.56125432 0.33341805 -0.52712883 -H 0.44433396 0.70847648 1.19335726 0.84130571 2.50398484 2.44859334 -H -0.51332357 -0.90450602 1.10508540 1.13535645 1.73676241 -0.03880408 -H -1.79224743 1.12306734 0.37050957 -1.22047434 0.01004643 0.92682346 -H -0.92934105 1.39582986 -1.05568649 0.09221568 -1.87079849 1.08290341 -H -1.71639506 -0.27043520 -0.82091251 -0.08820337 -0.15290243 0.13475393 -H 1.83145195 -0.63468768 0.26054729 0.25654723 -0.05988292 0.32084051 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699725955892 pbc="F F F" -C -0.22085450 -0.17451419 -0.53226484 1.75066592 -2.02445985 -0.87473752 -C -0.20615082 1.24357171 -0.11956307 -0.00839579 1.49693245 1.01502328 -O 0.37013079 -0.93958834 0.62260107 -0.09169267 -1.31332050 -3.13106200 -H -1.20897326 -0.58768281 -0.88527819 -0.15266126 0.40642259 0.85499617 -H 0.36796830 -0.40065198 -1.49819291 0.05597669 0.43707236 0.92627375 -H -0.72069296 1.18344986 0.86869048 0.02164206 0.64818366 -0.04793433 -H 0.78275700 1.77722225 0.05186752 -0.31758267 -1.10629130 -0.07106146 -H -0.71802949 1.97823498 -0.76380858 -0.56381519 -0.27737600 -0.25661115 -H 0.70899230 -1.77662495 0.11118487 -0.69413705 1.73283654 1.58511330 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.569226626082 pbc="F F F" -C -0.42981995 0.03119252 -0.33200147 -2.60936010 0.46852519 0.26346108 -C 0.45454255 1.20943323 0.00569052 -1.91934227 1.53241086 -2.29084078 -O -0.08098938 -1.15913590 0.32619044 1.99297663 -0.05928328 -0.84451383 -H -1.53062288 0.00584059 -0.09037315 0.27522918 1.18001298 0.18221661 -H -0.48481378 0.15198043 -1.45315706 0.35902213 -1.27073243 -0.14510298 -H 1.31644643 1.00352874 -0.60302750 1.37700289 0.18324927 -0.48361521 -H 0.02396627 2.22435106 -0.39112919 0.51611309 -1.47371497 0.49299357 -H 0.75757906 1.35969848 0.99166929 0.45176087 0.12183763 2.55919288 -H 0.90743311 -1.13091504 0.25662709 -0.44340247 -0.68230519 0.26620867 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5735294810465 pbc="F F F" -C -0.46220881 0.25376084 -0.33033370 0.69758084 -2.03210699 -2.25095082 -C -0.51086728 0.03995866 1.16781543 1.19417513 -0.71624243 1.50116989 -O 0.84629061 -0.25015138 -0.72780660 0.33233926 -0.74114897 1.87707779 -H -1.22539415 -0.52048790 -0.86781315 0.66803371 2.16009814 0.89380164 -H -0.40630186 1.29834295 -0.73389875 -1.28201772 -0.07397658 0.49360071 -H -1.33740986 0.47283688 1.79745269 0.10633202 -0.14002294 -0.80927973 -H -0.46034040 -1.09914169 1.37532892 -0.18690111 1.34470669 -0.27225503 -H 0.46515610 0.43706156 1.63588379 -0.96732770 -0.26764926 -0.59406870 -H 1.12507957 -0.11935475 -1.63371784 -0.56221437 0.46634222 -0.83909574 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.379717776012 pbc="F F F" -C 0.04033745 0.39746144 0.43032821 -0.96046306 -1.25984699 -1.36285539 -C -1.31162702 0.00220172 -0.34565755 -0.34960736 -0.47329752 3.26998482 -O 1.16409863 -0.37438505 -0.00067837 -0.19377300 -0.64241317 2.74465057 -H 0.17525814 1.34787980 0.02950801 0.46778240 2.86785428 -0.83283418 -H 0.01565766 0.60431706 1.52055015 0.08778880 -0.95129445 0.08934576 -H -1.89063258 0.89700517 -0.62577957 0.09121799 0.04591082 -0.35341409 -H -0.84428361 -0.54038041 -1.11724201 0.14424752 -0.77284050 -2.19132677 -H -2.05738999 -0.73638223 0.13857562 1.02044615 0.79189032 -0.17331103 -H 1.27103448 -0.39360953 -0.94378712 -0.30763938 0.39403727 -1.19023975 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.741887922991 pbc="F F F" -C 0.27924851 -0.08623706 -0.41162630 1.54986598 0.82385100 -0.80652520 -C -0.61543954 1.13816783 -0.29390866 0.63294256 0.33960016 -1.22999601 -O 0.25039534 -1.02171300 0.60761678 -1.37195062 -1.54392596 -1.03928488 -H 0.34479760 -0.65325019 -1.38644957 -0.80792136 0.42446300 0.32370863 -H 1.23070153 0.49617056 -0.44093203 0.77810540 -0.61544224 0.13536863 -H -0.12091364 1.94048719 -0.91283076 -0.63029772 -0.36893594 -0.15114739 -H -1.66630796 1.05106252 -0.54878163 -0.79203338 -0.10880835 -0.02975076 -H -0.46320512 1.54863765 0.69189202 -0.27923393 0.18888816 1.20097452 -H 0.70540298 -0.70148181 1.35939423 0.92052312 0.86031023 1.59665252 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.75725119343 pbc="F F F" -C 0.04582905 -0.11223945 -0.59368656 0.94011761 2.27879166 -0.68122769 -C 0.81309570 0.97691491 0.23211744 -2.00598328 -0.54148973 1.26397382 -O -0.76298326 -0.84779738 0.29584430 -1.17635795 0.98656686 -0.18092952 -H -0.45934305 0.37287335 -1.49644688 -0.32292671 -0.39751073 0.68879116 -H 0.88391946 -0.65443319 -1.10965588 -0.61415731 -0.81670492 0.63606429 -H 0.17555173 1.79714713 0.72831506 0.24570339 -0.68038015 -0.91651888 -H 1.04999923 0.33650755 1.10769163 0.93067579 0.37251929 0.08831336 -H 1.65017596 1.45070504 -0.25805542 0.85034998 0.21847103 -0.34824632 -H -1.42520187 -0.15044990 0.64059559 1.15257847 -1.42026331 -0.55022017 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.819863407643 pbc="F F F" -C -0.07115058 -0.45191163 0.18688550 0.63508481 -0.92601119 -1.85264788 -C -1.21213238 0.52028113 0.36811507 -1.50853687 -0.50555439 -2.01982266 -O 1.16689644 -0.09934203 -0.53755201 -0.61493697 1.75589179 1.80467602 -H 0.21839791 -0.82995930 1.13554354 0.46053466 -0.82945605 1.70061074 -H -0.44537624 -1.31551689 -0.42902971 0.07781868 0.21386726 0.44321020 -H -2.08304868 0.15977806 1.01470318 0.93521976 -0.17895650 -0.60713074 -H -0.92720861 1.44759401 0.80137354 0.63767535 1.55399219 0.63844365 -H -1.63272178 0.72923558 -0.68165722 0.19192042 0.10846655 1.13368760 -H 1.63810498 0.56956383 0.07839150 -0.81477988 -1.19223966 -1.24102692 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.692652743628 pbc="F F F" -C 0.09077175 0.60665987 0.08170889 -0.62128261 -1.75932740 0.15983494 -C -0.79720421 0.01299442 -1.01463692 1.76538461 -2.70803270 0.57133778 -O 0.65164052 -0.54748320 0.80228989 -0.59963612 0.49364976 -1.98295725 -H 0.86593935 1.19234824 -0.36730253 1.14919248 1.04583791 -0.21157636 -H -0.58421414 1.17126765 0.72511749 0.07187305 0.78440872 0.59769016 -H -1.16917506 0.52281429 -1.89642307 0.21985495 1.00006043 -0.40250320 -H -0.13202600 -0.91078194 -1.35636115 -1.54008314 1.30103587 0.25598668 -H -1.66257292 -0.33311696 -0.44434087 -0.54333840 -0.73876129 -0.18750383 -H 0.75524157 -0.33748446 1.72112052 0.09803512 0.58112865 1.19969102 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.626504796905 pbc="F F F" -C -0.10493690 -0.52547105 0.16533178 1.38065705 0.83601247 0.81147021 -C -1.08515076 0.61828260 0.33020228 -1.53412625 -1.64058955 4.49322597 -O 1.08897075 -0.04497682 -0.47215232 -0.82997994 1.23071474 0.32611344 -H 0.19428858 -1.00985660 1.19370457 -0.87613244 0.48010395 -1.29003083 -H -0.51487285 -1.23991606 -0.52892329 -0.82741840 -1.24610881 -0.27673096 -H -2.14133586 0.23516634 0.53288209 0.74904966 -0.48156259 -0.03274995 -H -0.97800939 1.20150699 1.31596361 0.51840255 -0.12966762 -1.33908384 -H -1.34057239 1.20728383 -0.47713836 0.34204091 1.95035596 -2.58189686 -H 1.67506932 -0.78770168 -0.44666890 1.07750692 -0.99925855 -0.11031713 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.630725549952 pbc="F F F" -C 0.06540543 0.47880388 0.29542056 0.90765788 3.15334154 0.50700670 -C -1.23277978 0.01312625 -0.30906834 1.20592441 -0.84072839 1.82741358 -O 1.04080134 -0.45137775 0.07676529 1.80059599 -1.77439489 1.04549451 -H 0.44199828 1.48866187 -0.15701634 -0.88105564 -0.69713398 0.17900726 -H 0.07904055 0.78472173 1.43116068 -0.33455118 -0.96420443 -1.41424189 -H -1.54426999 -0.87663775 0.30264484 -0.50511879 0.47805530 -0.69358745 -H -1.89406701 0.81081428 -0.48965132 -1.89557262 1.30799796 0.33279270 -H -0.91318004 -0.24293394 -1.28825504 0.13643476 -1.04897481 -1.67055371 -H 1.21900248 -0.66312418 -0.85477806 -0.43431480 0.38604171 -0.11333169 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.821811649 pbc="F F F" -C -0.32566584 -0.02149746 -0.47837140 -1.36619629 1.32754447 2.75612078 -C 0.32606136 1.30273075 0.14163216 0.92806787 -1.20595701 -4.13103090 -O -0.02623792 -1.16137368 0.34674589 -0.55628052 1.28649669 0.15845184 -H -1.47284156 0.17285655 -0.37031986 1.24150797 -0.40759167 -0.59679875 -H -0.05960923 -0.10370965 -1.54310125 0.16036418 -0.22382936 -0.22102743 -H 1.43258968 1.14483424 0.16901707 -0.24087866 0.16846671 0.19292264 -H 0.13556471 2.11208275 -0.63743095 0.21003611 -0.41471713 0.60891611 -H -0.02326233 1.67748949 1.05561992 -0.94200397 0.22999719 2.06560868 -H 0.39834059 -1.83743105 -0.16519548 0.56538331 -0.76040988 -0.83316297 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.561262664806 pbc="F F F" -C -0.20179985 -0.54048121 0.02288041 -1.72236505 1.85822286 -0.78361209 -C -0.98989290 0.83877434 0.48722594 1.13217687 -3.12295258 -1.49652684 -O 1.06928975 -0.27420056 -0.49490403 2.51835300 -0.18834998 1.84122807 -H -0.41239794 -1.43412349 0.69218472 0.74944175 0.62376840 0.04305473 -H -0.71769978 -0.77026235 -0.92299705 -0.54187493 -0.53338782 -0.05500610 -H -1.82144660 0.49050905 1.06384930 -1.36082453 -0.08611743 0.56792736 -H -0.33058043 1.33853210 1.15103904 0.95366748 1.31655464 0.80223732 -H -1.29485506 1.36796379 -0.43765648 0.17341855 0.27398091 0.40450208 -H 1.80307735 -0.19612022 0.23090181 -1.90199313 -0.14171900 -1.32380449 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.50886510865 pbc="F F F" -C -0.31580224 -0.44445192 -0.20578087 0.38704325 4.10925215 0.53882313 -C -0.88355210 0.76466548 0.68312507 4.18002766 1.04426768 -0.93523189 -O 1.08592255 -0.37284471 -0.42125063 -0.00877616 -0.39871607 0.28495916 -H -0.66129010 -1.38694731 0.08239370 0.12355574 -2.35257016 1.59862203 -H -0.88440534 -0.35879369 -1.08914894 -0.83018028 0.37808954 -2.43442702 -H -1.78543918 0.65580146 1.20653262 -2.10246386 -0.62806929 0.78773125 -H -0.06733578 0.91925718 1.50551171 -1.08917860 0.02457569 -1.00138496 -H -0.94334458 1.77379674 0.06319961 0.17247614 -1.71674416 0.92915097 -H 1.39519010 0.49799328 -0.76989820 -0.83250384 -0.46008539 0.23175731 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.729264356597 pbc="F F F" -C -0.16968443 -0.39145879 0.48229039 2.38352194 0.28867940 -0.23046353 -C -0.99387034 0.77559128 -0.04668477 -2.20199006 -2.36336741 0.55452461 -O 1.07691989 -0.41315535 -0.36182112 -1.09527654 -1.97264733 2.17720338 -H 0.18123706 -0.15525519 1.53125723 -0.34978184 -0.21794843 -0.33500056 -H -0.59721408 -1.45359327 0.52365230 -0.06507989 1.15704397 -0.39809638 -H -2.00109337 0.84033115 0.44050590 0.13918703 -0.17980024 -0.25913828 -H -0.59796438 1.73365248 0.08561112 1.52679989 1.98757675 0.67385089 -H -1.13765873 0.68471437 -1.12152896 -0.34458178 -0.32768063 -0.74707269 -H 0.92238045 0.32946021 -0.90689283 0.00720125 1.62814391 -1.43580749 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.761355874105 pbc="F F F" -C 0.29999042 -0.07783288 -0.36749944 0.84736297 1.95410344 -0.52957755 -C -0.58642912 1.23298008 -0.26928494 0.72350826 -2.18532879 -0.62563862 -O 0.31035419 -1.06048590 0.60800546 -0.83165440 -0.52209497 0.64941635 -H 0.02175862 -0.35698544 -1.41808863 0.34172821 -0.94837342 0.14366527 -H 1.39524914 0.21665224 -0.34345329 -0.67410357 0.16260886 -0.60380152 -H -0.42190941 1.68025243 -1.24223863 0.33609724 0.68733206 -0.74183761 -H -1.63978054 0.92370971 -0.37424184 -0.40795065 0.27978014 0.85435206 -H -0.27097272 1.94242229 0.47808058 -0.33206230 0.50670074 1.03045494 -H -0.59847139 -1.33890481 0.83682646 -0.00292571 0.06527190 -0.17703327 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763473262922 pbc="F F F" -C -0.28569989 -0.47411751 0.24970042 0.96417656 0.13584377 -0.74314178 -C -0.88902522 0.89980058 0.11049510 1.21311059 2.53346379 -0.11090303 -O 1.07158867 -0.36416697 -0.29772778 -1.86116348 2.14719042 1.35420918 -H -0.34427563 -0.81285789 1.32169359 0.32845725 -0.09952631 -0.31727784 -H -0.91213459 -1.17641007 -0.37068840 0.35532323 0.03554474 0.25640967 -H -1.89676228 0.82782044 -0.23888909 -1.57881589 -0.03506436 0.04569577 -H -0.83881504 1.64226656 1.02118627 0.03834113 -1.34628057 -1.29533831 -H -0.39180630 1.44079089 -0.79473067 -0.32529937 -0.72483685 1.29292142 -H 1.37121178 -1.21503083 -0.50475075 0.86586993 -2.64633464 -0.48257514 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.476779651582 pbc="F F F" -C -0.17300712 -0.10757160 -0.42779597 -1.31588760 -0.19709497 0.51637827 -C -0.06246792 1.46870187 -0.03437062 1.63202201 -3.82518280 0.14673502 -O 0.17017549 -1.23118503 0.41852201 -0.09397632 0.88846634 0.64600516 -H -1.23249794 -0.36110658 -0.82072225 0.90089212 0.42132049 0.90552772 -H 0.38636634 -0.22525408 -1.32373279 1.22926649 0.08422304 -1.61765201 -H -0.64353962 1.60085270 0.86042245 -0.61839700 0.57623193 0.88328022 -H 1.06534229 1.58261138 0.21733408 -1.50133028 0.69410352 -0.70984968 -H -0.53409041 1.90467358 -0.92403298 0.46453751 0.84906767 -0.05644345 -H 1.06211337 -1.17957294 0.85459559 -0.69712688 0.50886468 -0.71398119 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.654764926577 pbc="F F F" -C 0.01240690 -0.54437539 -0.32449721 -0.93881822 2.88597346 0.84403257 -C -1.24275639 0.21693231 0.23454673 -1.97576834 -1.35504351 -1.31636351 -O 1.14041078 0.29905497 0.10823566 -0.45696412 -1.16218072 -1.19452938 -H -0.01305717 -1.47577309 0.23341339 0.40653850 -0.98248164 0.08103122 -H -0.02483928 -0.71446190 -1.43698004 0.09201477 0.05456567 0.51974688 -H -1.18310172 0.23512130 1.31343480 0.53782035 0.77181206 0.92729325 -H -1.68505250 1.15026149 -0.22123623 1.31176915 -0.04618963 0.22455745 -H -2.20611405 -0.38727099 0.17459577 0.71300278 -0.37509590 -0.36724539 -H 1.66996926 0.34545415 -0.70943418 0.31040507 0.20864021 0.28147691 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.659598839064 pbc="F F F" -C -0.34355786 -0.45858108 -0.10188899 2.47720474 -1.09780362 0.00913426 -C -0.91936465 0.81748082 0.49953796 1.69161686 -2.49747378 2.49493374 -O 1.11516183 -0.28071867 -0.35361650 -1.10388284 1.00620727 0.77308300 -H -0.41696754 -1.25959955 0.69545557 -0.33178935 0.12716778 -0.51938867 -H -0.65891781 -0.88674084 -1.10364641 -1.04152879 0.61177292 0.81592099 -H -1.81444624 0.57775034 1.09673559 -0.26468986 0.26255184 -0.15626240 -H -0.13551982 1.25815966 1.20434737 -0.57261665 -0.72194971 -0.34623186 -H -1.02519438 1.55398001 -0.18796259 -0.98774746 2.82345182 -2.77133071 -H 1.39777907 -1.06578007 -0.83026489 0.13343331 -0.51392446 -0.29985835 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.587785499789 pbc="F F F" -C 0.50006659 0.25308457 0.02425759 -0.91810890 0.37885069 1.59591302 -C -0.76845057 0.93688436 -0.52510390 -1.36215631 -1.85623087 -0.39385092 -O 0.20839986 -1.06449132 0.46849653 1.19697913 -1.27457119 -0.79831891 -H 1.25764865 0.45626061 -0.67729194 1.68077452 -0.86083993 -2.23667297 -H 1.03817760 0.78354244 0.84448153 -0.84445372 0.54298837 0.68888048 -H -0.87666662 0.83383625 -1.68547852 0.27395885 0.16566328 1.62508944 -H -1.68457085 0.35258445 -0.07945417 1.24212591 1.04389081 -0.55924325 -H -0.84121421 1.99051980 -0.23756722 -0.03156688 0.40761718 0.01987654 -H 0.99571585 -1.70095634 0.36682144 -1.23755259 1.45263161 0.05832663 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6163242631055 pbc="F F F" -C 0.09304243 -0.18316531 -0.56925199 2.65888574 -0.72899073 -0.46448892 -C -0.37125652 1.20702515 -0.20190643 -1.07386438 -0.38599255 1.87094396 -O 0.31920833 -0.92094711 0.68381146 1.33433619 1.12150411 -1.83962591 -H -0.65001557 -0.66263756 -1.22897420 -0.22829558 -0.41078246 -0.02777265 -H 1.10651913 -0.33031539 -1.14545018 -1.33398298 0.83791046 0.73225259 -H -0.34737430 2.09796264 -0.80343367 0.67908581 0.53088768 -1.39875346 -H -1.50574788 1.10259047 -0.05222035 1.03383209 0.20890045 0.60701267 -H 0.18870188 1.44909625 0.75793868 -0.81269822 -0.00270521 -0.55139743 -H -0.54475972 -1.24006870 0.80694076 -2.25729873 -1.17073170 1.07182910 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.308632960863 pbc="F F F" -C -0.40728836 0.12683183 -0.36339612 0.12339458 -1.64989931 0.91646669 -C 0.95431093 0.78734642 -0.41837699 -1.23942044 3.57846490 -1.02455220 -O -0.52703406 -0.79525248 0.75464767 -0.00784377 -1.36044735 -0.91092051 -H -1.33763731 0.78941204 -0.37938077 1.04543414 -0.32957214 0.08259451 -H -0.26166613 -0.34755958 -1.32352778 -1.49330648 -1.26186217 -0.89928652 -H 1.72561950 0.47443863 0.23934424 0.76910741 -0.70812164 1.43769694 -H 1.37869515 0.68207314 -1.45479958 -0.13553863 0.42358677 0.43643627 -H 0.68042267 1.88993739 -0.20780312 1.26574032 -0.84583574 -0.32904804 -H -0.33898697 -1.75989544 0.46304457 -0.32756714 2.15368668 0.29061287 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.67699525944 pbc="F F F" -C -0.12396652 -0.21314370 -0.47462252 -1.26270611 0.84214934 1.24403172 -C -0.11119714 1.33333643 -0.25480444 2.07696756 -0.95613800 -0.94446334 -O 0.17054817 -1.04157556 0.71176585 -0.07652588 1.23375476 -1.87293837 -H -1.14604584 -0.52725193 -0.80331480 0.06876834 0.33759321 0.02898627 -H 0.50246442 -0.37879694 -1.36312560 0.65430047 -0.62556925 0.01650345 -H -0.18991496 1.79896931 -1.22994568 -0.27620635 0.23130418 -1.08359184 -H -0.92386531 1.71524687 0.27068734 -2.04180288 0.63730568 1.65502964 -H 0.80915467 1.85984655 0.12599229 -0.13005817 -0.93856008 0.22512895 -H 1.04227475 -1.28451783 0.39350141 0.98726302 -0.76183988 0.73131352 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.725627378356 pbc="F F F" -C -0.30249242 -0.43988928 0.16878711 1.29941962 -1.47993206 -0.77862013 -C -0.92648422 0.91166976 0.12606167 -1.67651312 0.43817634 1.15864638 -O 1.12749330 -0.38127312 -0.28955550 -0.76054759 -2.30389346 0.67544425 -H -0.30306683 -0.83528264 1.20007702 -0.02838957 0.03212924 0.37795918 -H -0.95482090 -1.18610066 -0.41404293 0.75953529 0.52553536 0.14630821 -H -1.96718694 0.88932195 0.64499923 1.50580821 -0.06093573 0.19778151 -H -0.23943832 1.66289613 0.58241168 -0.42931040 0.01524989 -0.14800946 -H -1.33845322 1.22518051 -0.82850823 0.67964466 0.30381615 -1.17204950 -H 1.54945558 -1.32720483 -0.10215994 -1.34964712 2.52985427 -0.45746044 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.640951171125 pbc="F F F" -C 0.33011418 0.07328478 -0.54858228 1.34745824 -2.83449420 1.79232798 -C -0.66977481 1.07783715 -0.09338796 -1.93573676 -0.06015000 -2.06633507 -O 0.27874733 -1.06086427 0.53263560 0.57852263 1.70940073 -1.37568520 -H 0.32704151 -0.49690969 -1.51818471 -1.04685802 0.60906292 0.26775806 -H 1.37696471 0.40325132 -0.51393806 0.38479235 0.59444573 -0.00458973 -H -1.55955513 0.44973212 0.17747410 0.13861141 0.48411585 0.04144136 -H -0.36439620 1.63600921 0.79017408 0.30016375 0.35576114 0.35868614 -H -1.02965328 1.77314688 -0.93641107 0.51964743 -0.40340041 0.92784310 -H 0.87137638 -0.64411197 1.19593894 -0.28660097 -0.45474176 0.05855335 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.481780184002 pbc="F F F" -C 0.10096401 0.47446343 -0.09235438 -1.45012967 1.99487370 3.19485454 -C -1.07269121 -0.18725146 -0.83979257 0.30642834 0.50964398 0.46598088 -O 0.89150151 -0.30218004 0.81522133 -0.44489793 -1.60938540 -1.32315755 -H 0.69530861 1.07172459 -0.78429331 0.75260550 0.13231045 -0.53675725 -H -0.50086046 1.29657092 0.55200665 1.20701163 -0.96964442 -1.08759212 -H -1.19170314 0.36481267 -1.80087858 -0.56902615 0.46520662 0.51019060 -H -0.89925220 -1.15948328 -1.25042679 0.59943018 -1.60735253 -0.03020677 -H -1.97807960 -0.24166930 -0.17881507 0.22624708 0.09829413 -0.64677274 -H 1.30165354 0.04071584 1.62964444 -0.62766892 0.98605341 -0.54653958 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.784630353623 pbc="F F F" -C 0.15020049 0.41807518 0.37132881 -0.19556964 -1.76698261 0.15411352 -C -0.44890576 0.76590270 -1.00468076 -2.26757831 -0.67654494 1.41938631 -O 0.27047940 -1.06740783 0.52953866 -0.11455724 1.54923699 0.06779122 -H 1.14204271 0.89678385 0.34953406 0.56525043 -0.01364845 0.39263160 -H -0.38479900 0.73826538 1.29989286 -0.13066392 0.58251005 -0.55712724 -H -0.07697073 1.76205239 -1.30295020 -0.52234611 0.20663382 -0.12705697 -H -0.01326743 0.03331198 -1.67618577 0.25654394 -0.48875315 -0.67748180 -H -1.64240300 0.60092910 -1.03415839 2.34192559 0.65052424 -0.09445917 -H 0.24038772 -1.19787086 1.50538325 0.06699536 -0.04297590 -0.57779742 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.380713411092 pbc="F F F" -C 0.09718718 0.18493310 0.59767981 -0.28762941 -3.57648839 -3.50100397 -C -1.29348646 0.39932785 -0.15256864 2.51570589 1.87337592 0.10250138 -O 1.06920970 -0.49636288 -0.40768689 -1.55318317 2.37472537 0.14795737 -H 0.56936591 1.10918463 0.80123130 0.60247082 1.40972307 1.07250555 -H 0.06918663 -0.61438926 1.34861302 -0.34888514 0.58808821 1.01255430 -H -2.16873971 0.39216395 0.48053466 -0.78707403 -0.82661344 0.52160023 -H -1.24546017 1.50384027 -0.39553196 -0.17741039 -0.63982181 -0.51252768 -H -1.28637512 -0.18841612 -1.09948002 -0.34055965 -0.00946598 0.47877845 -H 1.34428248 -1.28703818 0.03201290 0.37656503 -1.19352295 0.67763442 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.429692913783 pbc="F F F" -C -0.01786441 0.33837294 0.53996040 -0.01051448 -4.35020337 -2.77681086 -C -0.19093040 0.93617752 -0.87518053 -3.33525620 -0.34384845 3.24009558 -O 0.23788253 -1.14145875 0.35406864 -0.22796714 0.80061619 0.13527463 -H 0.90165131 0.65640626 1.00004713 0.53150582 0.75398639 0.82113123 -H -0.94485934 0.37645837 1.14466915 0.11297066 0.78371565 0.19587570 -H 0.61930414 1.00087409 -1.49947432 2.93889532 0.09176265 -1.55671345 -H -1.02310778 0.41845888 -1.44917055 0.31130197 0.62737638 0.60656638 -H -0.47130908 1.89914480 -0.44916519 -0.63551464 1.37348125 -1.22528009 -H -0.37064766 -1.42170391 -0.37265524 0.31457869 0.26311331 0.55986094 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614062615835 pbc="F F F" -C 0.28688747 -0.29791175 -0.47761097 0.94372420 3.21245930 0.73880721 -C 0.48987559 1.23827786 0.12568670 -0.12618367 -2.30470716 -1.25398662 -O -0.74309284 -0.83464204 0.27609928 -1.78192129 0.66182105 -1.68403992 -H 0.04747818 -0.14693160 -1.55221850 -0.14058781 -0.67905156 -0.04639130 -H 1.27526209 -0.79656722 -0.33329305 -0.22561577 -0.19544134 -0.28242477 -H 1.52336701 1.55934389 -0.01845870 0.44685870 0.42348140 -0.16768766 -H -0.24236931 1.96315519 -0.31609056 0.22293256 -0.35778512 0.54032862 -H 0.34810507 0.93338728 1.16422832 -0.27580151 0.89813297 0.70599015 -H -0.41342353 -1.47079328 0.86676775 0.93659453 -1.65890959 1.44940426 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.818247547604 pbc="F F F" -C -0.02554560 -0.16075592 0.52881514 0.39762381 -0.49220691 -0.46060064 -C -1.13113925 0.58949452 -0.13809979 -1.38810950 0.11563160 -0.96849457 -O 1.07539434 -0.44356103 -0.33155289 -0.60220198 -2.18423525 1.41731508 -H 0.31440914 0.28859111 1.48786738 0.05985710 0.67545978 -0.04415110 -H -0.56481700 -1.05238826 0.93004183 0.80829628 -0.72215864 -0.49595645 -H -1.86697232 0.72660277 0.69924080 -0.26861095 0.30174405 -0.79113570 -H -0.82388871 1.56154671 -0.54930101 0.16528800 0.61308901 0.24613899 -H -1.61977168 0.09892161 -1.09570939 0.73653959 0.18126073 1.82881678 -H 1.27308048 0.30714599 -0.86507734 0.09131775 1.51141569 -0.73193233 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.523771519636 pbc="F F F" -C 0.03124018 0.01907058 0.51929136 -0.07202279 3.50482956 -0.34096748 -C -1.22873069 0.55600636 -0.25244898 -0.81167466 0.32159328 -0.95241062 -O 1.11263323 -0.51473310 -0.25919106 -1.17546757 1.40089976 -0.43244556 -H 0.33732583 1.04347414 1.03902562 0.10682773 -1.82583759 -0.19201540 -H -0.20035923 -0.72649608 1.26599346 -0.72555563 -0.36389324 0.84442374 -H -2.21646285 0.74865356 0.31751684 1.30553042 -0.85610113 -0.15172203 -H -1.13778017 1.55994147 -0.75585781 0.84331400 -0.12878789 0.59986618 -H -1.44612162 -0.01350290 -1.18206625 -0.24048112 -0.70823220 0.35869760 -H 1.27057522 -1.29569017 0.24990581 0.76952964 -1.34447061 0.26657356 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.446275485853 pbc="F F F" -C 0.00404084 0.49120746 0.19867962 0.80478076 0.10915936 1.43907053 -C -1.25411697 -0.21081865 -0.10615110 -3.60094216 -0.02816038 -1.52280085 -O 1.15771539 -0.30569563 -0.06125455 1.84975863 1.75425502 -2.30509684 -H -0.05016826 1.55277268 -0.19667553 0.46579926 -0.68228678 -0.11296259 -H 0.04652815 0.58869486 1.30415384 -0.26860257 0.47235490 0.28305737 -H -1.43695361 -1.28887281 0.23338902 0.62370160 1.05131559 -0.47834393 -H -2.11019690 0.37796180 0.30148099 0.22330841 -0.04844171 1.19064259 -H -1.73485135 0.01392368 -1.13483600 1.44217940 -1.15089553 0.17311989 -H 1.80382823 0.26530089 -0.63777428 -1.53998322 -1.47730043 1.33331382 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.331824741038 pbc="F F F" -C 0.22899228 -0.45618728 -0.39248833 -0.26870696 1.14308498 3.00352197 -C -1.25670504 0.09188974 -0.31559611 1.13645662 1.50407837 -4.69458785 -O 0.96462017 0.26452207 0.67380105 0.27203926 -4.00539112 -0.01164036 -H 0.36326594 -1.52764045 -0.11177941 -0.43449426 0.12046497 -0.18172851 -H 0.80707811 -0.28478742 -1.31660268 -0.62399260 0.02255264 -0.68488863 -H -1.24328158 1.26645943 -0.80556464 -0.18803368 -2.88281851 1.49257032 -H -1.91813428 -0.48768269 -1.02442045 0.41588698 0.33901004 -0.16765871 -H -1.87084408 0.04140084 0.55434635 0.14304286 0.11281840 1.87901960 -H 0.79547216 1.13289563 0.44612587 -0.45219827 3.64620033 -0.63460776 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.722533756616 pbc="F F F" -C -0.06638052 0.40825230 -0.35367792 1.66505381 0.79860049 1.71792630 -C -1.15237845 0.04141577 0.72120988 0.06552453 0.47269958 0.20450613 -O 1.14133342 -0.38006108 -0.36222930 -0.98909698 -0.57710065 0.12652007 -H -0.48827003 0.53522384 -1.36629935 -0.38436812 -0.25900849 -0.23837497 -H 0.37701143 1.39675136 -0.08290615 -0.47405111 0.18165920 -0.17434914 -H -1.57298464 1.00491645 1.18406620 0.26762498 -0.88135867 -0.63175836 -H -1.96311529 -0.42356274 0.09582424 0.02878094 -0.28288330 1.09532225 -H -0.79434405 -0.55586926 1.67331508 -0.39927178 0.58302628 -1.88435201 -H 0.84674797 -1.28439493 -0.13374462 0.21980368 -0.03563437 -0.21544026 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553916594949 pbc="F F F" -C -0.22261692 -0.23021163 -0.54783727 0.96739455 -1.02193893 0.24442524 -C -0.16325036 1.29458868 -0.22619750 1.69470702 -1.33044745 -1.64852901 -O 0.36887960 -0.94448729 0.68661555 -1.79230515 0.23694873 -1.31859497 -H -1.22315394 -0.67745791 -1.04935391 1.62615352 0.82451691 1.50531086 -H 0.59136932 -0.42740298 -1.31511326 -0.69864070 0.02380858 0.30777293 -H -0.33929817 1.93373942 -1.14261719 0.02526043 -0.38991934 0.53690406 -H -0.88772306 1.49810325 0.52571977 -0.81548678 0.69375761 1.25332996 -H 0.92926080 1.43109747 0.11512746 -1.42799221 0.23578315 -0.09239761 -H -0.32877692 -1.45059624 1.19080275 0.42090942 0.72749075 -0.78822141 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.792190907599 pbc="F F F" -C -0.15212985 0.42770808 0.22461783 1.52992743 0.47040904 -1.77070155 -C -0.68696232 0.04578475 -1.22798499 1.13935863 1.79312364 1.67456355 -O 0.75418923 -0.48450670 0.88863570 -0.95783159 0.14839929 -0.46129833 -H 0.51240094 1.34604537 -0.02353887 -1.28630000 -0.31397705 0.70032904 -H -1.06908443 0.62501444 0.82354672 0.19354798 0.38754128 0.23058602 -H -1.27377059 0.98029229 -1.51385338 0.38415349 -0.96285666 -0.08864730 -H 0.14206157 -0.13636407 -1.93739797 -0.02103024 0.04612391 -0.03451373 -H -1.31776036 -0.80796415 -1.16397456 -1.05706849 -1.25519062 -0.15528646 -H 1.03233718 0.04004655 1.66578855 0.07524279 -0.31357282 -0.09503124 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4965789638045 pbc="F F F" -C 0.23528368 -0.58917099 -0.07800367 -2.27083348 -0.13619745 2.46464952 -C -0.91882467 0.05241317 -0.95008557 1.21116704 -0.70081169 1.79648001 -O 0.57484429 0.49965905 0.90912297 -2.84646768 -1.01817185 -2.20259612 -H -0.13819782 -1.59163864 0.49472577 0.51407888 1.86738638 -0.87713805 -H 1.15965330 -0.89918397 -0.55782466 0.49119796 -0.04767043 -0.88148569 -H -0.45059764 0.35954901 -1.86591654 0.05735552 0.64495425 -1.12766895 -H -1.84107212 -0.53397876 -1.13378277 0.28051311 -0.19611980 0.09088662 -H -1.12279166 0.91379926 -0.27894215 -0.46351915 0.15133261 -0.58979604 -H 1.41243668 0.21473474 1.16169932 3.02650785 -0.56470207 1.32666875 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.892580011074 pbc="F F F" -C -0.13866691 -0.19022194 -0.50344785 -1.97966150 0.22206209 -0.63001752 -C -0.19995973 1.33655125 -0.06973800 1.86952723 -1.93454948 -0.56428030 -O 0.27193607 -1.07134686 0.50305780 -0.85195985 -0.31100789 0.59890824 -H -1.29214442 -0.41597550 -0.68206597 1.95019835 -0.09006516 -0.10492053 -H 0.46265280 -0.49484478 -1.43461396 -0.69364957 1.09516361 0.32070532 -H -0.88994698 1.41304867 0.75063578 -0.66305868 0.12502297 0.90495766 -H 0.81356064 1.65336685 0.26897580 -0.13783288 0.17271952 0.01524855 -H -0.51325213 1.98985953 -0.87363519 -0.26061826 0.43674146 -0.71616766 -H 1.13670460 -0.80083375 0.81561543 0.76705521 0.28391283 0.17556630 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.903674692933 pbc="F F F" -C -0.01244820 -0.50845710 0.24094499 -0.14859423 1.31684631 2.15604819 -C -1.08972105 0.52830991 0.33172636 -2.39628613 -1.30927117 0.02123146 -O 1.01977083 -0.07021836 -0.54697687 2.16143707 0.86135173 -0.42312824 -H 0.24278540 -0.81200100 1.31714214 0.23033590 -0.09903450 -0.76522725 -H -0.48518018 -1.32284513 -0.24069100 -0.33325643 -1.80605984 -0.85126544 -H -2.06073682 -0.03855145 0.63559712 1.00638457 1.12987727 -0.06741167 -H -0.90395734 1.37623370 0.97397372 0.20743636 0.64095155 0.81573001 -H -1.27053337 0.91755801 -0.67249797 -0.17108101 0.22542530 -0.56696562 -H 1.42298199 0.75613960 -0.15516149 -0.55637611 -0.96008670 -0.31901138 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4122891339475 pbc="F F F" -C 0.20093077 0.48524336 -0.13452113 -2.71763454 1.70804966 -4.97533893 -C -1.28521512 -0.02946221 -0.24084878 0.06545820 1.49930769 -0.57398560 -O 1.04591036 -0.37275105 0.39910850 1.58780329 -2.15157189 1.88399442 -H 0.52011611 0.64905079 -1.33265957 -0.59964522 0.45516064 2.25808003 -H 0.10736057 1.41930736 0.39784602 0.67686391 1.12009623 0.34995251 -H -1.78401189 0.32697561 -1.18585924 0.43897467 -0.14851777 0.26419503 -H -1.24202865 -1.11429714 -0.31400983 -0.42771221 -0.82724239 0.26134655 -H -1.95976688 0.39000499 0.54450533 0.28861501 -0.71300870 0.24353431 -H 0.67565009 -1.18685573 0.02792237 0.68727693 -0.94227348 0.28822174 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.620295719493 pbc="F F F" -C 0.18699691 0.52219663 -0.26908570 -0.25731187 -0.73265764 1.18184278 -C -1.35734034 -0.00951823 -0.25508280 1.74644051 2.47259388 1.96319343 -O 1.06161885 -0.41929000 0.49236006 -1.21576125 2.94317605 0.33839755 -H 0.57248673 0.69075290 -1.29570340 -0.04110326 -0.16415306 -0.18493334 -H 0.31283169 1.50634447 0.28693341 -0.19754188 -0.77225496 -0.41879469 -H -2.05160654 0.32237287 -1.04109413 0.18436353 0.29790925 -0.32801364 -H -1.12760617 -1.04343212 -0.36144808 -0.59643649 -1.74680103 0.18055270 -H -1.79219604 0.31782313 0.78315474 0.49974472 -1.03719951 -1.51573365 -H 1.17955048 -1.24893802 0.05878322 -0.12239396 -1.26061292 -1.21651114 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.758690149835 pbc="F F F" -C -0.00026256 -0.09191000 -0.58711635 0.89304907 0.26493751 2.08155461 -C -1.27833579 0.02922577 0.26463244 0.55329495 1.29385781 -2.07566905 -O 1.15327228 0.08528432 0.28559055 0.35280911 -1.26264811 -0.33655860 -H 0.10093652 -1.04245172 -1.13804070 -0.23462980 -0.01529113 -0.39748296 -H 0.06723112 0.78896779 -1.21824952 -0.12345583 0.25691716 -0.99233514 -H -1.90322613 -0.82789830 0.25984139 -0.88583574 -1.39145291 0.41833811 -H -1.03144460 0.44988918 1.21778347 0.37189148 -0.06133055 1.31436412 -H -1.82808785 0.84848975 -0.21524191 -0.73569884 0.13872829 -0.13628466 -H 1.52317759 -0.82529528 0.40337024 -0.19142445 0.77628187 0.12407351 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553524524543 pbc="F F F" -C -0.02062253 0.29278497 0.46679842 4.03539832 -2.15160229 -1.95796277 -C -0.24172599 0.98389237 -0.82808283 1.36949054 0.51183441 -2.55297533 -O 0.21636612 -1.16370749 0.40585371 0.00756002 1.60473334 1.43097037 -H 0.92227654 0.78415423 0.83801843 -0.14105421 -0.36926479 0.26132881 -H -0.68261926 0.43858670 1.21712572 -3.24159222 0.68639936 2.67117531 -H 0.79998390 1.08399900 -1.38732581 -1.54200041 0.14900093 0.98685061 -H -0.79448754 0.41806364 -1.63021789 -0.48357052 0.22151331 0.71820140 -H -0.67009485 2.01733634 -0.69463924 0.18297030 -0.55316974 -0.19859038 -H 0.11566126 -1.48468320 -0.48012922 -0.18720178 -0.09944449 -1.35899802 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.511699772514 pbc="F F F" -C 0.20530893 -0.41353026 -0.32566439 -0.25588733 1.16968912 -0.37955872 -C -1.33481501 0.16450482 -0.37467628 4.55630400 -2.27603354 0.61573026 -O 1.04918935 0.19660851 0.65701093 -0.62939490 -1.38614214 0.32215280 -H 0.17698660 -1.50642623 -0.12511162 -0.18416479 0.09769398 0.11931337 -H 0.79546466 -0.29357113 -1.27934010 -0.89603598 -0.13956498 -0.26900572 -H -1.50234782 1.14336201 -0.68058261 -0.05369324 2.59141174 -0.38359885 -H -1.77709793 -0.46672204 -1.05706769 -1.59138047 -1.77016296 -2.31176078 -H -1.72855032 -0.13934729 0.54722579 -1.05488418 0.07784778 2.14957857 -H 0.83968162 1.10777430 0.51122144 0.10913684 1.63526104 0.13714907 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.818096151604 pbc="F F F" -C 0.11041826 -0.13544889 -0.49278679 -0.00786079 1.06400877 -1.65118131 -C 0.84964317 0.97129816 0.20455522 0.51875294 0.17689566 2.36374130 -O -0.83736080 -0.84034529 0.25813318 -1.63914958 0.81793237 0.45432565 -H -0.32185811 0.43542123 -1.34860675 -0.68091412 -0.31298029 -0.24609235 -H 0.81653283 -0.79212476 -1.04661196 -0.11198233 -0.59277138 0.53745058 -H 0.12964244 1.44744198 0.91247002 0.11259991 -0.17428748 0.22123023 -H 1.76462931 0.68322066 0.80918248 -0.64818731 0.01749127 -0.30541451 -H 1.12067584 1.83252802 -0.39496280 0.42630468 0.30589026 -0.99904330 -H -1.65905237 -0.22893137 0.40567894 2.03043664 -1.30217919 -0.37501625 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.955502700616 pbc="F F F" -C 0.21765281 -0.38251462 -0.35244156 0.49260821 -0.75268680 1.47836882 -C -1.21264528 0.01742485 -0.38960004 -0.89699947 1.08103447 -1.02201385 -O 0.92669914 0.29817431 0.70243368 -0.08065985 -1.71552453 -0.39845176 -H 0.20509123 -1.46133105 -0.02355880 0.38157811 0.38669178 -0.27883320 -H 0.65188739 -0.35568295 -1.39622940 0.21752579 0.18919922 0.58596644 -H -1.41861271 0.95967874 -0.97416955 0.09995918 -0.45869915 0.16448407 -H -1.72232129 -0.81965705 -0.84810766 -0.84149175 -0.43916581 -0.79130956 -H -1.71407860 0.14316874 0.57067529 0.21517750 0.02534533 0.78737608 -H 1.14362682 1.14973466 0.36363536 0.41230229 1.68380544 -0.52558704 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6658516599055 pbc="F F F" -C 0.04563288 0.42680475 0.41360987 1.72953319 -0.90699880 1.23687032 -C -0.69600139 0.56652236 -0.84459586 -1.47984634 0.86120688 -0.44427361 -O 0.60729699 -0.88388433 0.45604705 0.24540797 -1.77165996 -2.10500642 -H 0.86431086 1.21817525 0.56344481 -0.37158650 -0.47450589 -0.68093006 -H -0.49737186 0.55353822 1.38282398 -0.62162539 -0.05748850 -0.39867117 -H -1.12308634 1.57997093 -0.87185034 0.19231961 0.49593815 -0.80619301 -H -0.09140944 0.24598280 -1.70747544 0.47342638 0.69042093 -0.29963723 -H -1.58777904 -0.06325525 -0.96575498 -0.33652795 -0.55635626 0.59192811 -H 0.54434685 -1.34226475 -0.50452337 0.16889906 1.71944346 2.90591315 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4962206048585 pbc="F F F" -C -0.31467112 -0.09219817 -0.50895378 0.94933759 0.82947688 1.85578057 -C 0.92772910 0.94178167 -0.36220445 1.49706888 -2.85738489 -0.69134139 -O -0.62610459 -0.82603793 0.76988750 1.81204480 2.71891495 -0.87966391 -H -1.20815808 0.46255954 -0.86337195 -0.12171123 0.28191163 0.20940095 -H -0.10121056 -0.77872916 -1.32987817 0.33794350 -0.75222657 -0.13991809 -H 1.92542873 0.51023895 0.12650169 -1.87726523 -0.11897815 -0.63347715 -H 1.34108842 1.14159306 -1.39984337 -0.64752278 0.50249128 0.66137805 -H 0.79963135 1.81193772 0.26423904 -0.76821112 1.04480849 0.08639018 -H -0.12463377 -0.16080871 1.36244377 -1.18168445 -1.64901357 -0.46854910 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.772186526263 pbc="F F F" -C -0.14319085 0.07906010 -0.53508311 -1.45449237 0.60845455 0.70302561 -C -1.06623698 -0.61651353 0.56602360 -0.46830433 2.44884243 -1.28016154 -O 1.10221869 0.48120368 0.02117390 0.10811256 0.66184121 -1.01983083 -H 0.07200098 -0.66832495 -1.31100492 -0.24183614 -0.35207722 -0.55096898 -H -0.71190207 0.98225195 -1.04327216 0.66654468 -1.24819264 0.67410290 -H -1.97273965 -0.01957105 0.91942354 1.21297972 0.10688717 -0.00698862 -H -1.58228704 -1.44410658 0.13875846 -0.32245090 -1.54180825 -0.74666111 -H -0.44923636 -0.93987767 1.37875234 0.63418024 -0.35641765 1.04583508 -H 1.55890119 0.85414779 -0.78744790 -0.13473346 -0.32752965 1.18164743 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.496906903052 pbc="F F F" -C -0.01955418 -0.52664476 0.11866445 3.46387635 0.17471331 -2.13441348 -C -1.27287353 0.18127951 -0.00240062 -3.55674864 0.58248933 0.01478740 -O 1.20018365 0.29603706 -0.05104860 -0.82633813 0.54457475 -2.45183879 -H 0.20274633 -0.86050509 1.07780532 -0.08884743 -1.07555509 2.57922404 -H 0.09183334 -1.40706590 -0.54318911 -0.30036625 -0.26459232 -0.18457940 -H -1.98698971 -0.07251185 0.82135595 0.56863164 0.62490066 0.57687907 -H -1.15429789 1.26691805 -0.12398729 0.07732601 0.30438817 0.42276838 -H -2.02508207 -0.10985807 -0.76641119 0.74544281 -0.22330126 -0.95912274 -H 1.22052724 0.59782031 -1.04067054 -0.08297637 -0.66761755 2.13629553 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553693449716 pbc="F F F" -C 0.47430104 0.31283576 0.18984500 -2.80333844 -2.69191748 -1.93887994 -C -0.72180840 0.93560590 -0.68951450 1.43360693 1.91012939 2.17024197 -O 0.28609934 -1.14131705 0.48415844 -1.09855253 1.24083080 -0.63568063 -H 1.35998662 0.26355563 -0.37746262 1.88345825 0.81815112 -1.03821824 -H 0.60839832 0.76562182 1.12334331 0.22027533 1.47145965 1.90895362 -H -0.59727928 0.77244516 -1.77406603 -0.19356711 -0.35318855 0.00879204 -H -1.70667250 0.59631447 -0.25552549 0.43142632 0.18250720 -0.48200570 -H -0.65669705 2.12639450 -0.52843919 -0.30801327 -2.17046786 -0.36261658 -H -0.60076554 -1.28582762 0.08103109 0.43470448 -0.40750425 0.36941350 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.535117743912 pbc="F F F" -C -0.10411275 -0.58970773 0.23734172 2.45898826 0.42615854 -1.23123549 -C -1.10287033 0.52132209 0.22499528 -1.55806374 0.16388906 0.61132745 -O 1.09754377 0.03159366 -0.38288295 -0.01190658 -1.00103030 -0.53864696 -H 0.15827370 -0.63278106 1.27489625 0.77668687 -0.27579318 1.35373785 -H -0.18407355 -1.72486992 -0.01324064 -0.79997485 1.60469010 -0.42605981 -H -1.91316432 0.35340504 0.99799701 0.33021805 0.30314900 -0.48244967 -H -0.55190501 1.48342496 0.41774442 -0.17852029 -0.67798820 0.39479858 -H -1.57508560 0.72214756 -0.73007466 -0.57557969 -0.16866005 -0.89800411 -H 1.02576674 0.11056477 -1.37892902 -0.44184798 -0.37441497 1.21653206 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.638860969808 pbc="F F F" -C 0.55636676 -0.10981070 -0.04559138 -2.20567610 -1.94309110 0.15846115 -C 0.11382536 1.32354087 -0.30962143 -0.46854185 -1.85646854 2.22424158 -O -0.59419828 -1.09758337 0.36314912 2.72513126 2.40486997 1.44527352 -H 0.98719280 -0.63509563 -0.91061848 0.40358625 0.29340066 -0.45231258 -H 1.29057995 -0.14687357 0.75538307 0.31068136 -0.17424789 0.63510764 -H -0.15911358 1.77051050 0.67470401 -0.86111761 -0.15309161 -0.32585278 -H 0.96690163 1.89670915 -0.50685354 1.91983150 1.24298281 -1.25070497 -H -0.63587333 1.32528666 -1.07906018 -0.82755344 0.57990855 -0.64850597 -H -1.00481719 -1.25260866 -0.46520715 -0.99634143 -0.39426286 -1.78570770 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.530843182674 pbc="F F F" -C 0.02295934 -0.04291165 -0.57105200 -1.54473961 0.59008555 -1.35208561 -C 0.54120938 1.11208521 0.25212491 2.59503525 1.47167727 -3.06179543 -O -0.47731187 -1.01789196 0.26946944 1.00663567 -2.23768033 0.23878512 -H -0.88850195 0.28437018 -1.16759937 0.73623158 0.33179378 -0.36726864 -H 0.69355207 -0.54708640 -1.26461150 0.78772205 0.13985695 -0.46275877 -H 1.64118873 0.92348272 0.44360476 -0.62618673 0.35534123 0.18939431 -H 0.46639266 2.13407326 -0.35134774 0.01887031 -1.60857668 1.37641607 -H 0.03298677 1.07407293 1.17910999 -0.91445953 0.57947491 1.58411021 -H -1.09274476 -0.45340625 0.68381968 -2.05910903 0.37802737 1.85520279 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548227693932 pbc="F F F" -C 0.25750151 -0.21141262 0.50299866 0.37931158 -0.32560235 -3.37312702 -C 0.41760886 1.25263773 0.03402667 -1.62511567 0.59372171 2.09308915 -O -0.65596532 -0.96037845 -0.43096149 0.98202233 0.75935228 1.77944994 -H 1.37005062 -0.53332075 0.36063343 -1.60162981 -0.72294015 1.01650336 -H -0.23735457 -0.32260963 1.46009383 0.29827404 -0.14027378 0.91295765 -H -0.04879013 1.42532638 -0.93051759 -0.41083090 -0.08548263 -0.70247139 -H -0.13429739 1.95563642 0.78192032 1.07978317 -0.56655033 -1.03787952 -H 1.47870977 1.44590705 -0.06846921 0.67034688 0.76391476 0.16608756 -H -0.06160352 -1.13532969 -1.16209172 0.22783838 -0.27613950 -0.85460973 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2932634044 pbc="F F F" -C -0.23761201 -0.47894446 0.28807244 0.18137180 -2.02631300 1.30195242 -C -0.89544322 0.81048218 0.03869726 -3.16145600 1.58993700 0.74545058 -O 1.03710600 -0.25367058 -0.32061455 1.68664018 -4.66763188 0.96360058 -H -0.20807245 -0.79241491 1.43999916 0.50084582 1.16415060 -1.31390872 -H -0.86945985 -1.43326152 0.00253010 0.89757499 1.28510063 -0.74900086 -H -1.89214526 0.85032585 0.63939577 1.49021395 0.44131201 0.03603438 -H -0.17088326 1.67266433 0.20199498 -0.86292185 -0.64833278 0.21836536 -H -1.40346247 0.96320299 -0.94138397 0.85345320 -0.37005674 -0.46292111 -H 1.58225541 -1.18604318 -0.14712013 -1.58572209 3.23183411 -0.73957257 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.84124353835 pbc="F F F" -C 0.01980199 0.16278305 0.55172642 -1.26499743 0.90836180 -0.84236706 -C 0.09976508 1.14370978 -0.71275416 0.36787979 -1.04964288 1.46531759 -O -0.14017165 -1.18199775 0.13836733 0.86198695 -0.64976869 0.15202763 -H 0.90029637 0.37145451 1.24253186 -0.64531600 -0.28110307 -0.39392821 -H -0.96442080 0.37885622 1.08869680 0.90974526 0.27802217 -0.04882089 -H -0.60372024 0.87731586 -1.51205860 0.16430939 -0.90478010 -0.38348207 -H -0.35349038 2.10174397 -0.45283047 0.55866121 0.92900478 0.51360641 -H 1.17443192 1.17969684 -1.03047263 -0.64422482 0.35888432 -0.30441136 -H 0.64613841 -1.71656654 0.38659832 -0.30804433 0.41102163 -0.15794210 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827140680922 pbc="F F F" -C -0.02487803 0.52127081 -0.00678041 -0.30997030 2.04742254 -3.51160607 -C -1.24474656 -0.29523732 0.21520564 -0.06130510 -1.81127142 -0.54814138 -O 1.14483262 -0.24505723 -0.15180774 1.25075634 0.35117548 0.64816607 -H -0.26769600 1.02725787 -1.05729456 0.46578902 -0.47746081 1.14596683 -H -0.06211777 1.43992837 0.61972670 0.76367914 -0.21134300 0.74704415 -H -1.32210797 -0.68417920 1.23901868 -0.10648454 -0.25868803 0.33494852 -H -2.14607122 0.27675350 -0.03490956 -0.27017989 0.28582228 0.10300748 -H -1.21927795 -1.17405031 -0.51601946 -0.07312096 0.60239800 0.74974077 -H 1.97289120 0.30923798 -0.32443516 -1.65916382 -0.52805509 0.33087363 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740610974976 pbc="F F F" -C -0.33029038 -0.41578148 -0.20028209 1.31467465 -1.06049263 1.42880622 -C -0.87012884 0.68565465 0.65616730 -3.42863238 -1.32822720 -1.72777877 -O 1.10905523 -0.29723012 -0.38976521 -1.24965560 -0.98619878 0.60901397 -H -0.58292500 -1.39535718 0.27160590 0.65683563 -0.05337741 -0.10017124 -H -0.85147493 -0.41442433 -1.11991855 -0.84292108 -0.11816059 -1.96651406 -H -1.91823023 0.48603530 1.08971915 1.00661572 0.11651637 -0.64846566 -H -0.23788740 0.81268079 1.43675073 2.47041471 0.94904391 3.05306422 -H -0.93364010 1.50292841 -0.02852912 -0.11020719 1.76097532 -0.19347820 -H 1.22302849 0.50884730 -0.89511005 0.18287548 0.71992101 -0.45447647 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6776828785305 pbc="F F F" -C 0.10235143 -0.35541970 -0.33009284 4.40879734 -1.72608009 -1.68812340 -C -1.23013317 0.15147201 -0.34755782 -3.37630270 0.12545553 3.30581819 -O 1.02626931 0.13894541 0.65137564 -0.13241798 1.10928628 -0.47825816 -H 0.21543631 -1.50053703 -0.26629541 -0.54557933 1.06823114 0.25197771 -H 0.49656015 -0.18341532 -1.42660125 -0.05729628 -0.07485569 1.23453766 -H -1.26228752 1.22101367 -0.56088464 -0.07410199 0.68580868 0.10928627 -H -1.76679645 -0.33108203 -1.15032615 -0.75916037 -0.49669164 -0.62438099 -H -1.81566812 -0.07111424 0.71066662 1.10568611 0.62433615 -2.29827601 -H 1.28016307 1.08836171 0.42886098 -0.56962486 -1.31549031 0.18741867 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.537166755506 pbc="F F F" -C -0.21533298 -0.46146250 0.18569651 0.24474720 0.87068376 -1.44531461 -C -0.89926517 0.88797424 0.35678310 -0.62456735 1.31652641 0.54887908 -O 1.02642092 -0.35898968 -0.47664532 0.30413255 2.45856377 0.78451722 -H -0.17504535 -0.89451880 1.13504277 0.60936564 -1.26625094 2.47178151 -H -0.83862047 -1.10620071 -0.37150774 -1.50077163 -1.23095246 -1.19590235 -H -2.03637147 0.90279172 0.35139956 0.69254872 -0.70056301 -0.44392584 -H -0.77540726 1.32808894 1.43404016 0.69357372 -0.09660857 -1.78251135 -H -0.57838569 1.50919905 -0.54767378 -0.14289091 0.02386334 1.25193771 -H 1.39173451 -1.12483675 -0.89956960 -0.27613801 -1.37526231 -0.18946142 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.505764429636 pbc="F F F" -C -0.26957773 -0.18767748 0.50124305 -1.08569953 0.30998865 -1.24069093 -C -0.86047066 0.00402694 -0.93613526 -4.64954205 -0.26585442 1.61455995 -O 1.02895473 0.23624560 0.40275648 1.17895543 1.86220324 0.06850300 -H -0.85022682 0.26179876 1.37240860 0.17896956 0.25953943 -0.75531513 -H -0.35412687 -1.24780894 0.69068865 0.11405577 -1.24859075 0.27841113 -H -1.62568157 -0.84862385 -1.09715635 0.33409939 0.87508734 0.36955671 -H -1.51978439 0.93816385 -1.18274750 1.48287715 -0.98746531 0.42822247 -H -0.19345262 -0.27677863 -1.69554825 1.93410478 0.14551996 -1.35830382 -H 1.67506265 -0.38986829 0.70146727 0.51217945 -0.95042809 0.59505668 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553934476944 pbc="F F F" -C -0.42757165 0.13203239 0.37528670 1.07344611 1.06907997 -3.63830457 -C 0.87749036 1.01614863 0.15391104 -2.87786461 -0.98713420 -1.76437952 -O -0.42467330 -1.00882933 -0.48840742 0.15529746 -1.04572817 -0.01942942 -H -0.69692016 -0.16583901 1.32241610 -0.04991197 -0.70973352 3.42118574 -H -1.26774510 0.80854149 0.09341736 -0.21999934 -0.40493989 -0.34094413 -H 1.58406578 0.29113279 -0.19504297 1.43452225 -0.55737504 0.12006506 -H 0.70078101 1.70270702 -0.73720295 0.12666894 -0.35748085 0.90950573 -H 1.06695636 1.53646163 1.04809044 0.98499710 1.13770320 1.51573190 -H -0.00840263 -1.84281152 -0.08497440 -0.62715593 1.85560851 -0.20343079 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.731306558568 pbc="F F F" -C -0.32920422 0.18110232 0.45428952 1.08273006 -1.13095636 -1.49950849 -C -0.38656019 0.87332259 -0.91584628 0.59002729 0.14823628 -0.41172698 -O 0.67671083 -0.94026416 0.44451455 -0.15533171 3.17810266 -0.06271170 -H -0.05618997 0.99230921 1.14342051 0.23562569 -0.31415040 0.80637525 -H -1.32758894 -0.18279784 0.65173860 -0.78627297 -0.51679710 0.65560546 -H -1.25169414 1.49104027 -1.20017087 -0.93629144 -0.36350495 0.46531111 -H 0.35621014 1.66998415 -0.97290751 1.03235437 0.09683595 -0.09178137 -H -0.19699882 0.17219314 -1.74496256 0.00219984 -0.20122818 -0.07652156 -H 0.26270470 -1.78369065 0.56689018 -1.06504117 -0.89653796 0.21495823 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.517228261661 pbc="F F F" -C 0.19804475 -0.42966354 -0.34905247 -1.04786785 2.90268147 -0.94930051 -C -1.34259943 0.16963561 -0.31854594 2.77248077 -0.24489396 -1.87629716 -O 1.06382654 0.20890058 0.57642535 0.95116389 -0.41267485 -1.85271628 -H 0.30454627 -1.50599193 -0.53743034 -0.33717551 -0.85787776 0.99678387 -H 0.68340475 -0.05523375 -1.27916674 -0.52015003 0.03843091 -0.37693151 -H -1.28382473 1.26377663 -0.15687187 0.28725768 0.16003976 -0.57051276 -H -1.93593109 -0.07266138 -1.26045815 0.47458040 0.10679744 0.94206383 -H -1.81096570 -0.12455053 0.57045192 -1.36357258 -1.28409250 1.75543351 -H 0.79388621 0.27572084 1.46882521 -1.21671682 -0.40841046 1.93147701 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.54556605597 pbc="F F F" -C -0.43465410 -0.15450642 -0.28757029 0.95118703 -0.51560046 0.61169542 -C 0.06986774 1.26732945 -0.30528330 -0.47339414 1.61480492 -3.57545352 -O 0.31452858 -1.02278764 0.61646526 -0.70888634 0.29864911 -1.18928001 -H -1.46923069 -0.06573896 0.09266472 -0.26035282 -0.49309091 -0.17346432 -H -0.43584250 -0.49166630 -1.37074966 -0.09906783 -0.48219411 0.86273046 -H -0.22558085 1.55806448 -1.45785364 0.56280002 0.09207499 2.32987683 -H -0.57730943 1.91156783 0.31101781 0.43712671 0.33095333 0.36602689 -H 1.16894380 1.53791810 -0.27530276 -0.70770549 -0.62065510 0.40648286 -H 0.89222919 -1.47705839 -0.02066028 0.29829286 -0.22494178 0.36138538 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.301729661789 pbc="F F F" -C 0.08441762 -0.13981116 0.60984403 0.30754292 -2.74774140 -4.46192803 -C -1.24416898 0.27852149 -0.04742831 -0.13578114 0.53199798 -0.07733099 -O 1.11697622 -0.14680572 -0.45732575 -1.53449546 2.13553129 -1.31649844 -H 0.34019137 0.42603036 1.48118289 0.35841982 0.98995311 0.99507593 -H 0.11788422 -1.25402407 0.80983861 -0.68010618 0.71340660 0.80377109 -H -1.93455618 0.13665158 0.75540739 -1.39586523 0.96633906 1.36917141 -H -1.21555421 1.34867046 -0.48407911 -0.10910249 -1.07828462 0.86612334 -H -1.84215245 -0.34857575 -0.77416562 1.49332977 -0.20360362 -0.20919058 -H 0.62272361 0.36716392 -1.23067952 1.69605803 -1.30759841 2.03080626 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.47730217368 pbc="F F F" -C -0.37876207 -0.27744116 -0.37429356 3.09832609 2.54199090 -2.64748387 -C -0.85267884 0.60765899 0.78787300 -0.16853947 0.91260350 -2.55292350 -O 1.09604451 -0.31528715 -0.30463173 -0.32453354 0.23926154 1.22054885 -H -0.68300015 -1.29163170 -0.52084860 -1.19222022 -1.28972456 0.34212925 -H -0.50899034 0.29540404 -1.45613442 -0.82343016 -1.07244621 2.25207260 -H -1.92368301 0.75835392 0.72022344 -1.10308045 -0.45368889 0.17195215 -H -0.57759570 0.36626195 1.80431000 0.54311127 -0.37174842 0.60216295 -H -0.55300434 1.63851675 0.44979368 0.53640393 -0.38971427 0.82871234 -H 1.52132546 -0.69864120 -1.09006167 -0.56603740 -0.11653359 -0.21717072 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763499750656 pbc="F F F" -C 0.21961402 -0.04060097 0.51213909 1.73738364 0.79696995 -2.43394684 -C -1.22998860 -0.33050013 0.36734845 0.21034238 -1.04680469 -0.80634605 -O 0.87119344 0.33208048 -0.80760117 -1.32909335 -0.14146338 1.44009465 -H 0.34696009 0.80920535 1.19787569 0.25047716 0.15971112 0.54001412 -H 0.83999473 -0.90441463 0.80131232 -0.34239449 -0.36259684 0.77560824 -H -1.43115774 -0.86957177 -0.58219386 0.29368431 -0.81151391 0.26067082 -H -1.47870612 -0.92647120 1.26875507 -0.77412770 0.17355425 -0.21653926 -H -1.83619532 0.53635912 0.14323813 -0.49039223 1.05985444 0.73552519 -H 1.76905400 0.50423078 -0.48968837 0.44412022 0.17228901 -0.29508083 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.638978223865 pbc="F F F" -C -0.34312712 0.20465997 0.38672742 -0.54781922 -0.29365062 1.23162007 -C 0.04060309 1.04607715 -0.81001213 -0.21965209 0.24724436 -0.53062301 -O 0.32439700 -1.13769055 0.43364513 -1.84354026 1.35241224 -0.51381776 -H -0.20053247 0.67377927 1.43120347 0.53073537 -0.33080534 -1.22906131 -H -1.48306969 0.31493992 0.32649751 0.54865056 -1.50150064 0.18934623 -H 0.94371081 1.61964035 -0.76785239 1.75976716 0.05077041 0.29815278 -H 0.07281124 0.40773905 -1.71901300 -0.06043586 0.09926740 0.02883874 -H -0.64118601 1.90018799 -1.00671192 -0.66950618 -0.36149527 0.08338656 -H -0.23709279 -1.76270028 -0.10363407 0.50180042 0.73775748 0.44215780 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.782613862582 pbc="F F F" -C 0.05815509 -0.39641818 0.44559008 0.96556747 -0.55141301 -0.14006670 -C -1.06768048 0.60885201 0.28987192 -2.39740790 -2.44650175 0.38774378 -O 0.87875987 -0.18568760 -0.68711745 1.37420744 -0.01796055 -0.46560318 -H 0.75418727 -0.35658100 1.32736309 -0.77823015 0.82420977 0.38554286 -H -0.19613604 -1.48598983 0.50612572 -0.87711157 0.15745477 -0.21561284 -H -1.90879396 0.44561585 1.03019701 0.79367235 0.49472207 0.19269360 -H -0.67794968 1.60129607 0.26460399 0.29804099 1.34312711 0.06226659 -H -1.69296824 0.39421760 -0.64301179 1.12999750 0.22906233 0.30359509 -H 1.80138653 -0.18395159 -0.34224036 -0.50873613 -0.03270074 -0.51055925 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.749322846944 pbc="F F F" -C 0.16737817 0.07484832 0.58635485 0.65374542 0.50102158 -1.41295634 -C -1.28418135 0.20904073 0.05909077 1.65620299 0.42077336 1.07303793 -O 0.96403713 -0.27465724 -0.60912513 -0.62733627 0.79501067 1.32251148 -H 0.67196867 1.01071560 1.15245422 -1.35100821 -1.33239696 -1.05350700 -H 0.27424090 -0.77742227 1.26605841 -0.25439424 -0.36081835 0.67982299 -H -1.93415203 0.19302524 0.93714843 -0.78933243 -0.25414201 0.01179695 -H -1.37066064 1.16440191 -0.43806791 -0.22595088 0.92781636 -0.37232101 -H -1.45353867 -0.53822439 -0.72862295 -0.20694929 -0.53162579 0.28221996 -H 1.81656206 -0.07710795 -0.21129007 1.14502298 -0.16563890 -0.53060506 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.567538808752 pbc="F F F" -C 0.24842963 -0.03615575 -0.56621123 1.68635875 -0.42284917 1.07746794 -C -0.61030858 1.17445019 -0.07375337 -1.61940710 -2.31651290 -1.20020118 -O 0.35079664 -0.97159820 0.58401561 -0.05443531 -1.19247733 -0.45016936 -H -0.27721337 -0.58642886 -1.35476141 -0.07599767 0.17408704 -0.74208161 -H 1.35903616 0.22091728 -0.88757672 -1.79030699 -0.15188597 0.19306672 -H -1.47536538 0.56930922 0.34805237 0.38134121 0.88938926 0.12937672 -H -0.16697596 1.75572211 0.69352321 0.88711394 0.70774333 1.32462976 -H -1.08613320 1.88911328 -0.80373178 0.68467755 -0.60915569 -0.14750881 -H 0.38952011 -1.99161461 0.36007449 -0.09934443 2.92166141 -0.18458018 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.707771089678 pbc="F F F" -C 0.26753153 -0.07557777 -0.48154100 -1.42768769 1.09749031 0.10038300 -C -0.67144123 1.15310426 -0.10020622 2.10665239 -0.04856173 -2.54311679 -O 0.33379772 -1.02469160 0.52818545 0.94590125 -0.31249260 0.46318336 -H -0.17642392 -0.54573208 -1.34900479 -0.81356694 -0.60179369 -0.67410152 -H 1.21479105 0.23037864 -0.95913943 0.80439124 0.35847932 0.61110921 -H -1.61125947 0.92700903 -0.61927223 -0.50906831 0.52718904 0.20300188 -H -0.80001148 1.40476427 0.93626427 -0.09358027 -0.27025589 1.20117023 -H -0.13449636 2.04435760 -0.56008493 -0.93431015 -0.31957908 0.12779786 -H 1.02094073 -0.63687189 1.09930646 -0.07873152 -0.43047568 0.51057277 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.907619838433 pbc="F F F" -C -0.31444585 0.33868705 -0.26287661 -0.53577972 -0.00504461 -0.80810993 -C -0.55798006 -0.02142158 1.23136842 -0.99383044 1.20902886 -0.00206784 -O 0.77171889 -0.33320566 -0.92464306 -0.98280529 0.17935893 0.39592220 -H -1.20657307 0.05271258 -0.97311897 0.88349629 0.56585284 1.50054943 -H -0.20305571 1.49589354 -0.27715562 -0.13688224 -1.18674156 -0.29301207 -H -1.53577078 0.48444806 1.52130256 0.48721475 -0.57367543 -0.19044584 -H -0.60104443 -1.06900153 1.52760674 -0.25712568 -0.79422530 -0.43238056 -H 0.13916619 0.40347956 1.98173996 0.51305692 0.31997528 -0.43398786 -H 1.55241516 0.13950002 -0.64380945 1.02265539 0.28547097 0.26353246 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.315584502989 pbc="F F F" -C 0.36707825 -0.07076848 -0.45245911 0.76816957 -0.71126873 0.42387926 -C -0.53841000 1.07164122 -0.28926603 2.90511307 1.70910628 2.81159718 -O 0.20191703 -0.91897789 0.64612441 -0.88018008 -1.75745209 0.91945195 -H 0.19069470 -0.61492428 -1.35908424 -0.07280477 -0.67993232 -1.52656664 -H 1.47130128 0.20504299 -0.42760099 -0.86802729 0.16361925 -0.26770855 -H -0.54997039 1.87023768 -0.94356832 0.28039062 1.96819484 -2.51108809 -H -1.47999888 1.05277133 0.12159799 -3.48372280 -1.59262061 0.49611607 -H -0.12961210 1.55784504 0.65230699 0.21708119 0.14823896 -0.45079707 -H -0.66690270 -1.41168683 0.53864032 1.13398055 0.75211452 0.10511583 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.461662261495 pbc="F F F" -C 0.34811696 -0.08556860 -0.47801690 0.59008946 1.31086160 2.52551825 -C -0.63515927 1.28101543 -0.23710155 1.60752690 -2.79176363 -2.15246026 -O 0.29205260 -1.06376447 0.67111091 0.75784669 2.07802228 -1.93821906 -H 0.25820720 -0.51057284 -1.49305421 -0.74606600 -0.42595763 -0.06328510 -H 1.43086971 0.21880314 -0.46118310 -0.46626828 0.15055850 0.12247752 -H -0.55584833 1.89387566 -1.22975816 -0.51253257 -0.82751225 1.44045563 -H -1.60901024 0.71392692 -0.09818617 0.29414273 1.36982036 0.11012188 -H -0.22813349 1.88184722 0.60083186 -0.44450203 -0.25423565 0.10691247 -H -0.51251073 -1.55890566 0.54997412 -1.08023702 -0.60979353 -0.15152133 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.436230992776 pbc="F F F" -C 0.19849875 0.43331988 -0.33793097 -1.23474206 -0.54032502 0.07622485 -C -1.29533487 -0.08768482 -0.30141161 1.80962226 2.26904625 4.58831291 -O 1.00822693 -0.33848662 0.53379397 0.55617480 0.22639018 -0.86441716 -H 0.37379827 0.24018893 -1.39564532 1.44528057 -0.20229678 -0.51486476 -H 0.30380092 1.54949649 -0.24001272 -0.09278955 -0.35935591 0.39972630 -H -1.40151437 -0.73675125 -1.09588665 -1.07936269 -1.48436690 -2.37135629 -H -1.28323442 -0.73841356 0.67045981 -0.65157263 1.07164598 -1.24305742 -H -1.87022408 0.87471802 -0.20387761 -0.68187222 -1.14440221 -0.34764983 -H 0.94242387 0.06356586 1.41031696 -0.07073843 0.16366440 0.27708140 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.771816846616 pbc="F F F" -C -0.01628524 -0.52093950 0.19819289 -0.19198331 1.42288126 2.23129288 -C -1.19024629 0.57648112 0.37399220 -0.31092114 -1.63877635 0.00937589 -O 1.09691453 -0.08066876 -0.54867815 -0.94912352 -0.72391388 -0.71485105 -H 0.29036503 -0.97441867 1.21942017 -0.24377537 0.55732022 -0.86929403 -H -0.46118946 -1.32140114 -0.34878186 -0.55038431 -1.19808408 -0.78655281 -H -2.11287665 0.15266950 1.04563092 2.07111284 1.09040676 -1.30349014 -H -0.83251826 1.60716442 0.63601946 -0.12237504 -0.55146916 0.48453870 -H -1.53160179 0.67600826 -0.67947478 -0.44223164 0.17385296 0.15789150 -H 1.61224062 0.47712345 0.01834807 0.73968148 0.86778227 0.79108901 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.985702966676 pbc="F F F" -C 0.12451712 0.50366051 -0.12080586 0.02718927 0.70426998 -0.62969963 -C -1.02756101 -0.23757466 -0.75475573 -1.81359652 1.25664463 0.33419627 -O 0.85958776 -0.20277382 0.84287495 -0.13561982 1.23674763 0.65662449 -H 0.77187259 0.88160678 -0.92909255 0.62676996 -0.22528265 -0.59605642 -H -0.24719827 1.49994742 0.23774975 -0.06846953 -0.48442701 0.70181596 -H -1.42312800 0.37152349 -1.61189622 0.02733747 -0.09354643 0.37880482 -H -0.85342729 -1.19861015 -1.19919993 0.82496033 -1.22187420 -0.36951460 -H -1.89413601 -0.39324247 -0.04539086 0.47770645 0.13969636 -0.26176642 -H 0.76122602 -1.11472436 0.60183499 0.03372245 -1.31222830 -0.21440452 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.594447943747 pbc="F F F" -C -0.14007292 0.29303595 -0.46155801 3.71057136 4.01020263 2.12634001 -C -1.16190240 -0.06763640 0.51123856 -0.16961069 -3.79107551 0.14641034 -O 1.15320818 -0.20370393 -0.02553275 -1.79558717 -0.99963296 1.32908425 -H -0.38439612 -0.09958488 -1.40469997 -0.55959426 -0.25414304 -2.29078453 -H 0.01552533 1.49745619 -0.39535803 -0.76742323 -1.94111176 -0.94489472 -H -0.88397526 -0.02860901 1.55118417 0.47209692 0.75240845 0.94612998 -H -2.10541918 0.39025959 0.32742745 -1.31220850 0.66331825 -0.22554568 -H -1.27096292 -1.21178897 0.37733281 -0.38501172 1.04617637 0.19222695 -H 1.83739417 -0.00164664 -0.64259340 0.80676730 0.51385761 -1.27896659 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.574899760438 pbc="F F F" -C 0.08983278 0.51106861 0.09881344 -0.30594786 -0.44301089 1.70622053 -C -1.22400730 -0.20884349 0.42542931 0.82844602 -0.66831324 2.63148075 -O 1.02638242 -0.22564247 -0.52440165 2.48378214 -2.97335490 -2.41215606 -H 0.06957407 1.37966509 -0.51661530 -1.16180072 1.42159998 -1.07611492 -H 0.61773679 0.92257655 0.96299630 -0.54362210 0.36762530 1.55905670 -H -1.81339687 0.37255189 1.18468660 0.38566843 -0.24424609 0.04408240 -H -1.94116491 -0.32899963 -0.34549833 -0.71772138 -0.34191236 -1.80238650 -H -1.01299490 -1.28656039 0.89056950 -0.27890627 1.90981366 -0.73618931 -H 1.30203484 -1.08036898 -0.09904166 -0.68989843 0.97179849 0.08600646 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.314988045795 pbc="F F F" -C -0.38511034 0.37299036 -0.29917237 -0.66286368 0.40048535 -0.72173641 -C -0.47791357 -0.05008979 1.17623193 -2.63246718 3.76974424 -0.32926335 -O 0.77695250 -0.31401719 -0.86158053 -0.36403470 1.01380781 1.90756883 -H -1.36513338 0.01896182 -0.77640347 1.08941246 0.39925888 -0.07771825 -H -0.22950243 1.48253632 -0.51508207 -0.54135973 -0.59430715 0.40056855 -H -1.36632216 0.33778165 1.81555038 0.66258919 0.14216771 -1.19208539 -H -0.76771012 -1.02265909 1.04580005 0.30891923 -3.76345126 0.55860948 -H 0.33554238 0.33102294 1.74042655 1.79163183 -0.42925554 0.92800318 -H 1.34315300 -0.01234515 -0.08522614 0.34817269 -0.93844999 -1.47394668 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.696068979944 pbc="F F F" -C 0.43887194 0.31621525 0.21457848 0.88735336 -0.99496908 0.76528392 -C -0.70095898 0.90710747 -0.66642774 0.64912082 -2.29829354 1.88514170 -O 0.27593449 -1.11817757 0.45150627 0.36395762 1.34644337 0.45250521 -H 1.50098830 0.44567832 -0.26557954 -1.40229474 0.23647909 0.50022968 -H 0.47990006 0.79596429 1.30221966 -0.11648366 -0.40921100 -1.95868443 -H -0.92737359 0.41169461 -1.61441076 0.09937883 -0.62171296 -0.25660333 -H -1.59118576 1.03690368 -0.06413686 -0.88630167 -0.20723710 0.32061642 -H -0.38986219 1.84952100 -0.89943435 0.96739532 3.54836627 -1.04868520 -H -0.33041319 -1.36923995 -0.24130744 -0.56212587 -0.59986510 -0.65980402 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.988800006548 pbc="F F F" -C -0.23845185 0.44624142 0.23952146 0.65676893 -1.42801545 0.79685065 -C -0.54561243 0.05633819 -1.19733372 -0.03077596 0.36625217 0.26641986 -O 0.73781819 -0.41531892 0.89894605 -0.18011859 0.08346020 -0.16697871 -H 0.20545098 1.44700357 0.36312747 0.22561186 0.28416932 -0.45313965 -H -1.18753336 0.54940276 0.82905845 -0.02514416 -0.47303702 -0.03278991 -H -1.32862143 0.70764626 -1.55805793 -0.83591513 0.76864214 -0.34434575 -H 0.28139207 0.23385608 -1.90132911 0.41207686 -0.40270339 0.00998421 -H -1.00238667 -0.94605605 -1.30649912 0.38286521 -0.26697532 0.13203946 -H 0.66202912 -1.38962578 0.71777457 -0.60536901 1.06820728 -0.20804011 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.886650983688 pbc="F F F" -C -0.01677444 0.51316344 0.16646396 1.11701028 0.73103831 -0.23718085 -C -0.75533318 0.02694905 -1.10555227 -0.04653719 -1.25852647 0.06652644 -O 0.73515678 -0.44493797 0.86526167 1.40609715 0.69174304 -0.49656719 -H 0.84290557 1.24323178 -0.07005919 -1.29306761 -0.28187497 -0.37755151 -H -0.66535990 1.07272420 0.87636509 -0.48428076 0.03922625 -0.14192715 -H -1.42436748 0.76838473 -1.57227980 0.06704858 0.31110066 0.02168968 -H -0.05380167 -0.36005314 -1.85982860 0.59724705 0.50208802 -0.31962032 -H -1.36746341 -0.93511703 -1.04814064 0.07196124 0.83549707 0.91865763 -H 0.19818646 -1.16403465 1.12958577 -1.43547875 -1.57029186 0.56597322 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.681109739753 pbc="F F F" -C 0.08112668 0.29832957 0.51822314 -1.01096448 1.00529921 1.12057723 -C 0.10285892 0.84623788 -0.83759937 1.85117402 0.31517550 -1.25258110 -O -0.18448818 -1.02273932 0.25560619 -0.28523782 -1.38053832 0.12671321 -H 0.98157464 0.54481751 1.09530917 1.02992154 -0.41139032 0.04218991 -H -0.67725152 0.82624571 1.20524191 -0.11991115 -0.46299500 -0.69485063 -H 0.03030314 1.92290941 -0.75631228 0.32009613 1.00248344 -0.73987005 -H 1.00394305 0.39154830 -1.41780633 -0.85577532 1.13951485 0.77510060 -H -0.72796267 0.43004034 -1.37626251 -1.19510484 -0.09183968 -0.50865869 -H 0.12446426 -1.52151097 0.99821423 0.26580192 -1.11570966 1.13137952 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.507172885442 pbc="F F F" -C -0.28433695 -0.42217653 0.28520194 2.66452247 -3.28952254 0.21631151 -C -0.94098981 0.85357972 -0.04149750 -0.67460432 -0.00977205 2.25417010 -O 1.09540772 -0.36348398 -0.19462977 -0.27408123 1.39313503 1.28063159 -H -0.04450617 -0.55794041 1.35829343 -0.87859078 0.44338648 0.48027298 -H -0.67504209 -1.53298887 0.03988528 -0.21051804 2.34593769 -0.10510617 -H -1.84344023 1.00485159 0.56234672 -0.39372026 0.14659777 0.26754163 -H -0.25398748 1.67381990 0.14892312 0.56416507 0.39649067 0.53970543 -H -1.20143460 1.00083388 -1.02649178 -0.86446292 -0.03691663 -3.19115055 -H 1.23071370 -0.96099983 -0.89753035 0.06729006 -1.38933643 -1.74237657 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.152865182792 pbc="F F F" -C -0.09988888 -0.12348080 0.63547731 5.32736992 -1.06628436 -0.53255093 -C -1.11571828 0.50006249 -0.18557110 -1.65602569 2.06184525 0.71399873 -O 1.03996233 -0.37121986 -0.40924914 0.09898936 -0.03462701 0.50046956 -H 0.40067286 0.66812599 1.34491922 -1.19084077 -1.65917498 -0.20208698 -H -0.31574837 -1.23276790 0.99728329 0.10579903 2.22454204 0.10779554 -H -1.90852693 0.76859277 0.61478761 0.20460316 0.05341402 -1.41783748 -H -0.66745955 1.44941251 -0.69210612 -0.87680139 -1.31764829 0.67332396 -H -1.50210310 -0.21779727 -0.91730433 -0.30770521 0.03025459 -0.37605821 -H 1.96975369 -0.03193769 -0.21253987 -1.70538847 -0.29232126 0.53294580 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.940666663627 pbc="F F F" -C 0.31294416 0.34482919 0.27049014 -0.02942104 0.09638210 0.89294453 -C -1.09303903 -0.07087836 0.72439043 1.35906507 -0.39002651 -0.24873215 -O 0.68442610 -0.23272039 -0.92119050 0.00268490 -0.16570236 -1.75236840 -H 0.25975716 1.42920333 0.09422053 -0.02116816 0.59100261 0.03381521 -H 1.10447149 0.24998754 1.04981619 -0.11583986 -0.30528173 0.23158839 -H -1.24729726 0.38569827 1.68306654 -0.47633425 0.19659330 1.28706794 -H -1.73310964 0.43405516 0.03697259 -1.28344793 0.33596030 -0.93278178 -H -1.30489110 -1.16098993 0.70936081 0.20106301 0.11968829 0.16446257 -H 1.35161242 -0.90982050 -0.80612582 0.36339830 -0.47861605 0.32400364 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.633949399406 pbc="F F F" -C -0.30895504 -0.48478859 -0.01982604 0.27912204 -0.76640976 -0.92504842 -C -0.80744107 0.84903078 0.47347126 -3.12641411 -2.26907803 -2.09247954 -O 1.00881422 -0.25614397 -0.41269704 2.10978600 -1.66672235 0.02157475 -H -0.47588892 -1.25080674 0.75822777 0.48629779 -0.14566394 0.93902453 -H -0.76893337 -1.06545497 -0.86861072 -0.98079813 1.01424593 -0.16456197 -H -1.87941781 0.57377482 0.72528661 0.30779735 1.11222191 -0.26501177 -H -0.34256769 1.01036138 1.38287053 1.50582780 0.96322232 2.30278937 -H -0.67126582 1.61897161 -0.29648441 -0.17313403 0.36511498 0.09523909 -H 1.42688007 -1.16282067 -0.55607444 -0.40848477 1.39306895 0.08847390 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.85521142863 pbc="F F F" -C -0.21713529 0.32058852 0.40878209 -0.37141418 -1.23424481 1.15918097 -C 0.38550252 0.89311597 -0.81436224 -0.25291421 -0.48650235 -0.06720563 -O -0.09557728 -1.10149637 0.41893703 -0.95870875 -0.71461759 -0.69324699 -H 0.23802919 0.75404242 1.33653632 0.06849869 -0.37370966 -0.14399160 -H -1.31485188 0.49532086 0.50733832 0.07217315 0.81067548 -0.18652748 -H 0.16352845 1.91753162 -0.76203528 0.22159420 2.51496500 -0.15916435 -H 1.43493300 0.66172826 -1.00976288 0.46520615 -0.00245890 0.27682604 -H -0.19118881 0.56901883 -1.65792663 -0.54702105 -0.63171831 -1.23203706 -H -0.82058444 -1.37729503 -0.23116236 1.30258594 0.11761119 1.04616619 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.406010029348 pbc="F F F" -C 0.19838677 0.08455086 -0.47886051 0.06734133 -2.64992961 2.49213206 -C -1.32053861 -0.00572671 -0.33869122 0.71729468 -0.38851984 2.97391566 -O 1.06579446 -0.04636833 0.70370514 -0.63766434 0.77111590 -0.66750746 -H 0.61617793 -0.53776459 -1.26229035 0.00273046 -0.81957340 -0.71637149 -H 0.27412113 1.04454839 -0.81076661 1.30285179 3.53922831 -0.96989768 -H -1.81040162 0.92869080 -0.43420900 -0.50240216 1.84390793 -0.69107934 -H -1.81965598 -0.67329788 -0.97239738 -0.88448385 -1.68421589 -1.34056634 -H -1.65076319 -0.20068217 0.72408707 0.43551355 -0.53383812 -0.40776645 -H 0.84344578 -0.76624857 1.32742445 -0.50118140 -0.07817529 -0.67285895 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.603071502226 pbc="F F F" -C -0.11934938 -0.16266489 -0.43840644 -0.40731985 -1.63981590 -0.47496483 -C -0.17602092 1.30582717 -0.20053667 -0.02764081 -0.48606490 -3.38602003 -O 0.23989908 -1.01438933 0.63270603 -0.55081656 0.31755187 1.07096916 -H -1.13334624 -0.37727485 -0.92659938 0.56886829 -0.70519568 0.60286723 -H 0.63686295 -0.35326998 -1.19210223 0.32549092 0.11930874 -1.19668911 -H -0.83131213 1.59193441 -1.11290237 1.01851036 0.57341127 1.21153255 -H -0.62810930 1.60335360 0.67427091 -1.66297173 0.75188400 2.65817637 -H 0.81113471 1.73171588 -0.23320489 0.93172413 0.76277401 -0.13337890 -H 0.85543299 -1.71820704 0.36106505 -0.19584475 0.30614660 -0.35249235 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.684502552204 pbc="F F F" -C 0.15878372 -0.38060333 -0.38045391 1.77250277 1.61815229 0.35973504 -C -1.22770553 0.15283878 -0.35938066 -1.56591137 -2.22185205 -2.97409620 -O 0.96759275 0.16174810 0.72263495 0.39158670 0.48477009 -0.42624267 -H 0.19803998 -1.49400391 -0.47425024 0.12604750 0.19987680 0.82660861 -H 0.62822030 -0.02827326 -1.30177920 0.30143675 -0.00186575 -0.80908288 -H -1.35365821 1.18204123 -0.70210359 0.14523087 0.61416677 0.29107402 -H -1.79049995 -0.49017608 -1.22524877 0.72553368 1.24137047 1.71238943 -H -1.72114572 -0.07811975 0.56633089 -0.66357238 0.05621405 1.01280688 -H 1.41646577 1.05360683 0.48233467 -1.23285451 -1.99083269 0.00680772 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.243142286485 pbc="F F F" -C 0.51875496 0.24810104 -0.03886957 -1.83355651 -1.58894327 1.58063428 -C -0.77671469 0.97475347 -0.38146767 0.96479049 1.86502724 2.59889648 -O 0.29824774 -1.07565132 0.42400224 -1.38483854 -1.78021479 0.74923884 -H 0.94189921 0.05130744 -0.97440182 2.02937015 0.71781630 -2.14757280 -H 1.18734564 0.50945237 0.78464672 0.47763621 1.64590592 -0.21010949 -H -1.07975746 0.49677436 -1.23483975 -1.52184661 -1.90101467 -2.73389271 -H -1.63270161 0.90328239 0.39412178 1.23810538 0.63179554 -0.74217617 -H -0.49584465 1.97072051 -0.83690179 -0.59780791 -0.01142650 0.96312683 -H -0.58225525 -1.43047063 0.14580729 0.62814730 0.42105423 -0.05814521 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.745151120473 pbc="F F F" -C -0.05513924 -0.49480564 0.22501742 -0.12758857 0.20171206 -2.10607405 -C -1.14942649 0.52437518 0.34180163 1.10853808 -0.39301228 0.31317353 -O 1.09156173 -0.07602083 -0.55998515 -0.06877410 0.70738543 1.66072988 -H 0.19496579 -0.62052304 1.23797892 1.04074434 -1.21997740 2.05471290 -H -0.47140703 -1.42440345 -0.23160437 0.38542361 0.03826307 0.14163960 -H -2.05573161 0.09712172 0.69176635 -1.30681623 -0.65301260 1.12834392 -H -0.80611192 1.35371735 0.93063270 0.07403530 0.94039899 0.93573120 -H -1.40956468 0.91237167 -0.57844982 -0.59968050 1.18184072 -2.92461705 -H 1.57381116 0.53456877 0.08426046 -0.50588200 -0.80359800 -1.20364003 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.71921859751 pbc="F F F" -C -0.37958935 -0.44173153 -0.17645315 2.06291200 0.60163839 0.60066179 -C -0.85029918 0.74938495 0.66255124 -0.12180348 -1.67367971 0.63629976 -O 1.12218157 -0.32307323 -0.43821439 -2.68113216 -2.64952131 1.63675233 -H -0.46365445 -1.36540094 0.46282145 0.21913134 0.36226187 -0.47574310 -H -1.11127741 -0.59144511 -1.00617555 0.79497112 0.03735706 -0.65830728 -H -1.94056620 0.77456990 0.66545152 -0.69927324 0.15739990 -0.00551867 -H -0.54856564 0.56938710 1.70834213 0.19486310 0.32080354 0.17906325 -H -0.48030587 1.70050745 0.34060122 0.48592395 1.11319795 -0.55819687 -H 1.38604012 0.37311623 -1.00749033 -0.25559258 1.73054225 -1.35501121 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.875770710464 pbc="F F F" -C -0.29591476 -0.42196494 -0.23629286 -0.19927568 -0.33083902 0.93508128 -C -0.88001645 0.73841000 0.67110709 0.00192905 -2.08010482 0.71537956 -O 1.07966789 -0.32847045 -0.40111922 0.89439206 -1.21375224 0.46481684 -H -0.39276738 -1.37649780 0.34446190 -0.39572402 0.24125343 -0.11402749 -H -0.76528291 -0.66053291 -1.25091505 -0.42545766 0.76465009 0.77180321 -H -1.85385148 0.36566629 1.05204787 -0.15486783 0.10458310 0.04061357 -H -0.26349177 0.93076460 1.62271430 -0.28665290 -0.31469367 -1.26085492 -H -1.11190728 1.66152577 0.17715176 0.08463164 1.14161837 -0.74098092 -H 1.26084647 0.52071874 -0.75963267 0.48102533 1.68728471 -0.81183103 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.698631810018 pbc="F F F" -C 0.10459869 -0.22821307 0.51332146 0.87498136 0.12601377 -2.89212725 -C 0.69721512 1.09526797 0.05687605 -1.01004541 0.37717453 1.13797486 -O -0.70937558 -0.85463933 -0.49817711 -0.71475484 2.03699954 -0.32214375 -H 0.97433899 -0.80157030 0.70682245 1.37893199 -1.89734838 -0.15222720 -H -0.30393197 -0.22552176 1.47353682 -1.81732390 0.62359069 2.24515802 -H -0.19049908 1.64959335 -0.23706633 -0.48355921 1.04084745 -0.43390754 -H 1.13727129 1.67196307 0.91848495 0.11793932 -0.33138060 -0.57490436 -H 1.34671225 1.02077869 -0.82103564 0.40335876 -0.14909699 -0.11193502 -H -1.25918540 -0.08264172 -0.92751768 1.25047192 -1.82680006 1.10411224 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.449791508716 pbc="F F F" -C -0.32062448 -0.47028959 -0.19537446 0.07746870 2.30645150 -0.83323522 -C -0.82663447 0.70648466 0.71593335 -4.39227569 -1.57797597 -4.99869356 -O 1.06763874 -0.25145432 -0.41194409 0.06625761 -2.05440087 0.97161276 -H -0.51885211 -1.50240804 0.10979278 0.42750179 -0.39014493 0.98230850 -H -0.98040251 -0.44053389 -1.11269268 0.53372006 0.17240358 -0.11462028 -H -1.89320412 0.31563418 0.97782156 1.19041088 1.10357112 0.29133360 -H -0.19524200 0.82411330 1.51239744 1.88446103 0.82173251 2.65510925 -H -0.98526690 1.60945305 -0.06128034 0.56683922 -1.32214813 2.05749031 -H 1.29579530 0.36914667 -1.09012443 -0.35438355 0.94051119 -1.01130531 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.657830856152 pbc="F F F" -C -0.06388029 0.44275737 -0.37338588 -1.64889571 1.47235717 1.41522765 -C -1.13184529 -0.23275059 0.45542329 -2.05231514 -0.60543741 -3.04721197 -O 1.07515538 -0.22419120 -0.09352515 4.08070683 -0.27229725 0.74363322 -H -0.22113522 0.46591156 -1.43554340 -0.85339314 -0.09607126 -1.47415278 -H -0.11401225 1.51930724 -0.05192439 0.45852385 0.03905672 -0.04480581 -H -1.02762273 -0.16020515 1.46612479 1.38861436 0.49813284 3.70455287 -H -2.16413650 0.18355813 0.39047955 0.05995599 -0.01253413 -0.83005625 -H -1.18389639 -1.31998904 0.27810274 -0.06050404 -0.19601372 -0.37092449 -H 1.89184872 0.36612706 -0.14024524 -1.37269295 -0.82719297 -0.09626244 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.676878881836 pbc="F F F" -C -0.36266926 -0.37434914 -0.20753849 1.14600159 1.88146873 -0.69073399 -C -0.77258348 0.77229755 0.73114687 0.25277218 -1.14710809 1.64391213 -O 1.01379459 -0.41045183 -0.52847098 1.15272441 0.15121213 0.38741396 -H -0.63655047 -1.34528900 0.19156220 -0.74156677 -0.71059242 0.14682984 -H -0.77712538 -0.12480875 -1.16981311 -1.26148442 -0.53679741 -1.01101590 -H -1.68624948 1.31635540 0.45284052 -0.35069514 -0.13428208 -0.17028494 -H -0.96080170 0.18042725 1.68500473 0.01615517 1.33613149 -0.13144903 -H 0.00107701 1.57387812 0.89651701 -0.11673661 -0.58592257 -0.13949756 -H 1.49409851 0.17120095 0.09313897 -0.09717045 -0.25410972 -0.03517450 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.378093369745 pbc="F F F" -C 0.16632088 0.53192914 -0.14735808 1.78418540 -1.19490080 -3.24754427 -C -1.05616300 -0.16167697 -0.73576409 -2.03257919 1.74904566 1.53248655 -O 0.81778143 -0.34315885 0.76223496 -0.63056733 -0.28195400 -0.04090020 -H 0.95575986 0.69607150 -1.02709431 -1.38190846 0.40419499 1.18930526 -H -0.12292395 1.42833030 0.32428215 -0.22264995 2.04813900 0.72912669 -H -1.63807710 -0.04167588 -1.65871943 0.93087762 0.84548175 -0.83549440 -H -0.75955142 -1.13161487 -0.66437727 0.87237462 -3.93843201 -0.28325848 -H -1.92098238 -0.15069255 -0.02278309 0.35751952 0.21886014 0.34836130 -H 1.10727774 0.23321039 1.47281778 0.32274776 0.14956518 0.60791754 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.557065974522 pbc="F F F" -C -0.47698549 0.27693250 0.01379192 1.23943196 -1.60823915 -1.20588929 -C 0.88947264 0.99873212 0.17972724 -4.25940921 0.27071031 4.05016366 -O -0.41980299 -1.16556308 -0.23128821 0.57060023 0.92514524 -0.23208502 -H -1.11932648 0.34519918 0.85122815 -0.80684119 0.88728790 1.96068280 -H -1.09757084 0.69010767 -0.79977668 0.28789531 0.15898869 -0.47773509 -H 0.69172223 2.05095021 0.21300240 -0.19824246 1.44828177 -0.44207090 -H 1.37560294 0.89050940 1.16920918 -0.30039597 -0.63935963 0.39334400 -H 1.62384538 0.79382108 -0.44895815 3.51084497 -1.22771138 -4.08585254 -H 0.27319141 -1.47160866 0.38062630 -0.04388360 -0.21510376 0.03944243 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.522795103854 pbc="F F F" -C 0.05102361 -0.25557490 0.46829111 0.89832899 1.03701948 -3.54552104 -C -1.19289946 0.59971822 0.29604521 -0.57983970 -0.69156713 -2.30846652 -O 1.03114681 -0.37963967 -0.67456864 -1.11675076 1.02192695 0.92442662 -H 0.60543089 0.01086558 1.32312084 0.87521934 0.45411600 1.90227821 -H -0.22363461 -1.25583127 0.45422847 -0.95521071 -2.61710555 0.89280199 -H -1.93043366 0.27029756 -0.54722466 0.69481515 -0.42059997 1.62840390 -H -1.63900267 0.83734510 1.24859966 -0.84509865 -0.30796129 0.85812407 -H -1.04349798 1.56706867 -0.13271735 1.11411599 1.63506039 -0.31688405 -H 1.46906984 0.49407202 -0.74622985 -0.08557966 -0.11088889 -0.03516314 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539533154967 pbc="F F F" -C -0.01317670 -0.53152276 0.15595716 -2.73493807 0.75459533 0.55576039 -C -1.19285265 0.57504014 0.35820926 5.37743950 -0.36705369 -3.13411765 -O 1.08290529 -0.08127257 -0.52257151 1.23611184 0.76571520 -1.07317317 -H 0.27463078 -0.75781473 1.14969578 0.42440937 -0.75898600 2.07683319 -H -0.43116494 -1.50330857 -0.23578109 0.32863651 0.62374140 -0.39038985 -H -1.83999895 0.25864628 1.03368066 -3.69788564 -1.84890369 3.65578803 -H -0.67908218 1.45382621 0.76690228 -0.05781241 0.57059566 -0.17509018 -H -1.65517626 0.71890070 -0.59508204 -0.62842904 0.69423804 -1.05795681 -H 1.51160073 0.59976224 0.04870164 -0.24753206 -0.43394225 -0.45765389 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.60063049756 pbc="F F F" -C 0.27296957 0.35385312 0.39021190 -0.40846461 -1.02768190 -1.20249728 -C -1.22989649 -0.04736175 0.38346269 1.00109345 0.07829958 3.03554523 -O 0.86294462 -0.32921026 -0.68571054 0.11505068 -1.65109832 -0.18536601 -H 0.34702459 1.40480075 0.09415817 -0.33679627 0.90201086 0.67230915 -H 0.85933608 0.20921081 1.34545258 -0.57969623 -0.13414468 -0.11789366 -H -1.54163301 0.13988533 1.43775730 -0.52495583 0.33999452 -0.16227251 -H -1.74182614 0.60124208 -0.26297321 -1.15936495 1.42667652 -1.25281914 -H -1.66519396 -1.04202788 0.19938950 1.07016878 -0.64949893 -0.30463310 -H 1.44629171 0.25888588 -1.14842348 0.82296494 0.71544225 -0.48237269 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.82676875892 pbc="F F F" -C 0.16166103 -0.12093555 -0.52305014 1.00393832 -0.76076500 1.89195842 -C -0.40942991 1.19993102 -0.16531513 -2.66733727 2.60927407 -0.37020859 -O 0.22338086 -1.05043468 0.58846331 -1.22375466 -0.95065188 -1.92981325 -H -0.35813111 -0.64636260 -1.33928141 -0.10581862 0.10396506 -0.18806109 -H 1.19524127 0.08023342 -0.77421894 1.04400214 -0.01183567 -0.98723952 -H -0.36876378 1.96774460 -1.00094727 0.53219503 -0.65116321 0.14154879 -H -1.55304424 1.17863339 -0.09161354 0.89292710 -0.26343547 0.58121169 -H -0.01235777 1.81474546 0.71552911 -0.06904165 -1.14513297 -0.53482995 -H 0.50269577 -0.57996398 1.35225869 0.59288965 1.06974501 1.39543354 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.596373026738 pbc="F F F" -C -0.07902402 -0.26738329 0.54874038 -1.86281629 2.25797380 -0.97375510 -C -1.05527386 0.72313906 -0.20775190 0.95008645 0.38476402 0.73479212 -O 1.05604763 -0.36969526 -0.29741769 0.47199130 -1.35581211 1.01226176 -H -0.08250943 0.26028805 1.58277604 1.28020494 -1.08026669 -0.68470706 -H -0.58079138 -1.25494088 0.60503391 -0.11883226 0.01095321 0.45626694 -H -1.95954598 0.84970884 0.46320508 0.52393994 0.57537781 -0.63726094 -H -0.48021937 1.69806367 -0.57029849 -1.13661788 -1.48717938 1.14190299 -H -1.35928081 0.23449304 -1.12189560 -0.46212623 -0.35918236 -0.89725936 -H 1.21471923 -1.35163010 -0.30104945 0.35417004 1.05337165 -0.15224134 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614283638716 pbc="F F F" -C 0.32337506 -0.07307029 -0.44476757 0.29123584 0.73729987 1.92042203 -C -0.57664479 1.22734527 -0.23287643 -0.58980232 -2.97865549 -3.36501020 -O 0.31413371 -1.03334432 0.65229491 0.40695327 0.84660300 -0.44674557 -H -0.04311420 -0.57392615 -1.32227045 -0.76645573 -0.36637122 -1.20135849 -H 1.38243673 0.17297881 -0.76015199 -0.33244499 -0.17976640 0.94939497 -H -0.55281199 1.75788667 -1.21811127 0.39376304 0.33123364 0.36277167 -H -1.57107093 0.73549531 -0.38413490 -0.28357267 0.54899555 0.79724645 -H -0.58780260 1.91655436 0.57544424 0.55349211 0.59319916 1.44088239 -H -0.59700136 -1.36227735 0.82997326 0.32683134 0.46746178 -0.45760324 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.645904095824 pbc="F F F" -C -0.12773604 -0.42583428 -0.33820646 -2.02493006 2.39507725 0.73794460 -C 0.51421120 0.92461392 -0.90055856 -0.02197394 -0.81563329 4.00980658 -O -0.30558669 -0.43957845 1.12946264 0.48277862 -0.04787689 -1.19201911 -H -1.15876354 -0.59165096 -0.76626445 0.48126784 0.29384233 -0.17567418 -H 0.48238034 -1.17984166 -0.74251832 1.32259571 -2.10903190 -0.26691217 -H 1.62169661 0.87334128 -1.01495827 -0.19844048 0.00442610 0.46884576 -H 0.15691795 1.24613055 -1.81801118 -1.29683032 0.37702294 -2.63569407 -H 0.19064709 1.74073621 -0.17373339 0.63615778 -0.52609910 -0.45421345 -H -1.04844972 -1.05612749 1.34834317 0.61937485 0.42827250 -0.49208401 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.592954969869 pbc="F F F" -C -0.18440395 -0.08760169 -0.42726485 1.53655450 -3.41113288 0.34589896 -C -0.17797570 1.30978286 -0.11328845 0.24932819 2.03662354 0.24094551 -O 0.28942246 -1.15299761 0.49889215 0.42548650 2.30919780 0.13534574 -H -1.18904675 -0.30709922 -0.64708688 -1.96988982 -1.10428795 -0.51577031 -H 0.38445712 -0.21123090 -1.32780149 0.67980536 -0.39748034 -1.38719676 -H -1.01410164 1.51504372 0.56310143 0.28043561 0.72413751 0.85461102 -H 0.84366462 1.66976461 0.11416441 -0.14969616 0.38609570 0.69755364 -H -0.42879054 1.82353495 -1.06520041 -0.09839312 0.12727855 0.00936478 -H 1.12686674 -0.75317723 0.88500523 -0.95363102 -0.67043199 -0.38075258 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5255626840135 pbc="F F F" -C -0.12858642 -0.12957799 -0.58959079 -0.48952890 -1.11217743 1.42337250 -C -0.12439814 1.19628404 -0.00099841 2.27842703 0.78765839 0.13631464 -O 0.15598962 -0.98140917 0.52877678 0.79436969 -1.04188160 -0.84078922 -H -1.03039559 -0.51503039 -0.97315507 -2.45098616 -0.33616110 -0.37685674 -H 0.42925720 -0.16033329 -1.50281855 1.85927624 -0.43460055 -0.87098350 -H -0.66003472 1.21380532 0.92100514 -0.84513629 0.26089522 1.06441146 -H 0.97106308 1.30850982 0.22411798 -0.31965780 0.38865246 0.47078823 -H -0.29868698 2.01814063 -0.64042365 -0.85905903 1.51532382 -1.20199329 -H 1.12631345 -0.99928707 0.61531897 0.03229517 -0.02770920 0.19573594 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.471352092566 pbc="F F F" -C -0.07910110 -0.10506327 0.54015037 1.36782827 -0.46102965 -0.04780443 -C -1.12910510 0.68310684 -0.22070734 -2.54785806 -5.99162123 0.23758919 -O 1.07280325 -0.54229711 -0.31951318 -0.48085338 1.34966856 1.43706553 -H 0.34006677 0.64359459 1.29789496 -0.35562364 -1.17948158 0.04503685 -H -0.48317376 -1.11260156 0.94757467 0.16827228 1.57278990 0.13757793 -H -1.99097023 0.92830071 0.44819046 0.20491704 -0.12744207 -0.11336640 -H -0.77420816 1.54315715 -0.62225435 1.44008123 3.13976920 -1.91925562 -H -1.53818183 -0.14562425 -1.01298018 0.60487279 2.28217956 1.10082374 -H 1.81356939 -0.13826356 0.20681324 -0.40163648 -0.58483258 -0.87766678 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.69427375715 pbc="F F F" -C -0.48479267 0.10813953 -0.35964863 0.46196214 -2.78594780 -0.13304980 -C 0.43784533 1.16164988 0.01548451 -0.26809221 2.35303656 2.94078585 -O 0.07421104 -1.14963852 0.30929398 -0.78000339 2.56296330 -0.95630919 -H -1.48591623 0.41038130 -0.02262920 -0.58286620 -0.42364595 0.37859049 -H -0.58982591 0.01594598 -1.47485981 0.32911865 -0.44078483 0.20924462 -H 1.46200792 0.89290844 0.19365589 1.10735404 -0.67168710 -0.31784086 -H 0.40066666 2.05213264 -0.58299117 -0.01312595 0.80599288 -1.10747622 -H 0.11457970 1.59209476 1.03663804 0.39085121 -0.55631636 -0.78430531 -H -0.52105176 -1.84725112 0.04173927 -0.64519835 -0.84361086 -0.22963960 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.801366415802 pbc="F F F" -C -0.02821509 -0.07589263 0.58047626 -0.23912548 1.98200805 -2.15945454 -C -1.07774970 0.59811415 -0.30415880 -0.57863961 -0.02915668 1.93353343 -O 1.02216509 -0.53333431 -0.20878611 0.80052594 -1.91243119 -0.26756395 -H 0.37595862 0.63030405 1.26673677 0.29692981 1.22132080 1.56816129 -H -0.52913337 -0.84203022 1.13723516 -0.12022853 -1.38673987 0.50444989 -H -1.98672179 0.90782702 0.21407994 -0.51479288 0.02811744 0.87618613 -H -0.84685357 1.50302462 -0.81349382 1.17823943 1.21324547 -0.86875728 -H -1.44583366 -0.10592128 -0.98892594 -0.51627250 -1.50558962 -1.75604143 -H 1.38516630 0.14826948 -0.79411659 -0.30663614 0.38922566 0.16948646 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.897123198696 pbc="F F F" -C -0.15647501 0.21382569 0.54868059 0.31376370 -2.37149426 -0.75544847 -C -1.10246633 -0.42447907 -0.51007545 1.82541953 -0.44786097 1.23545092 -O 1.11364743 0.18472380 -0.05408761 1.02116287 -0.05440220 -0.33050149 -H -0.34334002 1.23884615 0.84411462 -0.97587061 0.75714015 0.42207799 -H -0.19962247 -0.52870726 1.42133399 -0.03994514 0.97866735 -0.08262150 -H -0.91729423 -0.03545196 -1.48884148 -0.13370589 1.02002994 -1.12226675 -H -0.84462907 -1.49913242 -0.63444422 0.04969852 0.02927269 0.33760175 -H -2.10138047 -0.36848994 -0.16831862 -1.89141108 0.19623926 0.20779231 -H 1.72959805 0.76941072 0.42468599 -0.16911195 -0.10759201 0.08791530 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827488331912 pbc="F F F" -C -0.28396554 -0.50356941 -0.02755871 -1.56026055 -0.98588825 0.35523988 -C -0.86836500 0.81996939 0.46059812 1.21689773 -1.34570361 1.53210433 -O 1.05528945 -0.25547058 -0.33875593 0.38469877 -0.87892764 -0.73078670 -H -0.48032795 -1.48265802 0.58142932 0.52202010 1.38405739 0.28853552 -H -0.87892090 -0.82619988 -0.91318183 0.05335961 0.35508381 -0.55203249 -H -1.94351326 0.79119574 0.56813724 -0.82324236 0.11175216 0.31944296 -H -0.31660752 1.13929655 1.39436908 -0.65361933 -0.15421564 -0.33131966 -H -0.55918765 1.50163285 -0.29580770 0.10630883 1.24107279 -1.08723685 -H 1.15784326 -0.83983892 -1.11788443 0.75383726 0.27276910 0.20605306 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712541862862 pbc="F F F" -C -0.29991694 -0.48363050 0.07664488 -0.63612893 -0.24649899 -1.33512583 -C -0.92647471 0.92290095 0.12013078 -0.21350088 -0.83670667 -2.50972021 -O 1.10981781 -0.36875509 -0.14126729 -0.23697305 0.44439281 -0.72418523 -H -0.34508824 -0.87429873 1.06267583 -0.76550586 -1.11644608 1.62486560 -H -0.94015053 -1.19512309 -0.66697230 1.53063850 1.17401881 1.25887131 -H -1.71116638 1.05870857 0.86348680 -0.27649864 0.03649271 0.43736989 -H -0.09953546 1.61053558 0.21264399 0.57235064 0.78157423 0.54247580 -H -1.34956814 1.13203577 -0.91729562 0.09613445 0.10305520 0.86931593 -H 1.44176460 -1.11435850 -0.65694708 -0.07051613 -0.33988206 -0.16386726 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.526921048107 pbc="F F F" -C -0.48038955 -0.21600333 -0.44324239 2.62278327 -0.80217109 2.47023113 -C 0.07354764 1.21933841 -0.26645627 -0.38143794 -1.77252678 2.06575199 -O 0.37144351 -0.86902828 0.61112789 -0.17235895 0.79941903 -0.63550503 -H -1.54122118 -0.45355440 -0.33021242 -0.81951797 0.70095377 0.69978901 -H -0.27852659 -0.71765394 -1.38045145 0.66563744 -0.00902627 -1.21890154 -H -0.46094983 1.90236472 -0.82496634 -1.68434460 2.16672207 -1.61243622 -H -0.01078419 1.48293580 0.84361567 -0.03543871 -0.23880286 -1.08168177 -H 1.12205960 1.34895682 -0.53276293 0.58590421 -0.48135742 -0.19542283 -H 0.12033778 -1.72597301 0.98095147 -0.78122682 -0.36321040 -0.49182474 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.716729268239 pbc="F F F" -C 0.16703037 -0.04635564 -0.54540895 0.32072954 2.04828088 -1.85727659 -C -1.19807382 -0.27967338 -0.08123327 -1.62940118 -0.46754730 0.77755446 -O 0.94022560 0.32900364 0.53810255 1.65448873 -0.96064016 1.28689146 -H 0.72263932 -0.79139091 -1.16590412 -0.64331141 -0.25093225 -0.10273659 -H 0.03288925 0.87086398 -1.15753862 0.64236093 0.08238517 -0.55106118 -H -1.47592878 0.52593046 0.61394851 0.18096829 0.56911635 0.04496439 -H -2.02201095 -0.27099698 -0.81746791 0.09025943 -0.66095150 -0.24725480 -H -1.15196615 -1.11659448 0.60542086 -0.71497333 -1.24739616 0.24151115 -H 1.25484623 -0.55671749 0.84716560 0.09887900 0.88768498 0.40740773 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.641436438648 pbc="F F F" -C -0.42044034 0.27429013 -0.30513164 2.14415950 0.83313315 0.11133271 -C -0.49536898 -0.01020053 1.20015414 -0.31792077 1.65800950 1.59266371 -O 0.80328689 -0.28580201 -0.88570037 -0.30388886 1.35268138 2.10204719 -H -1.21619048 -0.07173700 -0.89017186 -1.98213624 -1.35457644 -0.93450345 -H -0.48265453 1.39328207 -0.55130276 0.29699954 -0.54291803 0.68944350 -H -1.24393669 0.77986036 1.65890484 1.04805770 -1.37126614 -0.45785943 -H -0.77808868 -1.03332864 1.58314472 -0.01620222 0.43779330 -0.74461713 -H 0.52137152 0.20274646 1.74228894 -1.22652610 -0.05952836 -0.90576395 -H 1.36050625 0.11740175 -0.14898350 0.35745746 -0.95332830 -1.45274320 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.621462017683 pbc="F F F" -C 0.33542237 -0.16436908 -0.41866879 -1.33282248 -3.09080458 -2.72887181 -C 0.37722672 1.19834465 0.11666744 0.41138662 1.19646187 -1.47203594 -O -0.61087028 -0.90386684 0.33738010 -0.32350258 -0.65286918 1.15129462 -H -0.20751250 -0.16227755 -1.45901359 1.25484115 0.69948140 0.67210953 -H 1.23669913 -0.84157482 -0.61924455 0.03866035 1.14284355 0.48366961 -H 1.00048782 1.45321506 0.95970877 0.18288165 -0.27491802 1.16580562 -H 0.72669805 1.89163729 -0.67146970 0.07504317 0.08584536 -0.20150822 -H -0.69173725 1.38229608 0.20826034 -0.48115322 0.67925473 0.78081879 -H -0.86104512 -1.69832964 -0.17492468 0.17466528 0.21470493 0.14871775 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9425035650775 pbc="F F F" -C 0.28048776 -0.06201440 0.49805035 -1.41675664 -1.42400334 -2.23996419 -C -1.20104292 0.43276918 0.42197948 1.32041289 1.17407594 -1.06961471 -O 0.83055986 -0.37453208 -0.81802429 -0.48103104 -0.55289000 0.98749781 -H 0.89121469 0.53572345 1.14953172 0.83614884 1.01963378 0.46433866 -H 0.24378793 -1.06387167 0.96251907 0.03774360 -0.15864221 0.24335973 -H -1.64585880 0.32286330 1.40411916 -0.54630752 -0.02696970 0.70871192 -H -1.23397330 1.53830588 0.12956527 -0.07617868 -0.89619215 0.26024617 -H -1.78699820 -0.12597035 -0.34785748 0.27765954 -0.01410492 0.32364466 -H 1.31647302 0.31858787 -1.27623397 0.04830904 0.87909256 0.32177994 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.829818449987 pbc="F F F" -C -0.41875259 0.03073286 0.36138488 1.10213537 -1.63855617 -0.68315751 -C -0.30006959 1.04969078 -0.79385736 -0.74683414 0.69612652 0.82840344 -O 0.66589398 -0.94489114 0.42591262 0.01056497 0.08873965 -0.70596603 -H -0.27737575 0.37417947 1.36481632 -0.34926124 1.75895510 0.98767712 -H -1.33177093 -0.56292752 0.42529100 -1.01854111 0.05627000 -0.44613473 -H -1.16840475 1.80763175 -0.83316548 0.96448370 -0.67580168 0.44270390 -H 0.66604709 1.57286382 -0.62517109 -0.18378812 0.19584079 -0.27148745 -H -0.30030677 0.63885765 -1.81753854 0.14522295 -0.56890197 0.00526583 -H 0.40639053 -1.70792418 -0.12151939 0.07601757 0.08732775 -0.15730457 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.760870849851 pbc="F F F" -C 0.07292582 0.53754428 0.07575246 0.61682976 -0.00146599 0.62118280 -C -0.76610503 0.02078806 -1.06608906 -1.31959852 1.45668794 2.45969732 -O 0.60236647 -0.54388938 0.86325491 1.08325724 0.76752109 -0.04542853 -H 0.82675765 1.21291502 -0.36947053 0.63271106 0.18863136 0.33997236 -H -0.60240927 1.15722891 0.73038970 0.22723973 0.04772581 -0.22220401 -H -1.32673696 0.98502452 -1.31130296 0.03835270 -1.36496005 -0.64348995 -H -0.25016819 -0.50242294 -1.83975324 0.66410676 -0.37397053 -1.12110328 -H -1.36435425 -0.67459958 -0.44898383 -0.89874155 -0.32553895 -0.84115437 -H 1.41432204 -0.19942755 1.33729658 -1.04415713 -0.39463068 -0.54747228 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.450814672638 pbc="F F F" -C 0.18775040 -0.38449192 -0.31186913 -2.45961433 -1.58490093 -0.52821085 -C -1.32736028 0.16272449 -0.37853946 1.96842177 -0.95801254 4.21615527 -O 1.05148196 0.15608671 0.65543335 -0.76749445 -1.90358629 0.93493210 -H 0.01601374 -1.57714698 -0.33038447 1.04387292 2.03869945 1.01714953 -H 0.60081877 -0.24738003 -1.28418265 0.69377375 0.40352660 -1.72267724 -H -1.23450663 1.23550218 -0.41648736 -0.27557463 1.25936661 0.49429722 -H -1.89458385 -0.07249773 -1.22391449 -0.94793243 -1.16077155 -2.05836732 -H -1.89444853 -0.23933987 0.59319914 0.86510287 1.14082807 -1.72503515 -H 1.29484942 1.06434053 0.48480518 -0.12055547 0.76485064 -0.62824361 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.529651212929 pbc="F F F" -C 0.13665152 -0.36260860 -0.31117347 2.68299405 -1.34052273 -1.84074336 -C -1.26115980 0.09304988 -0.40844114 -1.44242926 0.28862684 -1.77188555 -O 1.05449189 0.20388522 0.67857783 -1.83057573 1.77254437 -0.94163641 -H 0.07089667 -1.49283174 -0.08831101 0.39713736 1.17476165 -0.05883756 -H 0.54432849 -0.30798541 -1.40963718 0.22459576 -0.05133574 1.35540300 -H -1.49039022 1.14640526 -0.76792167 0.60759184 -0.51030841 0.38313893 -H -1.80953704 -0.58075903 -1.23120534 0.70002303 0.94427986 1.97581482 -H -1.53173387 -0.01274191 0.62525130 -1.76142316 -0.10558100 0.97556460 -H 0.87684931 1.22215288 0.67549979 0.42208606 -2.17246479 -0.07681847 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.65639123911 pbc="F F F" -C -0.07465584 0.46933365 0.38984153 1.74782901 -0.91879333 -2.18655048 -C -1.22982501 -0.05639942 -0.55996380 2.28371055 -1.37352455 1.50674661 -O 1.15761375 -0.39622281 0.19257699 -1.38092285 0.83087911 0.39318495 -H 0.23735826 1.52347322 0.05218998 -0.60333064 -0.81941152 0.85003286 -H -0.30869795 0.36025111 1.47176922 -0.21090926 0.44738491 -0.21858935 -H -1.73575867 0.68939260 -1.07710129 -1.08761362 2.10188711 -1.34715448 -H -0.87910372 -0.82960150 -1.28611420 0.31703523 0.40281137 0.22956169 -H -1.96653109 -0.55722108 0.03265188 -0.99961794 -0.69002200 0.80204084 -H 1.82082421 0.18103498 -0.22304886 -0.06618042 0.01878891 -0.02927264 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.363077771737 pbc="F F F" -C 0.29879239 0.01578209 0.50155191 -1.37661389 -3.20525403 1.61030457 -C -1.27936499 0.26517043 0.33429287 1.89974197 2.28962933 -2.50883899 -O 0.96612272 -0.25166786 -0.71964816 -1.22818184 1.40469764 -1.25517509 -H 0.81616422 0.72953873 1.27292471 -0.54795935 -0.68212151 -1.47320317 -H 0.34017343 -1.11616190 0.95955373 -0.20313763 2.38242819 0.28872758 -H -1.77920796 0.50230279 1.25557097 -0.58688828 -0.35469882 1.05391241 -H -1.52549997 1.23176508 -0.33349945 0.81801840 -1.36260800 1.09406771 -H -1.72333746 -0.52534887 -0.29852698 -0.15195898 -0.43110159 0.53390065 -H 0.21968726 -0.17663455 -1.39278325 1.37697960 -0.04097126 0.65630428 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.787174748358 pbc="F F F" -C -0.34749582 -0.09621969 -0.49815576 1.90482787 -1.88790430 1.28202127 -C -0.89724929 0.14360526 0.92852532 -1.22252860 -1.98946574 -1.12729218 -O 1.12121620 0.00000819 -0.45751877 -1.17402318 0.23588064 -0.14980425 -H -0.60823306 -1.12935106 -0.81877562 -0.20754661 -0.19649771 -0.01549903 -H -0.56318239 0.50067209 -1.36322257 -1.03100161 1.29366256 -0.38044878 -H -1.99552364 0.04992342 1.11554181 0.07605809 -0.09539259 -0.63680806 -H -0.47528192 -0.55530806 1.68765669 0.32161637 -0.01595149 -0.39599856 -H -0.66562622 1.10838841 1.20268874 0.89146286 2.95086756 1.05914532 -H 1.34187369 -0.54060553 0.31015285 0.44113476 -0.29519894 0.36468432 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712419044947 pbc="F F F" -C 0.30828011 0.23316775 0.33334655 1.07872876 -1.33526066 -0.39113722 -C -1.12160474 0.12301645 0.65756998 -3.15296493 0.68752818 -0.36739462 -O 0.76520754 -0.37454892 -0.86942422 -0.43567255 0.02838540 -0.81680699 -H 0.61898921 1.24204823 0.18357322 0.47523773 1.68823612 1.04618290 -H 0.82722912 -0.30538204 1.11634979 0.90553312 0.04882912 0.86485136 -H -1.34459417 0.06036256 1.76848790 0.23540401 -0.08926832 -0.78860245 -H -1.69465136 1.04174363 0.28038588 0.32488332 -0.77286168 0.33718574 -H -1.60951661 -0.74004925 0.10517597 0.45537862 0.32317806 0.61627420 -H 0.74678220 0.40080686 -1.46113115 0.11347197 -0.57876616 -0.50055287 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.83827173048 pbc="F F F" -C 0.40069158 -0.00456094 -0.40088868 -0.49796084 -0.80772693 0.91189218 -C -0.65970571 1.03072978 -0.34461087 -2.33986279 0.24585961 1.00807363 -O 0.27664086 -0.98508538 0.62159479 0.28023280 -0.32593978 0.24355642 -H 0.28466440 -0.63654525 -1.28454585 0.46370766 0.19359303 -0.91741774 -H 1.33630606 0.58718278 -0.39541904 0.72549706 -0.46767251 0.04036788 -H -0.28293483 1.96167974 -0.73617487 -0.09939035 0.85236495 -1.21112791 -H -1.70750487 0.71800148 -0.71213302 1.25334493 0.47766850 0.14553549 -H -0.82348971 1.38223815 0.71427714 0.07018559 -0.48351581 -0.07747837 -H -0.11281703 -0.60535326 1.43063122 0.14424593 0.31536900 -0.14340158 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.838529793647 pbc="F F F" -C -0.02749335 0.31093926 0.48084232 0.80599113 -1.38322810 0.06182389 -C 0.27972984 0.92905155 -0.87616857 -0.89033558 1.17692621 1.43773268 -O -0.22962342 -1.12212517 0.31532085 0.42311841 1.60130107 -2.16058140 -H 0.81953278 0.44043751 1.20431294 -0.14797886 0.32470658 -0.09044095 -H -0.92190674 0.74669823 0.92004833 -0.68467184 0.49093792 0.38625017 -H -0.33124547 1.84141663 -1.06297511 -0.26291395 -0.48329161 -0.26851006 -H 1.27494219 1.29298750 -0.96121591 1.70313109 0.31569620 0.03582926 -H 0.17145680 0.14463292 -1.57663979 -0.55009856 -1.03099050 -1.54354945 -H -0.37454395 -1.43160756 1.18200815 -0.39624184 -1.01205771 2.14144581 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.774815742095 pbc="F F F" -C 0.12284118 -0.13490471 0.56041110 -0.77269708 1.23333767 -2.86676408 -C -1.37587258 0.26686962 -0.00063001 1.02726466 0.02141390 2.01840475 -O 1.14321444 -0.17910010 -0.49695400 -0.47832938 0.53112345 0.13149145 -H 0.47314242 0.64054912 1.21155309 -0.00698029 0.69740292 1.45335975 -H 0.14340653 -1.12180743 1.03207734 -0.21198346 -0.31922149 0.21245624 -H -2.20297305 0.10757541 0.77251287 0.92805527 0.19453261 -0.26552280 -H -1.48665760 1.33508100 -0.35227606 0.40573775 -0.69969125 0.08213083 -H -1.63036578 -0.43885823 -0.76887974 -0.14658713 -0.54190285 -1.18814656 -H 1.48702804 0.74637610 -0.67705477 -0.74448035 -1.11699496 0.42259036 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763634709179 pbc="F F F" -C -0.22730969 0.42065937 0.28209860 1.60740935 0.49381128 -0.69494155 -C -0.70390042 0.03835556 -1.19440341 -0.27856925 0.47145172 2.11297109 -O 0.80706308 -0.46911128 0.84360001 0.77278126 1.56815512 -0.53820118 -H 0.28262416 1.44173971 0.16376664 -0.76813749 -0.61873454 0.16616197 -H -1.04797367 0.57440606 1.04492449 0.21820173 -0.44476860 -0.58484497 -H -1.63455458 0.61073657 -1.38052376 0.28775781 0.63280419 -0.35141474 -H 0.12035374 0.25208494 -1.90376359 -0.31889455 -0.17604828 -0.13198624 -H -1.12164367 -0.97333555 -1.27042753 0.53954078 -0.69044890 0.04626702 -H 1.68577769 0.06958142 0.82635533 -2.06008960 -1.23622199 -0.02401139 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.589584717079 pbc="F F F" -C -0.03725689 -0.54175247 0.23665434 -1.07512309 -0.20443640 0.09465915 -C -1.08938893 0.52152438 0.27237106 0.58474444 1.81547692 -1.39331922 -O 0.99802389 -0.03212046 -0.49062649 1.42745726 -0.77120353 -2.23456749 -H 0.22478987 -0.78918211 1.29048120 0.01856414 -0.45602325 -0.00771851 -H -0.43224576 -1.40853530 -0.29586925 0.10764297 -0.91360258 -0.13956462 -H -2.06019899 0.21382617 0.61806577 -0.87629391 -0.09133688 1.05729896 -H -0.46716111 1.21940775 0.89023616 -1.46810400 0.80639037 0.06359739 -H -1.29520379 1.01774138 -0.77779087 0.65614251 -0.89773794 1.52213030 -H 1.61224138 0.49614137 -0.00281990 0.62496972 0.71247324 1.03748403 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.382154704302 pbc="F F F" -C -0.00541020 0.49555456 0.26353696 1.27498524 0.80635134 -4.59034871 -C -1.25829420 -0.18617284 -0.18625681 -1.55409617 -2.54505366 2.47418390 -O 1.18008887 -0.21834393 -0.05533527 0.92002294 0.79323696 1.64306742 -H 0.16642327 1.55195414 -0.18143886 -0.77338048 -0.81360859 0.39578845 -H -0.05324057 0.62258469 1.27743407 0.04122040 0.34404324 3.53503165 -H -1.17028585 -1.29893594 0.18632394 0.54747310 0.98065790 -1.34489757 -H -2.04126376 -0.09529750 0.65461273 0.02392772 1.09423488 -1.41698942 -H -1.64747575 -0.15192348 -1.23305544 0.18941246 0.19097611 0.47730207 -H 1.07128228 -0.85064834 -0.74639656 -0.66956516 -0.85083818 -1.17313779 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740153052101 pbc="F F F" -C -0.05864685 0.45592976 -0.25270012 2.04818276 -0.05157979 -0.07029373 -C -0.99598985 0.14560675 0.88392412 2.61727859 -2.10186901 -0.92809728 -O 0.91170748 -0.55234416 -0.59249507 -1.29381349 -0.80895027 -0.35644917 -H -0.64938395 0.56902449 -1.16160081 -0.27995929 0.46574680 -0.61985590 -H 0.52787862 1.37624214 -0.00295029 -0.52567749 0.26682481 -0.37147234 -H -1.24622302 -0.90668685 0.81332533 -0.29363638 -0.89604616 -0.01278173 -H -0.48310875 0.28520148 1.80409663 0.22161210 0.46764567 1.63192323 -H -1.85306739 0.67004003 0.70094950 -2.95023044 2.06755855 0.13312102 -H 1.79819121 -0.39572179 -0.27064918 0.45624370 0.59066940 0.59390595 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.985044246794 pbc="F F F" -C 0.03051055 0.47113859 0.30571516 0.51081368 -0.74704790 0.70681928 -C -1.26765106 -0.01626935 -0.30983113 -0.44306926 1.42393840 -0.33479605 -O 1.15639346 -0.40394533 0.06571134 -0.33643297 0.76933356 1.20765517 -H 0.21490380 1.54027739 0.04211369 0.21661603 -0.09165204 -0.50536392 -H -0.04824147 0.52297767 1.42821871 -0.06021793 -0.17717180 -0.39721526 -H -1.79206787 -0.84274357 0.14832249 -0.05199359 -0.81720516 0.61068637 -H -2.02298469 0.79415307 -0.43913547 0.09379799 0.14555632 0.57338422 -H -1.13151201 -0.24536905 -1.35568200 0.48375482 -0.59918417 -1.08738885 -H 1.16493027 -0.77908502 -0.81785126 -0.41326877 0.09343274 -0.77378096 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639320787604 pbc="F F F" -C -0.33109146 -0.38061759 -0.11509299 1.25354475 0.13987012 -1.56938997 -C -0.79848800 0.71322448 0.78158112 2.41343951 2.54592953 -1.11676701 -O 1.04375127 -0.32736712 -0.57621080 -0.74574744 -0.78750572 1.75614273 -H -0.47807553 -1.28727759 0.48147470 0.19786682 -0.72167630 0.00868550 -H -1.02285353 -0.45431957 -0.98075479 -0.00751719 -0.12543167 -0.22445970 -H -0.49730603 1.83368069 0.56265030 -0.97532363 -1.77453121 -0.38338442 -H -1.80794763 0.47009812 0.85011741 -2.80406189 0.39393057 0.57471631 -H -0.33550282 0.57694172 1.71575497 0.73538501 -0.34028644 2.12455067 -H 1.03301728 0.09242206 -1.42476806 -0.06758594 0.66970112 -1.17009407 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.762874662097 pbc="F F F" -C -0.22651560 -0.13939897 -0.35440659 0.63188790 -2.84595742 -1.92065703 -C -0.12822160 1.31585778 -0.26041480 -1.51425681 1.14955403 -0.32628179 -O 0.38792570 -1.07208371 0.55484273 -0.80824224 0.77810144 0.48130625 -H -1.27080350 -0.42802509 -0.56796006 -0.47290923 -0.09787674 0.40911855 -H 0.24032794 -0.38741365 -1.34701984 0.01724851 -0.08240214 0.15251054 -H -0.95623348 1.69398350 -0.94312893 0.99288844 0.04456597 0.14002047 -H -0.43661673 1.69606152 0.68535416 -0.38840594 0.53831298 1.68089978 -H 0.82994145 1.75552879 -0.47797959 0.93836211 0.33922072 -0.42734917 -H -0.33821219 -1.33284338 1.16977744 0.60342727 0.17648120 -0.18956765 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.59728309113 pbc="F F F" -C 0.16901653 -0.36947223 -0.42487818 0.13924045 -0.05173020 2.11227278 -C -1.28458172 0.16684992 -0.32117305 1.61395111 1.89531299 -3.59001744 -O 1.02494531 0.12709511 0.68017076 -1.16203047 -2.57679748 -0.55444645 -H 0.14852607 -1.42810803 -0.13434929 0.07349131 -0.60035310 -0.79572836 -H 0.71252542 -0.13732945 -1.35280484 -0.25256762 -0.34332749 -0.59720874 -H -1.22894978 1.29594269 -0.72728957 -0.69560618 -1.95376941 1.18230080 -H -2.09139959 -0.39125514 -0.86335864 0.64323078 0.14340729 -0.46071762 -H -1.55982129 0.02175992 0.66654548 -0.69469328 0.43749212 2.90713637 -H 1.04196956 1.03452762 0.50466859 0.33498395 3.04976528 -0.20359128 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.811062574529 pbc="F F F" -C 0.07234955 0.54041603 0.31915837 -0.14604077 -2.03268250 -0.81300917 -C -1.13637607 -0.36636880 0.28304926 -3.09794037 2.22181014 1.85459030 -O 0.95118706 -0.16836568 -0.56394912 -0.76546971 -0.21635167 0.15813416 -H -0.21075900 1.48103267 -0.10469398 -0.09318206 1.67439237 -0.26329566 -H 0.48082977 0.64010816 1.35065008 -0.03164124 0.10476323 -0.00913873 -H -0.78763167 -1.32532967 0.52568432 0.49913238 -2.23503944 0.09207334 -H -1.90341519 -0.11815782 1.14607576 1.15543219 -0.16263848 -1.15994659 -H -1.79145843 -0.33531093 -0.63357493 0.88024086 -0.08209175 0.20409779 -H 1.79193731 0.25472543 -0.50832878 1.59946870 0.72783810 -0.06350545 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8886072774385 pbc="F F F" -C -0.24268517 0.24516558 0.34250713 0.21841431 -0.34453833 2.50239482 -C -0.93073556 0.02920066 -0.94296049 0.31677277 1.71396567 -0.50052145 -O 1.04801577 -0.30896918 0.56010096 0.52362349 0.38968897 -0.94194988 -H -0.23430309 1.30319714 0.61597649 0.04228515 0.90348251 -0.12728477 -H -0.76658390 -0.18914759 1.19126278 -1.05863218 -0.40491520 0.40973515 -H -1.87849751 0.59921434 -0.95697091 -0.12277916 0.04600235 0.04114348 -H -0.25770876 0.53387319 -1.66540550 -0.24705307 -0.51693867 -0.75004283 -H -1.16200839 -0.99418800 -1.13062382 0.02646664 -1.40224563 -0.61830892 -H 1.64515780 0.38055974 0.21012769 0.30090206 -0.38450172 -0.01516555 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.604444951447 pbc="F F F" -C 0.23943071 0.50375819 0.20109769 1.34416141 -0.21970835 -0.96616880 -C -1.01529303 -0.08928133 0.73086312 -0.95211597 -4.06658890 -1.77359631 -O 0.67840962 -0.36557910 -0.83614688 0.02071132 -0.52601811 -0.62995875 -H -0.05844414 1.50890491 -0.28432365 0.90558099 -0.36970239 1.07148812 -H 1.08845459 0.45779558 1.02671329 -1.47029659 1.00760117 -0.93148338 -H -1.28314708 0.37995072 1.60718334 -0.94548036 1.38438973 2.77113993 -H -1.95745212 -0.11056280 0.05725765 1.39249729 0.38204935 0.38599054 -H -0.86110095 -1.25110660 0.97203626 -0.07000006 2.07170965 -0.28583143 -H 1.54729908 -0.12245330 -1.21172718 -0.22505809 0.33626781 0.35842013 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.429932335049 pbc="F F F" -C 0.45523213 0.35777417 0.14604414 -2.07486640 -2.46229810 4.40492207 -C -0.70786557 0.85125366 -0.58819931 0.58084238 4.33700050 -0.36512300 -O 0.19426448 -1.08686288 0.41019507 -0.24078945 0.97398002 -0.16347779 -H 1.32391504 0.36490147 -0.41652853 2.60094689 0.83365678 -1.25521628 -H 0.49888243 0.90814626 1.19246396 0.51796017 -0.70589620 -1.55554817 -H -0.55715812 0.71474279 -1.63108596 0.30127683 -0.08295852 -1.81455250 -H -1.63457163 0.36686453 -0.43379566 -1.57597688 -0.63896044 1.14051038 -H -0.74244529 2.05107335 -0.41473012 -0.42093056 -2.37039306 -0.43071603 -H 1.03715922 -1.56193675 0.46125910 0.31153697 0.11586901 0.03920126 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.806645702929 pbc="F F F" -C -0.48915039 -0.14350346 0.13149475 -1.13258326 -0.02716438 0.91031419 -C -0.19501879 1.13876912 -0.62774340 -0.24188407 -0.40685742 1.27706717 -O 0.66410701 -0.85914270 0.43333975 0.67808205 -2.90676485 0.74755986 -H -1.06858471 0.09870709 1.07745246 0.08792898 0.02599978 -0.33192711 -H -1.19929343 -0.69871818 -0.49402087 -0.33649005 -0.68345308 -0.35219544 -H -1.17495943 1.46162548 -0.99600839 -0.17509054 0.23840243 -0.65708729 -H 0.07062515 1.91430258 0.12848761 0.78586273 0.01380909 -0.65461275 -H 0.52501115 0.85074846 -1.41834891 0.09584623 0.73238248 -0.04209900 -H 0.45721791 -1.85035104 0.73721956 0.23832787 3.01364600 -0.89701968 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.465543772226 pbc="F F F" -C -0.24099211 -0.42938620 0.28080750 1.20659058 0.64651609 -3.71371973 -C -0.95188234 0.85087572 0.08321434 1.19283862 3.04905818 -0.53731107 -O 1.09552352 -0.46998031 -0.32821428 -2.36722232 -3.75805858 -0.27354007 -H -0.05218652 -0.61520025 1.25688020 0.09068850 -0.82055839 4.20469303 -H -0.94234002 -1.17587967 -0.10521667 0.39207850 -0.90629787 -0.48049203 -H -1.98666860 0.74694663 0.21502051 -2.30188640 -0.31798484 0.61693857 -H -0.64748948 1.73129869 0.72190426 0.09772859 -0.66770883 0.13351445 -H -0.90947003 1.34961857 -0.92635302 0.35267999 -0.87482519 -0.02331883 -H 1.36191522 0.39937964 -0.29008565 1.33650389 3.64985942 0.07323569 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742279897993 pbc="F F F" -C 0.13965162 0.05500841 -0.55118712 0.52849594 -0.51395768 -0.15050626 -C -1.27953062 -0.33418331 -0.09079412 0.15451662 0.76780592 -0.33692894 -O 1.04778052 0.30006702 0.53352445 0.00549522 2.34414558 -2.07608413 -H 0.48169780 -0.83808188 -1.06033717 0.60001150 -0.82948177 -0.88875302 -H 0.28815828 0.88593993 -1.34117157 -0.57760109 -0.56307749 1.26924911 -H -1.51589655 0.44385987 0.62403091 -0.91038994 0.80435925 0.49049553 -H -2.11049659 -0.44387910 -0.87845848 1.10791984 0.03379727 0.80257007 -H -1.16734309 -1.22051934 0.56092896 -0.22775035 -0.45214608 -0.32518588 -H 0.97398434 -0.26522090 1.27608246 -0.68069763 -1.59144505 1.21514357 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.205927337825 pbc="F F F" -C 0.18335939 0.41841601 -0.36482392 0.60651393 -1.20114051 0.79524356 -C -1.32095775 -0.04523008 -0.24770314 0.56978365 0.87533751 -1.48322780 -O 1.05439202 -0.34022162 0.57613311 -0.99190864 0.75960934 -1.68802806 -H 0.68780332 0.66328377 -1.34477377 -0.44089061 -1.23533887 -0.18784378 -H 0.09736686 1.44484060 -0.05605172 0.61815918 0.97468903 1.32307147 -H -1.71970177 0.94547551 -0.07895223 -1.13592302 0.61362000 0.68128847 -H -1.89405426 -0.25703663 -1.22925741 0.85986070 -0.94338605 1.27768485 -H -1.43134669 -0.61888839 0.71586783 -0.22535969 -0.10731367 -1.01908968 -H 1.07791374 -1.22562867 0.14692121 0.13976444 0.26392326 0.30090093 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542150782773 pbc="F F F" -C -0.23482059 -0.43733731 0.00130882 2.11306149 0.07391677 2.52420169 -C -0.98642509 0.78823407 0.45790319 -0.34046770 -0.70917261 -1.89812156 -O 1.11561883 -0.31365155 -0.47749300 0.61400098 0.39323391 2.88216612 -H -0.35340510 -1.27748654 0.76647705 0.64070282 0.78507777 0.37395196 -H -0.74553201 -0.95412155 -0.70212021 -2.16049882 -1.39576614 -3.66482530 -H -1.91593275 0.40426672 0.82648460 -1.10518449 -0.23880239 1.08907822 -H -0.46069180 1.38455047 1.14604484 0.90845503 0.99870309 1.68037893 -H -1.33455837 1.45731326 -0.34108310 0.36913978 0.20112492 -0.61541149 -H 1.65297431 -0.21863300 0.41160779 -1.03920904 -0.10831532 -2.37141852 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.462347311556 pbc="F F F" -C -0.02436725 0.09189046 0.56688843 0.47483612 0.52852566 -1.15519606 -C -0.72671591 1.04488138 -0.57886894 -1.05362300 -3.15581674 3.89890607 -O 0.66542720 -1.04700020 0.05987805 -0.09593684 -0.09067754 -2.61677409 -H 0.77386079 0.63159620 1.07146286 0.21685170 1.13698540 0.64839058 -H -0.69848905 -0.29024394 1.36297498 -0.35781206 0.21617226 -0.21786358 -H -0.33005269 0.65407286 -1.47198464 0.14714505 -0.65090671 -2.05242390 -H -1.82926384 0.87436624 -0.37820160 0.69998590 0.45037052 -0.96898200 -H -0.43115311 2.04777909 -0.47156517 0.37098224 1.99526985 0.33493818 -H 0.90151125 -0.84552513 -0.92039175 -0.40242910 -0.42992274 2.12900480 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4783026088235 pbc="F F F" -C -0.11146619 -0.07123090 -0.46719816 2.35018114 -0.87452386 1.42469271 -C -0.24949181 1.41894806 -0.00322769 0.14313454 -1.26878410 2.68889191 -O 0.25703746 -1.23975630 0.42042692 0.25662390 1.70251032 0.07733865 -H -0.92812252 -0.56266468 -0.95522661 -1.30414583 0.28685638 -0.88493097 -H 0.75315092 0.03784701 -1.15272640 -0.16542375 -0.29450135 -0.59837499 -H -1.12298110 1.70731071 0.68205723 0.70913178 -0.65850911 -0.48752591 -H 0.73159862 1.66297674 0.61292220 -1.52163829 0.08493221 -1.40804826 -H -0.43475434 1.96282080 -0.92676957 0.49325793 0.71010042 -0.48766624 -H 1.22127642 -1.19019996 0.67178806 -0.96112137 0.31191909 -0.32437696 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9122743894695 pbc="F F F" -C 0.14853445 -0.05931745 0.54001494 -0.23444160 0.98360161 -1.37390759 -C -1.25921251 0.33078584 0.08648011 -1.06888786 -1.45577191 0.02708884 -O 1.06332288 -0.19958748 -0.54173005 0.58073444 0.20355950 -0.51797853 -H 0.50953007 0.73394605 1.27655581 0.09187887 -0.64337662 -0.77728614 -H 0.11736300 -0.99674749 1.04315516 -0.27818363 -1.37743443 1.25594431 -H -1.99582724 0.19076438 0.89284785 -0.00912454 0.29138636 0.67956722 -H -1.39620870 1.32578118 -0.29223446 0.27103298 1.26114648 -0.31264342 -H -1.77533394 -0.31677439 -0.68144492 0.94143972 -0.08253506 0.02465848 -H 0.89591052 -1.00518579 -1.10516960 -0.29444834 0.81942412 0.99455683 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.056203599686 pbc="F F F" -C -0.05631067 0.20519287 -0.63103968 1.61902925 1.59741485 3.22828012 -C -1.31056005 0.01995566 0.25614940 0.48114761 -1.27201397 0.13781483 -O 1.28080212 -0.16118780 0.29064824 -2.47195516 1.47374454 -2.55572718 -H -0.09739567 -0.50670273 -1.40460574 0.36510803 -1.17982014 -1.68428387 -H -0.00403307 1.28241850 -1.04835707 0.59125422 -1.31950278 0.65197645 -H -0.87384888 -0.05846876 1.34475921 -1.34198219 -0.03787807 -1.44845223 -H -2.08598818 0.80769334 0.18074627 0.30983542 0.34220716 0.18385919 -H -1.86045069 -0.90857508 -0.17003088 0.67063248 0.74982032 1.29172971 -H 0.87783649 -0.74216192 0.95114735 -0.22306965 -0.35397197 0.19480288 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742256286368 pbc="F F F" -C -0.29774881 -0.10209532 -0.44341429 0.87611424 0.87310245 0.27167319 -C 0.92596237 0.93756021 -0.41480916 -1.27382639 -1.92637887 1.62476080 -O -0.59840515 -0.80586106 0.75651395 1.22727640 1.42672558 1.57267785 -H -1.11458157 0.55778963 -0.79233462 -0.68292189 0.14674509 0.23130377 -H -0.24772760 -0.84031554 -1.27439664 0.53096779 -0.19295940 0.16934983 -H 1.88644472 0.49376149 -0.02905284 -0.54145584 0.17532513 0.16042784 -H 1.10685725 1.09306114 -1.45979618 0.20439619 1.10915201 -1.12271191 -H 0.56251311 1.81169682 0.22074494 0.73992420 -0.45328106 -0.85390134 -H -0.18163837 -0.28123829 1.55307767 -1.08047464 -1.15843103 -2.05358002 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.681087148773 pbc="F F F" -C 0.09174475 -0.41247464 -0.37707315 2.65433817 0.25606042 1.71810684 -C -1.23944132 -0.38354706 0.39533598 1.98558754 -0.37192007 1.83975812 -O 1.01780533 0.71662291 -0.08400654 -1.64106577 -0.06512936 -1.34169089 -H 0.77086103 -1.32840942 -0.22595145 -1.25774043 0.30827105 -0.04401524 -H 0.03863231 -0.24805625 -1.43094809 -0.80133707 -0.31066239 -1.45718267 -H -1.07604003 0.18851735 1.35307925 0.28160228 -0.47310237 -0.18817530 -H -1.93241626 0.25245641 -0.05575242 -1.82135066 1.14171479 -1.49505678 -H -1.69992118 -1.34293881 0.71168534 0.16269741 -0.06736071 -0.44869915 -H 1.41795025 0.58717644 0.76373230 0.43726849 -0.41787136 1.41695513 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.745825319039 pbc="F F F" -C 0.01776240 -0.26930308 -0.49561775 0.54290147 -1.56208099 2.08962320 -C -0.81206043 0.95679723 -0.30833152 -1.92902330 -0.06743821 -2.65993835 -O 0.77983816 -0.64120533 0.69628221 0.82682098 0.32697743 -1.71886326 -H -0.63300896 -1.12349554 -0.63850220 -0.81065517 -0.71945965 -0.71838338 -H 0.70674786 -0.28842288 -1.32441543 0.77027294 0.41724488 -0.74228714 -H -0.73916058 1.58437789 -1.25815314 -0.23131045 -0.16310621 0.96183305 -H -1.91359636 0.68633573 -0.17547218 0.88644746 0.32564164 -0.09082476 -H -0.52378463 1.52050366 0.53534471 0.78190107 1.22616887 1.40634901 -H 0.18808126 -0.39495206 1.38878505 -0.83735500 0.21605224 1.47249164 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.900480995961 pbc="F F F" -C -0.38470207 0.29961010 -0.25817512 0.02615378 -1.19782862 -1.95145788 -C -0.51787214 0.02548699 1.19132686 -0.23339906 -2.37742806 1.53702100 -O 0.79639665 -0.29083621 -0.90655815 -0.34786703 0.83511377 1.57882191 -H -1.23454113 -0.11652459 -0.83580192 -0.12773193 -0.41684621 0.07416874 -H -0.54368412 1.35094696 -0.48506931 0.65502439 1.21537023 -0.01240830 -H -1.32519859 0.54658789 1.74416602 0.23879566 0.62239754 -0.23547179 -H -0.80618604 -1.07417980 1.44539671 0.62776055 1.08555385 -0.65957730 -H 0.47519408 0.16581402 1.66914654 -0.15667866 0.32628004 0.36821017 -H 1.54708371 -0.13148026 -0.26722575 -0.68205764 -0.09261250 -0.69930656 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.871107052781 pbc="F F F" -C -0.38243658 -0.19722659 -0.36395314 -0.59632953 0.29916153 2.11649360 -C -0.72163774 0.46460035 1.02453232 0.44155606 1.42230518 -1.90383743 -O 1.00899310 -0.24902266 -0.56756257 -0.08510272 0.03997352 -0.40622210 -H -0.88709616 -1.17314583 -0.30510896 0.19176086 -0.94318452 -0.01094020 -H -0.90279660 0.25995067 -1.18516718 -0.53734269 1.04683483 -0.97078836 -H -1.75799584 0.26455438 1.36863466 0.08824420 0.32849001 -0.17506688 -H -0.04387774 0.01346292 1.69479149 1.07648860 -1.20692405 1.49951173 -H -0.36678340 1.55835276 1.10014546 -0.93654603 -0.89973857 -0.37096167 -H 1.09768918 -0.15789617 -1.53568580 0.35727126 -0.08691792 0.22181130 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.260800446533 pbc="F F F" -C -0.37983894 -0.47461714 0.08888518 2.28204370 1.26721295 -1.53760552 -C -0.95026334 0.96236290 0.18719660 4.86950772 -1.00405053 0.87956965 -O 1.20229622 -0.43002370 -0.20314701 -3.55359631 0.36370118 1.80780289 -H -0.45626806 -1.19737247 0.88876071 -0.26621515 0.12364640 1.31322548 -H -0.99094022 -0.91156418 -0.69662714 0.34093508 -0.86020296 -1.20674181 -H -1.91268493 0.92942314 0.53573860 -3.37345042 0.15386248 0.70116995 -H -0.31774615 1.35006792 1.02016189 -0.31193719 0.71119638 -0.16060376 -H -0.73076451 1.56663669 -0.71609407 -0.35525891 -0.24137915 0.01790316 -H 1.17254095 -0.72478838 -1.09712759 0.36797152 -0.51398668 -1.81472004 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.708295042524 pbc="F F F" -C -0.02502778 -0.53058376 0.26649096 -1.06171571 1.58905259 -2.58153551 -C -1.21153650 0.55554224 0.36530344 5.31935882 0.50802666 -0.28294825 -O 1.11819530 -0.08625260 -0.58534965 -1.00972495 0.39160748 1.36024099 -H 0.22664850 -0.86735203 1.24951754 0.82201410 -0.37432868 1.33517144 -H -0.45182705 -1.39877025 -0.29350970 0.34393252 0.09132885 0.13610396 -H -2.12508147 0.22474089 0.67944394 -3.02304185 -1.52922639 1.14262655 -H -0.85011233 1.34485506 1.08143751 -0.35199304 -0.06754337 -0.46030054 -H -1.27775711 0.94670508 -0.64072230 -0.26427448 0.62023097 -0.71955221 -H 1.46262436 0.82003259 -0.31321460 -0.77455542 -1.22914811 0.07019361 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.636257967745 pbc="F F F" -C 0.10731373 -0.18217528 -0.60876280 1.21755757 0.74117236 2.06331428 -C -0.41764537 1.24078452 -0.12920889 1.40373795 -0.90425240 -0.90675589 -O 0.31602843 -0.94990372 0.67172228 -1.49197284 -0.66235995 -1.70709588 -H -0.52733769 -0.72010452 -1.33930643 -0.39569584 0.01476349 0.13144584 -H 1.12365593 -0.04435115 -1.18632990 -1.21606299 -0.34312669 1.26596771 -H -0.07955951 1.91155783 -0.95666901 -0.79370172 0.35896253 0.13704308 -H -1.53898567 1.22368170 0.03596422 0.94581569 0.34648393 0.13110820 -H 0.25335545 1.55961510 0.75757455 -1.26227663 -0.54309682 -0.77637587 -H -0.55061379 -1.46820926 0.82000758 1.59259881 0.99145356 -0.33865153 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.758466164449 pbc="F F F" -C -0.04659713 -0.48682620 0.23433331 0.79701592 2.06937298 -0.30346103 -C -1.18880474 0.54168302 0.38675965 -0.84261620 -1.92737461 -1.96159811 -O 1.12574041 -0.10744215 -0.57127239 -1.64385850 -0.93469700 -0.19420937 -H 0.32327444 -0.79665949 1.19663243 0.17754250 -0.54193798 1.19547405 -H -0.54829083 -1.29298867 -0.24390206 -0.00167605 -1.60234633 -0.93111751 -H -2.21696299 0.09402872 0.67505761 1.46252542 0.47058223 0.06280688 -H -0.90436504 1.37728258 0.93444098 0.43576521 2.01716424 1.97366811 -H -1.34397418 0.95847234 -0.62153441 -0.20825835 0.02257830 -0.42997370 -H 1.54119574 0.71015419 -0.27367641 -0.17644001 0.42665805 0.58841068 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.632771812788 pbc="F F F" -C 0.41576861 -0.31678741 -0.22666082 -1.73098247 1.66945940 5.11271261 -C 0.27194419 1.09076746 -0.64360417 -1.12530868 -0.20457694 -2.80539059 -O -0.62853720 -0.74829599 0.75778881 0.21894005 -1.42799447 -3.57416643 -H 0.34220902 -0.99759396 -0.98349887 -0.12055454 -2.30134817 -2.62108727 -H 1.35606637 -0.34820243 0.28790096 1.47436196 -0.69719723 0.39238554 -H 0.33875610 1.80872626 0.14213340 0.07319887 0.93607984 1.02613230 -H 1.01742024 1.28738745 -1.42709124 0.71442332 0.32737646 0.03311376 -H -0.65134161 1.22414407 -1.26330461 -0.17157923 0.17509429 0.64924321 -H -0.62194374 -0.32079897 1.58535434 0.66750082 1.52310675 1.78705686 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.682407761658 pbc="F F F" -C -0.13801741 0.37813008 -0.46110396 2.10889712 -1.78615034 -0.72052799 -C -1.17077434 -0.11971214 0.49004012 -0.15028021 1.36686498 2.28415015 -O 1.15750862 -0.21936747 -0.01360047 0.05896426 -0.25791516 -0.79566635 -H -0.33734274 0.13584349 -1.56266734 -0.05470255 0.16899090 0.96073827 -H -0.02402809 1.42252249 -0.33216392 0.10268398 2.04240014 -0.22221096 -H -0.92327645 0.11678884 1.60035432 0.33474983 -0.21275336 -1.37300370 -H -2.17291835 0.35548258 0.45425005 -0.06511881 -0.25429844 -0.76479346 -H -1.16537930 -1.17789041 0.43563062 -0.58358179 -1.79851715 -0.08176152 -H 1.84407384 -0.45147764 -0.72432423 -1.75161188 0.73137836 0.71307549 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.646946953284 pbc="F F F" -C 0.22728764 0.52698230 0.20497753 -1.64749163 -2.68119629 -2.78397267 -C -1.10287557 -0.08631429 0.67472570 0.08913287 -0.46903365 -0.19736072 -O 0.86000044 -0.38753847 -0.75538657 -1.37536777 -0.00556320 -0.48280721 -H 0.10358932 1.43703845 -0.33527361 -0.54337167 1.68615543 -0.44364359 -H 0.82997819 0.73352972 1.01435621 2.36812421 0.12815385 2.20326116 -H -1.35589936 0.20600109 1.73201704 0.09986657 -0.47366879 -0.40750389 -H -1.89723802 0.35770008 0.03851869 -0.28404313 -0.46585654 0.01775579 -H -1.01713545 -1.24505933 0.50073723 -0.32189209 1.76145417 0.61812277 -H 0.11819627 -0.59020845 -1.44244793 1.61504270 0.51955508 1.47614832 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.812443908005 pbc="F F F" -C -0.00795716 0.00601320 -0.59538139 1.26760710 -1.73896780 2.67764271 -C 0.51926921 1.19767726 0.22159195 0.78987838 -0.80997465 1.27242792 -O -0.53978552 -1.06808550 0.31405451 0.31749196 0.90334789 -0.98413398 -H -0.78726666 0.31814807 -1.23957277 -1.49231089 0.29499279 -1.10930078 -H 0.80255499 -0.47171982 -1.20591593 -0.15341922 0.47885352 0.04161635 -H 1.13656869 0.81722770 1.09067323 -0.70491327 -0.12184210 -0.19466924 -H 1.32102020 1.71984514 -0.27086246 0.53458945 0.82810237 -1.16638088 -H -0.16703083 1.96623302 0.64476609 -0.30425545 -0.47493372 -0.31493016 -H 0.16853873 -1.74040223 0.44991715 -0.25466796 0.64042175 -0.22227194 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9454580741485 pbc="F F F" -C 0.02000257 0.51535899 0.21740469 -0.32668227 -0.55308114 -1.39557676 -C -1.32490614 -0.20294370 -0.12231328 0.51573776 0.00980331 -0.65972107 -O 1.19510744 -0.28006535 -0.02631202 -0.48067649 0.28042404 0.71794059 -H 0.02378423 1.52695614 -0.31656843 0.22609240 -0.68023977 0.55841469 -H -0.03820206 0.65613982 1.28392231 0.47704578 0.47104873 1.09031811 -H -1.18633295 -1.29746810 -0.18050302 0.18916512 -0.18954883 0.48425695 -H -2.15738628 0.01694950 0.59236653 0.28772181 0.10892379 -0.34501578 -H -1.59790066 0.03960849 -1.16345908 -0.50232570 0.24581297 -0.11026303 -H 1.53401483 -0.22087393 -0.93121537 -0.38607837 0.30685690 -0.34035365 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.588132935728 pbc="F F F" -C -0.55832700 -0.03039214 -0.13294906 0.43209419 0.68926260 -2.01776429 -C 0.27930590 1.33366922 0.09018899 0.07758425 -2.12605934 1.97207387 -O 0.25393141 -1.17461942 0.09546663 -0.33884117 2.17871247 3.37261146 -H -1.51990876 -0.00931252 0.42428430 0.17404389 -0.25716203 0.56685033 -H -0.95622696 -0.08142092 -1.25274642 0.72140042 0.37547185 1.55023941 -H 0.28656353 1.79940837 -0.85933813 0.43843571 1.18211095 -1.41483546 -H -0.13940322 2.02891733 0.86705702 -0.11847241 -0.37699173 -0.42392687 -H 1.34604219 1.07790360 0.46531008 -1.30429007 0.16074805 -0.74214064 -H 0.27603754 -1.70179489 -0.65041090 -0.08195482 -1.82609275 -2.86310781 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.756843836616 pbc="F F F" -C -0.01326893 -0.05231868 0.58180043 0.04143859 1.97063780 0.57555665 -C -1.14685284 0.53803621 -0.27180594 0.04074387 -1.75213057 0.23733738 -O 1.02970513 -0.48063744 -0.30426531 -0.32722904 0.10615888 0.67156594 -H 0.33250794 0.91753045 1.18077746 -0.26337042 -1.69955067 -0.46953759 -H -0.31497339 -0.84976733 1.32710344 0.03503870 0.36594400 -0.38611411 -H -1.90966192 1.13068187 0.17340590 -0.56781886 1.23318711 1.56218183 -H -0.64010612 1.13658789 -0.98472397 0.59885641 0.99291153 -1.37288465 -H -1.82674620 -0.14673239 -0.78577875 0.32361633 -1.00162747 -0.59024434 -H 1.83721586 -0.34831883 0.22500920 0.11872443 -0.21553066 -0.22786116 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.651132042725 pbc="F F F" -C 0.09921588 -0.17237128 0.58924295 -0.51395788 1.68090677 -4.84479457 -C -1.32964314 0.31359315 0.01145686 1.14183203 -2.61579018 -1.08594826 -O 1.15795547 -0.15920933 -0.48696389 -0.58929041 -1.35208139 2.17654076 -H 0.41654672 0.55023548 1.30607790 0.33907303 0.51225072 1.60740647 -H 0.02185199 -1.20372562 0.87485422 0.01838000 -0.91261898 0.80839342 -H -2.05992636 -0.04835635 0.74771652 -0.53169351 0.38622919 0.23345722 -H -1.42537364 1.38625386 -0.21834122 0.10429457 0.17756816 0.19248755 -H -1.59559695 -0.30407344 -0.97601477 0.64202098 1.10625808 1.64332212 -H 0.92273608 0.46254187 -1.16252759 -0.61065886 1.01727762 -0.73086471 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.690981673142 pbc="F F F" -C 0.08994533 0.48492959 0.16277309 0.64063387 3.19609720 1.00266269 -C -1.22868354 0.02469520 -0.28310137 -2.89513636 0.78701510 -0.59115297 -O 1.05483077 -0.48297594 0.18194699 1.24271233 -0.84632687 -0.63937860 -H 0.29137309 1.40907708 -0.54512623 0.42750991 -1.00134135 0.91372173 -H 0.18931831 0.90311462 1.22748982 -1.04826914 -0.02097625 -0.88329909 -H -1.67478037 -0.76249147 0.37153820 -0.15814856 0.38861466 -0.02897285 -H -1.88816954 0.98440548 -0.41621524 0.41624045 -1.48816113 0.66399548 -H -1.28353335 -0.38585359 -1.32469202 0.60390107 -0.03258689 0.20534472 -H 1.19039108 -0.55603164 -0.76726346 0.77055648 -0.98233452 -0.64292112 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.693261631531 pbc="F F F" -C -0.36259178 0.34301424 -0.24742455 2.80682758 0.62752314 -0.11620177 -C -0.55136873 -0.01189096 1.24059485 -0.90443068 -0.91946264 -1.38489346 -O 0.78769513 -0.34166380 -0.92016959 -0.23062669 0.76220564 0.87205740 -H -1.25610863 0.11873775 -0.75390585 -1.55420328 -0.97588279 -1.46464247 -H -0.18316817 1.42305064 -0.50904549 -0.38141223 -0.10242528 0.83734564 -H -1.56432104 0.15613885 1.68174531 -0.05475778 -0.11736920 -0.64877666 -H -0.27849259 -1.08309709 1.38461445 0.03906803 0.29858097 0.08118256 -H 0.04487807 0.63946929 1.79194503 1.89557920 1.13386135 1.69814191 -H 1.62368282 0.22186105 -0.82386826 -1.61604420 -0.70703124 0.12578679 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.419969559608 pbc="F F F" -C 0.42706932 0.10855869 0.29718667 -3.13515679 1.60164411 0.23248535 -C -0.27693606 1.19532988 -0.75359296 3.51151952 -2.71594625 -2.30183467 -O -0.11119685 -1.19739991 0.40399559 -0.51207285 -0.32572906 0.04091238 -H 1.46068218 0.01519793 -0.00919125 0.89293142 0.14274929 -0.08444560 -H 0.26611228 0.62808088 1.27416254 0.82772550 -0.03300850 0.01289362 -H 0.51864472 2.02980898 -0.90029757 -1.46099490 -0.68440306 0.40390229 -H -0.28541614 0.65750787 -1.81437429 0.35745149 0.69767499 1.51185468 -H -1.31428336 1.46132694 -0.74322012 -1.12223364 0.69915641 1.12374359 -H -0.67066146 -1.32390499 1.21872772 0.64083030 0.61786211 -0.93951165 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.334204283413 pbc="F F F" -C 0.08037179 -0.57528361 0.01475757 0.44740151 1.30389088 2.02496523 -C -1.06576605 0.03126788 -0.69123049 1.52259541 -0.08161605 -4.73551684 -O 0.88424277 0.43427700 0.69672177 -0.18635871 2.45356205 -1.39026326 -H -0.15227614 -1.41067099 0.73484111 -0.03864035 0.67587954 -0.06728086 -H 0.77831214 -0.92871687 -0.66198031 1.42381802 -1.88802417 -2.28174427 -H -0.61763569 0.71397344 -1.59248159 -0.74362962 -0.77030390 1.98793120 -H -1.63189394 -0.65324339 -1.37385102 -0.12354196 -0.23095297 0.72865788 -H -1.69613095 0.61003853 -0.10481589 -1.70227614 1.44915419 1.55744976 -H 1.02476975 1.25621986 -0.00012199 -0.59936821 -2.91158958 2.17580116 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.540295790399 pbc="F F F" -C -0.04281496 -0.23752440 0.55611425 0.92436651 0.37553509 -0.49100939 -C 0.77737954 1.00154333 0.15522332 0.22914857 0.34453190 -2.49038355 -O -0.73845323 -0.73295861 -0.59868256 1.07164922 0.04018075 0.17882579 -H 0.69993809 -0.97846263 1.09106950 -1.25188829 0.54880637 -0.84969460 -H -0.70203851 0.20489358 1.32694337 -0.72010093 -0.85690835 0.05132510 -H 0.91334587 1.10340406 -1.04567485 -0.26977417 -0.39157601 2.20843464 -H 0.32532772 1.99006523 0.44044467 0.40858401 -0.49049826 0.13808459 -H 1.77856230 0.80624897 0.53523336 0.75029654 0.78542934 0.34767513 -H -0.04752156 -0.59724503 -1.32126888 -1.14228146 -0.35550090 0.90674226 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.198064954449 pbc="F F F" -C -0.28843115 -0.52346601 0.28342486 2.42146819 3.83002177 -0.13444483 -C -1.04545336 0.83469218 -0.18491172 0.12488058 -1.38730531 1.01956364 -O 1.20843402 -0.26444149 -0.03750308 -2.77833476 0.11382452 2.48068679 -H -0.43795805 -0.63593103 1.35454379 0.47384229 -0.34884518 0.76807563 -H -0.68712701 -1.38283795 -0.22630662 -0.18276400 -0.89337761 -0.61534649 -H -0.27884633 1.60943312 -0.42509310 -0.18390356 -0.51531414 -0.36573842 -H -1.51630641 0.29610140 -1.02394739 -0.75544636 1.54319423 -0.71018012 -H -1.76891773 1.36572652 0.54993484 0.62614328 -1.22766849 -0.82891119 -H 1.40093443 -0.76501373 -0.80772255 0.25411430 -1.11452973 -1.61370500 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.628186255531 pbc="F F F" -C -0.11101041 -0.21211525 -0.48921231 0.21305094 3.47838622 2.06329386 -C -0.18959362 1.32819932 -0.08265940 -0.20423544 -1.97711061 -0.64341837 -O 0.22731601 -1.05092465 0.52249771 3.79372791 -1.34392621 1.57493738 -H -1.07459473 -0.52245411 -0.67408609 -3.19657260 -0.52446408 -1.16719381 -H 0.42380947 -0.23009066 -1.40103808 1.41716863 -0.53206103 -1.69926682 -H -0.75152411 1.52983735 0.82378356 -0.82684412 -0.12947792 0.43281158 -H 0.74891149 1.81192432 0.09226151 1.54448471 0.30597511 -0.00503787 -H -0.62141283 1.77415259 -0.96583851 -0.63047996 0.92047257 -0.54027103 -H 1.24757511 -0.98251279 0.64559310 -2.11030007 -0.19779406 -0.01585487 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.760491271977 pbc="F F F" -C 0.05196994 0.56950749 -0.00951766 0.05495910 -4.08363414 -1.69663329 -C -1.09113377 -0.24133538 -0.78820127 1.47979394 2.57046717 -0.68581701 -O 0.94921838 -0.26234511 0.78075259 -0.79838359 1.29286022 -0.23584727 -H 0.47719022 1.21509213 -0.76769200 1.09904814 0.56842750 -0.51391253 -H -0.35039832 1.15170659 0.72797974 -1.70411520 2.16954761 2.25323396 -H -0.74267322 -0.63669282 -1.75921970 0.45087909 -0.51700079 0.14362856 -H -1.52466790 -0.98126305 -0.17627385 -0.84122724 -1.44744559 1.05686584 -H -1.87109456 0.46547857 -1.16268850 -0.03946264 0.02789931 0.51791651 -H 1.32613017 -0.96204896 0.25041070 0.29850831 -0.58112129 -0.83943472 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.798722330767 pbc="F F F" -C 0.01164271 -0.11497070 -0.52276372 0.17173674 -0.27935102 -0.67984670 -C -1.27486793 0.08978989 0.22650356 -1.79658177 -1.82630610 -0.07228248 -O 1.15159108 0.10628542 0.26618683 0.44931647 1.13034511 0.27304575 -H -0.01147088 -1.15940870 -0.80835844 0.08414565 -1.04612412 -0.39510392 -H 0.00234040 0.40700604 -1.52136472 0.32460631 0.31794859 0.41326306 -H -2.00805560 -0.74098373 -0.14472887 0.65832198 1.28211393 0.31431752 -H -1.07197804 -0.24953169 1.26012363 -0.13816182 0.44412217 0.27811432 -H -1.83595505 1.04398280 0.17335093 0.42493973 0.15161836 0.12682356 -H 1.69720472 -0.68961548 0.34595829 -0.17832324 -0.17436698 -0.25833116 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.672566832442 pbc="F F F" -C 0.19283756 -0.11365029 -0.48845338 -0.76577654 -0.72536213 0.17635295 -C 0.53454396 1.25846788 0.14642118 -1.19398806 -0.77636399 -0.53160096 -O -0.67921362 -1.03591151 0.27279074 0.60473837 0.49263978 -0.20444447 -H -0.40254796 0.00251403 -1.40235319 -0.39275830 0.21201709 -0.30128768 -H 1.15982447 -0.56096558 -0.90928425 -0.55490339 -0.07390741 0.80123145 -H 1.35821617 0.94104618 0.77309036 0.82326288 0.94341027 0.89921895 -H 0.77759109 2.02243139 -0.63482866 0.43750009 -0.44047887 0.25429921 -H -0.32238901 1.71182964 0.71365139 0.35926921 -0.48579926 -0.01218724 -H -0.45781884 -1.31669895 1.20530251 0.68265573 0.85384457 -1.08158222 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.72934719586 pbc="F F F" -C -0.25615222 -0.51256943 0.22277551 0.23527720 2.64314199 -0.29589993 -C -0.94660394 0.93403698 0.07696415 3.30487377 -1.19090757 -1.04775492 -O 1.07685557 -0.38725710 -0.23303452 1.01868998 -0.58870641 -0.66824598 -H -0.22227148 -0.60605859 1.32063141 0.12708741 -0.80397261 0.22864422 -H -0.79389543 -1.34120586 -0.25921104 -0.43339080 -0.19570940 -0.04789288 -H -1.87610174 0.89106096 0.57107835 -2.24221925 0.27406668 0.16453852 -H -0.30604197 1.64267109 0.68042758 -0.24127585 -0.41891816 -0.42283390 -H -0.81381025 1.22873476 -1.01631123 -0.93956940 0.00702410 0.93899167 -H 1.24995578 -0.69187290 -1.16929654 -0.82947308 0.27398137 1.15045320 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.51953365639 pbc="F F F" -C -0.44446176 -0.17501900 -0.33498753 3.29733494 0.65070591 1.22000825 -C -0.72291634 0.44092014 1.03861393 0.72079786 -4.37462665 -0.02248970 -O 1.03623901 -0.17418607 -0.63357292 -0.59070493 -1.22510181 0.37746286 -H -0.75415074 -1.18050720 -0.34433627 -1.03780038 -1.88274734 -0.21343166 -H -0.77106658 0.36485239 -1.15820184 -1.79045560 1.41034950 -1.94255759 -H -1.77543273 0.51444942 1.29582726 -0.78134288 -0.07098710 -0.02529915 -H -0.23200840 -0.38363311 1.72257671 -0.67707664 1.80934067 -0.41906594 -H -0.28073249 1.37549043 1.11953784 1.35054839 2.35787564 0.46117394 -H 1.27437952 -1.09573399 -0.96294203 -0.49130070 1.32519124 0.56419901 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.422874663754 pbc="F F F" -C -0.08669064 -0.62270423 0.18822991 -0.23605404 2.87034958 -1.10855552 -C -1.11072703 0.62648978 0.31169384 3.21679582 -0.30548711 -0.49672280 -O 1.07205021 -0.00312435 -0.40729117 0.69415752 -0.51442752 -0.70981245 -H 0.24939275 -1.06709950 1.12129076 -0.39821650 -0.23156067 1.00927110 -H -0.39050959 -1.39782591 -0.48750218 -0.99703028 -1.03525319 -0.55639735 -H -2.11729696 0.62093367 0.54544017 -2.99864222 -1.51450482 1.25013063 -H -0.67934919 1.25647935 1.12486386 0.14850723 0.31489077 -0.58545535 -H -1.23459327 1.17883471 -0.65998357 1.10461355 -0.16919201 0.25826138 -H 1.42285467 -0.58833737 -1.13616196 -0.53413108 0.58518497 0.93928030 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8117690979725 pbc="F F F" -C 0.23008141 -0.43224579 -0.36538279 -0.80372640 -0.14555498 0.62173558 -C -1.26319283 0.09643270 -0.36925250 0.21637635 -2.47331471 0.78421409 -O 0.97107730 0.25501098 0.68321542 -0.50122974 -1.99865810 -0.72201851 -H 0.27046522 -1.55973573 -0.19124002 -0.05790121 0.97765660 0.06603130 -H 0.70915640 -0.25452474 -1.36882899 -0.16859506 -0.06615852 0.21805281 -H -1.32010285 1.16417208 -0.47924761 -0.03352581 1.15788112 -1.22062320 -H -1.94120469 -0.56909172 -1.01869642 0.64680467 1.20821861 0.32906815 -H -1.70008995 0.05771590 0.66394941 0.34916148 -0.66371986 -0.10855875 -H 0.87716661 1.11365935 0.30311318 0.35263576 2.00364985 0.03209849 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.503636057265 pbc="F F F" -C 0.34822677 0.03794923 -0.45726523 -0.46993318 0.98501782 -1.09619252 -C -1.20500707 0.09158000 -0.47377835 2.12765996 2.70371823 -2.65448730 -O 0.75678776 -0.08110495 0.86492331 -0.14316360 0.92100191 0.72057551 -H 0.70851328 -0.83293767 -1.06538328 -0.11514468 0.13316504 0.03659673 -H 0.83781425 0.97898676 -0.98762097 -0.83350524 -1.16263674 0.72553769 -H -1.47637947 1.16052821 -0.76436076 -0.37554965 -1.20079999 -0.33301742 -H -1.58116691 -0.71516625 -1.05993728 -0.83132586 -0.56982170 -1.42611227 -H -1.64485134 -0.04637487 0.44091974 -0.81462001 -0.45614137 3.39774128 -H 1.35178032 -0.80260932 0.80153432 1.45558231 -1.35350326 0.62935829 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.648143308961 pbc="F F F" -C 0.43603783 0.24370500 -0.11710760 2.69895753 1.09684928 0.41662735 -C -0.80760505 0.60772925 -0.81716969 -3.29623749 -0.28863944 4.18313833 -O 0.30511888 -0.81200509 0.81287452 1.21494184 0.20684614 1.39874852 -H 1.21335877 -0.01325044 -0.87124661 0.24029806 -0.17410488 -0.23581349 -H 0.88483251 1.21893553 0.38203590 -0.69090769 -1.22064547 -0.56578147 -H -0.75962169 1.31699054 -1.56120043 0.81432300 1.85042172 -2.53882510 -H -1.46336457 -0.23415236 -1.13148359 0.33173721 -0.04896704 0.00216975 -H -1.42936903 1.22356056 -0.00321606 0.50342387 -1.28575477 -1.29750456 -H 1.13753839 -0.77009449 1.41498532 -1.81653626 -0.13600554 -1.36275934 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.582731260434 pbc="F F F" -C -0.32352065 -0.40638093 -0.01557753 1.51064528 -0.90508246 2.08184011 -C -0.97058287 0.95100296 0.32266272 0.07585009 -2.43532289 0.95202927 -O 1.14896587 -0.50580007 -0.33321231 -2.14781685 0.78619008 -0.32471224 -H -0.47885003 -1.06486833 0.87412339 -0.10188313 -0.16545733 -0.14503068 -H -0.82908224 -0.89417165 -0.81997017 -0.41740722 -0.51356996 -1.31888766 -H -2.07466592 1.03843391 0.24189094 0.17057095 -0.45378377 0.27367716 -H -0.55244012 1.26442630 1.26775749 -0.12963440 0.55524956 0.96191136 -H -0.56164911 1.53156674 -0.39879824 1.35279230 3.00828304 -2.78230351 -H 1.67839243 -0.33790090 0.46494366 -0.31311707 0.12349378 0.30147609 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.502090867254 pbc="F F F" -C -0.27506114 0.03197692 -0.54165133 1.60273683 -2.14699446 1.91216298 -C 0.30877408 1.25154532 0.16077528 -0.91580077 0.35708717 1.61123633 -O -0.06451145 -1.20514045 0.28844439 -0.01699212 0.15465900 -2.90582850 -H -1.33053184 -0.12791668 -0.71936409 -1.04894709 1.30153539 -0.45984170 -H 0.29122515 -0.01415351 -1.50495360 -0.22264696 -0.44702773 0.06132078 -H 1.39691012 1.28337120 0.17971202 0.76434207 -0.33991075 -0.66514482 -H -0.04908991 2.09699911 -0.42663494 -0.04868144 0.95244610 0.06145597 -H 0.14616812 1.44372183 1.31313088 -0.73863612 -0.49002775 -1.72764893 -H 0.16661675 -0.84844923 1.11807825 0.62462556 0.65823297 2.11228794 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.73645348458 pbc="F F F" -C 0.12953753 0.29866039 0.53237096 -0.45516224 -0.47497830 -0.45627861 -C -0.24775188 0.97131414 -0.78649921 1.08737188 -1.71260113 0.03944115 -O 0.05326533 -1.14625935 0.25594166 1.69319058 0.69050963 0.71525924 -H 1.20889706 0.68944739 0.84143562 -1.91436513 -0.79085957 -0.02982594 -H -0.70168185 0.47475734 1.28770264 1.01004382 0.26728673 -0.05235637 -H -0.45244293 1.99011516 -0.76371616 -0.38911731 2.75609383 0.49255483 -H 0.59822641 0.83920133 -1.45637013 0.61157849 -0.02817704 -0.60756140 -H -1.07887321 0.52208421 -1.31758177 -0.78589394 -0.68817893 0.06616983 -H 0.98803772 -1.45523800 0.37408844 -0.85764615 -0.01909523 -0.16740278 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.767928732115 pbc="F F F" -C 0.10337546 -0.08459133 0.55131902 -0.90611270 -1.36405404 0.22427216 -C -1.26598122 0.23132259 -0.00825287 0.48699647 0.72249484 -0.98467998 -O 1.06067393 -0.16737857 -0.50049926 -0.65646570 -1.29587438 0.97312698 -H 0.21679161 0.48495440 1.52398145 0.95196572 0.50458323 -0.91510719 -H -0.03878167 -1.09722582 0.98397515 0.58041434 -0.43991132 -0.11534626 -H -1.97994938 0.23310606 0.81217998 -0.63355207 0.59547093 0.46779644 -H -1.11129887 1.22102409 -0.54358844 -0.93003754 -0.54196101 0.32488327 -H -1.65232521 -0.54809847 -0.71079060 0.43338509 0.30338611 -0.08362752 -H 1.58181992 0.61313843 -0.59237302 0.67340644 1.51586570 0.10868211 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.781621854427 pbc="F F F" -C -0.03066397 0.28743638 0.47357889 1.79284385 -1.05445383 -1.49847491 -C 0.15406719 1.02351616 -0.92980495 2.02230882 -1.80606699 0.27529675 -O -0.17879996 -1.18589358 0.46226125 0.22902988 1.35357371 -0.50944621 -H 0.95110019 0.52399016 1.04068718 -1.46114963 0.11219943 -0.06858466 -H -0.97211576 0.68854628 0.85828909 -0.08475675 0.03487363 0.92745209 -H 0.58306888 2.04215326 -0.76130790 0.09034577 -0.34958355 -0.04500502 -H 0.87573014 0.37856982 -1.60110810 -0.78022044 1.16634360 1.01742860 -H -0.72295874 1.15926347 -1.53724659 -1.22911860 -0.08669490 -0.34946878 -H 0.65185983 -1.59132459 0.09947362 -0.57928290 0.62980885 0.25080215 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.59097876595 pbc="F F F" -C 0.34349483 0.00734614 -0.44702267 -2.35713871 -1.91052328 0.15608381 -C -0.73152703 1.18435342 -0.16480999 0.44984175 -1.70064555 -0.35299032 -O 0.40930927 -1.05698199 0.58224961 1.84051304 2.51267651 0.04992642 -H 0.19758941 -0.64874351 -1.39492612 -0.39868156 1.55464597 0.49317858 -H 1.27460464 0.53980703 -0.64616880 1.01887803 -0.30423236 0.74421830 -H -1.72682401 0.91082157 -0.55414588 -0.25961013 -0.22749545 -0.00714674 -H -0.89591328 1.42089889 0.93377571 0.68061736 -0.05819612 -0.84152806 -H -0.41498822 2.03057440 -0.79912147 0.03995655 0.44575369 0.36858242 -H -0.30874814 -1.67739186 0.50897649 -1.01437634 -0.31198347 -0.61032441 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.357808523002 pbc="F F F" -C 0.18049535 -0.39642777 -0.36660893 -0.06902684 3.78282890 1.23146617 -C -1.26896485 0.17141719 -0.33080059 0.41751274 -3.83457972 0.03700585 -O 1.03184330 0.22946339 0.58705557 -0.71621517 -0.70048855 3.09646877 -H 0.25750812 -1.43060267 -0.10615686 -0.31805081 -1.73439103 -0.91072762 -H 0.58852531 0.04395862 -1.29533357 0.12242317 -1.21627012 -0.62906781 -H -1.38996571 1.09559563 -0.82499604 -0.14762647 1.50393542 -1.06363375 -H -1.67179880 -0.72926058 -0.88475200 -1.00136660 1.06135195 -0.18221342 -H -1.82058326 0.20459916 0.62540414 0.34852225 -0.13184925 0.39876538 -H 0.62679596 -0.14690120 1.47767865 1.36382768 1.26946235 -1.97806351 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.749364853526 pbc="F F F" -C -0.33671114 -0.37086424 -0.17901166 0.85813492 -0.41173855 -1.87352916 -C -0.82438075 0.73102959 0.65167157 -2.64374065 -0.04215335 2.02993841 -O 1.07484121 -0.37304648 -0.40054879 -0.34968887 -0.65700105 0.17697943 -H -0.48379643 -1.40761089 0.07679859 -0.55320389 -0.81692460 1.31927256 -H -1.01670015 -0.30363834 -1.05438886 0.47896207 -0.07597726 -1.07434209 -H -1.94397250 0.47613152 0.98617475 1.87354119 0.51603729 -0.45425274 -H -0.21667099 0.81713289 1.57367268 -0.04392649 0.47628576 0.03560316 -H -0.92549347 1.66371876 0.05533892 0.37051928 0.09619606 0.32961399 -H 1.35996800 0.38250753 -0.91179502 0.00940242 0.91527570 -0.48928362 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.565705293187 pbc="F F F" -C 0.52397892 0.18156611 -0.18425184 -1.36742965 -1.98493705 -0.60069706 -C -0.76814587 1.04771982 -0.28811313 3.69022853 1.22042292 -4.54204517 -O 0.27201734 -1.16263829 0.41572708 -0.88625041 2.28841443 0.01628671 -H 1.06911799 -0.02683199 -1.14720261 -0.69349679 0.23116724 0.09390582 -H 1.24575363 0.72984673 0.38431101 0.94220339 0.73309540 1.15583056 -H -1.53956450 0.73259438 -0.97711958 -0.37825409 -0.93061609 -0.83659586 -H -1.27785730 1.18880721 0.58167905 -1.29775273 0.85639099 3.57016358 -H -0.41025101 2.06950534 -0.80333371 -0.78745404 -1.49154707 1.38716477 -H -0.49650416 -0.88871665 0.99141965 0.77820572 -0.92239072 -0.24401330 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.927223201521 pbc="F F F" -C 0.12144761 0.48392190 0.25696618 0.56175270 0.36055949 1.06162855 -C -1.20512382 -0.16089430 0.33270016 -1.26392800 -1.18745010 0.58026727 -O 0.99725597 -0.31118567 -0.50224372 0.78976721 0.67043445 -1.50077672 -H -0.00197559 1.50917682 -0.14322223 0.34924921 0.28896684 0.04757972 -H 0.55645133 0.49846243 1.30337183 -0.28817381 0.63164030 -0.41372242 -H -2.07528947 0.43373734 0.64447235 0.04334434 0.49685901 0.38565445 -H -1.51115703 -0.60859694 -0.60957283 0.02349187 -0.12204954 -0.91321357 -H -1.12004409 -1.02111928 1.01512210 -0.23469660 -0.26362419 0.23728333 -H 1.23439655 0.27717853 -1.26438804 0.01919303 -0.87533622 0.51529938 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.675463277025 pbc="F F F" -C -0.20006475 0.04519064 -0.53092691 0.17585704 -2.36184151 2.47416575 -C 0.33430663 1.24696007 0.14749106 1.45807932 -0.89268506 1.86633073 -O -0.10326202 -1.20893996 0.27619180 0.17063055 1.02154036 0.19340014 -H -1.24058045 0.30605623 -0.63738617 -1.34090938 -0.13788384 -0.50126038 -H 0.20586051 -0.20137997 -1.49463957 0.57430941 -0.22960967 -1.01426933 -H 1.42702847 1.46123416 0.26157776 -0.20094602 -0.60009702 -0.16948913 -H -0.08311242 2.03699038 -0.38119690 -0.96996334 2.52516910 -1.04594322 -H -0.12075643 1.20858933 1.16700375 0.15689782 0.46377240 -0.08606102 -H -0.14995084 -1.02042373 1.26960241 -0.02395544 0.21163529 -1.71687359 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8207605096695 pbc="F F F" -C -0.34838249 0.06377035 -0.42663516 -2.57905717 -2.27984685 -1.15518727 -C 0.93290033 0.78099396 -0.44219866 0.25868726 1.88546103 0.78535005 -O -0.58902495 -0.73458764 0.78043044 -0.72000950 1.66906334 -1.07447995 -H -1.26424798 0.74111957 -0.48209754 0.77582061 -0.46316567 -0.00939919 -H -0.41257737 -0.63672735 -1.40390687 0.00397590 1.06473136 1.55054342 -H 1.66529380 0.07403115 -0.17288062 1.82242173 -1.55937501 0.05276913 -H 1.26302426 1.28848582 -1.39238118 -0.48883846 -0.14896648 0.57001227 -H 0.97793727 1.43460255 0.46986147 -0.06852604 0.40924139 -0.62763632 -H 0.15422416 -1.30891821 0.94644589 0.99552557 -0.57714313 -0.09197214 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.352856429965 pbc="F F F" -C 0.16675782 -0.38294902 -0.33601712 -0.20367628 6.95286061 -0.73636059 -C -1.26983387 0.16940415 -0.37200130 -1.25150751 -1.85544113 1.32515036 -O 1.01522974 0.13964035 0.67055327 0.19545307 0.25579899 -0.08230299 -H 0.08328304 -1.33800339 -0.23648582 -0.20027245 -7.09758425 1.27250520 -H 0.52887455 -0.26614842 -1.37024769 0.64184547 0.34554414 -0.39309327 -H -1.24477571 1.25055059 -0.40546597 -0.18477435 0.96349115 -0.48287252 -H -1.75763639 -0.31883119 -1.32564372 0.25521025 0.98734539 1.63062035 -H -1.88217019 -0.06534728 0.66899731 1.22098959 0.19468785 -2.42528381 -H 1.30067230 1.06433629 0.46171738 -0.47326785 -0.74670276 -0.10836268 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.538255432028 pbc="F F F" -C -0.32665212 -0.54038395 -0.04693924 2.06643791 2.03185291 1.48779187 -C -0.90252741 0.86278838 0.50131738 2.46716175 -1.26701466 -0.07370625 -O 1.08236858 -0.24521476 -0.39681796 -1.26385822 -0.31944805 0.02019242 -H -0.25653273 -1.45846826 0.57087463 -0.58905150 0.37351503 1.10635069 -H -0.85942568 -0.90425443 -0.86670645 -1.43699590 -0.38531491 -2.49154548 -H -2.00421868 0.96104657 0.58790561 0.15612268 -0.27695280 0.14686049 -H -0.32854053 0.96235868 1.52241707 -1.14224397 0.51645828 -1.54852304 -H -0.51473734 1.61695367 -0.30225327 -0.48917527 -0.86739516 1.38977763 -H 1.42864316 -1.12855184 -0.62781023 0.23160248 0.19429936 -0.03719832 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548753000488 pbc="F F F" -C -0.20999918 -0.13206701 -0.58732670 0.32362903 -0.22925964 2.02784754 -C -0.08039970 1.26454094 0.00991373 -2.81357179 -1.77021685 1.05050348 -O 0.18919672 -1.05665079 0.49688350 -1.93370790 0.08284771 -1.26635471 -H -1.18357249 -0.46804613 -0.98351797 -0.25629449 0.10025398 0.29557468 -H 0.49729372 -0.19758498 -1.37821341 1.03363149 -0.31874100 -1.55907460 -H -0.73268171 1.34168656 0.91128750 0.41049008 -0.04087207 -0.00442394 -H 0.91700265 1.32597806 0.24113533 3.28248270 0.01641758 1.59808483 -H -0.15434975 2.18239373 -0.48027256 -1.04703095 1.82204851 -2.20213862 -H 1.11254788 -0.90798028 0.68287046 1.00037184 0.33752178 0.05998129 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.878165316848 pbc="F F F" -C -0.20951542 -0.47634586 -0.01983519 -1.04165652 0.95492830 -0.14805836 -C -1.02558511 0.81606916 0.45368029 1.29018977 -0.69177462 -1.01943179 -O 1.11853425 -0.32000452 -0.45037438 -2.23490287 -0.33703939 -3.18029288 -H -0.29507060 -1.18318191 0.83347636 0.08300280 -0.36434771 -0.07708926 -H -0.76874074 -0.86591872 -0.90292362 0.07634698 -0.29420650 0.30302322 -H -1.77901335 0.40027222 1.13067516 -0.67189253 0.27137093 0.09127975 -H -0.35925470 1.47541823 1.04883255 -0.08475212 0.09513501 -0.02861695 -H -1.45369961 1.38701471 -0.42550569 0.19422799 -0.32409342 0.76088296 -H 1.61745130 -0.18372817 0.29466677 2.38943650 0.69002735 3.29830327 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.550654098786 pbc="F F F" -C -0.44704982 0.09121122 -0.31320807 -1.17956632 -3.16845753 -0.05833429 -C -0.44918949 0.14325444 1.19822646 1.08010625 -0.95523760 -0.81510230 -O 0.82032302 -0.19668163 -0.75003022 1.66993279 0.22752738 2.90800700 -H -1.26413827 -0.54735292 -0.82302738 0.63969187 -0.48699868 0.97564219 -H -0.79889945 0.96099329 -0.68287332 -1.07847545 4.51320211 -1.43900332 -H -1.44951511 0.35837897 1.59352108 -0.03928061 0.38650178 0.31898803 -H -0.13274266 -0.88851056 1.49373654 -0.03764477 0.41460724 0.47325983 -H 0.39199867 0.86626529 1.41550569 -0.81353074 -0.32751464 0.52181811 -H 0.91068555 -0.42318798 -1.63731419 -0.24123301 -0.60363007 -2.88527530 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827501139199 pbc="F F F" -C 0.52126081 0.24048349 0.00366744 -0.33180252 -1.74540734 -1.96147362 -C -0.72870195 0.96976152 -0.50534315 -0.38319339 -1.36797539 -1.39033700 -O 0.16433065 -1.09921239 0.42920265 -1.18799733 1.17745792 -1.34636783 -H 1.33838729 0.17025202 -0.85330872 -0.94244806 0.48249945 1.51827976 -H 0.78562025 0.82412035 0.85607553 1.26877098 0.75501267 1.18092721 -H -0.97574643 0.69950358 -1.62741835 0.08811225 0.38515683 1.91000505 -H -1.56476203 0.70258151 0.20348813 0.25128541 0.11509717 -0.63626607 -H -0.55590988 2.04417450 -0.42731539 0.01754146 0.60520961 -0.17456665 -H 0.83482770 -1.41531606 1.01359926 1.21973119 -0.40705092 0.89979915 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712312660345 pbc="F F F" -C 0.11938025 0.36368872 0.34919954 -0.06019973 3.44360638 1.43231099 -C -0.83504304 0.62160830 -0.80424670 1.45165310 -1.22130650 -0.54402489 -O 0.59779858 -0.91258038 0.41020606 2.06279347 -2.02172626 0.78754413 -H 1.00672574 1.03316777 0.13276852 -0.49481056 0.23046996 0.47123159 -H -0.40631033 0.74064090 1.35361751 0.97536904 -0.54610157 -1.21123965 -H -0.86546762 1.63789644 -1.21168662 0.32894530 0.36474443 0.03405026 -H -0.41581020 -0.10533453 -1.53321243 -0.32294167 0.34754765 -0.63856212 -H -1.83548410 0.32405220 -0.61952874 -1.67209869 -0.57964548 0.45111650 -H 1.55418152 -0.88708537 0.78907226 -2.26871026 -0.01758867 -0.78242676 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5245496279 pbc="F F F" -C 0.44335792 0.35682132 0.22236445 -0.34497881 -2.16939648 0.73708421 -C -0.67356688 0.78993731 -0.63226337 0.92808232 4.58971359 -3.00776887 -O 0.26386077 -1.06451949 0.42518707 1.01519323 0.46944364 1.47990979 -H 1.48336233 0.49094874 -0.06635430 0.57504238 0.70086897 -0.83470671 -H 0.33715395 0.84416893 1.18350372 -0.00402697 0.31244025 1.03079345 -H -0.49750468 0.93029699 -1.76738488 -0.14392742 -1.25561896 1.06478082 -H -1.61004899 0.38878312 -0.37676190 -1.66789930 -1.50293218 0.33451020 -H -0.92749770 1.89181562 -0.50095049 0.39738300 -0.35224058 0.44179980 -H -0.23162270 -1.31488154 -0.33681102 -0.75486838 -0.79227820 -1.24640269 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.831645977303 pbc="F F F" -C -0.11464079 -0.18362125 -0.50878694 -1.19743231 0.66061433 -0.27033508 -C -0.20066019 1.30017318 -0.08739152 1.59542625 -0.31511163 -0.94583790 -O 0.23624621 -1.04146048 0.54393302 -1.29417149 -0.42484100 -0.30983583 -H -1.20778706 -0.50655329 -0.65737931 1.09468348 0.32549215 -0.83523343 -H 0.55170587 -0.17572023 -1.48569532 -1.04618542 -0.71978186 1.28288789 -H -0.70176590 1.40843752 0.87227892 -0.84383367 0.20888040 0.25487688 -H 0.83557025 1.72283998 0.09802060 -0.51173964 -0.17844110 -0.31226604 -H -0.63701873 1.80423739 -0.98868574 -0.10729670 0.38047141 0.75920285 -H 1.16543776 -1.02818786 0.63152727 2.31054943 0.06271740 0.37654060 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.48804779029 pbc="F F F" -C -0.33946905 -0.49175579 -0.03010940 1.61501627 -0.61648020 1.34967453 -C -0.85808930 0.90664504 0.29522384 -0.02173678 0.55907114 2.46013292 -O 1.06500154 -0.38463868 -0.30243265 -0.23394188 0.44331696 -2.18886684 -H -0.26729734 -1.22059083 0.85199137 -1.52829308 0.45639344 -0.61285406 -H -0.76184298 -0.99575383 -0.93325713 -0.58646832 0.33641739 0.40154382 -H -1.91344412 0.92524066 0.65606256 0.02730831 -0.11022210 -0.24224988 -H -0.26907873 1.57980010 1.13977293 -0.87282688 -1.94328146 -1.87094684 -H -0.79720155 1.43659749 -0.63131585 -0.00039837 1.05610746 -1.05416926 -H 1.37292551 -0.56513969 0.55824369 1.60134067 -0.18132259 1.75773558 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.767763073425 pbc="F F F" -C 0.28130335 0.15287007 -0.41023547 -0.00350580 -2.12750724 1.04453693 -C -1.22496618 0.05239217 -0.53328929 -1.23953398 0.27626230 0.67567992 -O 0.92062867 -0.15663505 0.84094794 -1.37749444 -0.72436799 1.09882276 -H 0.62226905 -0.62250748 -1.12863453 0.59828938 0.55941619 -0.59173440 -H 0.60822250 1.14714828 -0.59249038 0.63197567 1.40164415 -0.88554212 -H -1.58136101 0.81358114 -1.25588523 0.06170351 -0.09378652 -0.32656605 -H -1.53407185 -0.95810563 -0.94842007 -0.10767285 0.70777043 0.75353536 -H -1.79534033 0.38624178 0.41079644 0.60400947 -0.77140659 -0.72071332 -H 0.31058491 -0.72745539 1.40908231 0.83222904 0.77197532 -1.04801913 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.772414348973 pbc="F F F" -C 0.39239228 0.09775170 -0.35751036 1.99117830 -0.27840490 0.39864140 -C -0.70304675 1.09565131 -0.16690909 -0.35745339 1.08900026 1.36697667 -O 0.35937763 -1.08035104 0.45433843 -2.38158548 -0.42202019 0.86881961 -H 0.46412496 -0.22873074 -1.43038104 0.09567808 0.41063123 0.11694980 -H 1.36481102 0.53173496 0.01470332 -0.16335376 0.09505716 -0.92417398 -H -1.56761917 0.49888696 -0.28384055 -2.11646280 -0.91336332 -0.17397926 -H -0.78945098 1.51457032 0.89429539 0.38388234 -0.32641390 -0.89705393 -H -0.87503906 1.93519579 -0.88665358 0.74889848 -0.29984416 0.06362161 -H -0.60056284 -1.32504379 0.72902387 1.79921829 0.64535770 -0.81980197 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.656362607256 pbc="F F F" -C 0.52398244 0.04372273 0.31666175 -4.33543655 0.27894602 -1.59914587 -C 0.17381459 0.90018917 -0.93258368 1.99962602 -1.10903832 -0.73384348 -O -0.65937439 -0.81700877 0.58412784 0.94664662 1.76100546 -0.04704899 -H 1.35927203 -0.53969040 0.11875082 2.21821990 -1.63025520 -0.45310474 -H 0.72004449 0.62104193 1.17892878 0.30465428 1.27926901 1.56992461 -H 0.36239954 1.95268971 -0.76056059 0.33020072 0.86698466 -0.01921941 -H 0.80930181 0.53776600 -1.84079876 -0.87714453 0.66197593 1.09376401 -H -0.86724316 0.80469539 -1.21680126 -0.79687713 -0.27349260 0.03104464 -H -0.23328277 -1.65705969 0.58778516 0.21011067 -1.83539495 0.15762925 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.576290810395 pbc="F F F" -C -0.39574430 0.19501735 0.37603729 2.68645980 -2.28413241 0.85863629 -C 0.10418073 1.05706645 -0.72876693 -0.24317240 2.12447827 0.07572837 -O 0.29912821 -1.11790367 0.29747411 -0.95819257 1.10146899 0.19878568 -H -0.33408426 0.54387006 1.44183035 0.56016638 0.62080783 -0.36410140 -H -1.43994993 0.08944407 0.26392824 -2.16299156 -0.52948962 -0.60408002 -H 1.17529958 1.37591426 -0.78487013 -0.18591406 0.39168214 1.28297176 -H 0.18338493 0.54343597 -1.69734655 -1.35777870 -0.38857481 -0.39893302 -H -0.64769058 1.95487427 -0.64942967 1.47163336 -0.90507629 -0.98697017 -H -0.21182361 -1.68408384 0.90712945 0.18978975 -0.13116405 -0.06203750 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.555297866084 pbc="F F F" -C 0.17887365 -0.39003117 -0.43999312 -0.12805872 -0.02834287 1.91547672 -C -1.26622667 0.17384841 -0.31498219 1.52441951 -2.24261829 1.62150800 -O 0.98602160 0.14100454 0.68861615 -0.25654090 -0.12818033 -1.56117293 -H 0.08531981 -1.49624900 -0.15816463 0.43534864 0.87380019 -0.72154075 -H 0.61978596 -0.23708948 -1.48291798 -0.08990379 -0.17638514 0.86477696 -H -1.27098832 1.18413816 -0.57656772 -0.08140121 2.52024847 -0.77193254 -H -1.83303392 -0.39035956 -1.10990768 -0.64289942 0.17972696 1.15962813 -H -1.42051294 0.17556283 0.87780385 -0.64891627 -0.60810323 -2.48956548 -H 1.12395142 1.10033259 0.51544935 -0.11204784 -0.39014570 -0.01717816 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.452884498771 pbc="F F F" -C -0.14209113 -0.08484268 -0.43151933 0.81219186 -0.76565575 1.53386400 -C -0.09304676 1.38664088 -0.01255857 3.00416367 -0.64605386 -2.50860923 -O 0.17106906 -1.23249575 0.41208409 -0.01213582 1.09753890 0.97460676 -H -1.18937052 -0.14378281 -0.74147943 -0.35778795 -0.94098361 -0.35014267 -H 0.56299504 -0.25389981 -1.23626000 0.09257373 0.53045789 -1.39070287 -H -0.71628232 1.77043581 0.69948423 -2.28947722 0.69747172 2.77764241 -H 0.88800386 1.93264278 0.07290189 -0.07010789 -0.75483814 0.24656687 -H -0.46944904 1.77332472 -0.95492973 -0.36908034 0.85477433 -0.68689111 -H 1.00959548 -1.02870501 0.91079213 -0.81034015 -0.07271144 -0.59633410 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.463118835507 pbc="F F F" -C 0.19712841 0.44354565 -0.33971125 -1.12943720 -3.09544342 1.23645015 -C -1.28925305 -0.08210505 -0.26376666 0.33927080 3.22045929 0.68242547 -O 1.00641557 -0.28444189 0.58192822 0.51103444 0.24068295 0.24952451 -H 0.42063872 0.08733764 -1.32643849 1.11129153 0.82326808 -1.52393362 -H 0.28991076 1.48841988 -0.09813383 0.24486053 0.99325945 -0.15833399 -H -1.87602988 0.89691940 -0.21408218 -0.15684028 -1.00828760 0.52266297 -H -1.53819276 -0.39098401 -1.27243346 -0.52437266 -1.33742496 -0.26065128 -H -1.40503468 -0.70318168 0.66306061 -0.33880430 0.03674694 -0.81028441 -H 1.14636793 -1.17191870 0.20196284 -0.05700287 0.12673938 0.06214019 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.598557477354 pbc="F F F" -C -0.26997604 -0.45218507 0.00493087 0.50533265 -0.41079609 -0.73839254 -C -0.82034308 0.76226362 0.69159088 2.11604741 -0.56359968 0.71991638 -O 0.96774272 -0.23611765 -0.64542100 0.95339597 -0.09214832 0.20690944 -H -0.30309631 -1.35761742 0.64333064 0.09394331 -0.13079972 0.06272481 -H -1.02130358 -0.54159103 -0.76158749 -0.66927792 -1.07233380 -1.26961554 -H -0.29208483 1.61429935 0.24141088 -0.74958106 0.56468356 -0.32840799 -H -1.86627935 0.58024345 0.59644418 -1.57582477 0.98966597 0.09046558 -H -0.50431333 0.71675730 1.72407540 -0.00036494 0.39928947 1.13627870 -H 1.61709098 -0.96053279 -0.49848346 -0.67367065 0.31603867 0.12012116 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.848015931929 pbc="F F F" -C 0.16686884 0.41545207 -0.26269649 -0.31340092 1.08675610 -0.64535282 -C -1.27345647 0.02998160 -0.23981877 -0.29065570 -1.66420853 -0.98118349 -O 1.01820261 -0.34785207 0.48367804 1.49585804 -1.36477591 1.27415112 -H 0.44300762 0.56895239 -1.31567185 0.59246953 -0.03253712 -0.65962666 -H 0.24891936 1.41428809 0.20182245 0.00634451 0.37132142 0.01209334 -H -1.91230670 0.75936398 -0.77587647 -0.25145994 0.20202532 0.72173739 -H -1.46136434 -0.92656002 -0.79354263 0.30951701 0.11777117 -0.26510787 -H -1.47276986 -0.31829706 0.76800557 -0.95081355 0.62701416 0.98681739 -H 1.17741622 -1.28549057 0.22567993 -0.59785892 0.65663338 -0.44352845 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.366746454653 pbc="F F F" -C 0.02518397 0.27923329 0.52308910 0.38245322 -1.71527133 -1.71148039 -C -0.28358097 0.96468339 -0.77717603 0.80279453 -0.49596494 -1.40477642 -O 0.26291682 -1.09593174 0.21960733 -0.39115465 -1.51112361 0.82592912 -H 0.93611675 0.66613302 0.92733048 0.90601196 0.72969835 1.21243264 -H -0.84698345 0.32331207 1.12124084 -1.03322613 0.52762649 1.66911281 -H 0.54116661 1.64664931 -1.06877768 -0.35455725 0.62048500 0.19735635 -H -0.07457631 0.10495319 -1.57453613 -1.50959026 1.52953040 1.06221754 -H -1.27166552 1.47928260 -0.60527531 0.45447133 -0.27631922 -1.32277718 -H -0.37934110 -1.64832378 0.74183227 0.74279725 0.59133891 -0.52801452 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.826435736366 pbc="F F F" -C 0.17323720 0.23959305 0.42940503 0.90697170 -1.31012673 -1.19711329 -C 0.01044164 0.99376101 -0.88875583 0.94675913 1.39768012 1.99879509 -O -0.16503242 -1.12424866 0.36703286 -0.30658703 -1.27446480 -0.43111419 -H 1.22111934 0.34075350 0.74833181 0.69429085 0.23788760 0.09608946 -H -0.40157607 0.62150554 1.21234218 -1.45815902 1.80211006 1.68220163 -H 0.33128526 2.06963865 -0.59601198 -0.27849865 -1.18116792 -0.92057799 -H 0.58375760 0.57699274 -1.70168458 1.06543466 -0.25824189 -0.50544079 -H -0.97587717 1.02204706 -1.28601494 -1.76599746 0.08314426 -0.14838587 -H -0.32881107 -1.48358122 1.27065457 0.19578582 0.50317941 -0.57445411 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.635223630717 pbc="F F F" -C 0.34730349 0.38291194 0.06294402 2.10592719 -2.03796185 0.50224250 -C -0.78604537 0.64105016 -0.90667595 -0.05278785 1.30521042 0.01511069 -O 0.43697351 -0.92839273 0.71633937 -1.54339523 -0.49796983 0.97731336 -H 1.40621686 0.42056585 -0.35748032 -1.00005518 0.28907493 -0.34046122 -H 0.42002017 1.03956452 0.89803675 -0.37975237 1.74071034 0.86988055 -H -0.53055914 0.57021370 -1.98736358 0.19017063 0.26189199 0.21729537 -H -1.52909925 -0.11522741 -0.76198849 -0.98960632 -1.06146338 0.31084164 -H -1.31536281 1.62106496 -0.66676138 0.55612687 -0.62978237 -0.46517977 -H -0.16035923 -1.00258540 1.55882293 1.11337233 0.63028970 -2.08704299 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734345683588 pbc="F F F" -C 0.11431974 0.42188464 0.27978136 3.39372743 -1.01672967 2.34538136 -C -0.81346892 0.63702788 -0.81137515 -1.88114693 0.32412181 0.34199175 -O 0.66797858 -0.95218675 0.43465933 -0.03686228 1.41291073 -2.15913171 -H 1.06120374 1.07862062 0.29265303 -1.07300558 -0.27627140 -0.36350413 -H -0.39300230 0.63620710 1.21989018 -0.36749284 0.40359864 0.65989766 -H -1.25606764 1.65118196 -0.80414024 -0.23294398 0.05794718 0.48120742 -H -0.45147737 0.58352694 -1.78262037 1.47936189 -0.50987790 -2.49508039 -H -1.59339962 -0.12891836 -0.73762255 -0.61534773 -0.09806155 -0.00935152 -H 0.35980798 -1.32580307 1.24685104 -0.66629004 -0.29763784 1.19858956 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77677463312 pbc="F F F" -C -0.07548195 -0.51624480 0.20837308 1.31483663 1.97442422 -1.42365038 -C -1.19348872 0.53073377 0.33246369 1.36637693 2.17165988 -1.65006006 -O 1.15067980 -0.09306709 -0.51390944 -1.31397223 1.53865674 0.78454704 -H 0.25908320 -0.79980837 1.16178044 0.44168832 -0.50477256 2.45646082 -H -0.31611840 -1.45201450 -0.25094832 -0.90668019 -0.96629211 -0.90180569 -H -2.04739819 0.18018749 0.89979435 -0.66861977 -0.25295606 0.32937210 -H -0.81485501 1.52664881 0.80212146 -0.21860462 -1.44768352 0.02263441 -H -1.50636755 0.98253111 -0.68300804 0.01461817 -1.07029034 0.83758671 -H 1.28066978 0.86559141 -0.21692506 -0.02964324 -1.44274628 -0.45508500 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.409859358716 pbc="F F F" -C 0.24298163 0.41750049 0.20207602 -2.68561195 -0.41966126 -2.56143246 -C -1.09643405 -0.05402161 0.70753746 -1.27554554 1.00563777 -1.11395000 -O 0.84726854 -0.34023227 -0.80609477 0.38719865 -0.37687541 -0.52776667 -H -0.08363975 1.40967994 -0.06959086 0.98458655 1.67142213 -0.76715075 -H 0.74469185 0.42173217 1.11755386 2.32623044 0.15669213 1.50512975 -H -1.32691910 0.81846185 1.35175318 -0.56499481 -0.66188769 0.79026749 -H -1.98795699 -0.14629703 0.00062208 0.98560985 0.04814793 0.16908177 -H -0.87951740 -0.98348673 1.15273913 -0.48315848 -1.79314385 1.45912288 -H 0.25316174 -0.45220491 -1.59667315 0.32568535 0.36966830 1.04669804 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.829395204712 pbc="F F F" -C -0.00003641 0.55437508 0.09073096 -0.13848871 -2.23099032 1.08732288 -C -0.87070360 -0.05223710 -0.95765889 0.40996917 0.04753190 -0.56413972 -O 0.79013807 -0.43066336 0.84643522 -0.34626606 0.24575497 -0.73854650 -H 0.61638187 1.33248327 -0.28211313 1.30647103 1.19528621 -0.97964041 -H -0.74595953 1.10363841 0.67638500 0.20955989 -0.12839379 1.51663431 -H -1.50207292 0.73785672 -1.34953969 -0.53304298 0.57008565 -0.56229089 -H -0.25612096 -0.42208138 -1.77614755 0.16926488 -0.52024912 -0.70804863 -H -1.54445606 -0.83058591 -0.59673046 -0.11915751 -0.49199135 0.37276051 -H 1.26490123 -1.07025383 0.22275820 -0.95830971 1.31296579 0.57594844 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548106203033 pbc="F F F" -C 0.25203290 0.44724587 0.24385998 0.65186404 1.38358112 -2.37121411 -C -1.09280067 -0.10507624 0.80782944 2.81077967 1.05506334 -1.91114626 -O 0.74261968 -0.35752164 -0.89900589 -1.54116305 -0.96479321 1.19631013 -H 0.01190381 1.49474927 -0.20347339 0.27207963 -0.88119027 0.86061105 -H 1.16409642 0.57904898 0.86247739 -0.47796567 -0.05139349 0.89737434 -H -1.49352166 0.39853462 1.63436864 -0.26511548 1.08517816 2.08387416 -H -1.74674641 0.15812551 0.01737898 -1.43600012 -0.28791717 -1.36491295 -H -1.01581191 -1.14180024 0.95345180 -0.09041812 -2.11464827 0.35116550 -H 1.30987832 0.10759043 -1.52597627 0.07593915 0.77611974 0.25793820 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.796486559409 pbc="F F F" -C 0.33745359 0.08040309 0.45990517 -2.60059830 0.87378770 1.45082464 -C -1.28235948 0.17479142 0.36072597 1.83357060 3.17290307 0.30454799 -O 0.89326605 -0.20573205 -0.73496102 1.35440988 -0.50889194 -2.09162100 -H 0.79304392 1.08293970 0.64134282 -0.58186511 -0.01070664 0.80306732 -H 0.56091624 -0.60223676 1.32756595 0.29965410 0.06105806 -0.29309527 -H -1.79420075 0.65690649 1.23038375 0.38929965 -0.58525995 0.29251193 -H -1.54197863 0.93970012 -0.41946048 0.31329638 -0.46128748 -0.15272548 -H -1.76482697 -0.72254603 0.09387408 -0.72220908 -1.91381527 -0.34779293 -H 0.82649876 -1.13152361 -0.98611267 -0.28555807 -0.62778755 0.03428274 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.815651970144 pbc="F F F" -C 0.14578792 0.52167373 -0.06942606 -1.30447673 -0.54818771 -0.42937345 -C -1.31677552 -0.02028573 -0.29396400 0.82508034 1.06036871 -0.29059914 -O 1.07219552 -0.43035484 0.37936005 0.76061222 -1.23842121 -1.47890259 -H 0.45763967 1.03959835 -1.01114529 0.21985017 0.29936773 0.43981012 -H 0.10577814 1.10140696 0.82838291 -0.23880054 1.90634930 0.48475899 -H -1.21949116 -1.03945223 -0.63637019 -0.24171294 -1.06018194 -0.13031836 -H -1.88582297 0.07825445 0.62719677 -0.32316901 -0.48113234 0.65421089 -H -1.92451976 0.53267928 -1.04522879 0.38770444 0.11281223 -0.10182189 -H 1.39966481 -0.85739007 -0.45436885 -0.08508796 -0.05097471 0.85223547 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2546750833935 pbc="F F F" -C -0.06894165 0.38378541 -0.45508157 -0.91595216 -0.98632503 1.42526437 -C -1.28350840 -0.18731288 0.52762931 5.12649332 -1.13555365 0.73559831 -O 1.24578414 -0.11588215 -0.13328128 -0.34546588 3.47345885 -1.46705386 -H -0.18478069 0.06386398 -1.56905528 -0.67036092 1.26915372 1.29291391 -H -0.09473164 1.46222582 -0.08114464 0.19557324 -0.45152392 -1.59613449 -H -1.05048882 0.07379551 1.60825454 0.10952322 0.19780614 -0.76269071 -H -2.26310218 0.08610931 0.39117214 -2.96393844 1.23031874 -1.12822503 -H -1.24871311 -1.29066586 0.57239949 -0.09623529 -0.34004671 -0.34988561 -H 1.18195177 -0.89857279 0.32951118 -0.43963714 -3.25728809 1.85021310 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.553249673173 pbc="F F F" -C -0.17604298 -0.09053449 0.56796302 3.29145215 3.70149053 -1.83778551 -C -1.11972043 0.39790031 -0.51133370 0.28419395 1.26883552 1.43473894 -O 1.12992171 -0.33796700 -0.07498311 -1.00626301 -0.92101693 0.07315614 -H 0.11953352 0.68637212 1.33742815 -0.98256314 0.14519359 -0.40879855 -H -0.47932898 -0.85832255 1.16500133 -1.30647417 -3.34719070 1.66625102 -H -1.56584267 -0.36996666 -1.09538463 -1.24484069 -1.31340597 -0.33967904 -H -1.79498392 1.18021920 -0.08926101 -0.35159575 -0.52295274 -0.36375661 -H -0.50866236 0.87892277 -1.26015714 0.73293758 0.81152600 -0.42519371 -H 1.73306356 0.18335098 0.45780759 0.58315303 0.17752070 0.20106733 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.636947101639 pbc="F F F" -C -0.08586910 -0.03242527 0.59177247 -0.70682720 -1.16324861 -1.43494036 -C -1.18426984 -0.20183766 -0.55202139 2.00520259 0.28555838 -0.36105551 -O 1.13898385 0.15787307 -0.04875704 1.67779527 1.73658964 0.14929378 -H -0.43071311 0.71478116 1.30481556 -0.02185557 1.14577857 0.21038198 -H 0.02815144 -0.90331439 1.26368712 -0.36255683 -0.74925442 -0.11934026 -H -1.43375953 0.82914148 -0.86421676 -0.57070673 0.14014486 0.21767676 -H -0.70862842 -0.57272449 -1.58660802 -0.88999959 -0.19241957 2.28523033 -H -2.03540850 -0.74761975 -0.10407854 -0.26127832 -0.10765866 -0.66551444 -H 1.63494716 0.96375605 0.28666161 -0.86977369 -1.09549025 -0.28173227 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.626487567358 pbc="F F F" -C 0.25582258 -0.02644389 -0.48330098 0.92896524 1.13521097 1.47604347 -C -0.65049816 1.14032248 -0.13280320 -2.01729491 -2.56712555 0.65741099 -O 0.32200753 -1.03850049 0.55192615 1.49007249 1.00255337 -0.48377965 -H -0.12319100 -0.41258606 -1.40934092 -0.00923037 -0.95668596 -1.11984374 -H 1.19543131 0.54387616 -0.66368811 0.71154070 -1.04227055 -0.10722743 -H -1.63382248 0.72316581 -0.48886979 -0.18650578 0.88070392 0.72418482 -H -0.66330167 1.26198863 0.97978338 0.00984337 0.52612646 -0.52597157 -H -0.42111330 1.96649754 -0.76359027 0.31656754 1.52370757 -0.41440062 -H 1.23665311 -0.87301774 0.92633081 -1.24395834 -0.50222028 -0.20641630 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.56045685997 pbc="F F F" -C 0.40179177 -0.23550430 -0.28277432 -1.88717951 -0.45457911 -0.45195746 -C -1.18235189 -0.19294028 -0.72785477 1.35654045 2.35589218 1.17729475 -O 0.75663399 0.41534604 0.90107578 1.47776122 0.93074475 -1.86624995 -H 0.73575391 -1.26746640 -0.34964212 -0.30822369 -1.63155397 0.86275334 -H 1.14495667 0.05307934 -1.00370607 0.13175623 1.58215627 -1.38451751 -H -1.58799932 0.91982552 -0.56486742 0.68901130 -1.99336919 -0.36974903 -H -1.34500331 -0.47841263 -1.77583472 0.18556285 0.00696790 -0.35635409 -H -1.81390803 -0.87721986 -0.11969597 0.24743138 0.08218349 0.17171453 -H 0.15610479 0.16113697 1.55338454 -1.89266023 -0.87844243 2.21706542 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.512528430458 pbc="F F F" -C -0.32030684 -0.51250534 0.15582587 2.99539055 -0.01490510 -0.61917893 -C -0.76336509 0.87855037 0.36824339 -2.95365073 1.21935915 2.11642794 -O 0.96862907 -0.39350926 -0.50279323 0.70737407 -1.09639692 -0.04836756 -H -0.29328239 -1.05656731 1.16783089 0.08027156 0.21587612 -0.84796055 -H -0.83843630 -1.14312939 -0.58516571 -0.77750294 0.07178132 0.13884018 -H -1.94057877 0.74630860 0.41230736 1.61015081 1.12657155 0.11698076 -H -0.39747149 1.23134420 1.42805196 -0.64942082 -0.29745380 -1.57748087 -H -0.45090138 1.67177808 -0.38246588 -0.41042421 -0.95111417 0.24612418 -H 1.45740615 0.43325783 -0.30439241 -0.60218825 -0.27371814 0.47461485 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718879740696 pbc="F F F" -C 0.02108791 -0.39465636 0.37433344 0.45085291 -0.25392239 -1.68953067 -C -1.12182142 0.62188953 0.33508156 -1.31121981 -1.78455939 0.94348899 -O 0.97494471 -0.18828483 -0.69073758 0.00088852 -0.03153279 0.09490526 -H 0.61499683 -0.10858351 1.27025086 -0.52770532 -0.93915571 0.67296771 -H -0.35503344 -1.52183845 0.24613795 0.35762833 1.84118539 1.00885355 -H -1.73490686 0.23913758 1.21143554 0.03487332 0.58039166 -0.38514614 -H -0.83273647 1.64705127 0.59437434 0.24904341 0.30934212 -0.29185841 -H -1.85076339 0.55569966 -0.52058447 0.76239415 0.16438914 0.10538894 -H 1.79823595 -0.53198289 -0.29073449 -0.01675553 0.11386186 -0.45906929 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4210.006752007927 pbc="F F F" -C -0.14545018 -0.17109536 -0.49833686 -1.41526961 -0.61648595 -0.15547636 -C -0.19705490 1.26728310 -0.10053143 -0.36671019 1.14670232 2.47197141 -O 0.27862561 -1.04531840 0.51715204 0.07918676 -0.09924750 0.59379154 -H -1.19069454 -0.50495026 -0.77832507 0.50090490 0.12314884 0.18156406 -H 0.43723805 -0.33641390 -1.38861990 0.81816119 0.02512354 -1.23981490 -H -0.85743073 1.31321882 0.87812457 1.26703235 0.14792626 -1.30273475 -H 0.81705924 1.73702119 0.08758575 -0.43303892 -0.53827282 0.25731455 -H -0.65079908 2.00615888 -0.77058958 -0.42225869 -0.18519837 -0.71371266 -H 1.10223183 -0.68608150 0.89904709 -0.02800781 -0.00369632 -0.09290294 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5256994217 pbc="F F F" -C 0.15179801 0.53965878 -0.16457285 -1.68354807 -1.45816062 4.36898154 -C -1.29984923 -0.07334659 -0.39903204 1.94676371 -0.42192249 0.59258225 -O 1.01448488 -0.40141860 0.55468393 1.37123066 -0.27856004 -1.76467751 -H 0.51225346 0.78184791 -1.10980415 1.22618054 1.00753725 -2.09610840 -H 0.09620055 1.37743174 0.59730441 -0.12220205 0.13670858 -1.15026469 -H -1.25563638 -1.16142007 -0.18486850 -0.01854213 0.10129394 0.11295292 -H -2.18410793 0.36111629 0.05190330 -0.26165370 0.53770918 0.88430562 -H -1.45037406 0.03392487 -1.43943099 -0.56060676 -0.06835655 -1.97903960 -H 1.85766335 -0.57915305 -0.00384037 -1.89762220 0.44375070 1.03126787 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625807874839 pbc="F F F" -C -0.07266193 -0.51504354 0.21674360 1.08972475 0.56604274 -2.12840836 -C -1.12390911 0.54024142 0.29463555 1.17963384 0.59149410 1.25678162 -O 1.06804639 -0.06717809 -0.54006328 0.66219335 0.32063215 0.36989312 -H 0.22446274 -0.67057868 1.21752099 0.55360287 -0.63920911 2.06215188 -H -0.37011296 -1.51409037 -0.15777896 -0.14450283 0.09751730 -0.46477817 -H -1.83196271 0.14926964 0.95770794 -2.24277641 -1.01065302 1.29247183 -H -0.65097092 1.25307772 1.02982467 -0.38277337 0.70180264 -1.09625181 -H -1.65122654 0.93807003 -0.56850963 0.26063246 0.35312443 -0.66787569 -H 1.58377441 0.60883365 0.00021880 -0.97573460 -0.98075133 -0.62398443 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.581145284137 pbc="F F F" -C 0.51802836 -0.34014589 -0.11176547 -3.75730226 0.84263553 -0.75194370 -C 0.23020235 1.04360921 -0.65168071 0.52770738 0.46920412 1.70157557 -O -0.65865295 -0.68170402 0.64416608 0.25352315 -1.01179119 0.14708289 -H 0.55407654 -1.11346819 -0.86228881 0.40298981 -0.60804559 -0.83206855 -H 1.39814412 -0.22950801 0.40326503 2.93386927 -0.56069670 2.05462441 -H 0.39504922 1.75199467 0.24787370 -0.03788260 -0.29934469 -1.50970385 -H 0.66763973 1.30913380 -1.59584499 1.18890298 0.60817378 -0.69752592 -H -0.80803361 1.02521451 -0.85670243 -1.88979000 0.23537326 -0.27326028 -H -0.66880787 -0.30645948 1.53590436 0.37798222 0.32449148 0.16121943 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.640307937219 pbc="F F F" -C -0.27074338 0.32825246 0.39398352 1.00923654 -0.20856590 0.98455569 -C -0.89175445 0.00480132 -0.95478183 -0.84182913 1.45573457 -0.14828971 -O 1.04127462 -0.34021105 0.50902871 -2.70396167 -0.80281798 0.10816429 -H -0.24539934 1.37212058 0.78206338 0.49082551 0.45313389 -0.89597838 -H -0.94909763 -0.02151714 1.20039676 0.11002839 -0.90595890 0.02196396 -H -1.88227269 -0.42024603 -0.76030059 -0.20956894 -0.71487187 -0.31154160 -H -1.10576589 0.80140461 -1.71796553 0.38744363 0.26256423 0.63256960 -H -0.17849783 -0.63834893 -1.43975730 0.28127338 -1.14492044 -0.43994938 -H 1.68393608 0.33668350 0.53808552 1.47655229 1.60570234 0.04850552 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.69038041583 pbc="F F F" -C 0.05407292 0.49710157 0.24109632 0.66493610 -0.93492866 -0.60342022 -C -1.28770611 0.00846018 -0.32255048 1.32852241 2.50697668 1.54035598 -O 1.14563682 -0.48900667 0.13321489 -1.38937937 1.72507253 0.29582768 -H 0.18739252 1.48552640 -0.27424222 0.90669449 -0.32840691 -0.44449236 -H 0.00078302 0.85758978 1.25991251 -0.14567120 -0.34900500 1.18075927 -H -1.83979295 -0.65824360 0.28197880 -0.72500788 -1.53084496 0.92121223 -H -1.78701906 0.98594010 -0.27030397 -0.99474025 0.04371247 -0.57780447 -H -1.13892202 -0.30389744 -1.32196737 -0.13563073 -0.59806466 -1.74967815 -H 1.09153701 -0.63055121 -0.81933160 0.49027647 -0.53451155 -0.56275996 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.920953388768 pbc="F F F" -C 0.20225204 -0.41938273 -0.36087022 -0.23305680 2.91247836 -0.63579973 -C -1.24939123 0.16375266 -0.36245954 -0.31886040 -3.05364133 -0.48372134 -O 0.96563392 0.17588694 0.69666264 -0.33897420 -1.96891943 0.24171561 -H 0.34936325 -1.47474625 -0.23643804 -0.42710692 -1.27983547 -0.03911724 -H 0.60480079 -0.09240407 -1.38209350 0.09028535 -0.61382275 0.63060219 -H -1.22641974 1.22437057 -0.52645483 -0.03235616 1.20640541 0.28725161 -H -1.86802351 -0.25780120 -1.21236347 0.56327644 0.19550742 0.13138372 -H -1.84377613 -0.19949589 0.50780472 0.30478639 0.67633123 0.24851942 -H 1.13300693 1.05276900 0.41042423 0.39200641 1.92549657 -0.38083429 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.587348842915 pbc="F F F" -C -0.30164240 -0.20937469 -0.40957369 -0.58878611 2.13598689 -2.87154530 -C -0.90782642 0.16516813 0.89553495 -0.94461935 4.00303208 -1.62636553 -O 1.08387339 0.06141695 -0.43621440 1.19628781 -2.07194845 0.42101623 -H -0.53880367 -1.20153838 -0.88166249 -0.13446997 0.14347177 0.51110175 -H -0.62977594 0.59081015 -1.16329667 -0.60564536 -0.94831305 0.35260511 -H -2.03773571 0.30949596 0.84525303 0.93330223 -0.29092772 0.13296146 -H -0.61886317 -0.52331440 1.59676512 0.71420097 -1.99660292 2.82195220 -H -0.40959778 1.23463915 1.08647719 -1.04292716 -1.96998808 0.17793629 -H 1.44120351 -0.85971723 -0.35010194 0.47265690 0.99528944 0.08033785 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.845829283939 pbc="F F F" -C -0.00672687 -0.43065579 0.42046206 0.18486125 1.95990555 -0.72797556 -C -1.09599997 0.63873849 0.20696785 -0.72398073 -0.39897081 0.27353904 -O 1.05043966 -0.27152033 -0.54251480 -0.65599565 1.10742109 -0.37591747 -H 0.38007079 -0.13039796 1.41761294 0.10722764 -1.04656800 0.41294764 -H -0.42544729 -1.44377228 0.31193643 0.03173087 -0.27130171 0.43531100 -H -2.09057026 0.29562271 0.55124962 -0.02007811 0.03030190 0.51356553 -H -0.89317525 1.63397777 0.63997468 0.24809323 -0.04493909 0.39297638 -H -1.32566489 0.86139236 -0.82763457 0.17551765 -0.15840834 -1.26936974 -H 0.81997339 0.61208731 -0.95811236 0.65262385 -1.17744059 0.34492317 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.519493407936 pbc="F F F" -C 0.20598877 -0.24969538 0.43648876 -3.32356303 -0.55069207 2.06599028 -C 0.67859846 1.15872061 0.09487838 -1.10880707 -0.76775660 -1.49728233 -O -0.77537517 -0.86563811 -0.46576283 0.43816040 0.77531015 -0.03694065 -H 0.96158905 -1.05790991 0.54599161 0.31624585 0.44256887 -0.15794261 -H -0.26151950 -0.15124463 1.55322997 0.53756263 -0.46984957 -1.83461550 -H 0.00267441 1.56275314 -0.75809293 1.04068516 -0.17957002 1.14057569 -H 0.74238094 1.83044361 0.95476507 -0.17093260 0.29404287 0.22231195 -H 1.66345998 0.93917149 -0.26145299 1.38446779 0.74972884 -0.90870052 -H -1.34257826 -0.21614704 -0.97303376 0.88618088 -0.29378237 1.00660373 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.676616113712 pbc="F F F" -C -0.04172973 -0.46996233 0.17992543 0.15942429 0.07421132 3.05063900 -C -1.25587845 0.56105223 0.30901613 1.56919765 -2.28556683 -1.32211877 -O 1.17741581 -0.02684858 -0.42148712 -0.47544943 -1.20010739 -1.38108000 -H 0.18022446 -0.63890524 1.32971734 -0.01356571 -0.14409238 -1.46606990 -H -0.34265716 -1.49418679 -0.18758398 -0.18700632 0.65469981 -0.07070423 -H -2.01113681 -0.03003467 0.89886953 0.19486763 1.01263251 -0.08390273 -H -0.87216350 1.52722656 0.64663784 -0.15852754 0.22252993 0.76779188 -H -1.58169107 0.71540243 -0.71683572 -0.79609593 0.26786780 -0.61222090 -H 1.39929451 -0.74026024 -1.10665572 -0.29284469 1.39782529 1.11766561 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.367782497836 pbc="F F F" -C -0.42510447 -0.20873845 -0.32326434 3.23723127 3.07706568 0.35697183 -C -0.76507654 0.48277881 1.05912046 2.76685637 1.86552068 -3.97709592 -O 1.04577274 -0.31557565 -0.64212260 -1.79206218 -1.32872008 1.07755438 -H -0.64488514 -1.17983050 -0.54933716 -1.37333866 -3.69462203 0.58007285 -H -0.88537548 0.25402793 -1.19019119 -0.63278521 1.15365762 -0.41560025 -H -1.76158926 0.36444734 1.31366650 -2.64298994 -0.29327735 0.87702780 -H -0.06471119 0.16965443 1.78434849 0.93522726 -0.94848393 1.46422456 -H -0.50442226 1.61556996 0.91275824 -0.67694793 -1.44943953 0.23399237 -H 1.44236091 0.51838966 -0.84712318 0.17880908 1.61829895 -0.19714763 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.834515423995 pbc="F F F" -C -0.29596672 -0.48871031 0.07557190 -0.26779946 -0.29225760 -1.02586701 -C -0.92203033 0.90115165 0.19397289 0.78572574 -0.32933431 -1.62007584 -O 1.13181711 -0.41414779 -0.20416398 -1.63600753 -1.77255547 2.33741885 -H -0.43905711 -1.04262997 1.01991700 0.20941776 -0.11027290 0.10985484 -H -0.93507268 -1.03335822 -0.73082651 1.07462034 0.08018389 0.72881307 -H -1.77008565 0.79675552 0.82590933 -1.55719394 0.23428455 0.76792100 -H -0.17478652 1.48833575 0.71075793 0.40887475 0.92272681 0.36550614 -H -1.20945153 1.36880089 -0.81613850 0.34999832 -0.41173310 1.09754960 -H 1.07547558 0.07982850 -0.98076868 0.63236401 1.67895819 -2.76112065 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.517437121621 pbc="F F F" -C 0.48385016 0.27811214 0.10278094 0.14350730 -1.50905989 -0.77523137 -C -0.71140458 0.97241164 -0.46981107 -1.10545189 -2.61143560 0.50382645 -O 0.19638409 -1.10695546 0.30591882 0.20291390 -1.05739008 1.93253857 -H 1.24689895 0.21019177 -0.72573432 0.48778502 1.04574566 0.90794718 -H 0.68824150 0.72021557 1.08152375 1.13787356 0.54934569 0.12665793 -H -1.31468135 0.12818524 -0.91746425 -0.18098454 0.48000553 0.56556724 -H -1.27229816 1.54306345 0.26054301 -0.56790438 0.50298714 0.15924647 -H -0.41771869 1.45203179 -1.33788573 0.60304551 2.23692607 -2.03463921 -H 0.66285027 -1.38542863 1.15661903 -0.72078449 0.36287549 -1.38591326 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.572141464723 pbc="F F F" -C 0.17255546 -0.01367816 -0.58930178 -0.76353444 1.82272918 2.25876852 -C -1.32927151 -0.33149972 -0.05814276 1.22783392 0.97892955 -3.07101577 -O 1.06466227 0.36456392 0.57402308 -1.15658621 0.20977386 -2.35873104 -H 0.43154950 -0.92686747 -1.09111122 0.95325533 -1.11755793 -0.46842620 -H 0.29063365 0.82468493 -1.42088537 -0.52898064 -1.10774444 1.77215999 -H -1.73616592 0.34030074 0.65887222 -0.05764456 1.35875603 1.19067668 -H -1.99581134 -0.15137713 -0.97205733 0.32888303 -0.81223804 0.77118574 -H -1.42027436 -1.32567583 0.38124818 0.03803419 -0.66418081 -0.18174306 -H 1.31283421 -0.43625239 1.04726033 -0.04126061 -0.66846746 0.08712520 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.695120629177 pbc="F F F" -C 0.13765510 0.30181795 0.46016740 0.51998383 -0.63306891 -3.38026055 -C -0.47385875 0.88987166 -0.83749015 -2.32242258 -0.32504910 0.90248775 -O 0.30134172 -1.09708724 0.43118068 -0.86329986 0.16527746 2.17246258 -H 1.10549148 0.76929874 0.53246678 1.25434267 0.69646482 0.37262332 -H -0.44707526 0.65524036 1.25575912 -1.26018720 0.20096952 2.01303320 -H -0.09580092 0.51961710 -1.75915854 1.21654014 -1.15540139 -1.26512161 -H -1.63013792 0.65790008 -0.99894906 1.78302162 0.87522032 0.70080793 -H -0.16745122 1.94175216 -0.91337635 -0.68825107 0.63285365 0.19595659 -H 0.45690925 -1.33111814 -0.46482003 0.36027240 -0.45726638 -1.71198916 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.713439737367 pbc="F F F" -C -0.06064687 -0.19559472 0.56278571 -0.45941258 1.25587880 -0.20120535 -C -1.10172178 0.65666044 -0.24876807 0.44800552 -2.31524704 -0.28198558 -O 1.01984317 -0.42073173 -0.31693408 1.72494192 -0.93741831 0.42474171 -H 0.33682310 0.31542538 1.45035901 -0.17691191 0.55551171 0.51504613 -H -0.64109898 -1.06226543 0.97302857 0.49649263 -0.47547046 -0.27830206 -H -1.79320480 1.21246118 0.39542916 -0.68090646 -0.37380284 0.26674310 -H -0.55167681 1.45338780 -0.77040829 0.13043236 -0.14120406 -0.64077404 -H -1.58994565 -0.18725946 -0.94740279 0.53041814 2.27347946 0.94424916 -H 1.90065575 -0.54891987 0.18794355 -2.01305958 0.15827279 -0.74851312 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.54430797111 pbc="F F F" -C 0.06991801 -0.27471712 0.46772807 0.07522084 -0.34787845 -0.79796929 -C 0.85158339 1.03904678 0.16561798 -1.18211048 -2.24425983 -1.89093054 -O -0.88616344 -0.66641007 -0.55458983 1.79580818 -0.60038786 -0.61063633 -H 0.73989184 -1.16739405 0.61563995 0.14504554 0.51120876 0.07021017 -H -0.37073466 -0.07837970 1.45774689 -0.90252123 -0.44732387 0.07065106 -H 0.78666882 1.21661216 -0.96960570 0.74981888 0.02595154 1.34121729 -H 0.41837809 1.82041014 0.72535705 -0.96452474 1.71237220 0.57507940 -H 1.76942457 0.81431513 0.65806071 1.98088581 0.31428831 -0.14346766 -H -0.25891185 -1.13671150 -1.23099799 -1.69762275 1.07602910 1.38584595 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.851597048173 pbc="F F F" -C -0.24620795 -0.51775348 0.04288924 0.29171700 1.84474698 -0.73941563 -C -0.99075196 0.80096044 0.48184947 0.86540755 -1.55277884 0.18036758 -O 1.10669723 -0.27693968 -0.52773774 -0.13222437 -0.00351460 2.38135275 -H -0.22528188 -1.15972999 0.91282684 0.23620748 -0.90378318 0.64308536 -H -0.90586618 -0.97498201 -0.72780165 0.60701123 -0.23902757 -0.19686681 -H -2.08129565 0.62920368 0.64668300 0.32805246 -0.14067220 0.40582213 -H -0.44507461 1.17147384 1.38077712 -0.51404638 0.39513642 -0.16365859 -H -0.94610477 1.48025794 -0.35253045 0.29546156 0.98392372 -0.62678816 -H 1.77534549 -0.12647738 0.26418730 -1.97758647 -0.38403064 -1.88389862 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.547815671478 pbc="F F F" -C 0.38999375 0.04581999 -0.32305977 0.12432630 0.23147629 -1.80778942 -C -0.80622720 1.05155454 -0.35583486 2.00314293 0.34172256 -0.41293489 -O 0.35671820 -1.00692916 0.57906925 -1.98247028 -1.22022468 -0.17611975 -H 0.28630817 -0.46720569 -1.33107027 0.89483686 0.50309950 0.32518321 -H 1.35831839 0.54787004 -0.17112554 0.30126197 0.48807705 -0.64114248 -H -0.57451619 2.16074896 -0.53019292 -0.18113973 -1.31516003 -0.29122566 -H -1.55733298 0.58109151 -0.96321939 -0.91014733 0.24618265 -1.00777873 -H -1.18027282 0.96696438 0.60711204 -1.24965801 0.19340456 2.81434693 -H 0.96406161 -0.88402434 1.28648527 0.99984728 0.53142216 1.19746085 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.631880299736 pbc="F F F" -C -0.14792880 0.52872514 -0.13883519 1.45216100 -1.60355094 -0.06057254 -C -0.71453998 -0.20322116 1.10193899 0.75095248 -1.16811468 -1.59383762 -O 0.78424478 -0.25012449 -0.93526608 -0.51128106 -2.09146925 1.13585833 -H -0.88291789 0.98142382 -0.82761896 -0.62833653 -0.22487200 0.08068207 -H 0.48084102 1.35158238 0.19279560 0.05134469 0.95038027 0.67669360 -H -1.30221410 0.51813259 1.55343305 -2.47888413 1.68312774 1.25279008 -H -1.23716544 -1.19599604 0.99586483 -0.13344344 0.74746946 -0.57984001 -H -0.04306512 -0.40129720 1.92800185 1.47138941 -0.10887304 0.19100860 -H 0.81218080 -1.16376186 -0.47308405 0.02609758 1.81590244 -1.10278251 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639599324159 pbc="F F F" -C -0.21372394 -0.44904416 0.01880318 -0.73007548 -1.06309310 0.63394123 -C -0.95593267 0.81284895 0.49844179 -1.40068616 -0.70756485 -0.43752868 -O 1.07263859 -0.32020573 -0.52343571 1.19194316 0.02428305 0.42977305 -H -0.29888894 -1.23640925 0.85408728 0.61728516 0.87661920 -0.05522587 -H -0.91536112 -1.03573662 -0.66460482 0.79612570 0.83770308 -0.44820190 -H -1.97836331 0.31993980 0.72211532 1.00706016 0.99153933 0.85223676 -H -0.41622518 1.38156632 1.29078854 -0.45587454 -0.45254511 0.33425736 -H -1.29873887 1.59902693 -0.22370133 0.73412810 -0.44176319 -0.44234852 -H 1.81793291 -0.28227396 0.16646576 -1.75990610 -0.06517841 -0.86690331 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.706187296199 pbc="F F F" -C 0.17778499 -0.57408102 -0.03572282 -1.37255324 0.97583014 -0.25897677 -C -1.16686428 0.10749910 -0.71021459 1.37576079 -0.20665136 1.81474960 -O 0.89800118 0.43850746 0.63769974 -0.90054533 1.53057566 -1.67861561 -H -0.24358854 -1.25365811 0.71789253 0.09025897 -0.89608719 0.00409891 -H 0.85375777 -1.08853809 -0.78818482 -0.71292508 0.03385218 0.24702442 -H -0.81461942 0.87649516 -1.43276069 -0.34345795 0.33763424 0.46499866 -H -1.80503645 -0.57078974 -1.28009909 0.06379495 -0.80795592 -0.30212138 -H -1.86408275 0.45771882 0.15881911 1.26358250 0.09853093 -1.28028876 -H 1.40423336 0.17651298 1.39054648 0.53608439 -1.06572869 0.98913087 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.440918204641 pbc="F F F" -C 0.46702359 -0.31226172 -0.35382472 -3.25301327 1.17896690 0.96885756 -C -0.36952067 1.08867868 -0.73116451 3.14911938 -3.00767580 -0.44914179 -O -0.09316639 -0.75183704 0.93951146 0.79586715 -0.13184683 -0.60174150 -H 0.20027548 -1.16913664 -1.08758386 0.81421157 1.15908728 0.88142948 -H 1.50731472 0.00725051 -0.26160932 0.79053283 -0.55764660 -0.23788610 -H -0.94782128 1.20931434 0.11965010 -1.75008084 0.56425490 2.03257976 -H 0.34871186 1.88848552 -0.83376038 0.32868310 0.82600106 -0.42482028 -H -0.96104553 0.87736914 -1.58665371 -0.93165682 0.20774227 -1.36349169 -H 0.16858648 -0.13245045 1.66557354 0.05633685 -0.23888308 -0.80578534 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.67331867567 pbc="F F F" -C 0.24960765 0.14402885 0.51637530 1.26340211 0.29881592 1.22319282 -C 0.32306163 0.92579264 -0.75348579 2.54573325 0.64987344 -1.79006767 -O -0.52837214 -1.00270316 0.29442881 0.62119195 -0.56235182 2.65899804 -H 1.36909563 -0.09983893 0.84950156 -1.82131003 0.13326428 -0.21210143 -H -0.23266004 0.79344620 1.36836981 0.69982135 -0.83546899 -1.04669928 -H -0.66922625 0.99728257 -1.17565960 -0.84241123 0.45536232 -0.52264667 -H 0.82814712 1.91233016 -0.69673836 -0.63932636 0.43303856 0.62059370 -H 1.06110680 0.56341866 -1.59467767 -1.27930192 -0.56586518 1.21419884 -H -0.79438485 -0.99995023 -0.59894282 -0.54779906 -0.00666852 -2.14546835 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.414216583786 pbc="F F F" -C 0.18492504 0.54732119 -0.03668897 -1.55102385 -3.58253229 -1.45084217 -C -0.99302734 -0.04515015 -0.80030381 -0.27335942 -0.78775228 0.26901132 -O 0.78917440 -0.45987453 0.70960986 1.29852719 -0.60237430 1.73065609 -H 0.67770487 1.16067946 -0.73028172 2.49329101 0.85215407 -1.27073047 -H -0.24210162 1.15948904 0.61838010 -2.09968419 3.75305181 3.18791734 -H -1.47852428 0.68792744 -1.45475926 -0.21621874 0.18615739 -0.33658117 -H -0.73012759 -0.96818270 -1.35337803 0.31811992 0.19795295 -0.35838429 -H -1.72165290 -0.42443939 -0.06256932 -0.35903359 0.12060170 0.11102413 -H 0.59627532 -0.30113090 1.69238985 0.38938167 -0.13725906 -1.88207072 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.887930032803 pbc="F F F" -C -0.34160523 0.24378890 0.44050569 2.29032178 0.36751474 -0.04999867 -C -0.91238556 -0.10832884 -0.91402486 1.10220808 0.96552253 -1.24388064 -O 1.13991571 -0.08071831 0.47711140 -2.32269959 0.90103559 0.38185024 -H -0.33294270 1.35896022 0.61740059 -0.31317204 -0.64540296 -0.05566857 -H -0.94283082 -0.22468322 1.23090851 0.15748115 -0.39257056 0.67847399 -H -0.54256795 0.73930947 -1.58304012 -0.70162174 -0.86630239 0.04906536 -H -0.47216280 -1.04438614 -1.36745901 -0.29089240 0.28455822 0.49581808 -H -2.01096023 -0.19829031 -0.93076227 -0.17100182 0.15557005 -0.05552099 -H 1.14883910 -0.96529270 0.10208402 0.24937662 -0.76992523 -0.20013880 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.257463968278 pbc="F F F" -C -0.18924948 -0.12184066 -0.45337846 -3.43520345 1.12964212 -0.31751788 -C 0.90197486 0.91374168 -0.44566150 0.69289582 -1.60054975 3.19529404 -O -0.64640607 -0.79002032 0.77840456 2.47287135 1.30757902 1.06342719 -H -1.09274346 0.57138605 -0.66009340 0.51599374 -0.82469021 -0.47508356 -H -0.13945205 -0.77249433 -1.40423978 0.10858333 -0.12414560 1.55946777 -H 1.88706031 0.40300599 -0.09909357 -0.76678303 1.27742383 -0.90149921 -H 0.79629293 1.44921477 -1.35182058 0.84534759 0.51859677 -1.93973318 -H 0.56538434 1.70609494 0.26877114 0.56753136 -0.25957095 0.37328569 -H -0.24978856 -0.25478732 1.60361386 -1.00123671 -1.42428519 -2.55764080 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.750158454271 pbc="F F F" -C -0.15821488 0.30157728 -0.49723376 2.08460883 -2.87817772 1.23870424 -C -1.13315790 -0.07210274 0.58774920 -0.78613331 1.14505727 -1.98510119 -O 1.20597123 -0.18492625 -0.13376829 -1.09135864 0.24169602 -0.24894067 -H -0.42275821 -0.18758965 -1.44941135 -0.15936716 -0.01973106 -0.25150154 -H -0.05731012 1.33059587 -0.64959686 -0.09140655 2.51121129 -0.36595526 -H -0.91136796 0.32277441 1.56064973 0.29355375 0.22582598 1.07822775 -H -2.11142328 0.28040608 0.25599742 -0.71656644 0.89827757 0.15666030 -H -1.37422210 -1.09861452 0.52308111 0.34567861 -2.17419920 0.60120218 -H 1.12137989 -0.44810887 0.80404314 0.12099096 0.05003980 -0.22329571 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548088977923 pbc="F F F" -C 0.48253481 0.15415807 -0.13101497 -0.12269365 -0.53258445 -2.61959695 -C -0.67857165 1.01091280 -0.25637095 -2.27181929 2.94314839 0.02907348 -O 0.20043034 -1.10182447 0.32658322 -0.50556683 -1.05382520 2.63995634 -H 0.85636624 0.06030509 -1.14699091 0.56344074 -0.20734082 -0.89537803 -H 1.26860868 0.54897817 0.41114261 2.36217000 1.66114326 1.65431364 -H -1.41871729 0.52898445 -0.89592837 -0.61434047 -0.61248799 -0.07672010 -H -1.23887465 1.36530151 0.70118037 0.92212703 -0.43495747 -1.06225389 -H -0.43273017 1.90112339 -0.91427583 -0.02179525 -0.09281845 0.84120348 -H 0.11884594 -0.79961532 1.27702136 -0.31152227 -1.67027726 -0.51059802 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.40937754538 pbc="F F F" -C 0.00173563 0.37961791 0.43462356 1.12977232 -0.26319050 -2.91443651 -C -1.27990250 0.05324931 -0.30293587 2.26265156 -2.12757676 -2.04139371 -O 1.17943316 -0.37591333 -0.03700909 -1.07017428 0.37047542 0.85893047 -H 0.20119341 1.44414443 0.26063489 0.16717282 0.61097263 0.81135271 -H -0.28949339 0.07234211 1.40721364 0.86017216 -0.00690197 1.97170404 -H -1.69228357 0.74256014 -0.98640530 -1.10799980 1.77118286 -0.52309497 -H -1.05132308 -0.78253755 -1.03353671 0.15630364 0.15740854 0.41035941 -H -1.89207135 -0.45408670 0.36835880 -2.33616050 -0.60619568 1.34215821 -H 1.23216202 -0.21499616 -0.99800835 -0.06173792 0.09382550 0.08442030 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.752728173071 pbc="F F F" -C -0.23143142 0.31674856 -0.46136722 1.31361685 -2.30137167 0.60967119 -C -1.02148949 0.09451239 0.87119929 1.93184694 -0.73010505 0.24367515 -O 1.15145263 -0.30530125 -0.40025200 -1.64571124 1.37428297 -0.05787355 -H -0.79538815 -0.17216330 -1.28034330 -0.07490084 0.04879750 -0.29777925 -H -0.01736633 1.35465082 -0.75074663 -0.20546078 0.34722755 0.20757166 -H -0.48481688 0.79201940 1.64225641 -1.19763702 -1.38159427 -0.56835108 -H -2.10462415 0.24850343 0.76902465 -0.24088663 0.67253417 0.01190997 -H -0.99610847 -1.07271444 1.14325573 0.39674845 2.15159894 -0.21080158 -H 1.04980013 -1.20625876 -0.05369491 -0.27761568 -0.18137020 0.06197754 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7543189623 pbc="F F F" -C -0.37545189 0.04005641 -0.37765196 1.82125851 -0.75337858 -1.87514345 -C 0.96865907 0.79543920 -0.40426580 -0.85372851 -1.02314848 2.34761338 -O -0.61172326 -0.72814307 0.73070165 1.03807317 -0.88469746 1.41776914 -H -1.24854039 0.57854539 -0.58094586 -1.76011483 2.04366826 -0.12725335 -H -0.35615938 -0.60516455 -1.26991954 0.15298378 -0.56394061 -0.73486344 -H 1.78767916 0.10000153 -0.06397245 -0.39440412 0.29702798 0.26309110 -H 1.30058621 1.05603117 -1.36006540 0.31084180 0.86083067 -2.34849357 -H 0.90711405 1.68171388 0.23908060 0.38929045 0.28025029 0.29971298 -H 0.24973010 -1.21038429 0.75452785 -0.70420020 -0.25661207 0.75756721 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.441959692116 pbc="F F F" -C -0.26047157 -0.45921704 0.34128158 -0.82165250 0.40043644 -4.21974427 -C -0.98204844 0.88298020 -0.05850206 0.00387553 -1.51962743 4.11468701 -O 1.15681762 -0.38012250 -0.19962283 -2.18583119 -1.02835579 0.29725408 -H -0.30534598 -0.51404825 1.40576657 0.59497923 -0.63515968 1.40456189 -H -0.96411100 -1.30259930 -0.20344156 1.90706144 1.17199206 1.46438788 -H -1.86789201 1.11781486 0.62363072 0.55719630 -0.38955209 -0.69770610 -H -0.26325602 1.64474928 0.12098536 1.00431206 1.36459896 -0.01066165 -H -1.26818644 0.82138929 -1.03748634 -1.02521945 0.19153259 -3.32951621 -H 1.11118896 -0.78458104 -1.11039387 -0.03472132 0.44413493 0.97673738 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.815026471046 pbc="F F F" -C -0.19001491 -0.43368882 0.34071765 1.11182262 1.47827642 -2.28746030 -C -1.00744219 0.80482168 -0.04472770 -1.16714604 -1.07798740 1.48061201 -O 1.11114277 -0.34652444 -0.22445468 0.80092894 -0.27499423 0.86878510 -H 0.02019243 -0.50170425 1.36095033 0.26782661 0.24913083 2.59880639 -H -0.66186759 -1.38681719 0.13037459 -0.82039888 -0.73176192 -0.60186877 -H -1.65037553 1.11636802 0.79365938 -0.33722019 -0.08795788 0.39885105 -H -0.47557073 1.71500936 -0.25370966 1.10671368 0.53257103 -0.48447447 -H -1.71663220 0.56110586 -0.81790530 -0.50708851 0.01677373 -1.12301412 -H 1.11469133 -0.42740417 -1.17755987 -0.45543822 -0.10405052 -0.85023690 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.676777647616 pbc="F F F" -C -0.52343166 0.11680792 0.29096675 1.33206411 -1.67296278 -0.32427232 -C 0.16655925 1.06836060 -0.64729305 -0.05024585 -0.82393096 -1.42656103 -O 0.32105259 -1.08485979 0.40846723 -0.73021602 -0.06233230 -1.39693512 -H -0.75332635 0.45516715 1.33688106 0.58772697 0.04972921 -0.38151271 -H -1.51866970 -0.01786264 -0.18887967 -0.26777025 -0.66960126 0.23664256 -H 1.26715571 1.09736803 -0.70696487 0.13435114 -0.09673784 0.60411103 -H -0.19156647 0.93014549 -1.70541145 0.24349800 -0.36699440 0.33555643 -H -0.22949917 2.00385747 -0.43181858 -0.55141141 2.92291354 0.51383293 -H 0.58125416 -1.37237007 -0.54154119 -0.69799669 0.71991679 1.83913827 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.438202419653 pbc="F F F" -C 0.46622431 0.01715512 -0.32525018 0.97354288 2.93979521 3.53326309 -C -0.70303674 1.06676006 -0.31515731 1.49911198 -3.05122305 -4.39830683 -O 0.17376142 -0.97781762 0.57945708 -2.47173847 -0.53543241 0.01030581 -H 0.73591503 -0.33883956 -1.30602138 -0.02972746 -0.34303032 -1.27079398 -H 1.35014893 0.67373062 0.07042045 -0.44591197 -0.88541495 -0.74531945 -H -0.43930024 1.43752364 -1.35162727 -0.92855525 0.98779796 0.69560443 -H -1.61265378 0.47997870 -0.43482064 -0.75851446 -0.19020709 -0.06526413 -H -0.84178647 1.77627323 0.43461526 0.34706217 1.58363620 1.85469433 -H 0.87038617 -1.42493712 1.02065048 1.81473058 -0.50592154 0.38581679 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.642897719279 pbc="F F F" -C 0.50936771 0.19598829 -0.20399614 1.10214750 -0.97874850 2.09546470 -C -0.71322282 1.06373670 -0.28388582 -0.32266739 0.52422307 -0.37969668 -O 0.23341769 -1.17177558 0.38682569 -1.77583795 2.13068558 0.39657218 -H 0.97309636 0.11234070 -1.20027208 0.37110560 -0.48916031 0.03789756 -H 1.22284028 0.55332077 0.60158943 0.05268403 0.60553768 -1.15259709 -H -1.39853494 0.53670345 -0.97822176 -0.57239558 0.02008423 0.46606608 -H -1.04469733 1.15509860 0.76688440 -0.85050121 0.07226067 -0.09035091 -H -0.65632760 2.12839492 -0.70288073 0.60367641 -0.98899095 0.39859980 -H -0.37333512 -0.89832836 1.18631882 1.39178859 -0.89589153 -1.77195558 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.910753902507 pbc="F F F" -C -0.15370831 0.50488377 0.21917967 0.36813510 -0.93594712 -0.68798440 -C -1.03948870 -0.76357394 0.25174643 -0.04081376 0.41018843 0.20158880 -O 1.12066210 0.27628995 -0.38082876 -0.71453696 -1.45077815 -1.60815723 -H -0.70692566 1.26249387 -0.29742660 -0.81432012 1.09942527 -1.26290995 -H 0.06364126 1.04263036 1.14070692 0.00827402 -0.38269145 1.15499814 -H -0.79579162 -1.38668059 1.11437018 0.31037010 -0.58711155 0.27887362 -H -2.13012615 -0.54099697 0.36694690 0.29903241 0.13332779 -0.19099081 -H -0.90429135 -1.36929791 -0.69233808 -0.08333694 0.39073551 0.46789985 -H 0.90206366 -0.31272598 -1.19882138 0.66719615 1.32285133 1.64668193 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.885511190537 pbc="F F F" -C 0.20661065 -0.32887896 -0.41983049 -0.54019343 -1.48454724 1.97884394 -C -1.24856269 0.13985106 -0.37921757 -0.60071156 -1.43300709 -1.66652515 -O 0.94808449 0.14710128 0.73650774 -0.12324130 0.19355112 -1.12825547 -H 0.16473097 -1.42710267 -0.14230647 0.00855982 0.35337629 -0.93172912 -H 0.68932406 -0.20902602 -1.41025331 0.26914137 0.19200666 0.05138187 -H -1.38078734 1.21701725 -0.49137461 -0.06333215 0.58841073 -0.53908266 -H -1.91781424 -0.49764543 -1.13724289 1.17040718 1.40396190 1.15598390 -H -1.63015484 -0.07603591 0.60754286 -0.37820220 -0.32258958 0.92052106 -H 1.44041093 0.90877299 0.40430353 0.25757222 0.50883717 0.15886163 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.778742647716 pbc="F F F" -C -0.19934917 -0.35962914 -0.25275816 -1.01819993 -1.26078591 -1.71827530 -C -1.07325630 0.38481906 0.78080610 0.50211939 0.01536620 0.70335415 -O 1.15886367 0.03723244 -0.50852848 -0.22709621 -0.93250210 1.13850214 -H -0.31180117 -1.55307237 -0.10344062 0.35079727 2.16660169 0.11238296 -H -0.71451581 -0.21948395 -1.24662724 0.02034062 -0.07055855 0.25718615 -H -2.07498122 -0.12443775 0.80642854 0.34948261 0.39201186 -0.09723350 -H -0.61817509 0.22058688 1.77170008 -0.01769336 -0.08028231 0.45128301 -H -1.20183968 1.52009892 0.74714652 0.20833774 -1.04367186 -0.67880227 -H 1.68973375 -0.73636122 -0.19541363 -0.16808814 0.81382102 -0.16839734 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.517408878019 pbc="F F F" -C 0.45118025 0.09962940 -0.12936439 -0.52418404 2.63047730 -2.47557019 -C -0.69660655 1.08685674 -0.29188401 -0.10862457 1.39328179 1.48439493 -O 0.25233409 -1.13752348 0.34072178 -0.83256082 -2.18103289 0.84980974 -H 0.79324790 0.02485837 -1.17337447 0.72615429 -0.24577399 -0.19848172 -H 1.11279628 0.68352022 0.44437836 2.28638593 0.80134078 1.07158402 -H -1.51972938 0.63686288 -0.72635633 -2.38486369 -1.36183431 -1.50756880 -H -1.12595738 1.58300576 0.59531167 0.10356726 -0.53922598 1.04564045 -H -0.54088065 2.03651690 -0.82768539 0.92254920 -0.18704386 -0.82053232 -H 0.19866387 -1.04820955 1.29895714 -0.18842351 -0.31018889 0.55072390 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.655414599351 pbc="F F F" -C -0.25979504 -0.14756798 -0.50872343 -1.04806335 1.53255536 1.36714240 -C 0.82688230 0.94831390 -0.37001548 -2.09385966 -0.04438502 -3.96056973 -O -0.47936181 -0.75656649 0.82060907 0.21732894 0.49289566 -1.62373216 -H -1.28085280 0.25350162 -0.99893752 1.84151572 -0.57399414 0.97377007 -H 0.16388183 -0.85292431 -1.21735089 0.05629216 -0.98497108 -0.40500226 -H 1.68523371 0.62861237 0.09536056 2.58590572 -1.45361475 1.45015343 -H 1.12488971 1.27779019 -1.42544127 -0.06731911 -0.50464596 0.68771860 -H 0.59460732 1.88204091 0.05328904 -1.16647807 1.63660362 1.31514558 -H -1.43712437 -0.72302207 0.93838109 -0.32532246 -0.10044362 0.19537403 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.873482251291 pbc="F F F" -C -0.22179343 -0.45513475 0.02817212 -0.66443602 -2.49565622 0.07314246 -C -0.99711323 0.77440251 0.44168185 -0.14487688 1.20475687 -0.26048318 -O 1.11753488 -0.28404627 -0.47046384 -2.18103243 0.49118202 -0.98094319 -H -0.29887940 -1.34076284 0.80988673 0.43660771 1.50568146 -0.64965937 -H -0.86995761 -0.92829472 -0.78501578 0.74333194 0.39277265 0.16919855 -H -1.98165893 0.57996451 0.90708489 -0.12611774 -0.51197325 -0.19749838 -H -0.54914976 1.49292849 1.14476566 0.71855704 -0.13843631 0.34826273 -H -1.18932880 1.40350216 -0.45913648 -0.05217624 -0.12931959 0.04761062 -H 1.67354263 -0.50448966 0.25143902 1.27014262 -0.31900768 1.45036981 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8976058031485 pbc="F F F" -C 0.15964015 -0.37741469 -0.38059300 1.91596250 -0.45786647 0.55612924 -C -1.19104074 0.15977509 -0.35731378 -4.04926449 -2.00288094 0.85277797 -O 0.98346737 0.14715158 0.67491620 -0.09310873 -1.59645932 0.03695391 -H 0.10924351 -1.47219878 -0.19787932 0.22670612 -0.00926112 -0.15020127 -H 0.68352069 -0.20380528 -1.34724687 -0.18484315 -0.13206198 -0.29249178 -H -1.31409241 1.17960879 -0.56253129 0.20583374 2.50873033 -0.22021347 -H -1.94981480 -0.28059159 -1.09478381 1.05030536 -0.07135976 0.24314555 -H -1.76393085 -0.05949508 0.63068420 1.05577852 0.38689017 -0.89832590 -H 0.91340620 1.09260325 0.65152629 -0.12736992 1.37426909 -0.12777420 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.814137679678 pbc="F F F" -C -0.18384387 -0.35337086 0.39374032 -0.71518550 -0.38202538 0.48279389 -C -0.93168892 0.84580576 -0.10836084 -2.80185187 -0.59842811 0.62176032 -O 1.01527919 -0.50756290 -0.28398915 1.02291898 0.45215657 0.21277470 -H -0.06546266 -0.31457732 1.50806443 0.10094823 0.20397252 0.03642535 -H -0.75628782 -1.24702642 0.24881836 -0.79102597 -1.23828931 -0.39568278 -H -2.07725243 0.76437027 0.27526301 2.24904106 0.62066621 -0.79416308 -H -0.42394177 1.70886909 0.29128342 0.04143339 1.26252017 0.41525485 -H -0.89856899 0.93167197 -1.21251134 -0.17429566 -0.25079243 -0.00714124 -H 1.39741193 0.34402692 -0.00366084 1.06801738 -0.06978023 -0.57202195 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.327846672366 pbc="F F F" -C 0.10782699 -0.46976131 -0.24049606 2.52931320 1.65009821 -1.03543558 -C -1.16687161 0.13328648 -0.31921350 -4.13619589 1.53610410 -1.56561934 -O 1.01243564 0.30862866 0.49506916 1.41230883 -0.40475729 0.61673427 -H -0.13231380 -1.48911829 -0.08992422 0.56229572 -2.33376043 1.52186075 -H 0.44427291 -0.53503818 -1.30239091 0.90448668 0.36293900 0.21597264 -H -1.26015033 1.23149057 -0.61779851 0.47807890 -0.83687302 0.44659383 -H -1.54773735 -0.43178716 -1.21700794 -1.05905652 0.34419452 0.54332432 -H -1.78737496 -0.06776438 0.57845836 -0.26975484 0.16535259 -0.07347691 -H 0.83122050 0.40120491 1.45979685 -0.42147610 -0.48329773 -0.66995397 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.850113603046 pbc="F F F" -C -0.12392357 -0.21863691 0.56104251 1.01652645 -0.15282971 -0.37177737 -C -1.01391835 0.72016389 -0.19494069 -0.46695353 1.50226467 -1.21117075 -O 1.00293316 -0.48927135 -0.34192492 1.17426533 0.87462089 2.28262796 -H 0.30859511 0.11026825 1.57175997 -0.84703546 -0.10338414 -0.79922892 -H -0.69565148 -1.14924368 0.68779011 -0.00811970 -0.50536016 0.38374766 -H -2.08629152 0.78250923 0.11194072 0.28002357 -0.13548361 0.23200373 -H -0.62509698 1.79061229 -0.26593995 -0.17993604 -0.84644524 0.18879637 -H -1.00613524 0.34378267 -1.27055414 -0.11176970 0.24848610 0.82682628 -H 1.74228900 -0.08928479 0.23000171 -0.85700091 -0.88186878 -1.53182491 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.733236897494 pbc="F F F" -C 0.02374961 -0.44736953 0.40973904 0.36223339 1.78847755 -0.83358278 -C -1.13480058 0.60628012 0.31947944 2.62204722 -0.77954691 -0.39321889 -O 0.98320916 -0.10518428 -0.66029250 -0.93455888 -0.71920629 0.63038123 -H 0.56835576 -0.28034632 1.33463016 0.20468143 -0.24572987 1.08391303 -H -0.22201454 -1.51944135 0.29896161 -0.62260878 -0.05330207 0.19508226 -H -1.84335509 0.63507933 1.10338754 -1.14357123 -0.55912570 1.62460083 -H -0.61804197 1.60770109 0.41314263 -0.47572757 -0.48886766 -0.92821561 -H -1.64779537 0.31261836 -0.58909146 -0.43233994 0.82926194 -0.94945262 -H 1.39440299 -0.98107512 -0.76939654 0.41984447 0.22803903 -0.42950745 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.528129999993 pbc="F F F" -C -0.31793431 -0.01141189 -0.46741772 -0.66363445 1.05314972 1.18059554 -C 0.19066750 1.29668095 0.23699006 -5.52162094 0.34534740 -1.12264532 -O 0.11554265 -1.14103656 0.24439871 -0.14265544 -0.72817631 0.84460202 -H -1.43539068 -0.03383823 -0.69450531 0.58567163 0.31737580 0.31300620 -H 0.20388911 -0.05365568 -1.36060606 1.02553714 0.19605522 -3.11424837 -H 1.15296153 1.17499282 0.45662815 4.87300411 -0.91349028 1.37698551 -H 0.18916975 2.27788734 -0.37322363 -0.70055509 -1.27566818 0.52895642 -H -0.41996040 1.34917037 1.18041243 0.50789373 0.59989015 -0.30828088 -H -0.00918684 -1.91934365 -0.34233966 0.03635927 0.40551648 0.30102892 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.86153510658 pbc="F F F" -C -0.49703128 0.03187123 -0.30855340 2.18056608 0.67363322 -1.88624152 -C 0.44527545 1.20498147 0.03746322 -0.44297778 0.56466576 1.24427325 -O 0.07551878 -1.12054064 0.26312643 -1.52500963 -0.96633114 0.52927040 -H -1.56021152 0.21718061 -0.10984360 -0.44376057 0.18889161 0.70969531 -H -0.46603713 -0.12994260 -1.42595057 -0.12376811 0.39061765 0.03628990 -H 1.54036707 0.97492933 -0.01889118 -0.51939052 -0.53749645 0.33912425 -H 0.40331804 2.10327644 -0.57338428 -0.64061191 0.37861116 -0.99061460 -H 0.16582499 1.64898961 1.04525936 0.57345107 -0.67439699 -0.33470185 -H -0.66626083 -1.76762591 0.13644230 0.94150137 -0.01819483 0.35290491 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.714345356941 pbc="F F F" -C 0.26515512 -0.05881111 -0.47703152 -2.88882487 -2.38400052 2.09694133 -C -0.45705591 1.22626597 -0.23783213 1.51142674 0.62432561 -0.25143716 -O 0.17322472 -1.10092203 0.61349635 -0.11588727 1.57837120 -0.30799831 -H -0.16891571 -0.52089900 -1.38665606 0.18841421 -0.39279348 0.13829094 -H 1.24981008 0.16798417 -0.62043366 3.66586316 0.48078036 -0.80644118 -H -0.47975327 1.69022934 -1.24768248 -0.09890718 0.49915609 0.23871528 -H -1.46294422 1.00470404 0.04547641 -1.33664165 0.14866278 0.70473699 -H 0.14209239 1.88072055 0.47346798 -0.90917843 -0.30638546 -0.37089312 -H 0.25576876 -0.66039427 1.51595296 -0.01626465 -0.24811663 -1.44191484 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.313832652788 pbc="F F F" -C 0.01186450 -0.04822368 0.63881594 0.10212821 4.60443126 -3.76447250 -C -1.14161952 0.52027631 -0.31358814 3.38048614 -1.09886626 -1.08508843 -O 1.03225480 -0.39924505 -0.25552825 1.56786248 -0.16784085 0.77816382 -H 0.35284611 0.90423542 1.15768996 0.13836854 -1.13050215 0.23972604 -H -0.41986966 -0.74626721 1.26720348 -0.65030261 -2.29262796 2.03026906 -H -1.69727615 1.17174420 0.32270541 -1.66511500 0.76181298 0.15464589 -H -0.52236081 1.08161724 -1.18687941 -1.60972674 -0.92974670 1.81282256 -H -1.55364139 -0.43987728 -0.71613725 -0.81502296 0.87216708 -0.13265364 -H 0.91621330 -1.26060987 -0.66393139 -0.44867807 -0.61882736 -0.03341278 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.379479331553 pbc="F F F" -C 0.40709921 -0.32962300 -0.21531448 0.61918397 -0.58121036 2.50629107 -C 0.26064370 1.07272880 -0.60830647 -4.87342963 0.24203124 1.01718244 -O -0.61840136 -0.70834943 0.69576068 0.10414396 0.36237654 2.51516113 -H 0.49065355 -1.09203860 -1.01111957 -0.13581055 0.20285990 -0.32856498 -H 1.29784387 -0.34291509 0.38961058 1.67783826 -0.71068648 0.20433731 -H 0.11157618 1.85682888 0.21774762 0.34227828 -1.10487220 -0.65737052 -H 0.95134728 1.36014445 -1.28067903 3.17452122 1.48106314 -2.80098012 -H -0.70897830 0.97489308 -1.17789033 0.17357215 1.04727562 0.14520176 -H -0.28420304 -0.36943632 1.63260550 -1.08229765 -0.93883740 -2.60125809 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6352405826265 pbc="F F F" -C 0.35275582 -0.24365966 -0.30332513 0.60163680 -0.22706386 -2.14049368 -C -1.11773854 -0.16954577 -0.64505885 0.97424706 2.27838378 -0.29902727 -O 0.75044372 0.34954291 0.85614216 1.50452174 0.27548058 1.87381177 -H 0.76498895 -1.32987754 -0.44977923 -0.37200142 1.25379811 0.26486043 -H 0.83989276 0.49827841 -0.99408402 0.13023028 -1.26870753 -1.00458629 -H -1.35270841 0.91615483 -0.87072767 -0.24446546 -0.65540506 0.52404139 -H -1.35561541 -0.67786096 -1.54493816 -0.17548207 -0.99087310 -1.51293629 -H -1.74716121 -0.57150253 0.10296485 -1.19100491 -0.56659553 1.51853950 -H 0.05314691 0.53867671 1.46773233 -1.22768207 -0.09901743 0.77579048 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.70400529303 pbc="F F F" -C -0.21042332 -0.57008954 -0.06814144 1.72389316 3.47812428 2.07162465 -C -1.03728713 0.64861945 0.53603628 -1.34476747 -1.66906756 -1.85865707 -O 1.15490367 -0.13373091 -0.44703912 -1.60419588 -3.59642406 -0.56690067 -H -0.19582220 -1.32876176 0.74030615 0.26877694 -0.37661033 -0.26821804 -H -0.71557725 -0.87694686 -0.93510644 -0.90201683 -1.10538149 -1.77970566 -H -2.10267178 0.19584392 0.75277501 1.56403775 0.95314549 0.14930725 -H -0.51296625 1.01635872 1.43132435 -0.25137854 0.33907468 0.19460841 -H -1.22169897 1.43584727 -0.28682926 0.45655177 -0.59720956 1.11730786 -H 1.28336462 0.74314904 -0.18192979 0.08909914 2.57434856 0.94063327 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.609410724439 pbc="F F F" -C -0.25487975 -0.50394154 0.00328374 0.29573039 -1.12798586 -0.06142979 -C -0.99312279 0.74574770 0.46131115 3.03491207 2.04531351 1.40504433 -O 1.12644987 -0.29612085 -0.38335788 -0.99521230 1.75529390 -1.13956031 -H -0.04426218 -1.20693720 0.87874660 -1.09837914 0.02895804 -0.97183356 -H -0.87264313 -0.90000512 -0.88860241 0.64236952 -0.38407080 1.00694430 -H -2.07934488 0.88535584 0.44316641 -0.41792772 -0.72533642 0.19157265 -H -0.50044166 1.10935302 1.50581314 -1.28663085 -0.52188059 -1.98672160 -H -0.61428249 1.49088653 -0.30089339 -0.35028526 0.14274245 0.44979645 -H 1.10074067 0.43889821 -1.08920340 0.17542334 -1.21303428 1.10618753 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.89968223765 pbc="F F F" -C -0.34919910 0.04413264 0.49209923 2.00065925 -0.97963290 -1.90311444 -C 0.81911188 0.95674495 0.13884625 0.64057869 1.49714611 2.25179199 -O -0.49937269 -0.91472984 -0.57875467 1.34346418 -1.16055404 0.57241024 -H -0.11801383 -0.43943072 1.46050855 -0.50239039 -0.01332269 0.36250160 -H -1.24817380 0.62630130 0.47019843 -1.20833554 0.46708707 0.38973777 -H 0.80147280 1.33603108 -0.88077949 0.09111180 -0.35731481 -0.82749764 -H 0.66261597 1.92463818 0.72018115 0.34681478 -0.56835756 -0.09042213 -H 1.85241595 0.58821281 0.48251478 -1.03050132 0.15209818 -0.70310979 -H 0.37589780 -1.44395557 -0.58423972 -1.68140151 0.96285064 -0.05229764 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.541268479853 pbc="F F F" -C -0.23049541 0.27134224 0.44892850 0.01777651 -1.94326475 2.63394649 -C -0.01524533 0.92184008 -0.81076652 1.72496115 3.81250335 -0.41054464 -O 0.18362107 -1.09355766 0.27437403 -0.69697483 0.31248083 -0.50921476 -H 0.49502518 0.71363488 1.22387960 -1.20509682 0.02071806 -0.28971236 -H -1.34203082 0.35186867 0.80326543 1.28840136 -0.14169385 -0.19393262 -H 1.11347021 1.22647256 -0.86761632 -1.56250245 -0.26075803 -0.19330018 -H -0.17336853 0.26398383 -1.65077822 -0.82307015 -0.24064546 -0.86094637 -H -0.64629614 1.87397201 -0.66929154 0.67909424 -0.68253577 -1.34176946 -H 0.56579444 -1.29105525 1.11699490 0.57741098 -0.87680427 1.16547385 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.800320978919 pbc="F F F" -C 0.13988723 -0.43592874 -0.35150946 1.84393703 1.66114450 0.59623275 -C -1.24193998 0.11535730 -0.36408758 0.22352685 -0.41654698 0.97345084 -O 1.03786045 0.22491229 0.67445759 -1.46683136 0.96511465 -1.68393245 -H 0.15259159 -1.52171265 -0.13469017 0.14231467 0.05510663 0.08230947 -H 0.52711135 -0.25530985 -1.40182732 0.28555530 -0.35533789 0.55598541 -H -1.35397155 1.15813513 -0.52716498 0.45871165 1.87655740 -0.46077480 -H -1.77414356 -0.33146353 -1.15375465 -1.21130897 -1.03491118 -1.61281160 -H -1.81355690 -0.03816839 0.52962309 -0.50158234 -0.54664232 1.27167859 -H 0.91879738 1.23686098 0.50901822 0.22567722 -2.20448480 0.27786173 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6010885417445 pbc="F F F" -C 0.04446487 0.36768057 0.32890224 2.33234231 -0.62294447 0.69098611 -C -0.82920908 0.67961315 -0.84980643 0.69958332 -0.13967487 -2.07665712 -O 0.66334355 -0.98635392 0.45703345 -0.09913318 1.28295376 0.72945245 -H 0.94993865 1.05232724 0.31969713 -0.67983559 -0.03492022 -0.30181784 -H -0.50566736 0.69070187 1.21044185 -0.40575637 -0.20306184 1.10097097 -H -0.64741626 1.79383924 -1.03090898 -0.57768949 -1.03565711 -0.20833713 -H -0.50325931 0.07890639 -1.75252039 0.47052844 0.69063536 0.29086237 -H -1.90491831 0.42020343 -0.91257075 -0.15809230 0.20703003 1.04707363 -H 1.43191846 -0.86036451 1.11834143 -1.58194714 -0.14436075 -1.27253349 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.494647325942 pbc="F F F" -C 0.07361519 0.46773033 0.06388958 1.91879339 0.17769892 -1.57796368 -C -0.76799606 0.00996110 -1.05330136 -2.65716387 0.40684621 0.26489427 -O 0.61351819 -0.48681337 0.90951632 0.84882110 -0.30908141 0.20918014 -H 0.78528614 1.20070929 -0.39382143 0.82761329 -0.40302416 0.26086149 -H -0.54976419 1.13170466 0.56664866 -1.77975786 1.74133147 1.81375932 -H -0.97590025 1.00324006 -1.56062787 -0.46394426 -1.03859773 -0.17981232 -H -0.54326675 -0.78817125 -1.74927836 1.09320392 -0.37408186 -0.56485767 -H -1.69089490 -0.38330151 -0.53113614 -0.03566342 0.33090381 -0.71412533 -H 1.50925466 -0.13052705 1.02104633 0.24809760 -0.53199531 0.48806368 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.779606675656 pbc="F F F" -C -0.03545691 -0.06230937 0.61359924 -0.27757871 -0.90291944 -2.76481157 -C -1.11766646 0.59728087 -0.23530422 -1.20072348 0.58678451 0.25052498 -O 1.05944389 -0.44875504 -0.34486710 -0.83474029 -0.55179723 2.16862073 -H 0.27495133 0.59935727 1.41853825 0.53849604 0.32772696 0.58057416 -H -0.58503268 -0.92582681 0.99815123 0.46225802 -0.85540194 0.64859807 -H -2.19144832 0.63271681 0.23177189 1.70117628 0.06893562 -0.40190619 -H -0.77984662 1.59630601 -0.50349062 -0.13777662 0.95197502 0.01638631 -H -1.22461954 0.13599017 -1.22970993 0.03276306 -0.66820639 0.00676380 -H 1.42878414 -1.29155747 0.05114462 -0.28387436 1.04290284 -0.50475030 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77033341602 pbc="F F F" -C -0.30421446 -0.47805317 -0.13461889 2.44508908 -1.36153189 2.53697314 -C -0.86145144 0.66831292 0.69188653 -0.45932367 -0.20883577 -1.98901801 -O 1.06403392 -0.19064850 -0.46872035 -0.10436008 -0.89088791 0.56127530 -H -0.20656607 -1.48889116 0.54450267 -0.30477415 2.05068666 -1.08457113 -H -0.95500325 -0.81365717 -0.91769203 -0.67538254 -0.04781909 -1.43953718 -H -1.82838244 0.31667117 1.01892349 -0.85109138 0.02353542 1.09730812 -H -0.13050758 0.95580447 1.43520338 0.18552639 0.17538185 0.84438856 -H -1.09196252 1.54134383 0.02789392 0.28791295 -0.10989732 0.18853160 -H 1.21180890 0.24631033 -1.30911121 -0.52359659 0.36936799 -0.71535046 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.871113821914 pbc="F F F" -C -0.11414302 0.24673973 -0.46629184 0.53903638 0.47048669 -0.54344459 -C -1.23085467 -0.08281368 0.51720090 1.60716304 2.95276740 0.93838705 -O 1.20628844 -0.20703377 -0.09309152 -0.34039839 1.54406557 1.21035401 -H -0.29359280 -0.22839365 -1.44930688 -0.21409907 0.15010918 -0.22335098 -H -0.05374793 1.36677840 -0.56377898 -0.28300661 -0.34843494 -0.52162703 -H -0.99436254 0.58393189 1.43778422 -0.80038201 -0.77025392 -0.87503633 -H -2.23617478 0.09771032 0.13131927 -0.40092182 0.04178101 -0.09987104 -H -1.04671500 -1.05722495 0.83459303 -0.11401293 -2.58906561 0.76100026 -H 1.50285518 0.56866361 0.48042834 0.00662147 -1.45145543 -0.64641134 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.440426437513 pbc="F F F" -C 0.34880333 -0.27511689 -0.27838947 -0.28991486 0.79635458 -0.07763752 -C -1.09551827 -0.19239310 -0.73985121 0.70542157 0.55411920 0.96054683 -O 0.71922973 0.42520149 0.92989656 -0.92264824 -1.44382615 1.36682358 -H 0.75419704 -1.29619734 -0.58391747 0.07101832 0.34668844 1.22230126 -H 0.72163101 0.36339256 -1.07310421 1.37979259 0.57344742 -0.18416859 -H -1.49671075 0.80608095 -0.58622861 -0.39902465 0.58951533 0.65725384 -H -0.99917191 -0.20059369 -1.79451916 -0.29111032 -0.63549809 -1.93993075 -H -1.74224840 -0.96180668 -0.39446385 -1.17923769 -1.03896807 0.54897689 -H 0.24263726 0.10913476 1.80508907 0.92570323 0.25816733 -2.55416555 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.272981985911 pbc="F F F" -C -0.11995561 -0.47270395 0.42023224 2.61355748 -1.71940268 -2.49369272 -C -1.05274998 0.59573228 0.22010248 -2.63118549 3.39164494 -2.04462214 -O 1.03684825 -0.20320463 -0.60657759 -0.74433991 0.67550524 2.89657716 -H 0.29700842 -0.29265341 1.39558783 0.55413468 -0.47829971 1.22032665 -H -0.43920964 -1.54985435 0.30550415 0.14833686 0.67978936 -0.06239211 -H -1.78674125 0.76555829 1.04276862 0.20237916 -0.02143169 -0.02493302 -H -0.36512806 1.47520833 0.11168489 -0.51249817 0.26240564 0.67312537 -H -1.64240692 0.78731161 -0.78401595 0.80124256 -1.27681165 1.31182489 -H 1.45127803 0.57245434 -0.07338554 -0.43162723 -1.51339945 -1.47621414 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.379410254724 pbc="F F F" -C 0.32302518 -0.35716816 0.42668948 1.49459419 0.92876356 -1.68132118 -C -1.14504148 -0.42181465 0.13161802 -0.49953039 -1.62564603 -1.24247887 -O 0.72678203 0.67420967 -0.52567453 1.40187437 0.63606013 -0.11932391 -H 0.45198029 -0.04512280 1.46909020 0.32114066 0.31575641 0.50428015 -H 0.87805518 -1.37043268 0.34476478 -0.41163077 1.01939909 -0.28817011 -H -1.50518428 -1.37755996 -0.32621215 0.18579698 0.13186277 0.33396194 -H -1.53001721 -0.30217978 1.09643688 -1.91886343 0.02441644 1.88644119 -H -1.54704652 0.36996305 -0.52158120 0.46636603 0.31192130 0.04963506 -H 1.50996374 1.30428189 -0.37111494 -1.03974768 -1.74253362 0.55697575 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.303162882167 pbc="F F F" -C 0.24459936 -0.19182998 0.57228515 -0.29755963 3.11398858 -1.60338752 -C -1.25407065 -0.53991123 0.16740873 0.37597774 -1.34997735 0.10979134 -O 0.90273557 0.69774753 -0.61415198 -0.20627371 -2.91747571 1.09052611 -H 0.28516978 0.54293491 1.46423029 -0.09377891 -0.96344395 -1.02035066 -H 0.97434422 -0.98880525 0.75404619 -0.23865713 -0.63139291 0.08588331 -H -1.31079992 -0.47407099 -0.92552530 0.32267052 -0.03183937 -0.56583690 -H -1.61906680 -1.64798535 0.36163970 0.65822695 1.85037457 0.23190705 -H -2.03894973 0.21462808 0.45258857 0.59317581 -0.43630422 0.50793703 -H 1.40780856 -0.00431175 -1.17257664 -1.11378154 1.36607035 1.16353019 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7269733779485 pbc="F F F" -C -0.23755431 -0.28888891 -0.37345246 1.96668612 0.22876228 -1.34855872 -C -0.32006989 1.23378862 -0.36151643 0.05212759 -0.05370558 0.22130156 -O 0.51405922 -0.90238620 0.63547028 0.41560817 -1.32552605 -1.03182632 -H -1.25983874 -0.65319802 -0.51696441 -0.53201166 -0.76951071 0.24511672 -H 0.36967384 -0.51959975 -1.32883118 -1.02136814 -0.22245418 0.75984357 -H -0.13686178 1.61420527 0.65933903 0.30049855 0.22502508 0.11612227 -H 0.40805506 1.66831921 -1.10382457 -0.70654751 0.20847139 0.56113518 -H -1.39008931 1.44638317 -0.52712583 0.08582613 0.72169065 -0.58516322 -H 0.49292003 -0.49321053 1.48830764 -0.56081919 0.98724718 1.06202902 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6439182047025 pbc="F F F" -C -0.40896054 0.07129629 -0.42533344 1.16584259 -1.60591898 -1.32046097 -C 0.92679192 0.76389731 -0.42519727 0.07384123 2.29726242 0.15613924 -O -0.55486668 -0.73743991 0.77477270 1.05302800 -0.20976614 -0.41283559 -H -1.15486831 0.86248928 -0.58660834 -0.92883185 -0.33459031 0.68133054 -H -0.38831100 -0.55659589 -1.39622650 -0.52641853 0.21771728 0.94187763 -H 1.58040203 0.01043665 -0.08228980 1.77529396 -1.18318161 0.71074474 -H 1.40241192 1.15718382 -1.39157277 -0.98593154 -0.27465598 0.72852207 -H 0.89499947 1.59040106 0.36002605 0.37282957 -0.55512980 -0.66767823 -H 0.30145496 -1.31200089 0.93341854 -1.99965348 1.64826311 -0.81763947 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.847386536894 pbc="F F F" -C -0.39427438 -0.29474624 -0.29663582 0.03725010 1.29475919 -0.16271952 -C -0.65557428 0.49072200 0.97739723 -1.50151246 0.77225285 -1.72334660 -O 0.94182204 -0.23331744 -0.64530695 1.24237567 -1.35210083 -0.88158308 -H -0.65440980 -1.32797804 -0.33995480 -0.66753754 -1.62121155 0.66552683 -H -0.95800573 0.13338100 -1.12197861 -0.95704756 0.60338279 -0.60903695 -H -1.75508566 0.49810385 1.23527313 0.58879300 0.44010128 -0.21533634 -H -0.17382667 0.03222006 1.79088613 1.22692262 -0.73694480 1.73190318 -H -0.22294024 1.52681227 0.76518373 -0.67730455 -0.66905922 0.57108386 -H 1.32348062 0.50422962 -0.19822820 0.70806076 1.26882035 0.62350867 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.623277735445 pbc="F F F" -C 0.18481506 -0.16599529 -0.56792576 1.05248791 0.99044414 0.82781996 -C -0.42023940 1.18021371 -0.11968089 1.54283237 1.20358522 0.83578719 -O 0.18857422 -0.91195284 0.60189902 -0.54267341 -1.28500622 1.99371295 -H -0.42654143 -0.59224668 -1.36516258 -0.60874518 -0.52086690 -0.50721943 -H 1.20403360 -0.04910270 -1.00403598 0.06002484 0.19925398 -0.07615050 -H -0.92736763 1.69588144 -0.92963202 0.00320159 0.60416918 -0.79023201 -H -1.23314188 0.97720199 0.59303219 -0.04036798 -0.24219198 0.33899446 -H 0.34818168 1.93712416 0.43287435 -1.45654581 -1.66152065 -1.19811951 -H 0.84587577 -1.58011181 0.91234111 -0.01021433 0.71213318 -1.42459316 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.661877726031 pbc="F F F" -C -0.33643101 -0.42738640 -0.18063718 -1.49025051 2.13593598 0.19173875 -C -0.30628215 1.09408291 -0.78580056 -0.56229289 -1.27066861 0.66384055 -O 0.52814080 -0.64275988 0.91499956 1.21317816 0.59528124 -0.58477355 -H -1.42171788 -0.58672117 0.17124474 1.23942101 -0.43106030 -0.51258985 -H 0.03397475 -1.09378864 -0.95571982 -0.65496433 -0.59796773 -0.98077540 -H -1.06819250 1.83230139 -0.44652482 -0.47705889 -0.64322868 0.02660861 -H 0.56219474 1.53125502 -0.34070597 1.57328782 0.53409873 0.18865178 -H -0.25013793 1.14643694 -1.88619633 0.05976866 -0.14563947 -0.11584752 -H 1.41814322 -0.57263443 0.44993527 -0.90108902 -0.17675111 1.12314663 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4882418045845 pbc="F F F" -C 0.42674102 -0.18767833 -0.33128084 -0.75048218 -2.24587099 1.16742310 -C 0.24760833 1.21312194 0.00467822 2.13880703 2.96614378 -0.28979865 -O -0.64180250 -0.92856687 0.26718087 -0.27988776 -0.83730733 0.16147048 -H 0.30570963 -0.06282106 -1.38026066 -0.25005853 -1.34751105 -2.12226002 -H 1.33663737 -0.82676522 -0.10219812 0.14775173 1.44815681 -0.29504411 -H 0.60213365 1.51313728 0.96883157 0.43818945 0.27568452 1.51592047 -H 0.90852717 1.80214183 -0.72709410 -0.75302279 -0.13343613 0.63504681 -H -0.77879489 1.60356917 -0.04561137 -0.35617844 -0.39597028 -0.44337743 -H -0.22324154 -1.51055538 0.93709801 -0.33511862 0.27011068 -0.32938069 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.51516012854 pbc="F F F" -C 0.11491000 0.16971041 0.52338010 -0.22798504 1.40121390 -0.99434322 -C -1.27782191 -0.40622814 0.16165371 1.14459062 -1.27791944 1.05791891 -O 1.08968060 0.25321558 -0.57161930 -0.28584918 0.59864712 1.23392929 -H -0.14717072 1.22129188 0.94003826 0.77844880 -0.79600003 -0.70385202 -H 0.65702220 -0.29847964 1.35831761 -0.17928051 -0.60326169 0.26093394 -H -1.52826709 -1.36476763 0.70721811 -0.31329263 1.08302821 0.67903757 -H -2.06250760 0.34811629 0.07357349 -0.44829405 0.04879524 0.30038615 -H -1.21234808 -0.92216924 -0.76482726 0.26428887 -0.27549102 -2.10974569 -H 0.85274238 -0.18650970 -1.40372018 -0.73262684 -0.17901235 0.27573502 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.514227959408 pbc="F F F" -C -0.44033009 0.15161159 0.40422871 0.19801574 -1.50859488 -0.24739070 -C 0.12931282 1.07869452 -0.70823310 -0.13688686 -0.05537222 3.13497630 -O 0.30139404 -1.06944458 0.28942666 1.22704793 0.66357691 1.45768501 -H -0.14376544 0.32433934 1.44367319 -0.34400775 1.60740482 0.42120469 -H -1.55513512 -0.08690231 0.40959628 0.58160461 0.53317822 -0.25841961 -H 1.19357129 1.12611146 -0.28363847 -0.80532393 0.52001875 -1.26971957 -H 0.05998840 0.49558721 -1.63573930 0.02230798 0.39326558 -0.45021322 -H -0.43893831 2.04346976 -0.61932879 0.60623923 -0.13846100 -0.74036329 -H -0.19473903 -1.58885470 -0.28619554 -1.34899699 -2.01501624 -2.04775956 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.424326461351 pbc="F F F" -C 0.08028075 -0.11524704 0.52236324 0.74832250 0.90862426 1.64802024 -C -1.33937238 0.27074635 0.06945436 1.05395308 -0.41027256 -0.98732642 -O 1.14422910 -0.20588067 -0.52398651 -1.79450165 1.54041142 1.55038473 -H 0.32547286 0.68124100 1.31362064 0.57012360 -0.81008999 -0.52704732 -H 0.08798752 -1.09575323 1.07232143 -0.15812274 0.32320680 -0.40711165 -H -2.23312815 0.06366599 0.68052811 0.24901477 -0.44532658 0.16096777 -H -1.47012835 1.23298424 -0.41352133 0.35286192 1.54812571 0.59581592 -H -1.27454079 -0.22112969 -0.87083522 -1.20378479 -1.80814099 -1.50486415 -H 1.40402567 0.75256753 -0.51683370 0.18213336 -0.84653801 -0.52883913 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.499579531451 pbc="F F F" -C -0.41517078 0.26091100 -0.34028975 1.45248583 -5.74338726 0.46327063 -C -0.53378174 0.14121839 1.14033412 -0.52720180 0.18831244 2.70077350 -O 0.86761038 -0.33896062 -0.70788099 0.46597008 1.05538349 -0.51966723 -H -1.04153341 -0.58982579 -0.73687179 -1.05401196 1.23638238 -0.08908937 -H -0.54676142 1.18513826 -0.80464453 -0.67292878 2.39514204 -0.74133573 -H -1.60468303 0.25756840 1.47011036 0.44327458 0.31677745 -0.16451944 -H -0.23260867 -0.80916544 1.69783758 -0.20630636 0.06889777 -1.55075209 -H 0.09701313 0.81556608 1.76566559 -0.20112739 0.63715161 -0.49553628 -H 0.86348779 -0.27214441 -1.68904130 0.29984580 -0.15465993 0.39685603 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.910268723448 pbc="F F F" -C 0.47776337 -0.21736462 -0.21581461 0.69571036 0.05784336 -1.34139264 -C 0.12680655 1.24515184 -0.12018333 -0.07084317 1.07687772 0.00504368 -O -0.57392302 -0.89897046 0.32055986 -1.73112347 -1.89304368 0.39094902 -H 0.74457025 -0.52130832 -1.27131081 -0.49906631 0.25574463 -0.16048590 -H 1.40724521 -0.54749599 0.27745193 0.71080223 0.69587717 0.69637550 -H -0.30765038 1.43765778 0.91102003 0.38320238 0.03094499 -0.76467807 -H 1.05420801 1.81512113 -0.26408976 0.31450248 0.45516393 0.26427088 -H -0.57475636 1.69395027 -0.91024246 0.39053054 -0.99751365 0.74646447 -H -0.41862337 -1.85693944 0.17258777 -0.19371510 0.31810558 0.16345311 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639558075633 pbc="F F F" -C 0.16491035 -0.43929350 -0.35356088 1.18992890 2.05873303 2.16842805 -C -1.22999500 0.05501175 -0.41990907 -1.19867318 -0.63732717 3.96257545 -O 0.96638994 0.28628029 0.70969810 -0.86898842 -0.60035562 -1.33278320 -H 0.27890738 -1.48509196 -0.09750499 -0.07971250 -0.81255017 -0.08138403 -H 0.55271290 -0.17240890 -1.28864499 1.67381834 -0.13113397 -2.19422867 -H -1.34005628 1.12474594 -0.54321370 0.26278015 0.87616648 -0.61304494 -H -1.86724372 -0.49002178 -1.12019744 -0.39141295 -0.30808563 -0.14775430 -H -1.55164175 -0.06010010 0.71866328 -0.35739539 -0.05941569 -1.93824683 -H 1.27811212 1.11627954 0.28233523 -0.23034495 -0.38603132 0.17643852 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.495839128392 pbc="F F F" -C -0.05143843 -0.19502077 -0.47904917 -3.42950156 -1.02284900 1.72005553 -C -0.23015139 1.29986365 -0.24911049 0.35439656 -0.38618852 -1.62995783 -O 0.31265122 -1.02222019 0.64581935 1.99304775 0.70780314 -0.53918988 -H -1.14774020 -0.63527024 -0.58298202 1.61733288 0.88550767 -1.63788331 -H 0.65484990 -0.26063334 -1.31326767 0.16363432 -0.98066412 -0.25494666 -H -0.01755916 1.78386606 -1.22740868 -0.66233697 0.07338003 -0.20286618 -H -1.19321063 1.62080104 0.12457875 -0.61741057 0.24684434 0.46298343 -H 0.58727528 1.70896241 0.28404159 1.25847202 0.55726654 1.61844782 -H -0.49198288 -1.15855453 1.14052484 -0.67763447 -0.08110008 0.46335701 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.544385535173 pbc="F F F" -C -0.44144118 0.16541241 0.25678958 0.09499268 -4.15404876 2.10323190 -C 0.13984195 1.06436097 -0.68357584 -0.84222426 4.17315751 -0.26730169 -O 0.25592062 -1.13890414 0.43601405 -1.87048440 1.49373739 2.43039501 -H -0.38210709 0.62861236 1.24800441 -0.33742568 0.01271915 0.57980345 -H -1.50276554 -0.15028362 0.03648554 0.29315044 0.81173765 -0.00965671 -H 1.19224702 1.34778968 -0.67020492 0.69198113 -0.28022761 0.61959457 -H -0.10485838 0.85696883 -1.68179955 -0.43402540 -0.61980402 -2.28918633 -H -0.43616640 2.06394237 -0.45650080 0.91397364 -1.04940264 -0.62608106 -H 0.76422212 -1.32437392 -0.31137319 1.49006190 -0.38786868 -2.54079910 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.755450480194 pbc="F F F" -C -0.22505443 -0.53002416 0.01548082 0.67074741 1.92871276 3.19199238 -C -0.92734190 0.79573222 0.48604074 1.80350925 -1.61613691 1.27156860 -O 1.04204539 -0.30370418 -0.53262809 0.47689136 0.70101753 -0.05129872 -H -0.15670284 -1.08795683 1.00849242 0.00232669 -0.23682604 -0.63621918 -H -0.80715506 -1.12685822 -0.62815122 -1.11934469 -0.94038850 -1.52095716 -H -1.92076479 0.59973040 0.78906243 -2.14100677 -0.12172188 -0.22388521 -H -0.54101730 1.11407153 1.48536320 0.57634038 -0.19856462 -0.12923912 -H -0.76269535 1.65465424 -0.11309503 -0.26173387 1.16043860 -1.53226801 -H 1.37863287 0.49946586 -0.06324561 -0.00772977 -0.67653095 -0.36969360 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.856425615444 pbc="F F F" -C -0.12000439 -0.54943845 -0.10252606 -3.45832626 0.45742260 -0.39628858 -C -1.04410252 0.57878530 0.60275811 0.58486076 -3.06364184 -0.35286032 -O 1.09178420 -0.07775794 -0.46943492 2.18626149 -0.13059861 -0.41959600 -H 0.00522675 -1.47551779 0.50484596 -0.11772391 0.26525088 0.43775823 -H -0.72106638 -0.92519659 -1.01413248 0.34482675 0.27377717 0.55170802 -H -1.91860469 0.07082372 1.04107721 -0.30704813 -0.03420669 0.02144003 -H -0.49188861 0.95960619 1.43390150 0.77062724 0.78325414 1.09491884 -H -1.40953888 1.37749857 -0.02628789 -0.00444755 0.56681176 -0.83780510 -H 1.07619147 0.87586636 -0.44870066 0.00096961 0.88193059 -0.09927516 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7078376209365 pbc="F F F" -C 0.16670276 -0.40424848 -0.39171384 -0.16561900 -0.82630008 3.33222014 -C -1.22232858 0.13752010 -0.31877712 -1.94798766 0.17380334 -3.05130918 -O 1.03535706 0.24051563 0.60568287 -0.04358186 -0.35800474 -1.83290453 -H 0.05770754 -1.52473925 -0.15066905 0.52628998 0.77544549 -0.42546203 -H 0.55687010 -0.27346860 -1.38036409 0.89080471 0.12908917 -0.97315449 -H -1.44022169 1.05143346 -0.92255107 0.65824351 -0.06342579 -0.54065165 -H -2.02188081 -0.57192362 -0.71463811 0.71302099 0.25126700 0.40087019 -H -1.60619422 0.55290568 0.56359616 -0.32505275 0.05506405 2.73675471 -H 0.59705733 0.12485814 1.45667223 -0.30611791 -0.13693844 0.35363690 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7272308828715 pbc="F F F" -C 0.15173506 -0.12364366 -0.49361021 2.69546304 -0.10060936 -0.46588914 -C -0.44415928 1.23701086 -0.17068897 1.21021913 -0.73377118 -0.62372644 -O 0.23640187 -1.06728956 0.58482333 0.11857428 1.78752506 1.30643087 -H -0.34899642 -0.63997085 -1.32509628 -0.62520256 -0.09173807 -0.07070901 -H 1.19567442 0.06800574 -0.98644015 -0.73409684 -0.28886338 0.80508250 -H -0.15056791 1.97640299 -0.91203227 -0.06458469 0.21910784 -1.08947741 -H -1.49495621 1.06332178 -0.24516097 -1.58033017 0.69198920 0.91322509 -H 0.05391793 1.71826427 0.68300994 -0.59776060 -0.29083964 0.96787082 -H 0.47599800 -0.51302646 1.41845150 -0.42228162 -1.19280047 -1.74280734 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.322900794956 pbc="F F F" -C 0.38421802 -0.34595642 -0.08555941 -0.23773863 3.21684534 -0.77336655 -C 0.29880613 1.20501838 -0.71790192 -2.66726533 -4.69056844 -0.97714768 -O -0.62074932 -0.81405074 0.71309474 -1.80134289 0.89168197 3.81158377 -H 0.33370323 -0.99226193 -0.94339627 0.37509014 -0.75183077 -0.94050255 -H 1.35540098 -0.36046209 0.39037856 1.16560518 -0.37666484 0.33944260 -H 0.75239724 1.89408945 -0.10597205 1.17370112 2.35311575 1.65714957 -H 0.71575079 1.08568716 -1.70017670 1.37152351 0.22599650 -0.87511655 -H -0.74662695 1.40491144 -1.06315827 0.00286868 0.28681498 0.93872139 -H -0.69720828 -0.34839574 1.67722581 0.61755821 -1.15539049 -3.18076406 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.46996612099 pbc="F F F" -C 0.07981961 -0.11850787 0.52836248 1.24026119 2.11288804 0.59976406 -C -1.35280257 0.27314738 0.01548091 2.71208718 -1.76582273 0.29105242 -O 1.15324938 -0.19184576 -0.48399562 -1.83887155 2.07845720 0.32750615 -H 0.47844262 0.51270091 1.38886109 -0.41759599 -0.13915463 -0.42478115 -H 0.02914144 -1.10437888 0.92256186 -0.22858231 -1.56902276 0.59831992 -H -2.11770045 0.27494144 0.79660258 -0.36777231 -0.99071385 0.22611040 -H -1.45439560 1.24001987 -0.39983404 0.35054057 1.74387136 -1.04638540 -H -1.23105721 -0.50718218 -0.75870411 -1.92260773 0.01555770 -0.51972976 -H 1.15760587 0.78493883 -0.74733275 0.47254095 -1.48606033 -0.05185660 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77434669912 pbc="F F F" -C -0.38184392 -0.39213107 -0.21622931 2.29534068 -0.07360279 0.54156064 -C -0.82033247 0.71228627 0.70185912 -1.28560719 1.78612859 -1.28157112 -O 1.10713649 -0.32337109 -0.37201701 -1.52358555 -0.30531130 -0.71005769 -H -0.69136802 -1.42845768 0.09913018 0.04870031 0.40170400 -0.18314848 -H -0.75489009 -0.10548207 -1.20062794 -0.79145771 -0.46753876 -0.50662602 -H -1.95528177 0.65384642 0.77193174 0.72933948 0.20487035 0.14878095 -H -0.40799631 0.80796999 1.72209860 0.26711719 -0.34072785 -0.04869506 -H -0.58096130 1.68353856 0.08376108 -0.34483802 -1.13912085 1.35183410 -H 1.14076388 -0.29492489 -1.35793844 0.60499081 -0.06640149 0.68792264 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.632694850805 pbc="F F F" -C 0.31814577 -0.45956616 0.18692699 -0.63440377 1.34209923 0.97474961 -C -1.20768078 -0.33357902 0.34036174 0.37815027 -0.55309708 1.33344916 -O 0.78874931 0.69417195 -0.52110503 -1.15739040 -0.74688227 -0.47596427 -H 0.75962778 -0.51580426 1.27637163 -0.28185543 -0.17125435 -1.73025176 -H 0.49871690 -1.34804679 -0.40657098 0.70361162 -1.01772191 -0.14201334 -H -1.51494748 0.65618500 0.10507322 -0.02752475 1.87179942 -0.22712408 -H -1.85127437 -0.89152698 -0.36205907 0.10705774 -0.83688187 0.40027817 -H -1.38709375 -0.41759853 1.45008213 -0.77410116 -0.54337913 -0.79203338 -H 1.57365163 0.94763276 -0.07442437 1.68645588 0.65531796 0.65890989 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.65153588342 pbc="F F F" -C 0.27399457 0.28558326 0.38508452 -0.02420962 0.18117593 -2.45449330 -C -0.55778226 0.97036272 -0.80894669 0.62902801 -4.44742829 1.07717617 -O 0.24815073 -1.12275767 0.34212659 -0.07131327 -1.07834494 0.82879009 -H 1.34728876 0.55376432 0.24484454 -0.11894092 0.83336367 0.60150254 -H -0.25327271 0.58972526 1.26059524 0.07559694 1.02673599 1.70672745 -H -0.48770945 0.17594028 -1.63352974 0.01254473 1.32772825 0.27957882 -H -1.59585461 1.01459837 -0.49469223 -0.76647506 0.14884671 0.02632553 -H -0.17435118 1.93087334 -0.99278744 0.76853364 1.76127553 -0.78772868 -H 0.60556147 -1.41041950 1.23564746 -0.50476444 0.24664714 -1.27787861 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.413566160168 pbc="F F F" -C 0.15640340 -0.05865072 -0.62217006 0.75531822 -1.76620588 3.45358530 -C -1.26613269 -0.25441642 -0.06403960 1.03566688 0.20664241 1.36381046 -O 0.99277590 0.33446394 0.56727808 0.13734745 0.22362656 -0.50470721 -H 0.57291132 -1.03714282 -1.00942463 -0.42696947 0.63926362 -0.24754662 -H 0.23133569 0.71136761 -1.33946310 0.47724658 1.50641412 -1.21746435 -H -1.59101390 0.60986510 0.63405387 0.96288134 -1.15897204 -0.36124186 -H -2.12317680 -0.26860297 -0.72123999 -0.42606536 -0.63718087 -1.18526045 -H -1.05074617 -1.24322844 0.44064624 -1.35736038 0.68001526 0.33353256 -H 1.42463589 -0.35229204 1.16774881 -1.15806531 0.30639677 -1.63470784 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.208449171486 pbc="F F F" -C 0.05983506 -0.46532190 0.40766991 -2.34339276 0.95112723 0.85438491 -C -1.06103436 0.60043991 0.30938128 -2.84474257 -4.80975608 -0.25005915 -O 0.91880793 -0.09463026 -0.64934665 -0.13748706 -1.28032789 0.02016008 -H 0.48342928 -0.22918420 1.36141054 1.23930721 0.09172573 1.46854407 -H -0.31943050 -1.54923322 0.58565100 0.44241254 0.95760507 -1.15234121 -H -1.86340511 0.78922864 1.00948961 0.28060541 0.00621744 1.91061882 -H -0.60281500 1.42988791 0.01453947 2.17207105 4.50378185 -1.24964943 -H -1.79959719 0.34662258 -0.47135523 0.39735425 -0.24382726 -1.06384777 -H 1.44663246 -0.89679907 -0.73686257 0.79387187 -0.17654604 -0.53781027 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.717531811464 pbc="F F F" -C -0.00371365 -0.55889312 0.17833643 -1.16454054 2.79096083 4.20773850 -C -1.16549086 0.55685909 0.31912534 3.64608129 0.53837324 0.07407407 -O 1.06840956 -0.06593009 -0.48899588 1.13365710 -1.17156201 -2.39765689 -H 0.33919892 -0.83106883 1.27130535 -0.80842972 -0.19487220 -1.19817706 -H -0.50723837 -1.37895893 -0.28092332 -0.00408749 -1.43088007 -0.93468579 -H -1.98410367 0.18866309 0.85504431 -1.97059296 -0.85167980 1.10205355 -H -0.78262208 1.50240283 0.88776235 -0.41179841 -1.20700695 -0.89964457 -H -1.42000158 0.79094800 -0.70906781 -0.44867061 0.53478192 -0.60219854 -H 1.32686412 0.79728384 -0.18990784 0.02838134 0.99188504 0.64849671 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.751701546526 pbc="F F F" -C 0.25183526 0.39919871 0.22692348 0.44460642 0.86870864 -1.38186758 -C -1.05202444 -0.15109639 0.83939270 1.39997273 1.56470871 -1.84401633 -O 0.68084629 -0.24222922 -0.96549497 -0.56652344 -1.52027839 -0.76721132 -H 0.16806256 1.46677182 -0.17230757 -0.46353982 -0.26679935 1.36158403 -H 1.04238502 0.34054010 0.97383818 0.53818689 0.25271130 0.72706749 -H -1.37710744 0.58948617 1.52864940 -0.39866706 0.99745035 1.44733143 -H -1.82029910 -0.11645274 0.08486583 -0.77615877 -0.58193191 -0.81433436 -H -0.92999487 -1.08650878 1.31958936 0.08728194 -1.61918644 0.57225098 -H 1.64376590 -0.30675236 -1.11529631 -0.26515888 0.30461710 0.69919570 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734399224018 pbc="F F F" -C -0.46483943 0.08766905 0.28801510 2.06811226 -1.27702510 0.73763170 -C 0.08964717 1.13554247 -0.66225426 -3.78220325 0.87670441 -0.74787369 -O 0.33102156 -1.11529379 0.39676556 0.04201266 -0.03443279 -0.64868703 -H -0.22526501 0.47140961 1.27468302 -0.84887483 0.53570079 0.93812803 -H -1.51714481 -0.22294415 0.18357530 -0.46382804 0.56571899 -0.17832807 -H 1.05732198 0.99580941 -1.03239380 2.36991082 -0.52527146 -0.24845046 -H -0.55887350 1.20164225 -1.59676480 0.42903319 0.06597407 0.56368977 -H -0.00615511 2.12365175 -0.15803666 0.23764941 -0.01017998 -0.30495438 -H 0.46552440 -1.44349708 -0.50960178 -0.05181222 -0.19718887 -0.11115577 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.603783398068 pbc="F F F" -C 0.18540289 -0.43405216 -0.33041607 1.08504056 2.14524883 -0.47073840 -C -1.29737915 0.10163712 -0.37687925 -1.03327549 -2.46342758 -0.50468175 -O 1.03524642 0.25146473 0.67893556 -1.19310375 0.73592783 -0.94196587 -H 0.32996001 -1.52985125 -0.13563295 -0.57660438 0.47877587 -0.01658136 -H 0.72113891 -0.17908394 -1.28661882 -0.49252480 -0.57485968 -0.12886307 -H -1.57514916 1.13431151 -0.69878391 0.96554711 0.22749329 0.86815966 -H -1.99740820 -0.40387205 -1.18447556 1.43831252 -0.05076311 1.08596832 -H -1.72465136 -0.26226109 0.60555105 -0.17148004 0.96339936 -0.49151333 -H 1.06268088 1.20875145 0.35115999 -0.02191172 -1.46179487 0.60021580 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.840714080641 pbc="F F F" -C -0.31544407 -0.41116813 -0.23334268 0.80197517 -0.10512278 0.52456857 -C -0.87306394 0.70621782 0.67863938 -1.02203565 0.30516516 -3.53718043 -O 1.07471535 -0.31666582 -0.38331853 1.18187389 0.67648087 -0.66326652 -H -0.28228595 -1.35440158 0.30865422 -1.15015161 -0.74669813 0.55161438 -H -0.81218342 -0.63012849 -1.21844629 -0.34968527 0.51875305 0.31761625 -H -1.85330997 0.36071470 0.97157484 -0.85268670 0.04819977 0.89374296 -H -0.17743318 0.91783847 1.43938179 1.05553251 0.03384817 1.77050497 -H -1.03406205 1.69800533 0.12277875 0.16376791 -0.92098993 0.30580043 -H 1.26129999 0.51718615 -0.84558206 0.17140975 0.19036382 -0.16340060 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.670800142861 pbc="F F F" -C 0.23699819 0.39113221 0.18713712 1.61390036 0.85871671 2.20594550 -C -1.14905421 0.04093991 0.64797274 0.72791565 0.34018524 0.92342466 -O 0.86201485 -0.40996208 -0.75632229 0.43286516 -0.19686733 0.24059337 -H 0.36459641 1.48811029 0.14102920 -0.24513482 0.65168781 -1.42746112 -H 0.90399006 0.33473280 1.07741966 0.05810752 -0.61272006 0.19674325 -H -1.05897722 -0.43459119 1.62413651 -0.31650723 -0.63969891 0.41436216 -H -1.77474480 0.90436582 0.80792996 -0.62637298 0.86091999 -0.07101019 -H -1.60361330 -0.61280092 -0.04346712 -1.05723232 -1.28592914 -1.16266692 -H 0.35282111 -0.32244771 -1.55290907 -0.58754129 0.02370568 -1.31993076 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.637515740598 pbc="F F F" -C 0.28929318 0.53181884 -0.06316599 -3.77553072 -1.73640868 1.93649879 -C -0.96714826 0.02518110 -0.84521395 1.64486442 1.46356348 -3.57345300 -O 0.66621766 -0.46904732 0.89492508 1.17311774 2.58613907 0.53059334 -H 1.00720270 0.85135234 -0.78094093 1.52704368 0.30115156 -0.87845852 -H -0.11993707 1.38716918 0.51209793 0.57619187 0.37692370 0.04314585 -H -1.05680197 0.85192633 -1.69627950 -0.35501943 -1.33608856 1.21477569 -H -0.75085796 -0.90266588 -1.47185862 0.08800951 0.47675576 0.58550215 -H -1.95956474 -0.12625848 -0.43340553 -0.36276031 0.17534513 1.03906953 -H 0.38123311 -1.25492351 0.48924756 -0.51591676 -2.30738152 -0.89767372 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525193412211 pbc="F F F" -C -0.14226072 0.47422861 0.14381801 3.64629526 1.08645184 -3.10206324 -C -0.91854773 -0.27499564 -1.03422741 -0.83945122 0.79072834 1.58765890 -O 0.98886297 -0.15643406 0.84095468 -2.08435799 -1.80333694 -0.80289609 -H 0.42283621 1.37016896 -0.43883826 -0.92792132 -1.51815188 0.90675177 -H -0.70058485 1.06556058 0.83224911 -1.60493029 0.22940244 1.09474617 -H -1.23656835 0.54002807 -1.72955511 0.22511558 -0.31896433 -0.04954636 -H -0.33027322 -1.03558343 -1.59360357 0.07524794 0.23005128 0.25111896 -H -1.91495245 -0.70510713 -0.69164999 0.88143617 -0.09554937 -0.10818182 -H 0.70265513 -1.12750948 0.88281203 0.62856588 1.39936857 0.22241171 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7466768859285 pbc="F F F" -C -0.53764914 0.29348440 -0.05707577 1.50744770 -0.59933078 3.45876628 -C 0.85886431 0.92250587 0.20250963 -0.87378868 2.55320051 -2.88383333 -O -0.34770190 -1.11725201 -0.17828070 0.32612074 -0.08861598 1.09719257 -H -1.24596168 0.61750894 0.81773900 0.57697436 -0.59565837 -1.04657679 -H -0.90466061 0.67019393 -0.95940622 -1.18757048 0.64934765 -2.03918513 -H 0.80296030 1.94103189 0.70296887 0.05347814 -0.75573278 -0.21075566 -H 1.43835140 0.24791686 0.78172645 1.14731064 -0.86543233 0.95123033 -H 1.36197511 1.13423165 -0.85717055 -0.49784493 -0.60781722 1.97352284 -H 0.23791800 -1.36767894 0.61105484 -1.05212745 0.31003936 -1.30036116 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.805831754512 pbc="F F F" -C 0.09367353 -0.14683700 0.51682145 -0.39643930 -2.40435642 -0.28686810 -C -1.30682529 0.24157734 -0.00665353 0.52479596 0.79253546 0.36278062 -O 1.14556312 -0.14203592 -0.44418036 -1.36507354 1.73421934 -1.63710601 -H 0.47197731 0.40801471 1.36652237 -0.40136559 0.88696471 1.00699794 -H -0.00004284 -1.22499696 0.88856324 0.21025846 0.72820212 -0.17868978 -H -1.98836544 0.48822886 0.82164459 -0.32842249 -0.81238824 0.56838744 -H -1.26501020 1.29958361 -0.35075210 0.17013083 -0.15080075 -1.03851911 -H -1.78778772 -0.48908000 -0.72595891 0.50645998 0.69840647 0.40522790 -H 0.84031876 0.64240348 -1.02858698 1.07965564 -1.47278264 0.79778915 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.425283970304 pbc="F F F" -C 0.32169419 0.46312891 0.31290710 -0.39142128 0.89014907 -2.59111000 -C -0.92303601 0.51490662 -0.69716771 2.98540320 1.51189983 0.14305618 -O 0.62306430 -0.88969894 0.35007305 -1.30618610 -1.61339020 1.39343801 -H 1.20235402 1.05665015 -0.07097713 -0.27831286 -0.50209178 0.03816516 -H 0.10533193 0.89543222 1.31009068 -0.40767924 0.19343069 0.17600272 -H -1.12059881 1.43164986 -1.21543488 0.24865918 1.73613491 -0.41177491 -H -0.87694072 -0.16195324 -1.54556232 0.18074841 -1.11183619 0.11880691 -H -1.73056669 0.48528751 -0.06526974 -3.07271172 -1.04774592 1.60733962 -H -0.30505514 -1.24040602 0.60919843 2.04150046 -0.05655040 -0.47392369 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.519296460254 pbc="F F F" -C 0.06720660 0.57518433 0.09544590 0.55569657 -2.70030633 -0.73611619 -C -0.84391128 0.03293479 -1.07355677 0.23148719 1.07122211 -0.34906434 -O 0.71525119 -0.56959589 0.86824302 -0.42013727 2.41311102 0.99293096 -H 0.89431344 1.11684272 -0.40186460 -0.04609532 0.68115580 0.35070337 -H -0.50490033 1.09226343 0.87845832 -0.24760627 0.81633057 -0.40882344 -H -1.25740809 0.75684878 -1.84688358 0.56718483 0.46129103 1.04721977 -H -0.43120005 -0.67835001 -1.80431106 0.89304151 -0.50471759 0.44951044 -H -1.74231005 -0.41669007 -0.71044952 -1.08994026 -0.81598532 0.78960708 -H 0.94235243 -0.07741118 1.75836520 -0.44363104 -1.42210134 -2.13596771 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.668299487256 pbc="F F F" -C -0.43797240 0.03051940 -0.28518451 -0.36543143 0.67453089 -0.45178088 -C -0.46587763 0.18678632 1.28940456 -1.59079575 -1.76551636 -2.21231927 -O 0.81629423 -0.25540843 -0.88855869 1.33052587 -0.48757609 -0.30307732 -H -1.29034500 -0.66752722 -0.65603415 1.38055271 0.18882224 0.43239851 -H -0.73359554 0.98458897 -0.74873183 -0.63297013 0.60699046 0.31513827 -H -1.55452914 0.35258314 1.53291436 0.65510610 0.12306281 0.18218550 -H -0.12982313 -0.73872838 1.80712885 0.13537639 0.26101678 -0.06786506 -H 0.13112528 1.03674688 1.48143157 1.00956462 1.38035849 0.95485363 -H 1.38919661 0.49559405 -1.27866475 -1.92192849 -0.98168922 1.15046652 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.909886712332 pbc="F F F" -C -0.25224495 0.50508407 -0.08392353 0.82909368 0.59906271 2.38089278 -C -0.98066260 -0.76589849 0.39150343 -1.83337355 0.76348764 -0.15759793 -O 1.13257993 0.27362927 -0.32824326 -0.30839904 0.19551236 -0.34716368 -H -0.66540119 1.00687081 -0.94057120 -0.43027009 -0.14544489 -1.41620853 -H -0.39815014 1.36709933 0.68137589 0.19534230 -0.93606807 -0.25328301 -H -0.43204267 -1.65279602 0.08762237 0.52414974 -0.59182315 -0.02338162 -H -1.28464046 -0.80326439 1.48201825 0.63506650 0.06536651 -0.61584153 -H -1.96383285 -0.86039678 -0.15416924 0.35681967 0.04558542 0.24536642 -H 1.45665592 -0.29454347 0.38890054 0.03157074 0.00432141 0.18721720 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.697815658512 pbc="F F F" -C 0.00099014 0.45545895 0.33175849 1.95490866 -1.35081980 1.75093172 -C -1.23418891 0.00313435 -0.31110678 -1.92219399 -0.94770787 1.86250437 -O 1.13276760 -0.44551584 0.02424977 -0.29718353 1.64892239 -0.73965870 -H 0.08912703 1.50156389 0.08698020 1.13036928 1.15942903 -0.50170853 -H -0.02642426 0.45154299 1.48096892 -0.30572515 -0.09961352 -1.08359591 -H -1.94852559 0.78867827 -0.41729995 -0.91185649 1.52588380 -0.01303776 -H -1.12478483 -0.33675415 -1.30789048 0.48107064 -1.03644165 -1.51067634 -H -1.80296648 -0.69314402 0.35646247 0.34451030 -0.46406705 -0.66665082 -H 1.52665386 -0.10618868 -0.83023413 -0.47389983 -0.43558534 0.90189192 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.321608634929 pbc="F F F" -C 0.00872815 -0.13745897 -0.51390936 4.06385993 3.48691411 0.45586014 -C 0.57471878 1.27271984 0.19001233 0.36251276 -3.02094604 0.04189455 -O -0.60921418 -1.04071554 0.25560196 -1.75366290 -1.62331481 1.80970700 -H -0.54917698 0.32338101 -1.35611957 -0.29314736 -1.10057651 -0.20095081 -H 1.03364093 -0.49642443 -0.71517233 0.02644488 -0.48579761 -1.51620704 -H 1.09277922 1.03771085 1.13979167 -0.37108508 0.00058112 0.34427258 -H 1.35424747 1.76396950 -0.38717088 0.29549508 0.13626399 -0.91297806 -H -0.24171198 1.91091902 0.29305277 -1.79470132 1.80337252 0.75875892 -H 0.02710762 -1.54926450 0.82793996 -0.53571596 0.80350318 -0.78035722 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.611548216355 pbc="F F F" -C 0.58497063 0.07986022 0.12557801 1.86935898 0.12287831 0.82700224 -C -0.31140315 1.05891454 -0.50801410 -0.96232161 0.77813363 -0.83207622 -O -0.29052804 -1.02102946 0.34716635 1.89535603 -0.77752202 0.19601470 -H 1.64339548 -0.05909578 -0.39060515 -1.91457478 -0.69450081 -0.49315267 -H 1.11789676 0.48538830 1.05162581 -1.11683355 -0.09070027 0.23232954 -H 0.19843117 1.77616625 -1.11601925 0.74607772 0.97080620 -0.81398876 -H -1.04188020 0.53167852 -1.16405709 0.29175089 -0.00469720 0.02959042 -H -0.91797618 1.64985559 0.18310726 -0.25073993 0.07502903 0.61082078 -H 0.35094791 -1.74805760 0.48239148 -0.55807376 -0.37942687 0.24346000 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.637607625256 pbc="F F F" -C -0.06970619 0.32373175 -0.46093848 0.50417453 0.77448354 4.10960769 -C -1.25898595 -0.10904745 0.54493534 1.07774737 -1.43602578 -0.59174108 -O 1.19440862 -0.21277260 -0.07091337 -0.26454717 -0.87767963 0.90833357 -H -0.27264989 -0.00912708 -1.43974967 -0.91571557 -0.10518813 -2.05862679 -H 0.03523784 1.44078984 -0.27927066 -0.63209610 -0.37169006 -0.95195214 -H -1.22246773 0.23095382 1.58279731 0.94502764 0.61202483 0.46814611 -H -2.17906529 0.38035089 0.21414738 -0.55809022 -0.19612813 -0.61255818 -H -1.39780326 -1.25038886 0.72859518 0.13852203 1.33975402 -0.94956461 -H 1.90928490 0.02514186 -0.68179955 -0.29502262 0.26044939 -0.32164450 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.692958384255 pbc="F F F" -C 0.26484334 0.41698998 0.15819244 -1.39897411 1.76892415 2.47884449 -C -1.16432117 -0.06943721 0.75026111 3.81420707 -0.56521505 -0.62003351 -O 0.87582029 -0.33481915 -0.79726801 -0.22166192 -1.07685036 -1.38495059 -H 0.14119389 1.49222913 -0.13726370 -0.55597440 0.00520664 -0.59936353 -H 0.97601641 0.66760842 1.00053003 -0.09820892 -1.03786404 -0.13866093 -H -1.63766148 0.75796235 1.17960269 -1.03491483 1.64807542 1.34581756 -H -1.75794405 -0.39096525 -0.04271298 -1.54792310 -0.52996429 -2.30401707 -H -1.13004781 -0.96518436 1.37410089 0.35107896 -0.13769486 0.74704492 -H 0.22349379 -0.38991259 -1.54414136 0.69237127 -0.07461750 0.47531867 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.74397723874 pbc="F F F" -C 0.55180338 0.06883707 0.10828485 -1.02314956 -0.05215299 0.85057099 -C -0.28955754 1.10727147 -0.60991823 0.49666392 0.15649385 1.01191846 -O -0.17924108 -1.09075036 0.41654990 -0.40919054 -1.17891188 -0.22297797 -H 1.32395394 -0.31074375 -0.55063346 1.01606956 0.10304291 -0.21985423 -H 0.92739151 0.46799422 1.05086421 0.90890677 0.50063489 0.46774224 -H -0.15303857 2.15264870 -0.28639347 1.01233534 0.33124217 -0.62899654 -H -0.18909677 0.84777060 -1.64718788 -0.49217457 0.60195320 -1.28452501 -H -1.29138028 1.02253823 -0.23673917 -1.50584734 -0.69213323 -0.02664409 -H -0.89860377 -0.88243979 1.03554743 -0.00361358 0.22983114 0.05276615 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.311092803759 pbc="F F F" -C -0.03535424 -0.58245034 0.27113276 1.83563725 1.07781997 -2.40668342 -C -1.19028701 0.15882426 -0.28727837 -3.16753630 2.87652872 -0.43777170 -O 1.14734184 0.31479298 -0.02854834 -0.83010577 -2.34972930 0.42295371 -H -0.24325022 -0.83027992 1.31966449 0.41931863 0.18563854 0.56414635 -H 0.13616305 -1.52050651 -0.26666181 0.35423082 -0.49303131 -0.11200902 -H -0.92831138 1.26620925 -0.09469049 -0.60617017 -0.99873533 0.32399531 -H -1.60448252 0.34517434 -1.39536961 1.42678641 -1.48086830 1.56367615 -H -2.10434612 -0.09348672 0.34276968 0.31957239 0.36482861 -0.62584138 -H 1.13590857 0.88253026 0.73983852 0.24826663 0.81754840 0.70753399 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6647608802705 pbc="F F F" -C 0.12797233 0.15695499 0.52417795 -1.11127297 1.50713495 0.48809762 -C -1.10466831 -0.57838991 0.10654767 -2.71871980 -0.68245678 1.38464051 -O 0.89125481 0.34066149 -0.58585164 1.84599783 0.11179613 -2.29641684 -H -0.25361862 1.12384874 0.87571702 0.14468898 0.65155905 0.71852248 -H 0.63501548 -0.32643475 1.35690281 0.59234432 -0.50175393 0.68549629 -H -2.11215261 0.03814942 0.26253616 1.79813451 -0.87342384 -0.72316934 -H -0.96324212 -0.91740372 -0.93575401 -0.32649345 -0.13684002 0.00534692 -H -1.26996150 -1.44538756 0.81622466 0.04971019 0.16482505 -0.76274933 -H 1.45415041 1.14013829 -0.59197025 -0.27438956 -0.24084061 0.50023169 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.592762270511 pbc="F F F" -C -0.19364359 0.40200031 0.22912813 3.01564103 -0.09443218 -0.54048170 -C -0.73395769 0.03806265 -1.10616315 0.82622469 -0.16905564 -3.92456590 -O 0.86918422 -0.42613496 0.79596662 -1.08095070 -0.08686141 -0.56244207 -H 0.28322206 1.41194164 0.10699013 -0.65539972 0.04815493 0.19091142 -H -1.08583091 0.43446501 0.77842625 -1.57081909 0.30686147 2.16578979 -H -1.41281127 0.84265184 -1.44350538 -0.25824549 0.34731111 0.34461597 -H -0.02012439 0.05280535 -2.02892462 -0.18293369 -0.01647347 1.47389094 -H -1.32050968 -0.86695188 -1.36507615 0.03377418 -0.42241841 1.06809873 -H 0.81156317 -0.35604430 1.76824571 -0.12729120 0.08691355 -0.21581719 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.81470532115 pbc="F F F" -C 0.16186571 -0.07525183 -0.48266795 1.74406353 -2.17441903 -0.65770214 -C -1.32801941 -0.20148264 -0.16999366 0.38317492 1.87778073 1.66998256 -O 1.04333090 0.30395043 0.58185103 -1.55410969 1.92188196 -0.56492735 -H 0.57012094 -1.14014065 -0.86304565 -0.82802606 1.80551584 0.14211654 -H 0.33722157 0.69129958 -1.29078394 -0.29308293 -0.51099464 0.10608951 -H -1.64004682 0.89472050 0.11756403 -0.21729089 -1.74536425 -0.61938760 -H -1.85112824 -0.65620746 -1.01401682 -0.43518239 0.29316859 -0.52794613 -H -1.55923830 -0.84702319 0.72074531 0.36142251 0.23669892 -0.27174924 -H 1.47689705 -0.47127339 0.87077509 0.83903105 -1.70426813 0.72352384 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.517333102942 pbc="F F F" -C -0.26911511 -0.50135576 0.15668794 2.77188818 4.09743474 -0.51699143 -C -0.95482913 0.93659697 0.37818958 1.15406951 -1.31690781 -2.48354220 -O 1.09626258 -0.35849832 -0.47277589 -1.58162117 -0.78281813 -0.04263544 -H -0.00815164 -0.88085349 1.11223372 -0.38936316 -0.87783878 1.76564054 -H -0.84515903 -1.16460474 -0.39996754 -1.65625210 -1.58927124 -1.40310891 -H -2.03831730 0.75875718 0.46043947 -0.13349162 0.35601985 0.55954294 -H -0.41588104 1.36150204 1.19771439 -0.05507104 0.63266488 1.46501055 -H -0.76870809 1.71569630 -0.45718625 -0.24451235 -1.35982648 0.48532324 -H 1.25847649 -1.28779454 -0.78233597 0.13435376 0.84054296 0.17076065 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.502421959949 pbc="F F F" -C -0.08955603 0.29575705 -0.44862961 1.22266368 0.37482053 1.91739173 -C -1.22472207 -0.07008402 0.50676124 2.04189760 -0.42194789 -0.92639233 -O 1.17185740 -0.24513929 -0.03424643 -2.05944065 -1.21133041 1.06923871 -H -0.25395872 0.24895798 -1.49737813 -0.69913399 -1.52488694 -1.91005555 -H -0.05435419 1.37613866 -0.43927301 0.24834217 1.53599107 0.61246670 -H -1.26824886 0.59794572 1.32686991 -0.49957739 1.49206211 1.02757376 -H -2.09064390 -0.20389729 -0.05914895 -2.41676683 0.37401249 -1.01910300 -H -1.13935126 -1.00741490 1.00802177 0.76915307 -1.67545197 0.32837611 -H 1.86529829 0.18881595 -0.48818700 1.39286234 1.05673101 -1.09949613 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.129557124114 pbc="F F F" -C -0.07169321 -0.56825590 0.39500801 1.27815567 5.93707325 -1.21452578 -C -1.26710358 0.22479999 -0.32291780 -0.89434506 -2.34075198 1.72267261 -O 1.21058797 0.25912848 -0.10264560 -1.66607469 -3.03981851 -0.31471974 -H -0.14810418 -0.46147746 1.47945139 -0.02175298 -0.10919931 0.55727785 -H 0.13843830 -1.56543734 0.15097152 0.25503943 -1.98268399 -0.96407366 -H -1.75292316 0.92111857 0.51246078 0.86183109 -0.82419938 -1.96629469 -H -0.84533833 0.70562354 -1.26086907 -0.60245590 -0.22286746 0.88281567 -H -2.07506676 -0.62099839 -0.56837295 1.07652969 1.78433226 0.11983983 -H 1.41911771 0.99908006 0.45665626 -0.28692724 0.79811512 1.17700782 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.595792153754 pbc="F F F" -C 0.02571338 0.52621163 0.36026960 -0.09999599 -2.13855296 -1.77033954 -C -1.29574896 0.02436876 -0.33533659 1.92673378 -2.05218592 0.02946778 -O 1.17730931 -0.46739572 0.04746114 -1.96004645 2.36933289 1.30107017 -H 0.06601097 1.59704233 0.03103006 1.20227375 -0.18314123 0.29147583 -H -0.07034811 0.39556781 1.44514550 -0.02572899 0.42404417 0.28603075 -H -2.16000964 0.67479240 -0.20223148 -0.50636799 0.11573213 0.28555360 -H -1.18100821 -0.23553556 -1.42458621 0.24549359 0.95153788 0.11273021 -H -1.38428707 -1.04147841 0.00847316 -0.81502105 0.51915666 0.44025009 -H 1.17464551 -0.53350910 -0.90830297 0.03265940 -0.00592357 -0.97623884 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.213066630809 pbc="F F F" -C -0.23112530 -0.47336511 0.05646682 -0.22970331 -1.56153710 -2.97301562 -C -0.89986898 0.73848404 0.49277120 -1.78296428 1.96903405 -0.00356859 -O 1.01799239 -0.24328129 -0.50433535 2.36788865 -0.10159481 -0.31799749 -H -0.35957244 -1.27590738 0.72062844 0.63006329 -1.75388165 2.08129282 -H -0.89868421 -0.97697765 -0.83828780 1.06503171 1.21168882 1.39215750 -H -1.86507743 0.49452031 1.01527677 0.22137602 0.39248906 -0.50936286 -H -0.42304838 1.58940677 1.00315158 0.91758764 -0.61475786 1.09399494 -H -1.01387944 1.29139077 -0.44392163 -1.11118756 0.35832299 -0.58277513 -H 1.87733292 -0.42142021 0.00388422 -2.07809216 0.10023639 -0.18072563 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.751208837503 pbc="F F F" -C -0.45181289 0.06379002 0.35502514 3.04605143 -1.45731858 -0.95269437 -C -0.24036444 1.02956201 -0.82698275 -0.87686356 -1.12282268 0.89231158 -O 0.58477231 -1.00665050 0.40666772 -1.52023535 0.21832098 -0.80927037 -H -0.38229265 0.53754712 1.31586908 -0.58820047 0.84989078 1.03466636 -H -1.29627842 -0.56113174 0.25868079 -2.02596421 -0.52773350 -0.10477388 -H -1.23853224 1.21899058 -1.26178978 -0.01404491 0.68160533 -0.00657205 -H 0.25623321 1.90468556 -0.39735705 0.26304179 0.58945532 -0.66409344 -H 0.30368130 0.47580954 -1.60839066 0.45529182 0.18223096 -0.02921777 -H 1.32193980 -0.62694703 0.86168987 1.26092341 0.58637138 0.63964394 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.752104527966 pbc="F F F" -C -0.39848889 0.31031735 -0.28098890 0.66121375 0.05046681 -1.91650850 -C -0.49950081 -0.00716713 1.23617871 -1.53985585 -1.60367924 -1.78346734 -O 0.79996144 -0.28434872 -0.90980650 -1.86862478 0.28097061 0.13682994 -H -1.27326467 -0.08120415 -0.89703269 0.47964007 -0.11662790 0.79559863 -H -0.42668037 1.42494050 -0.63852015 0.13482582 -0.96201040 1.31113260 -H -1.28925573 0.62730596 1.61687149 -0.86251608 0.37161457 0.53537744 -H -0.83263651 -1.14113400 1.41618064 0.99877009 2.09273069 -0.22626749 -H 0.38047110 0.31521771 1.76865234 1.05819314 -0.13542144 0.52059195 -H 1.44281948 -0.24541928 -0.20658484 0.93835383 0.02195625 0.62671278 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518735368211 pbc="F F F" -C -0.28579758 -0.01141802 -0.54071746 -2.12427829 -4.60045412 1.05809858 -C 0.88814803 0.85782463 -0.34853527 -1.01125157 0.38607852 1.31210741 -O -0.56099269 -0.79017977 0.73860302 0.66243662 1.39264652 0.03625390 -H -1.35046598 0.32363695 -0.78670556 1.34560997 0.79794193 -0.36690086 -H -0.12972029 -0.97153400 -1.18223124 0.14506174 1.67167456 0.08477958 -H 1.69198156 0.36514045 0.16348703 0.76574369 -1.19149872 0.45351195 -H 1.33545246 1.27840629 -1.20119276 0.48864022 1.14861861 -1.86188319 -H 0.58987575 1.61120843 0.38853008 -0.01906849 0.90139231 0.01190750 -H -0.41093056 -0.15140020 1.49040899 -0.25289384 -0.50639966 -0.72787487 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.527798714262 pbc="F F F" -C -0.05713692 0.54198295 -0.28975022 3.37422247 -0.30108816 0.80431158 -C -1.13041908 0.06598858 0.67801798 -0.61073434 -2.84357097 -2.91689433 -O 1.10274567 -0.48250269 -0.35451023 -1.32975716 1.57361280 -0.11519528 -H -0.44323831 0.83238214 -1.30340426 0.15516469 -0.36532051 0.23664817 -H 0.59156713 1.44677638 0.11972805 -1.47354775 -1.23420933 -0.70107908 -H -1.01199744 -1.08778898 0.75646046 -0.15494825 1.35433491 0.06879256 -H -1.09566761 0.44111663 1.64073167 0.29218376 1.14939560 2.63722259 -H -2.16837797 0.17556102 0.27864189 0.23131374 0.28690029 0.09159301 -H 0.77345977 -1.39524699 -0.49151950 -0.48389710 0.37994541 -0.10539922 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.707880475153 pbc="F F F" -C -0.35141650 -0.49645950 -0.04782031 1.98864628 1.60779779 -0.73086831 -C -0.88239121 0.83961261 0.50432703 -1.62182805 -2.19557063 1.13743925 -O 1.12517451 -0.27333460 -0.41356842 -2.75413239 0.14952703 0.62247431 -H -0.43847929 -1.22306257 0.72873438 0.26737831 -1.04581564 1.44522133 -H -0.97430622 -0.98176125 -0.82472519 0.15317147 0.54758726 -0.84170474 -H -2.02483189 0.88871342 0.52632895 0.87854861 -0.52724324 0.30894592 -H -0.48564421 0.98683633 1.53053942 -0.11719164 0.12551364 -0.09851010 -H -0.67792962 1.68737858 -0.06355434 1.11660888 1.89853150 -1.66674858 -H 1.44205511 -1.10990674 -0.77237403 0.08879858 -0.56032775 -0.17624908 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.796123116231 pbc="F F F" -C 0.09065901 -0.59835183 0.03210100 2.15358152 0.00355229 -0.61278742 -C -1.03494028 0.02897462 -0.70158668 1.35404474 1.81906567 -1.89954590 -O 0.85313520 0.45697618 0.66672458 -0.52185395 -2.22893811 1.91284807 -H -0.21265216 -1.40204235 0.71283470 -0.17320952 0.20788996 1.00005313 -H 0.83760293 -1.14175281 -0.61847319 -0.60129428 0.05405952 -0.29598971 -H -0.49197674 0.71653698 -1.48068246 -1.01530903 -0.51607838 0.96330578 -H -1.74185280 -0.50787841 -1.31549549 -0.49470278 -1.09612495 -0.22847499 -H -1.56879837 0.65810136 -0.00155837 -0.58475092 0.61002492 0.44726509 -H 0.88669832 1.20653309 0.09786096 -0.11650583 1.14654908 -1.28667410 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.527996920281 pbc="F F F" -C 0.07169057 0.62822790 0.11698515 -0.01802077 -1.69625760 -1.45188877 -C -0.78580161 -0.01297599 -0.96726025 0.00884624 1.87713014 -2.48914808 -O 0.70714428 -0.55410737 0.75432432 -2.05841195 2.16360867 3.02442063 -H 0.88144877 1.29671686 -0.30955417 -0.64265907 -0.22036840 0.43860227 -H -0.74972668 1.15916356 0.64335039 0.90330058 0.39923353 1.09884338 -H -1.17361178 0.73679558 -1.78628747 0.71069054 -0.87258494 1.10693613 -H -0.23213017 -0.80018914 -1.47757907 0.39512732 -0.36692344 -0.43051774 -H -1.69001093 -0.46507504 -0.60103057 -0.84365436 -0.51281637 0.80133435 -H 0.24769070 -0.46475804 1.68938671 1.54478157 -0.77102160 -2.09858211 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.717660423855 pbc="F F F" -C -0.39941190 0.09343026 -0.38834081 -0.80923067 -2.68451250 1.96322958 -C 0.40543401 1.25115485 0.02654336 1.34371985 0.81549378 2.94082915 -O 0.00947311 -1.23190142 0.24265662 -0.69135573 1.94658949 0.64400453 -H -1.46449050 0.22296747 -0.08573470 -0.08468425 0.15679287 -0.64486935 -H -0.26479439 -0.17664791 -1.41143809 -0.22493952 0.14523580 -1.60780144 -H 1.49503591 0.96634743 -0.05449447 -0.44208972 0.80100987 -0.60837201 -H 0.04791555 2.25249082 -0.33219281 0.55702064 -0.50995524 -0.52328693 -H 0.34687095 1.41902648 1.18389636 -0.24223862 -0.41984488 -1.27620379 -H -0.38365676 -1.15345505 1.15939616 0.59379802 -0.25080919 -0.88752974 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.797428410708 pbc="F F F" -C -0.02385827 0.08915270 0.54677213 0.21813766 3.28233661 -1.52122671 -C -1.26311072 0.09340484 -0.38023578 1.90643353 -1.48275544 1.80956405 -O 1.17142821 -0.17719298 -0.10851236 1.56768013 -1.11529608 -0.36929816 -H 0.10356300 1.10051739 1.07452329 -0.47605673 -0.47645437 -0.21514891 -H -0.12291994 -0.61995358 1.33564603 -0.30669060 -1.23599486 1.04894956 -H -1.23876666 -0.93741342 -0.72106237 -0.57751702 -0.69426401 -0.67457969 -H -2.07330519 0.22696507 0.30503330 -1.53095582 0.39085512 0.22282766 -H -1.20769330 0.75473315 -1.21833092 -0.03700503 1.07625952 -0.77816299 -H 1.27925830 0.11092878 -1.03781450 -0.76402609 0.25531351 0.47707529 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.716275535482 pbc="F F F" -C 0.11001584 -0.41428793 -0.21322499 0.34187369 -2.52944099 -1.37874297 -C -1.28758426 0.14067408 -0.35223254 0.11845452 3.05554302 -0.66250620 -O 1.08875932 0.25665247 0.50748927 0.05677826 1.09912255 -1.04806628 -H 0.02044259 -1.59084317 0.04895798 0.38783202 1.93732550 -0.32385652 -H 0.54118625 -0.34302850 -1.26436649 -0.52729544 -0.57839973 0.44530463 -H -1.17729074 1.21958131 -0.77703430 -0.02675748 -1.01763855 0.67696547 -H -1.76600736 -0.32488541 -1.21877582 -0.50739833 -0.68799962 0.01354859 -H -1.97135367 0.29434568 0.51276241 0.21638401 -0.63075517 0.07011108 -H 1.10176605 -0.07020240 1.38093432 -0.05987129 -0.64775696 2.20724221 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.620042901812 pbc="F F F" -C -0.43274565 -0.23262012 -0.39182932 1.40469734 -1.17200255 2.28036873 -C -0.67837406 0.56370294 0.87677367 -0.64596839 -1.06835168 1.88777950 -O 1.00558352 -0.27416389 -0.42091947 -0.32362862 -0.38740362 -1.79858836 -H -0.83057502 -1.26398429 -0.26250567 -0.00110398 -0.34949274 0.41780430 -H -0.92434598 0.00400089 -1.31349496 -0.40763276 1.41668444 -1.27830649 -H -0.93220195 1.58976007 0.78432054 -0.62511746 1.72587615 -0.77114198 -H -1.53970343 0.12055525 1.52728299 1.37034250 0.45232035 -0.67824315 -H 0.31571328 0.66042562 1.45474789 -1.20800212 -0.77862466 -0.44435753 -H 1.18832749 -0.70556544 -1.28758093 0.43641359 0.16099431 0.38468493 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7615876288055 pbc="F F F" -C -0.53548515 0.13416284 0.14537285 0.72748196 -0.71246018 1.99182164 -C 0.62016146 1.15319794 0.14021632 -1.80200073 0.03258175 -0.35559999 -O -0.04606283 -1.15615441 -0.23488812 2.63341052 1.69999799 1.53254672 -H -0.88224770 0.05150146 1.21914414 -0.23190119 0.15809122 -0.38513256 -H -1.41336955 0.36551532 -0.44552241 -0.57179199 0.69501961 -0.65378157 -H 1.08067783 1.32728132 1.10117335 0.36821717 -0.05375726 0.78614308 -H 1.28925316 0.71326133 -0.54205104 1.78982373 -0.73061238 -1.14464374 -H 0.36745535 2.11541773 -0.30878425 -0.39989595 0.56505030 -0.03237740 -H -0.72059630 -1.56271793 -0.69860013 -2.51334356 -1.65391111 -1.73897624 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.689226094736 pbc="F F F" -C -0.27475390 -0.48543438 0.08966836 -0.37216577 -2.15624513 -0.52141208 -C -0.88467290 0.94457713 0.37210921 1.50396242 -1.81784429 0.73197496 -O 1.03531940 -0.36527022 -0.42805457 0.67301430 1.46682981 0.22255009 -H -0.25492683 -1.22625525 1.05182719 -0.38615288 1.67053633 -1.41027180 -H -0.80020049 -1.10801164 -0.75998780 -0.37831322 0.95723103 1.45617038 -H -1.68009692 0.88021712 1.10315852 -0.57663317 -0.27828761 0.77967866 -H -0.04937517 1.51214919 0.84174727 -0.22578803 0.17531659 -0.24181218 -H -1.34383024 1.47390380 -0.44713106 0.13205802 0.32232918 -1.16739811 -H 1.50926715 -1.20662030 -0.49752876 -0.36998166 -0.33986586 0.15052004 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.680742829736 pbc="F F F" -C 0.33467234 -0.08702341 -0.49982224 -3.52188390 -0.23683082 0.42116345 -C -0.49453903 1.19607076 -0.18212421 -0.73852654 -2.09191673 0.72196030 -O 0.11092284 -0.97905776 0.60775656 2.11483745 -0.46455618 -0.47386645 -H 0.01365187 -0.55983225 -1.48249407 -0.09513198 0.23330532 0.46671210 -H 1.33935641 0.15995745 -0.63680374 2.61314868 0.56505467 -0.12749781 -H -0.83727862 1.62331322 -1.16276128 0.31663583 0.71874740 0.91137554 -H -1.39710544 0.80995409 0.43037988 0.58890696 0.33534941 -1.17514516 -H 0.02275930 1.72954619 0.65552797 0.06102145 0.70336011 -0.99948548 -H 1.00189379 -1.43900113 0.67514201 -1.33900789 0.23748676 0.25478355 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.611309924797 pbc="F F F" -C 0.50813091 0.11238319 -0.25301898 -0.61922475 -0.97484026 0.99696045 -C -0.71630894 0.95920588 -0.41669601 2.79970603 1.10577291 -3.22377447 -O 0.22982846 -1.02984069 0.59474195 0.08455364 0.75866029 -0.33815032 -H 0.65973664 -0.31818111 -1.23452839 1.24734597 -0.09845668 -0.75112773 -H 1.30579750 0.73767215 0.22067154 0.36860643 -0.22138630 -0.67397625 -H -0.39482969 1.79006458 -1.13063127 -0.26008450 -0.31129580 0.52881938 -H -1.46012473 0.47360299 -0.98577680 -1.80197302 -1.02004716 -0.26909884 -H -0.93533730 1.45380821 0.45429177 -1.49127752 1.32331541 2.85335073 -H -0.34371538 -0.56057724 1.21579831 -0.32765229 -0.56172247 0.87699705 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.456809914733 pbc="F F F" -C -0.38444933 0.13167358 0.27871728 0.83197913 -2.17517484 1.07506863 -C 0.13032315 1.22751809 -0.64226147 -0.25790148 0.63550775 0.92001394 -O 0.25170186 -1.22080356 0.37268515 0.04553950 0.21421529 -1.17821706 -H -0.22546549 0.22696759 1.38979136 -0.60686504 1.43432694 -0.61905747 -H -1.44500218 0.06986910 0.03197196 -0.85524886 -0.54948391 0.21506447 -H 0.90399082 1.85520464 -0.17540523 0.92729371 -0.36231016 -0.36837164 -H 0.29276614 0.88328201 -1.66320309 0.67771675 -0.26655715 -0.45099607 -H -0.65197092 2.00228117 -0.77443350 -0.49827266 -0.17948584 0.11656383 -H 0.15752646 -1.85708881 -0.39246512 -0.26424115 1.24896186 0.28993147 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.499694661848 pbc="F F F" -C 0.13532705 0.27611353 0.51536667 -2.60556953 -1.51025154 -3.14997592 -C -0.02986893 1.00090572 -0.87805901 -2.80268172 0.77015411 2.34959092 -O -0.01823977 -1.18599724 0.38046595 -0.97263554 1.52497584 -0.13797526 -H 1.12785625 0.47001686 0.75759471 2.15530370 0.34651864 1.68815117 -H -0.70814831 0.72194910 1.07662579 0.57735411 -0.13694934 1.04828447 -H 0.80381809 1.55490093 -1.19379173 1.87334105 0.92359806 -0.69173343 -H -0.36614155 0.33897126 -1.64602412 -0.25913854 -0.97203030 -1.03261091 -H -0.88027999 1.76849976 -0.71524735 0.93957104 -0.68650041 -0.54190769 -H -0.94521507 -1.24714207 0.00344093 1.09445538 -0.25951505 0.46817660 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.882828562306 pbc="F F F" -C -0.42434036 -0.17696581 -0.33583771 3.90482609 -1.40170663 -0.71378815 -C 0.10171715 1.24322195 -0.35592220 -1.12816157 1.11239320 0.04784017 -O 0.29295142 -0.93797614 0.66380910 -0.48607205 -0.07507629 0.23786029 -H -1.48980039 -0.29911474 -0.21222216 -1.14576531 0.24623880 -0.18144662 -H -0.01562967 -0.60699051 -1.33129846 -1.23230450 0.31418017 0.54023025 -H -0.24078296 1.64538987 -1.32804523 -0.18652275 0.39363649 -0.04172917 -H -0.33254904 1.90371248 0.44234847 0.19239309 -0.31090129 -0.19998428 -H 1.19557887 1.42350431 -0.37595102 0.03819838 -0.72959998 0.22534961 -H 0.07647501 -1.88476359 0.51135464 0.04340867 0.45083548 0.08566795 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.332066944044 pbc="F F F" -C 0.43369565 0.15360870 -0.35589389 2.28483988 -1.90782403 1.60830404 -C -0.69230540 1.02683211 -0.14446365 0.51973603 2.83455128 -3.08729980 -O 0.27235743 -1.11893784 0.42379766 -0.91503716 1.36469492 -0.87994956 -H 0.67186035 0.10813248 -1.45289540 -0.33001853 -1.07950209 0.27286561 -H 1.34669802 0.65097846 0.05713006 0.06363364 -0.11938464 0.01361451 -H -1.59347097 0.54572459 -0.55167480 -0.48903319 0.60194441 -0.53254352 -H -0.85862873 1.26375525 0.85197206 -0.38981783 0.51153164 2.78615642 -H -0.24552901 2.05944540 -0.62574366 -1.96485040 -1.80150477 0.58586884 -H -0.56353181 -0.93446171 0.95642032 1.22054746 -0.40450671 -0.76701659 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718731206327 pbc="F F F" -C -0.31457042 -0.01295887 -0.45923699 1.35983995 0.96589215 0.06164716 -C 0.17814932 1.29678189 0.24120488 0.10174085 -0.22267653 -2.36717928 -O 0.10694766 -1.13786950 0.23309616 0.44696479 -0.48976565 2.01440977 -H -1.38051896 -0.03521620 -0.64835971 -1.11188648 0.34150437 -0.20355842 -H 0.23292932 -0.00526803 -1.37103594 0.33594883 0.10430085 -2.13470237 -H 1.23355408 1.18322820 0.46946058 0.72616097 -0.37290933 0.36776666 -H 0.18831468 2.25539622 -0.42516139 -0.76318369 -1.38829559 0.94031008 -H -0.37582927 1.32657516 1.13820972 -0.86507089 0.93967085 1.78099512 -H 0.02854723 -1.96254289 -0.26504445 -0.23051434 0.12227893 -0.45968872 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.543346552617 pbc="F F F" -C 0.09514721 0.03756246 0.61032287 0.78980536 1.80494151 -0.08112409 -C -1.24397342 -0.04868751 -0.10403385 -1.76088662 2.08149157 -0.37423849 -O 1.10358113 -0.00362327 -0.40177269 0.93360104 0.50948725 1.48401687 -H 0.25894646 1.03627137 1.30765770 -0.60845933 -1.69634754 -1.65401236 -H 0.26066220 -0.74473969 1.35182305 -0.04535469 -0.90152390 0.31398538 -H -1.65942966 0.98914492 -0.30999942 0.32086499 -0.28480119 0.54372947 -H -1.24138681 -0.33187487 -1.18884554 0.50608588 -0.86729247 0.48199310 -H -2.10748784 -0.53260678 0.39608176 0.31688307 -0.36334441 0.13413681 -H 0.65967220 -0.22761446 -1.21221647 -0.45253971 -0.28261077 -0.84848670 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.408098710909 pbc="F F F" -C -0.06693988 -0.10403376 0.53006262 -1.52622345 -0.29828247 2.96569481 -C -1.17072862 -0.25560767 -0.55491939 0.53600690 1.01620912 2.44004704 -O 1.13875721 0.37094889 0.06482005 0.51155997 1.31435614 -0.22298105 -H -0.41977412 0.63524269 1.39170466 0.45866506 -1.48250763 -1.22353303 -H 0.19941453 -1.14405735 0.95601011 -0.99111006 0.77684962 0.28053722 -H -0.76327546 0.05616538 -1.46586725 0.76703469 1.08473815 -2.14266112 -H -1.46760231 -1.25283333 -0.70384777 -0.76449104 -2.02178570 -0.01689159 -H -2.01905639 0.36665097 -0.27773234 -0.63153601 0.26194938 -0.19695762 -H 1.14155978 -0.26535753 -0.63298442 1.64009394 -0.65152655 -1.88325461 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.697161022379 pbc="F F F" -C -0.14931436 0.23550756 0.55728385 0.17310071 -1.89502991 -1.53210043 -C -1.12668619 -0.39660709 -0.52947028 1.45860269 -0.04204948 -0.78193105 -O 1.17659762 0.16019404 0.05854202 -0.13415059 0.63889894 -2.63282986 -H -0.45941751 1.22567924 0.85224314 -0.41986653 1.35502114 -0.06023675 -H -0.04692306 -0.29935474 1.50162085 -0.70545870 -0.74157973 0.57183575 -H -1.49455639 0.36360435 -1.27385009 -0.20673286 -0.08684428 0.71744447 -H -0.56562445 -1.11892222 -1.25519335 -0.28476725 0.69176762 1.35184773 -H -1.93096271 -1.01395964 -0.12721717 -0.66667869 0.02916429 0.25346062 -H 1.02486363 0.21831021 -0.95829120 0.78595117 0.05065137 2.11250952 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.595475273215 pbc="F F F" -C -0.43416892 0.20179174 -0.38074372 1.76001306 -1.65601818 2.79400846 -C -0.56715825 0.14776976 1.20458754 1.26182715 1.64969162 -1.57570717 -O 0.92674919 -0.31133376 -0.72903592 -2.32388513 0.71248054 1.38350594 -H -1.34916532 -0.30728075 -0.68571989 -0.03838124 -1.43758206 -0.89781297 -H -0.68758260 1.17907197 -0.68134218 0.44802023 2.35144906 -0.88456798 -H -1.60550602 0.23486488 1.49553334 -0.83169312 0.63005886 0.24661850 -H -0.30612666 -0.81811452 1.52666324 0.71210105 -2.12138703 0.49461634 -H 0.12911676 0.84129700 1.77923599 -0.74335400 -0.23968356 -0.64161361 -H 1.03954701 -0.35482911 -1.67911098 -0.24464795 0.11099070 -0.91904751 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.736248875993 pbc="F F F" -C -0.02695509 0.30743694 0.47648375 2.16743525 -0.76149653 2.84131040 -C -1.20923117 -0.00083513 -0.34021736 -1.15363067 -1.18571651 0.52899365 -O 1.14634712 -0.29724605 -0.08662659 -0.13898226 0.54604501 0.89642210 -H 0.07628381 1.44037085 0.78673399 -0.07679260 -1.19783968 -1.05734648 -H -0.04225267 -0.17258893 1.51396570 -0.40376551 0.30261313 -0.68488889 -H -0.96380029 0.42988893 -1.30021456 -0.56017363 0.18323199 -1.24469049 -H -1.61222428 -1.08462676 -0.39065322 1.15892411 1.09800149 -0.09547579 -H -2.00692539 0.52457216 0.15492533 -1.25885208 0.85399128 -0.07932818 -H 1.08204503 -0.07431487 -1.01346382 0.26583740 0.16116976 -1.10499634 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.572508602664 pbc="F F F" -C -0.04253747 -0.50756283 0.02767847 3.40126709 -0.14390135 -1.37050659 -C -1.32730294 0.22919949 0.04474899 0.11233020 1.14611518 0.44418861 -O 1.21263535 0.28553204 -0.07308209 -1.26681103 0.27434436 0.51273697 -H 0.07328819 -1.28267205 0.78835482 -0.09443583 -0.33069175 0.68692053 -H 0.10171503 -1.04317363 -0.96466628 -1.15233376 -0.10541820 0.58137542 -H -1.72694256 0.83471724 0.93492253 0.72131444 -1.03367571 -0.56524827 -H -1.22768544 0.92715131 -0.78462989 -0.39360898 0.58113075 -0.56254476 -H -1.95683158 -0.58455297 -0.27173411 -1.57820500 -0.33221302 -0.11385841 -H 1.80999968 -0.06832290 0.59475985 0.25048287 -0.05569022 0.38693655 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.265519184348 pbc="F F F" -C 0.47357555 0.20177718 -0.03243481 0.38654672 1.32026866 -0.49540403 -C -0.76766880 0.94568545 -0.41804322 2.41834677 3.42906885 3.87175146 -O 0.30550222 -1.07246933 0.41996539 2.58210347 -0.85437885 1.89863218 -H 1.05244240 0.11775223 -0.92844795 1.35920062 0.24735389 -1.30857193 -H 1.07852201 0.87907174 0.67900111 -0.54581016 -0.99972557 -0.26775395 -H -1.16333900 0.80798724 -1.33635418 -2.35816365 -1.72159943 -3.30707485 -H -1.31656751 0.98550051 0.53077596 -1.38166683 -0.14635393 -0.30944301 -H -0.48163437 2.05175798 -0.57390882 0.01546025 -0.84356494 0.43430339 -H -0.51532042 -1.49313596 0.33060484 -2.47601715 -0.43106863 -0.51643926 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.635165832276 pbc="F F F" -C 0.52397600 -0.33990874 -0.16008100 -3.58656496 0.38895898 0.96507387 -C 0.21014479 1.09903495 -0.65310708 -1.27312032 -0.37491212 1.51605072 -O -0.65896303 -0.74668144 0.69588789 1.89451070 1.93230521 1.51236391 -H 0.38997138 -1.03399278 -0.96467823 0.27382402 -0.84076840 -1.15561829 -H 1.48639665 -0.56570107 0.34787416 0.08927233 0.57554107 -0.03131764 -H 0.37283518 1.77051693 0.21840296 -0.08964437 0.23253265 -0.11770838 -H 0.90916138 1.37441013 -1.38826379 1.44969855 0.79022157 -1.60066575 -H -0.86299211 1.34286455 -1.06624381 1.58079667 -1.04801908 0.72070031 -H -0.58424718 -0.08306409 1.49684516 -0.33877263 -1.65585995 -1.80887869 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.914055978322 pbc="F F F" -C -0.28155743 -0.50740793 0.02373320 1.61646755 -1.79661515 -1.32049378 -C -0.92070013 0.74886584 0.45175847 -1.44537925 -0.14059830 0.03053129 -O 1.07774846 -0.27060835 -0.47144876 -0.26819387 1.28031848 1.80047627 -H -0.24824510 -1.28834622 0.82683016 -0.18822950 0.09766452 -0.04616962 -H -0.67064426 -0.96896304 -0.90786222 -0.91188328 -0.09057418 0.38158027 -H -1.96254327 0.71703901 0.84062841 0.07605753 -0.51517283 0.01061650 -H -0.33240278 1.17029036 1.24057325 0.77207488 0.85258242 0.97531587 -H -0.97267061 1.39983558 -0.39770288 0.18138193 1.11279326 -0.86134906 -H 1.40422640 0.38687604 0.21501206 0.16770401 -0.80039826 -0.97050775 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699746239809 pbc="F F F" -C 0.51674373 0.19619237 -0.12648271 -0.93500090 -1.70844104 -0.24900716 -C -0.70141461 0.97845008 -0.39283330 -3.29379725 -0.74767469 1.91290700 -O 0.17275044 -1.05369800 0.47800476 -0.83224658 0.44523536 0.16892359 -H 1.06342511 0.17310056 -1.07385476 0.76940062 -0.55768589 -0.32210071 -H 1.04784374 0.69091747 0.63816546 1.58782941 1.40240463 1.00492871 -H -1.52362888 0.51976796 -1.01308815 0.90700719 0.13321980 -0.24222386 -H -1.28065308 1.16680274 0.57308311 0.49965668 -0.44692607 -0.35391823 -H -0.48924387 1.97469366 -0.63898315 0.57069289 2.06832433 -1.26172040 -H 0.63969101 -1.79818990 0.11534761 0.72645783 -0.58845650 -0.65778889 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.452270226712 pbc="F F F" -C 0.04585309 0.50078486 0.21889197 1.98371325 -0.69475612 0.67641695 -C -1.25811323 0.02371376 -0.26644247 -1.88755602 1.40223324 0.93921016 -O 1.10848464 -0.48075478 0.13946108 -0.17740757 0.16191990 -1.54457496 -H 0.18595733 1.24781207 -0.56581284 1.13854991 1.29449293 0.34270240 -H 0.15640819 0.84116398 1.28508937 -0.61485443 0.42258758 -0.65644431 -H -1.96944906 -0.45524551 0.41376643 -0.26289132 -0.10881149 0.27058469 -H -1.67694882 0.87880665 -0.83925360 -0.88737645 0.13129492 0.68353623 -H -1.08861700 -0.58416820 -1.08604341 0.61020290 -2.32689244 -2.07361689 -H 1.24167473 -0.54864350 -0.85484679 0.09761978 -0.28206852 1.36218567 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.734758920404 pbc="F F F" -C 0.02641727 -0.63479966 0.10682192 0.71020583 1.60868246 -3.94142684 -C -1.24189953 0.23048451 -0.06337344 -0.24560214 -0.90909071 0.48760016 -O 1.08419181 0.37368322 0.02672398 1.02587591 -0.66498135 0.29308370 -H 0.00756378 -1.33824922 0.94778123 0.31831821 0.07384350 0.68449572 -H 0.25341504 -1.22642639 -0.86197923 -0.97240188 -0.09300213 1.18468848 -H -1.35254677 0.81839089 0.89107259 -0.13828035 -0.05015514 -0.63459532 -H -1.15237796 0.91208043 -0.95911583 0.02353224 -0.44331593 0.67134221 -H -2.13167558 -0.43830638 -0.18997217 0.00613244 0.35993209 0.10445953 -H 1.64865111 0.15725430 -0.76972187 -0.72778025 0.11808721 1.15035236 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.947514321878 pbc="F F F" -C -0.20626070 -0.48418604 0.05271591 -0.61417921 -0.99258793 -0.29664205 -C -0.92747970 0.77067240 0.49428013 -2.13394441 0.65624078 0.52025843 -O 1.05183471 -0.29667550 -0.54066822 -0.62203450 -0.72111852 -1.09857788 -H -0.18494121 -1.27008988 0.89108566 0.00624552 0.71095284 -0.40461618 -H -0.85850428 -0.95861090 -0.73376431 0.48082216 0.07478776 0.15042892 -H -2.06004212 0.63329028 0.45129327 0.71203841 -0.39622312 0.00791016 -H -0.82210610 1.01936918 1.57560241 0.58443354 0.31818981 -0.24868808 -H -0.86627707 1.67650816 -0.16881742 0.75035414 -0.43596879 0.28201324 -H 1.60447329 0.19347545 0.04877251 0.83626439 0.78572723 1.08791346 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.324725091491 pbc="F F F" -C 0.50003032 0.29356473 0.10966694 -0.78210948 -0.33626472 2.51876448 -C -0.71116148 0.93905636 -0.47144724 -0.02990770 -1.65920028 -2.00363031 -O 0.14606227 -1.10377977 0.35697856 -0.69170700 1.67098504 0.20193842 -H 1.31546661 0.40955055 -0.51124051 2.31868800 -0.30795157 -2.59787719 -H 0.93513983 0.97116468 0.94104573 -0.84665936 -1.20292763 0.38752775 -H -1.01154841 0.14900601 -1.25808792 -0.95936880 0.44651520 1.47273209 -H -1.41451089 1.35264800 0.24918340 -0.78478898 -0.32958324 0.12363221 -H -0.50845845 1.66014899 -1.24196465 0.78009070 1.60825252 -0.21746511 -H 0.88027942 -1.71133799 0.46561811 0.99576257 0.11017469 0.11437767 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.843809994505 pbc="F F F" -C 0.11868667 0.40870030 0.36113863 1.11672237 1.71623662 1.96029492 -C -0.74877307 0.58009898 -0.79602442 -0.97627227 -0.27120586 -0.73594927 -O 0.55338884 -0.91781899 0.35015373 1.52579320 -0.33853860 2.83722785 -H 1.02263230 1.11766212 0.29408237 -0.58975995 -0.32296764 -0.06579162 -H -0.38398630 0.77813510 1.37760662 0.37672896 -0.86056086 -1.38437708 -H -1.26830458 1.51442104 -0.78737941 -0.33803493 1.47337219 -0.19103822 -H -0.19864959 0.43268420 -1.73063067 0.11318946 -0.01581656 -0.40764551 -H -1.56630391 -0.14316460 -0.74151609 -0.28349060 -0.65376280 -0.11318715 -H 1.11764355 -0.91497932 1.21185566 -0.94487626 -0.72675644 -1.89953382 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639144887335 pbc="F F F" -C 0.52075126 0.25394569 -0.03967910 -0.78186045 -2.28964255 0.87458027 -C -0.71812292 0.96147717 -0.43745728 1.33670521 1.99515369 -1.65825242 -O 0.15227577 -1.11713805 0.42527368 -0.09418674 1.38716925 -0.63217514 -H 1.28234377 0.22143720 -0.82964005 0.42383616 0.03684099 -0.15758677 -H 0.77308577 0.87797493 0.82278477 1.29814518 0.01847883 0.48272334 -H -1.34046378 0.64331263 -1.22677266 -1.13186617 -1.60628223 -1.24943232 -H -1.26324048 1.18862641 0.42106292 -1.69644966 0.29386413 1.91603161 -H -0.45828050 1.96867354 -0.87361360 0.33897698 -0.18408282 0.48840481 -H 0.94033473 -1.65186798 0.62125220 0.30669949 0.34850066 -0.06429339 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.402483750402 pbc="F F F" -C 0.40819042 -0.25377541 -0.12783976 1.02024200 0.20482911 4.59209654 -C 0.27871329 1.10836630 -0.72690604 2.26123678 2.49312136 1.74586150 -O -0.63357538 -0.84430427 0.72181697 0.07433972 0.62518477 -0.94473387 -H 0.56646280 -1.08286693 -0.73133288 0.54771550 -1.62919745 -2.38696639 -H 1.38581555 -0.20700583 0.54136880 -1.12611924 -0.19135215 -1.00933692 -H 0.80296024 1.95622627 -0.00892030 -0.96822846 -1.84707034 -1.32139696 -H 0.81288895 1.27152861 -1.68254394 -0.18310976 -0.33410186 -0.16514561 -H -0.70595758 1.49879635 -0.76378265 -1.87392994 0.23757567 -0.56730377 -H -0.99138944 -0.21960716 1.37277099 0.24785335 0.44101088 0.05692553 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.730987589745 pbc="F F F" -C -0.26888225 -0.48887632 0.15640475 0.39290136 1.59580662 -2.65277782 -C -0.92496804 0.89065349 0.22396701 -0.35685417 -0.01383691 -0.72138782 -O 1.09455113 -0.40661250 -0.26046391 0.45967113 0.74090101 -2.55651307 -H -0.19432265 -1.05535565 1.03346735 -0.50224872 -1.07549744 2.11776944 -H -0.78716875 -1.02146727 -0.63947194 -0.78610117 -0.89774843 -0.12345747 -H -2.01496373 1.00327264 0.04044050 -0.18501685 -0.71882423 0.49946267 -H -0.66112370 1.46240165 1.09241243 0.31549436 0.60889487 1.07368898 -H -0.56625682 1.46244203 -0.64014358 0.55653655 0.23927507 -0.36528169 -H 1.07465932 -0.18609625 -1.28480857 0.10561751 -0.47897051 2.72849673 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.651756359924 pbc="F F F" -C 0.14184875 0.32338612 0.40800906 0.81093932 -1.34118865 -0.67340315 -C -0.51351769 0.91481537 -0.84626924 -0.25450006 -1.88745626 -0.36124089 -O 0.28974574 -1.14165074 0.42620589 -0.52284743 1.95255986 0.37623917 -H 1.08425448 0.86460592 0.71579474 0.30866397 -0.49312073 -0.94520207 -H -0.39884938 0.66899659 1.24668957 -1.73557374 -0.11757422 1.71382426 -H -0.26810666 0.30852187 -1.77438293 0.47778214 0.69709978 0.54698593 -H -1.64341860 0.85276097 -0.88058082 0.67539715 0.44276160 0.53623444 -H -0.08016709 1.90254796 -0.82687645 -0.27419374 1.22606361 -0.85956728 -H 1.13489716 -1.23160969 -0.02361985 0.51433234 -0.47914503 -0.33387035 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.703085982015 pbc="F F F" -C 0.41959112 -0.24201756 -0.31737390 -0.01143786 0.86244651 -0.75049570 -C 0.31042202 1.26061709 -0.00969772 0.03399663 -1.96532528 2.44754736 -O -0.65979141 -0.89475680 0.29783718 -0.40485607 -1.06000258 0.33527587 -H 0.46259755 -0.30765820 -1.43911524 -0.42926284 -0.40238719 0.03433529 -H 1.40407076 -0.59927032 -0.01504144 0.68790099 -0.46621022 0.49630654 -H 0.81068885 1.54981122 0.95446141 0.12095281 0.19694780 -0.82329559 -H 0.38918824 1.86206348 -0.85049782 1.47416173 1.72865115 -2.07551051 -H -0.72301755 1.44588352 0.16767283 -1.80531514 -0.04972608 0.67432150 -H -0.57030631 -1.88724806 0.35225545 0.33385986 1.15560585 -0.33848477 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.547816112303 pbc="F F F" -C -0.21901735 0.55296413 0.24068019 2.93363232 -1.67900709 1.36628226 -C -0.59565673 -0.03131934 -1.07282910 -1.06108157 0.47153076 -0.01279818 -O 0.70135592 -0.48444115 0.70722929 1.38681927 -0.03897511 1.85897079 -H 0.30227508 1.48035519 0.06356564 0.84002751 1.16898315 -0.31241830 -H -0.85741614 0.80918619 1.08156368 -1.62248646 -0.16098315 0.04920723 -H -1.29007724 0.72198949 -1.48115898 0.00520232 -0.09164346 -1.01541105 -H 0.35228528 -0.24206073 -1.65002132 -0.83880757 0.34920658 0.19335803 -H -1.16404229 -0.95666636 -0.91114008 -0.04114980 -0.39140220 -0.15012769 -H 1.23083399 -0.34055685 1.58704033 -1.60215597 0.37229057 -1.97706309 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.221354595286 pbc="F F F" -C 0.21524192 0.38495682 0.43401599 0.48010791 -3.15307908 0.28992201 -C -1.15248681 -0.19778560 0.35480639 -3.40946207 1.94096952 -2.88307413 -O 0.84500094 -0.14525028 -0.70406957 -0.24682105 0.50552626 -1.37205275 -H 0.01515222 1.42034579 0.48670160 0.73971614 2.36414558 -0.38210648 -H 0.66953557 0.04563136 1.39684105 0.25794334 0.28508988 -0.06507865 -H -1.43520512 -0.46853913 -0.79399052 0.83448117 0.84404398 2.06259097 -H -1.32479559 -1.14743926 0.81265648 -0.34412309 -0.94197698 1.19173567 -H -1.91596781 0.68941847 0.57690279 0.80075791 -2.06071448 0.23760781 -H 1.74557387 -0.46565500 -0.70283339 0.88739974 0.21599531 0.92045555 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.315789798093 pbc="F F F" -C -0.25948325 -0.44221919 0.33453678 0.41777484 -0.82527529 -5.39016929 -C -0.95437333 0.90675140 -0.00917736 -1.82159568 0.04625529 3.36602594 -O 1.06128874 -0.46363111 -0.31920863 0.49303825 0.45732968 0.65200216 -H -0.21151719 -0.67928423 1.34026578 0.02027583 -0.57197202 2.92550120 -H -0.61185829 -1.39335207 -0.29086117 -0.57508969 1.72543866 1.49017076 -H -2.08315451 1.18594634 0.35790187 1.95875041 -1.44054459 -0.94578715 -H -0.45908630 1.67046652 0.62847671 0.51790828 0.18147757 -0.43165258 -H -0.83681602 1.11143321 -1.04060181 0.13367669 0.47929951 -1.64644627 -H 1.81963895 -0.07272990 0.19472311 -1.14473892 -0.05200876 -0.01964467 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.384897280103 pbc="F F F" -C 0.06696297 0.23805172 -0.48175377 3.00478747 -0.33472339 2.04929893 -C -1.29948236 -0.15902558 -0.20773965 -3.16920212 -0.98508755 0.94470415 -O 1.17253185 -0.06829764 0.56529792 -1.00419070 0.41971700 -2.95076127 -H 0.40049614 -0.33976931 -1.32002532 0.83800606 -0.09446534 -1.17289081 -H 0.00142256 1.31134657 -0.64552848 0.86120024 0.72030981 -0.47206457 -H -1.88012557 -0.70571096 -1.04052412 0.87229044 0.43892422 0.90581455 -H -1.38903037 -0.72234078 0.74209534 0.03782763 -0.66401651 -0.16110733 -H -1.89994056 0.72381796 0.05236600 -0.42457808 0.33539579 -0.13883381 -H 0.84096945 -0.12641259 1.45449920 -1.01614094 0.16394599 0.99584022 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4823371776 pbc="F F F" -C 0.33587410 0.21353039 0.44263587 -3.68553138 -0.99619508 -2.51463132 -C -0.04478051 1.00205927 -0.87610551 -1.46356991 -1.48194055 0.30682044 -O -0.16800302 -1.13481850 0.41650320 1.78997686 -0.29182586 -0.09760487 -H 1.35036520 0.21336091 0.65628021 2.61633577 -0.00214985 0.72406403 -H -0.30651535 0.65345043 1.18619547 0.20681153 1.17239150 1.25213152 -H -0.50755083 1.87371223 -0.45281020 -0.33348680 1.48252013 -0.14500893 -H 0.67530738 1.27688136 -1.63968773 0.87969815 0.02075709 -0.20904989 -H -0.92049270 0.49447184 -1.45330299 1.15641790 0.30777236 0.86237380 -H -1.09402583 -0.98505944 0.25727917 -1.16665208 -0.21132979 -0.17909478 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.730390349054 pbc="F F F" -C -0.07243980 -0.55347998 0.26632021 1.15513009 1.53724988 -1.93133616 -C -1.09722433 0.55565860 0.18994944 -1.92014415 0.02241355 4.15499405 -O 1.04121257 0.01388784 -0.43718930 0.65529698 0.17749241 -0.78103373 -H 0.26446995 -0.72805056 1.25795067 -0.02459904 -0.44523623 1.96340220 -H -0.40798883 -1.49896155 -0.16504354 -0.39413297 -0.61293382 -0.38436895 -H -2.02481062 0.23146602 0.85483719 1.16268682 0.23848234 -1.20170564 -H -0.76737366 1.45755895 0.85144818 -0.07670010 -0.91220781 -1.49434592 -H -1.51098301 0.82272163 -0.77723766 0.22423236 0.21347969 -0.72212388 -H 1.85596803 -0.53264204 -0.51923785 -0.78176994 -0.21874007 0.39651803 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6656418552475 pbc="F F F" -C 0.50975981 0.18384765 -0.19420241 -1.77474744 -3.24989323 -0.64570933 -C -0.88704001 0.62604833 -0.81308698 2.19418054 1.49185046 -0.40054664 -O 0.29676947 -0.72614779 0.93974371 -0.58194065 1.40102883 -0.71839274 -H 1.11841215 -0.46950705 -0.92738927 -0.51691393 1.21971936 0.23524111 -H 1.04119962 1.07361431 0.06798629 0.98080584 1.08623669 0.52551937 -H -0.78175176 1.76085084 -0.93164174 -0.76595380 -0.85276769 0.62572151 -H -0.96321663 0.36860918 -1.87496359 -0.07806494 -0.71952495 -0.35207156 -H -1.78489987 0.28321911 -0.28728186 -0.07039714 0.06402692 0.42152052 -H 1.15424045 -1.14266772 1.03934211 0.61303152 -0.44067638 0.30871776 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.1755615809425 pbc="F F F" -C -0.10285563 -0.25344248 -0.49340285 -1.75905168 0.97817833 1.99462980 -C 0.74862829 1.05203750 -0.40466505 -0.00757581 -1.25663285 2.09753510 -O -0.55767128 -0.71537375 0.80733279 7.07577620 2.79378308 0.34158115 -H -1.08072637 -0.18590747 -1.05777015 1.20732905 0.02054867 -0.76545346 -H 0.68181890 -0.92643399 -0.74065686 0.37433866 -1.74372826 -1.57798846 -H 1.81412699 0.69761755 -0.02359545 -1.86828601 1.10722137 -0.08740715 -H 0.92900721 1.45840385 -1.37559305 0.09284113 0.51411189 -1.41558246 -H 0.19014069 1.81649463 0.22054704 0.87052559 -0.42341836 -0.18664868 -H -1.37831936 -1.02241293 0.86343467 -5.98589713 -1.99006398 -0.40066584 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4338073356175 pbc="F F F" -C -0.07757359 0.37281613 -0.49178819 -1.04649241 3.31468876 1.30764417 -C -1.15970588 -0.13687799 0.53583039 -0.94923171 3.58019911 -1.44118156 -O 1.09963297 -0.25700095 -0.01452337 1.66789678 0.41877315 -2.09154294 -H -0.45553954 0.33491586 -1.54795333 0.65369333 -1.18176734 -0.05882100 -H -0.03039166 1.60446075 -0.43925263 0.19861007 -2.15701924 0.28065015 -H -1.01732926 0.42575888 1.48308270 0.20590095 -0.51750765 0.10081016 -H -2.26359671 0.09578816 0.24422324 1.53935197 -0.67566691 0.04413763 -H -0.87210959 -1.14023654 0.57114065 -0.16855351 -2.51468599 0.68820202 -H 1.92663044 -0.05417655 -0.60551647 -2.10117553 -0.26701388 1.17010127 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.466156564583 pbc="F F F" -C -0.23069404 -0.03351218 -0.50545488 2.88979808 -0.35306179 -1.12100141 -C 0.20716315 1.32929770 0.16583522 2.11683978 -2.89367063 1.64029377 -O 0.00233066 -1.22478576 0.24727318 0.19011407 1.20947906 1.42882134 -H -1.28528544 0.06233837 -0.71384204 -1.07374950 -0.01425559 -0.68469102 -H 0.43137514 -0.23295323 -1.50578191 -1.69849523 0.83786485 1.57038257 -H 0.46949006 1.28829803 1.31339635 -0.27451194 -0.52346048 -1.54329763 -H 1.09948870 1.75016898 -0.30003344 0.22695104 0.41964521 -0.29310298 -H -0.60785787 1.95710752 0.17757561 -2.25021811 2.28935119 -0.41711694 -H 0.13520094 -0.82567995 1.15056497 -0.12672812 -0.97189182 -0.58028764 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.725743020545 pbc="F F F" -C 0.23743932 -0.42813428 -0.42874244 -2.50957401 2.28257407 4.11341138 -C -1.25487622 0.17589974 -0.38097422 0.63026311 0.06048877 -0.26185718 -O 0.95787055 0.17004213 0.73213511 -0.42444793 -2.78345362 -1.01488793 -H 0.14502153 -1.49363137 -0.14107195 0.26412000 -0.02495709 -0.49398262 -H 0.60694553 -0.21995939 -1.39920068 1.28581998 0.07385023 -1.52905886 -H -1.41693188 1.31080926 -0.49810868 0.74443021 -1.13609569 -0.42330857 -H -1.86928013 -0.38228259 -1.11778740 -0.19796303 0.26019002 -0.11641265 -H -1.70386955 0.01347018 0.60713212 0.02579620 -0.43808784 0.41070579 -H 1.15636189 1.07660143 0.57624195 0.18155548 1.70549121 -0.68460941 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.732527391872 pbc="F F F" -C -0.12110483 -0.22965322 0.54419160 1.03738124 0.05679846 -0.83241113 -C -1.04158751 0.72595802 -0.21854571 -1.83370018 -3.70290906 2.21682137 -O 1.04265021 -0.38807131 -0.31895781 -0.25699697 -1.72228602 0.48132307 -H 0.32646543 0.06625890 1.49933637 -0.47205681 0.92608941 0.75334135 -H -0.67640086 -1.14796102 0.81323884 0.02072171 -0.61459594 -0.47031411 -H -2.04929825 0.70626357 0.31030322 0.68064472 0.42655187 -0.56176273 -H -0.59556982 1.64340886 -0.20483613 1.15552630 3.36475258 -0.47337517 -H -1.13744498 0.24188861 -1.18956504 -0.13746649 0.25024679 -0.70388359 -H 1.43563363 -1.26537229 -0.04596791 -0.19405351 1.01535197 -0.40973906 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.206053192696 pbc="F F F" -C 0.03054828 0.52529948 0.22268880 1.23402406 -1.44375287 1.52455496 -C -1.38757306 -0.04602308 -0.30488358 3.17584554 2.35639283 -0.82113540 -O 1.20618219 -0.47903375 0.13800321 -2.95091251 1.33217873 2.08587196 -H 0.35569821 1.39978835 -0.39510835 -0.32006193 -0.12542349 0.09977730 -H 0.00273490 0.95473695 1.32469019 -0.06887818 -1.06065384 -1.59515315 -H -1.45118582 -1.13039384 -0.41989794 -0.11825011 -0.40054458 0.68355346 -H -2.05842851 0.51567499 0.36050440 -0.96229909 -0.41226954 -0.42212772 -H -1.28202277 0.36947937 -1.36082934 -1.21639220 -0.36704521 0.70703808 -H 1.45646842 -0.21800718 -0.72049422 1.22692436 0.12111803 -2.26237943 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.281476423174 pbc="F F F" -C 0.18740274 -0.38675803 -0.37832309 -1.56344033 2.19774352 0.04605017 -C 0.54015339 1.07917919 -0.44331746 -0.92380735 0.49611525 0.61214264 -O -0.66534538 -0.61937238 0.75007889 -0.37327849 2.47613490 -2.35890500 -H -0.38228761 -0.55214475 -1.26530734 -1.38764870 -0.16558429 -1.35457767 -H 1.02055342 -0.92568406 -0.68156510 2.55396063 -2.51727997 0.85224375 -H 1.29458708 1.49924582 0.25992593 -0.12393822 -0.35992114 0.01456479 -H 0.71477258 1.46950441 -1.44939846 0.29935770 -0.06027084 -0.50700973 -H -0.47133561 1.40328052 -0.16296216 -0.05038320 1.33161643 0.25386166 -H -0.28563028 -1.31512832 1.18377043 1.56917796 -3.39855396 2.44162940 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.851187087663 pbc="F F F" -C -0.17117490 0.57393884 -0.19665238 0.53350008 -2.71504893 1.36301768 -C -0.66397177 -0.20213258 1.10640472 0.50288393 2.10409085 -0.61068899 -O 0.78026644 -0.30610983 -0.80885501 1.06031554 1.53511139 0.83663134 -H -1.00564977 0.89956122 -0.84704980 -0.15307669 -0.10492948 -0.12519384 -H 0.38191112 1.44789715 0.14278323 0.27931569 0.72886634 0.03040557 -H -1.42844924 0.49512891 1.53926336 -0.06098551 -0.87635911 0.38758159 -H -0.97390291 -1.20929834 0.84979132 -0.93174625 -0.49494976 -0.31545693 -H 0.17273053 -0.39763065 1.82944846 -0.17950045 0.58989477 -0.33121949 -H 0.41859660 -0.80864064 -1.51567272 -1.05070634 -0.76667607 -1.23507697 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7054812759225 pbc="F F F" -C -0.27776761 -0.39491949 -0.00392855 -1.09564071 -2.59329759 0.10043452 -C -0.91537840 0.92488681 0.29505824 1.47201275 0.72816433 -0.71640014 -O 1.09613240 -0.50462694 -0.31444596 -1.49012180 -0.57484369 -1.03408555 -H -0.69267442 -1.15584630 0.83353632 1.20510618 1.07523061 -1.00321281 -H -0.72656123 -0.79241837 -0.89680537 -0.87011004 -0.55919111 -0.97233920 -H -1.87896282 0.68611843 0.67648976 -1.49715814 -0.01475521 0.68550051 -H -0.29810559 1.35149606 1.09536195 -0.11861655 0.81883729 0.38833050 -H -1.04189435 1.62825858 -0.57503787 0.38585401 -0.29479698 0.43967545 -H 1.45552993 -0.02411714 0.38864433 2.00867430 1.41465239 2.11209671 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.640529694101 pbc="F F F" -C -0.00585055 0.33699283 0.48007167 1.50795107 -0.23367438 -0.91681872 -C -1.26540598 -0.01386313 -0.34715879 0.77465076 2.44337364 1.34754581 -O 1.16004029 -0.34047166 -0.05280350 -0.55170781 0.05240604 0.94843081 -H 0.21145228 1.45943496 0.41590619 -0.55884144 -0.67010875 0.44771498 -H 0.06603627 -0.00011499 1.50781641 -0.81906838 0.03446220 0.98992894 -H -1.26950116 0.78197823 -1.08341403 -0.05635721 0.38311255 -1.16119378 -H -1.21070906 -0.94743577 -0.88078615 -0.36969170 -1.16794925 0.16454310 -H -2.13799371 0.31565392 0.24437480 -0.54217195 -0.96981000 0.06010953 -H 1.07438531 -0.05702687 -0.94952924 0.61523666 0.12818800 -1.88026062 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625822348715 pbc="F F F" -C 0.30854163 -0.01378372 -0.42945788 1.08742803 -2.35596628 0.48146273 -C -0.53366523 1.22185255 -0.28101622 0.43493099 0.48716554 -2.28710194 -O 0.25727563 -1.07357434 0.69175351 0.19345804 1.99188417 -1.71124380 -H -0.06171220 -0.42023237 -1.43380546 0.51617664 -0.34527155 0.88261852 -H 1.43997704 0.16996086 -0.56853028 -1.28548203 0.00417794 0.31992191 -H -0.34629688 1.72273352 -1.36724161 -0.68168401 -0.40025395 2.29783393 -H -1.58019173 0.89098072 -0.22029310 -0.43649016 0.20844686 -0.06883211 -H -0.33095924 1.91539646 0.54005024 0.32840984 0.24734345 0.27890550 -H -0.52304399 -1.63455401 0.53543453 -0.15674741 0.16247387 -0.19356480 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718423123479 pbc="F F F" -C 0.11902521 0.52202640 0.05754434 -0.95088868 -1.49040699 0.82926770 -C -0.86391919 -0.01633549 -1.06549829 2.26569163 0.89803784 -0.15059609 -O 0.69377019 -0.49356690 0.87961853 0.48848935 -1.56260570 -2.97473764 -H 0.92416118 1.10713284 -0.39316596 0.37885850 0.40092943 -0.56512944 -H -0.38368841 1.15167131 0.80026032 -0.73987499 0.88833511 -0.34883181 -H -1.19967067 0.90622922 -1.55953396 0.27343774 0.36983012 -0.72764244 -H -0.30582393 -0.69121425 -1.82324690 -0.88154997 0.74326946 1.01398316 -H -1.83051913 -0.38181176 -0.76010414 -0.52234467 -1.11684116 0.81270865 -H 0.65830488 -0.28479630 1.78415055 -0.31181892 0.86945189 2.11097792 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.554932915723 pbc="F F F" -C 0.19452843 0.49914277 -0.08355980 -1.22463233 -1.47790968 0.71442939 -C -1.03925318 -0.02713090 -0.81233829 -0.01084029 0.91928025 -0.50968872 -O 0.83049213 -0.40992271 0.79780603 3.96612399 3.45202819 -3.77316973 -H 0.93512505 0.97103514 -0.74799709 0.37790159 -0.33896253 -0.17560275 -H -0.26628866 1.30687937 0.44981548 -0.11009550 1.44256342 1.16657592 -H -1.59151977 0.80088817 -1.31670774 0.16588043 0.09757155 0.20006856 -H -0.88584800 -0.73282454 -1.60096345 0.57693806 -1.15189353 -0.92427858 -H -1.75401132 -0.47383619 -0.13051357 -0.45977146 -0.31276329 0.73873223 -H 0.44466157 -0.99132330 1.35809859 -3.28150450 -2.62991444 2.56293368 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.595633892318 pbc="F F F" -C 0.29777419 -0.03254618 -0.44169753 -0.05695926 -3.47087418 0.47068178 -C -0.56003846 1.08177637 -0.23713902 -1.34519114 3.48028364 -1.40122172 -O 0.29286448 -0.95726022 0.63238678 1.88625005 0.30891717 0.80041698 -H 0.01892292 -0.56770420 -1.34469902 -0.09009385 -0.38795111 -1.13550629 -H 1.34381295 0.11146748 -0.46357015 1.80787699 1.39033412 -0.73031022 -H -0.46132957 1.78348052 -1.09655368 0.24469902 0.02260052 -0.27630652 -H -1.66478898 0.99538322 -0.25421570 0.02868694 -0.77128411 0.54655583 -H -0.20899125 1.70567333 0.55765377 -0.00162473 0.60075450 1.48282285 -H -0.55219639 -1.33757655 0.65235319 -2.47364402 -1.17278056 0.24286731 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.494182981395 pbc="F F F" -C -0.48111126 0.23309793 0.14057248 -0.51369836 0.37901863 0.65271651 -C 0.89455463 1.00470311 0.18669609 -0.78558562 1.99189893 0.87290972 -O -0.39113344 -1.13684012 -0.33846300 0.21476134 -0.38492436 2.73451420 -H -1.07369206 0.50331519 1.13847850 0.85718526 -1.25570957 -1.23375023 -H -1.16024712 0.70987367 -0.62540254 0.58308207 -0.13326099 0.23808799 -H 0.71758475 1.81794212 -0.57311192 0.75343206 -0.30726328 0.23634200 -H 1.21026188 1.61875255 1.16724185 -0.92520819 -1.44604573 -1.46603298 -H 1.76186274 0.40358522 -0.09649497 0.19269422 -0.40050597 -0.30017928 -H -0.17478212 -1.75923407 0.46207532 -0.37666273 1.55679228 -1.73460788 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.862337538374 pbc="F F F" -C 0.05824127 -0.54801010 0.03468227 2.47453737 1.22142971 0.29644763 -C -1.25381707 0.01017147 -0.30542625 -2.15540706 -1.57895761 0.23520604 -O 1.12838059 0.45120829 0.23053215 -1.22278849 0.03171560 0.58837839 -H 0.09665137 -1.30377954 0.84139465 -0.39514789 -0.05158010 0.30194079 -H 0.39616602 -1.03394800 -0.85465470 0.66140155 -0.98544962 -1.07573681 -H -1.83738543 0.33683060 0.55353750 -0.52847717 -0.02295847 0.69629498 -H -1.24332015 0.85706103 -0.93160288 0.65302407 1.63406877 -1.36656349 -H -1.86116040 -0.74539368 -0.90819805 0.28108770 0.44264821 0.77657338 -H 0.78344635 1.13446698 0.86641110 0.23176986 -0.69091659 -0.45254084 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.946945864608 pbc="F F F" -C 0.19246808 -0.01971857 -0.56677188 -0.62367445 -1.10066449 0.88639845 -C -1.21087484 -0.25932847 -0.10504705 -2.01082904 -0.75972355 0.15633793 -O 0.93806480 0.20706151 0.61863501 1.08837662 1.01040362 -0.51813238 -H 0.55996989 -0.87998572 -1.16356602 0.26080050 -0.30507044 0.10109843 -H 0.14861595 0.78146197 -1.26841336 0.38966886 1.61504100 -0.84513737 -H -1.56840206 0.55247445 0.55194783 0.35769827 0.23241351 0.33450269 -H -2.02972856 -0.24856782 -0.88085900 0.69461795 -0.40364667 -0.09449810 -H -1.30919579 -1.21103608 0.49139019 0.06472641 0.44086201 -0.32454871 -H 1.44292883 1.04253863 0.45513312 -0.22138512 -0.72961499 0.30397901 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.616150273431 pbc="F F F" -C -0.49546875 0.27210288 -0.01469131 0.70304783 -0.01238964 -1.89386649 -C 0.85662861 0.96446126 0.21627804 -0.51338659 1.01829830 -0.52169089 -O -0.35646178 -1.12264700 -0.21778878 0.81652839 -1.49777850 3.25948890 -H -1.23408300 0.58155350 0.74547937 -0.53242453 -0.03612381 -0.03362222 -H -0.76368725 0.49968754 -1.07992502 -0.66863514 0.81451054 0.63732177 -H 0.99332842 1.28788394 1.28731845 0.55939372 -0.88668317 -0.36359900 -H 1.55545670 0.21019439 -0.29247732 0.03856553 1.29839406 0.86845214 -H 0.81274266 2.00304220 -0.29702146 0.40676928 -1.32233562 0.19465793 -H -0.01011057 -1.49868055 0.69154205 -0.80985848 0.62410789 -2.14714209 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.846785929692 pbc="F F F" -C 0.28976949 0.26298478 0.42614937 -1.24432971 -0.50784555 -0.69348918 -C -1.28717034 0.07864047 0.38205453 2.22757198 0.49941577 3.14464360 -O 0.89031737 -0.29049821 -0.77655479 -0.36713689 0.49671349 1.07109695 -H 0.46446821 1.36366448 0.50516140 0.16885361 -0.03670632 -0.14359775 -H 0.71317589 -0.16443368 1.38335871 -0.20211135 -0.10933065 -0.58303003 -H -1.64892180 0.23327516 1.45542218 0.04874957 -0.00199790 -0.97659792 -H -1.76723208 0.76229610 -0.24950862 -0.79914382 1.86165981 -1.28464025 -H -1.65652503 -0.85503165 0.05473737 -0.06891911 -2.07227843 -0.40805288 -H 1.64682724 -0.80092222 -0.45326040 0.23646572 -0.12963018 -0.12633258 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.71692780602 pbc="F F F" -C 0.16224804 0.37217123 0.46661260 0.29145953 -1.81585410 -0.73221279 -C -1.19736925 -0.35607996 0.32284425 -0.68321094 0.89493997 -1.94454022 -O 0.91542608 -0.02785055 -0.69212590 -0.13777976 -0.67414188 -0.33546475 -H 0.01913465 1.42867494 0.37768965 -0.12744644 1.57945024 0.72879908 -H 0.63692138 0.01065607 1.44036933 -0.18541506 0.63677027 -0.55510337 -H -1.89752638 -0.19772375 1.18391481 0.64384080 -0.78059191 0.07963028 -H -1.87033917 0.07420413 -0.54730382 1.39307497 -0.39539132 1.00229703 -H -0.91176964 -1.38218984 -0.06045015 -0.67681115 0.28001467 0.94478807 -H 1.82629083 0.31521524 -0.81508840 -0.51771195 0.27480402 0.81180666 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.97260143491 pbc="F F F" -C 0.17338466 -0.38098827 -0.32035798 -1.68625734 -2.23093010 0.04443202 -C -1.10111033 0.42846661 -0.60222518 0.74403529 1.02443378 -0.25939010 -O 0.89118252 -0.06791963 0.82439868 0.84288462 0.45499260 0.16514705 -H -0.13897684 -1.49632022 -0.27033479 0.12800828 0.79469488 -0.08340605 -H 0.83204500 -0.36726252 -1.18162077 0.69481680 0.35438545 -0.68304418 -H -0.74948074 1.52040578 -0.65772802 -0.72642945 -0.75553959 0.37402041 -H -1.47162315 0.22835587 -1.66087425 -0.06194335 -0.15186853 1.06309953 -H -1.87836862 0.25797965 0.21978439 0.50988387 0.32769430 -0.97197713 -H 0.31420849 0.36769837 1.45837251 -0.44499882 0.18213732 0.35111845 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.726158102077 pbc="F F F" -C -0.27723806 -0.47322622 0.03407945 0.18035323 1.57353947 -0.63605828 -C -0.92029084 0.92992993 0.29436193 2.12014899 0.18782157 -0.24636324 -O 1.08131862 -0.38290221 -0.33760106 1.88496250 -1.69358648 2.25609082 -H -0.49312934 -1.17646081 0.83746771 0.11391667 -0.26216010 0.95135061 -H -0.73350546 -0.95681230 -0.82855632 -1.08755849 -0.00811944 -0.67196837 -H -1.92841003 0.64455926 0.48532269 -1.88200994 0.39665173 -0.08091403 -H -0.56180255 1.50366206 1.22401173 -0.01767007 -0.87988250 -0.85897367 -H -0.73355701 1.63005019 -0.60491318 -0.59954829 -0.91045612 0.96753298 -H 1.55510724 -1.01067278 0.33179655 -0.71259470 1.59619188 -1.68069682 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.576800951881 pbc="F F F" -C 0.15045492 0.46971498 -0.29979924 1.76119783 0.63146361 1.76613471 -C -1.28698602 -0.01764419 -0.22877439 1.37174730 -1.42570146 -0.59367224 -O 1.06475107 -0.37313881 0.49848995 -0.75437714 0.70752170 -1.26628452 -H 0.55405079 0.66210526 -1.42071515 -0.87493081 -0.23868253 2.04799466 -H 0.22521082 1.36448126 0.38548692 -0.10418026 0.33484326 -1.27317601 -H -1.84651020 0.80948426 -0.53826476 -1.66090595 1.67420771 -1.21767739 -H -1.34993079 -0.84102726 -0.99372203 -0.69416142 0.09121285 0.66889508 -H -1.71597352 -0.23482315 0.77759627 0.67604722 -0.42690251 -0.14896133 -H 0.77398357 -1.22566629 0.17543455 0.27956319 -1.34796269 0.01674704 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.265864820798 pbc="F F F" -C -0.23145294 -0.56667443 -0.01077852 2.60640771 3.53701634 5.99644529 -C -0.93740763 0.78388366 0.47681421 1.81982640 -1.11552676 -2.24209980 -O 1.06074866 -0.24812405 -0.46752930 1.82785838 0.34708084 2.18613216 -H -0.37632339 -1.40357585 0.74628247 0.62687270 0.43793157 -0.19942480 -H -0.80565252 -0.77618618 -0.76202666 -3.44456705 -1.99849376 -5.58964783 -H -1.89491612 0.55158186 0.81235170 -2.42822058 -0.28839020 1.10479826 -H -0.39939232 1.42676464 1.14630866 0.74956578 0.25080827 1.23527973 -H -1.03070663 1.40691442 -0.43309036 -0.14293497 0.01171534 -0.15282426 -H 1.59659415 0.14328067 0.35811618 -1.61480842 -1.18214159 -2.33865874 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.807745635416 pbc="F F F" -C -0.12088626 -0.58797706 0.16298738 2.73153583 2.40845568 -0.22946692 -C -1.09783425 0.56871407 0.41525619 0.17309824 -0.51397197 0.03494136 -O 1.07299967 0.05185141 -0.50953811 0.09998561 -1.78211479 0.39303141 -H 0.19321869 -1.03581879 1.12367497 0.05797521 -0.28457427 0.18978003 -H -0.47268745 -1.35624593 -0.51743468 -0.82803994 -0.57818036 -0.30935462 -H -1.97692685 0.02958373 0.87565817 0.09949406 1.01653236 -0.09232063 -H -0.69277842 1.47992300 1.01273694 -0.40279373 -1.61014968 -0.45121045 -H -1.33369390 0.95478118 -0.59198555 -0.46032990 0.17952055 -0.01158889 -H 1.77214152 -0.66724037 -0.70496556 -1.47092543 1.16448248 0.47618873 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.785561885083 pbc="F F F" -C -0.24473924 -0.54540039 -0.14949740 0.82053119 0.42731379 0.78544364 -C -0.94132494 0.56063191 0.59566301 -1.42108674 -0.01118019 2.45449958 -O 1.07988818 -0.07995985 -0.46709428 0.01799433 0.92880125 1.61704420 -H -0.16590129 -1.52414743 0.38502842 -0.44268904 0.06689720 -0.13707733 -H -0.84241487 -0.58244969 -1.04189810 -0.19727130 -0.88347968 -1.38745299 -H -2.10558364 0.52293593 0.77274642 1.79339242 -0.33074487 -0.33992818 -H -0.45826676 0.74934116 1.61852524 -0.47037567 -0.17367499 -0.72421609 -H -0.74293585 1.43595681 0.00257025 0.00818064 1.12180997 -0.54778801 -H 1.30589663 0.48459475 0.36083802 -0.10867584 -1.14574242 -1.72052481 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8267212286155 pbc="F F F" -C -0.06127218 -0.18516566 0.49641581 -0.24452855 1.50637190 0.15441269 -C -1.25226713 -0.10005421 -0.52372358 0.28901657 -0.67609356 1.11850451 -O 1.20863896 0.28745303 0.06366089 0.03820239 -1.45289427 -2.28964136 -H -0.32021989 0.59927195 1.24087426 -0.22203797 -0.39650414 0.40776594 -H 0.07899605 -1.12169357 1.05656232 -0.40141963 -0.70024023 -0.07174095 -H -1.51048927 0.99032294 -0.55018568 -0.39083049 -0.66466510 -0.41332621 -H -1.09258988 -0.52534212 -1.52783471 0.59750139 0.21670627 -0.36326054 -H -2.07752784 -0.79161090 -0.16631863 0.18377074 0.97960411 0.15568631 -H 1.38792147 -0.31659083 -0.73820834 0.15032551 1.18771508 1.30159961 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.653221307862 pbc="F F F" -C 0.10515077 0.38855059 0.35726159 -0.47436329 -1.24637842 -1.29718462 -C -0.80674054 0.64570520 -0.88565832 -1.77708051 0.05348349 1.62758434 -O 0.64001536 -0.96116204 0.44133573 0.87103528 0.08710294 2.41968493 -H 0.94417479 1.02652568 0.17400611 1.08967857 1.35795672 0.49703231 -H -0.53064777 0.66711065 1.22324536 0.33675236 0.12484083 0.31255863 -H -1.23730409 1.69723978 -0.79884526 0.80645275 -0.50229016 -0.10079684 -H -0.42250883 0.50653870 -1.90087071 0.45907386 -0.22746383 -0.16740895 -H -1.77472986 0.07711568 -0.75005553 0.64474650 -0.20721381 -0.39475934 -H 1.22103308 -1.04343560 1.34345771 -1.95629552 0.55996224 -2.89671044 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.928226698163 pbc="F F F" -C 0.39164329 -0.32430578 -0.33994143 0.68634758 1.46330020 1.04232244 -C -1.08935643 -0.14665802 -0.66223827 0.55011208 -2.07569579 -1.80954070 -O 0.66855898 0.45357428 0.88251541 0.61305219 0.05934334 -1.73028544 -H 0.76665919 -1.38431284 -0.13570562 -0.49055040 0.66660094 -0.76607402 -H 0.99339578 0.20022171 -1.14399365 -0.10324793 -0.66559939 0.50150870 -H -1.40483754 0.85227785 -0.46654350 -0.30133555 1.34343353 0.62074514 -H -1.27159245 -0.27439466 -1.78419041 -0.00122261 -0.28717648 0.92350159 -H -1.67579961 -0.89328634 -0.09785692 -0.42042127 0.12898329 -0.01829269 -H 0.29291430 -0.08971092 1.56186019 -0.53273409 -0.63318970 1.23611498 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.846196686836 pbc="F F F" -C 0.43528703 -0.28518953 -0.10740993 1.24883922 -1.69208280 -0.57072545 -C 0.26411283 1.12172790 -0.66031840 -0.84675902 -2.47925710 -2.42769525 -O -0.62885722 -0.78067260 0.67840460 -0.17285615 -0.88296829 -1.63787601 -H 0.49505035 -0.96936968 -1.03850382 -0.07335149 0.42910626 1.15399700 -H 1.43852663 -0.46689126 0.45427679 -0.84686721 0.52541488 -0.66508013 -H 0.20351122 1.77244848 0.14912980 0.41940939 2.31436957 1.56966071 -H 0.99070949 1.26526417 -1.51887705 -0.23961728 0.53272782 1.04528646 -H -0.75836308 1.10267118 -1.13936000 0.45266708 0.21180698 0.18652223 -H -0.72245225 -0.28198491 1.47308720 0.05853545 1.04088262 1.34591048 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6745055693755 pbc="F F F" -C 0.52437385 0.11794523 -0.28122831 -3.58215747 -3.08846451 -0.88957752 -C -0.69380932 0.99497511 -0.39549867 0.31793573 0.95557056 3.25885219 -O 0.12489379 -0.98891749 0.60818730 0.97574000 0.87131641 -0.13119346 -H 0.59883030 -0.38577229 -1.25432824 1.00259343 0.15148760 -0.67718072 -H 1.38900848 0.59380396 0.06754653 2.01212097 1.17691989 0.48051800 -H -0.74579462 1.61315219 -1.26345401 -0.07342723 0.57135480 -1.35057791 -H -1.62656504 0.39259559 -0.21569458 0.50847218 0.35492723 -0.27494996 -H -0.53071062 1.72651696 0.48291526 -0.97520711 -0.54707931 -0.79523980 -H 0.95076519 -1.50600264 0.59297275 -0.18607049 -0.44603266 0.37934922 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.663422293553 pbc="F F F" -C -0.42427244 0.27681178 -0.32867145 3.25935155 -0.37440957 1.99575409 -C -0.47121542 0.01889244 1.19571055 -0.61139501 2.75832401 -0.25850296 -O 0.76841560 -0.33316511 -0.81245733 -0.41558122 -1.55770358 -0.84791468 -H -1.29362017 -0.10663000 -0.77258513 -1.64381022 -1.05857639 -1.46943789 -H -0.35200860 1.34622160 -0.53295355 -0.47153184 0.77813538 0.16032587 -H -1.34042596 0.60152462 1.56570727 -0.41732890 -0.35634088 0.28433402 -H -0.41926996 -0.94177411 1.69962705 -0.08587698 -0.92794801 -0.49779346 -H 0.33680281 0.64321164 1.58681266 0.72851359 -0.02507264 0.43338092 -H 1.54090170 0.22076057 -0.98188880 -0.34234096 0.76359167 0.19985408 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.567217523017 pbc="F F F" -C -0.03994660 0.30363113 0.48958600 -1.52717537 -2.60763412 -0.94629484 -C -0.20877425 1.03416116 -0.86562129 -0.68308583 -2.17509451 0.61207811 -O 0.26053844 -1.18426126 0.41408342 -0.24173803 1.95926247 -0.03990302 -H 0.76120205 0.58551593 1.13827055 0.61160338 1.21885290 0.92011586 -H -1.10038962 0.34322413 0.89938703 1.05944337 0.39419540 0.62808827 -H 0.47812757 0.67337104 -1.63273472 1.13325699 0.49028516 -0.21785196 -H -1.13904383 0.53584639 -1.25054032 -0.15484078 0.92692939 -0.02902776 -H -0.29186990 2.12189745 -0.73522359 -0.04141540 0.16403546 -0.28882862 -H 0.11914168 -1.40439177 -0.51118745 -0.15604838 -0.37083213 -0.63837603 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.805029757446 pbc="F F F" -C 0.29142170 0.33071814 0.38407451 -1.53442321 -0.91104834 0.38065267 -C -0.53069965 0.88429007 -0.80169099 1.75826127 -0.28871143 1.97956478 -O 0.22131423 -1.09533027 0.32627435 0.68892162 -0.93676967 0.97173524 -H 1.31385308 0.74535877 0.51704339 0.30178920 0.02331436 -0.62845450 -H -0.19147035 0.52468196 1.34932325 -0.44145527 1.09218705 0.37292558 -H -0.10224844 0.55009968 -1.70010409 1.01234023 -0.84725154 -1.90506082 -H -1.54471241 0.57572098 -0.82407334 -1.60467698 -0.47758581 0.40522394 -H -0.43457042 1.94006000 -0.82243575 -0.14694142 1.83210127 0.02009133 -H 0.29641445 -1.42898661 1.27752866 -0.03381537 0.51376413 -1.59667823 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539482903633 pbc="F F F" -C -0.23318090 -0.40729420 0.31635876 1.03957855 -1.62768327 -0.66477448 -C -0.96859474 0.84842618 0.02707979 -1.01002721 -0.68465934 2.87778660 -O 1.06976424 -0.39660588 -0.36500841 1.65349387 0.01667932 2.39359084 -H -0.37528732 -0.70526931 1.43952637 1.08020128 0.48357510 -1.28480238 -H -0.69492156 -1.23898287 -0.24192043 -0.62089216 -0.31561973 0.16531644 -H -1.87276609 0.69256340 0.69723075 -0.05922096 0.62715850 -0.98890446 -H -0.41709848 1.63358920 0.52643482 0.39296857 1.10985675 -0.04017283 -H -1.18006534 1.02379422 -1.00364206 -0.29850369 0.33555103 -1.21101077 -H 1.87885309 -0.36829151 0.28383905 -2.17759820 0.05514159 -1.24702896 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.630410998138 pbc="F F F" -C -0.29270288 -0.54612762 -0.03094151 2.78982019 3.17391140 1.76450756 -C -0.93479505 0.78620156 0.43797705 1.25260244 -2.43521609 -0.81050203 -O 1.07786690 -0.24199988 -0.43006087 -2.58916552 -1.19310463 -3.74065164 -H -0.22973976 -1.16220122 0.84275092 -0.32061544 -1.39428478 0.88478714 -H -0.72756235 -1.01325143 -0.85652077 -1.26674310 -1.08036274 -1.74228221 -H -1.80836506 0.59271001 0.98144672 -2.21588971 -0.16448623 0.95089285 -H -0.23639562 1.22610873 1.10845474 1.00596841 0.82232294 0.97867897 -H -1.06346267 1.39624750 -0.40485834 -0.52626267 1.53014957 -1.54179308 -H 1.58213224 -0.06050305 0.30496952 1.87028540 0.74107055 3.25636249 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.515275846376 pbc="F F F" -C -0.24285368 0.01816247 -0.56190061 -1.42455927 -0.56948232 2.02553015 -C 0.15656782 1.31517435 0.27117421 3.64530703 -2.39147220 -4.09619907 -O 0.10337087 -1.17815580 0.28865306 -0.59081240 1.93917253 -0.62284342 -H -1.41830182 0.07242134 -0.82361095 1.99757870 -0.23876856 0.51838862 -H 0.30921866 -0.16924472 -1.49318198 0.14508704 0.72102627 -0.50558971 -H 1.35101507 1.34022910 0.27189140 -2.23651624 0.28142019 0.26483606 -H -0.26472113 2.19807717 -0.15407466 -0.23101694 1.24359746 -1.00180194 -H -0.22503930 1.28051646 1.21368309 -1.16604700 -0.60893925 3.57786599 -H -0.36581446 -1.91035839 -0.13228157 -0.13902098 -0.37655413 -0.16018667 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518462212138 pbc="F F F" -C 0.42542362 -0.36786406 -0.20946833 0.24015469 3.46573572 5.55044539 -C 0.26142441 1.16478529 -0.70324878 1.13531989 -1.12716039 0.60993334 -O -0.64007078 -0.76892791 0.76001803 0.48484862 1.12651668 0.87798641 -H 0.42982655 -1.17416408 -0.86862440 0.01924482 -1.37392739 -2.23835601 -H 1.38812968 -0.41226163 0.45208829 -0.71484261 -0.02365513 -1.37580394 -H 0.28281529 1.96301347 0.13859678 0.12709641 -1.35224311 -0.75296376 -H 1.10026634 1.41788001 -1.43250747 -0.78591045 -0.14093301 0.45822854 -H -0.71572489 1.24018768 -1.17185385 -0.56701329 0.22373830 -0.56011532 -H -0.51076515 -0.32686413 1.69427255 0.06110193 -0.79807157 -2.56935465 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.293176791325 pbc="F F F" -C -0.46470537 0.05055914 -0.28684053 3.49528537 -0.65711238 -1.33418090 -C 0.48024614 1.28717746 -0.05622598 -0.23299468 -3.58426701 4.21008993 -O -0.07555624 -1.21805998 0.33343602 0.19395900 1.98402071 -0.48992686 -H -1.47817181 0.07695713 -0.19604770 -3.69165308 1.12651766 1.24400950 -H -0.39702034 -0.06969086 -1.36738482 0.08686280 -0.46722838 -1.17335006 -H 1.52301687 1.03357043 -0.38169063 -0.51555691 0.50667148 -0.21823300 -H 0.04616364 2.19883670 -0.32991373 -0.60296534 1.94860236 -1.18009967 -H 0.50654598 1.32000210 1.11500152 0.40657655 0.31148607 -1.41040673 -H 0.81262311 -1.16704906 -0.04470628 0.86048630 -1.16869050 0.35209784 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.682938617218 pbc="F F F" -C 0.33688767 0.50150686 0.27780233 -2.95568715 -1.18399875 -1.49768913 -C -1.09729735 -0.10245449 0.66317256 2.49462371 1.31042302 2.82973246 -O 0.75662326 -0.34990523 -0.85000388 0.72209374 1.03420896 1.11828519 -H 0.26761044 1.60125685 0.08003929 0.15991732 -0.17620357 -0.47420373 -H 0.96420780 0.40109361 1.17373469 0.63852644 -0.42831215 -0.17954642 -H -1.64345220 0.41792092 1.48857124 0.21162788 0.44165623 -0.24684820 -H -1.80086126 -0.25296741 -0.10325606 -1.02314539 -0.34096676 -1.83410071 -H -0.79457397 -1.01518018 1.17892585 -0.33281749 -0.98689031 -0.25630148 -H 0.05703005 -0.35459282 -1.53833081 0.08486093 0.33008332 0.54067202 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.67380877191 pbc="F F F" -C 0.12780985 0.64323269 -0.08580610 -1.02384818 -2.62342996 0.13303931 -C -0.96953608 -0.24536203 -0.78258630 0.25050781 0.51167701 -0.18303186 -O 0.78938130 -0.27617324 0.81255195 0.14199529 1.38394925 0.40554785 -H 0.89036900 1.04840350 -0.74761213 0.13299200 0.51423798 -0.80389357 -H -0.36375741 1.40821347 0.47209751 -0.30950416 1.27152695 0.98042033 -H -1.88020103 0.07173896 -1.37562063 1.06243752 0.65372696 0.02644735 -H -0.30562501 -0.87165196 -1.38255436 -0.34991368 -0.85389548 -0.68652401 -H -1.45605798 -0.85319583 -0.00603120 0.19749576 -0.24847273 0.45805704 -H 0.61422766 -1.16227075 0.48962550 -0.10216241 -0.60931998 -0.33006245 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5940368420725 pbc="F F F" -C -0.18028095 -0.25976737 -0.45373953 0.38148926 2.45660608 -1.39802254 -C -0.14824716 1.24204743 -0.20824105 0.32016776 0.17071632 -1.55206186 -O 0.27382491 -0.86271808 0.65822244 0.80635638 -3.02087595 1.42495393 -H -1.12262892 -0.57994313 -0.83496236 -2.05326640 -0.65488236 -0.07930858 -H 0.43606715 -0.38106285 -1.36860672 0.72464541 -0.31370339 -0.19512422 -H -0.17492115 1.68350617 -1.24746098 -1.22078410 0.33011238 0.60746575 -H -0.84025082 1.65613683 0.59472932 0.75757760 -0.20798478 -0.84357136 -H 0.93089170 1.43990055 -0.12114878 0.25755104 0.33820009 1.34904841 -H 0.33809938 -1.83073235 0.41746192 0.02626300 0.90181160 0.68662048 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.55180153061 pbc="F F F" -C -0.38333318 0.14189652 -0.33584949 -2.61641712 0.37655536 2.19828937 -C 0.93051406 0.84196485 -0.43786736 2.84237391 -1.47485382 -1.93466950 -O -0.55118978 -0.86343954 0.69777938 -1.15983521 2.27936106 0.20445255 -H -1.03707776 0.91884518 0.14258410 -0.34127806 -0.03155249 -0.79148018 -H -0.92702154 -0.27545631 -1.22271445 0.71989283 0.63034112 -0.38836187 -H 1.46872945 0.86408249 0.51841897 -0.39050545 0.32839904 0.71705412 -H 1.67149874 0.09742956 -0.99766543 -0.91106547 1.55728650 0.27358722 -H 0.97216928 1.90319759 -0.88920528 -0.30456270 -1.41716482 0.26858334 -H 0.07969497 -1.52768432 0.59215168 2.16139727 -2.24837196 -0.54745505 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.330726175897 pbc="F F F" -C -0.07646896 0.39787109 0.43608675 0.07341294 -0.94691951 0.69258395 -C -0.25035725 0.69127530 -1.01304934 -2.95027503 1.11218540 1.02973251 -O 0.23209987 -1.01511932 0.52712342 1.59031346 0.59328704 1.01267504 -H 0.70764788 1.05078402 0.75139369 1.82768190 0.44337393 0.72180074 -H -0.81542505 0.67141863 1.23571391 -0.69247103 -0.23770309 -0.89748335 -H 0.07039481 1.61219136 -1.38215834 1.30871077 2.65958426 -0.15889140 -H 0.32808669 0.00978743 -1.53204832 0.95046455 -2.25704429 -1.61837038 -H -1.29941344 0.80519682 -1.29268887 -0.69867150 -1.03199020 -0.52321772 -H 1.21800331 -1.01588079 0.72770136 -1.40916602 -0.33477358 -0.25882944 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.474006011227 pbc="F F F" -C -0.30541920 -0.53128318 0.07269639 0.63894789 1.54363928 -1.48738867 -C -0.88673712 0.87304732 0.27369914 -1.17126860 -1.54750838 -0.51770887 -O 1.08388936 -0.26878948 -0.32332197 -1.76933445 0.16939755 -0.23053336 -H -0.32008430 -1.23185671 0.90452922 -0.16404122 -0.00524171 1.07892807 -H -1.00105005 -0.96049172 -0.65854354 0.36100296 -0.88701356 -1.07966942 -H -1.92365001 0.79314783 0.61970544 -0.20105437 -0.09753735 1.41048777 -H -0.11754293 1.24490510 0.91834888 0.17120961 1.82858970 0.79880772 -H -1.20657466 1.40992881 -0.65726625 1.49678024 -0.03020764 -0.08953417 -H 1.56877846 -1.06303080 -0.12224500 0.63775804 -0.97411789 0.11661093 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.884698327827 pbc="F F F" -C 0.50630927 0.17577920 -0.18620739 -1.98828334 -2.10225550 0.70916932 -C -0.72156168 1.06800755 -0.29984708 0.36858447 0.28215023 1.54922542 -O 0.19940841 -1.13944289 0.38451776 -0.20712644 0.44915115 -3.64597551 -H 0.93800428 -0.02381847 -1.16886693 0.24721721 -0.08645065 -0.52146978 -H 1.21465978 0.66192276 0.41403489 1.84610504 1.09296707 1.22783577 -H -1.44810855 0.58416024 -0.94497990 -0.59940405 0.04431745 -0.59693523 -H -1.21030038 1.19583721 0.73688577 0.53716575 -0.02983345 -1.09297313 -H -0.36288114 2.06718739 -0.65557458 -0.53772980 -0.21598945 -0.10866694 -H 0.26732056 -1.22106603 1.30677670 0.33347116 0.56594319 2.47979019 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740128712326 pbc="F F F" -C 0.33280497 -0.24707231 -0.32833092 -1.07583097 0.40525227 -1.14604406 -C 0.51647855 1.21652050 0.09596339 1.00979062 0.63332761 -0.49567754 -O -0.78160828 -0.86011281 0.22760664 -1.73083144 0.21355271 1.13805158 -H 0.09470608 -0.15098849 -1.46704778 1.01948856 -0.35877684 0.92486541 -H 1.15419917 -0.93167237 -0.08256796 1.14480592 0.37893667 -0.51256167 -H 1.14911653 1.63599440 -0.74748308 -0.08020441 0.04869465 0.85813816 -H -0.39810184 1.82398197 0.04958112 -0.66445952 -0.28052694 -0.27293647 -H 0.93846268 1.53448633 1.09260085 0.14465376 -0.83308450 -0.41648893 -H -0.65275355 -1.81244532 0.31094499 0.23258742 -0.20737564 -0.07734652 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.817685224191 pbc="F F F" -C 0.44845774 0.07159792 -0.37101182 -0.29617026 0.18337741 1.79976470 -C -0.63860644 1.11861648 -0.13831444 0.21342853 -2.35944391 2.10410119 -O 0.24025057 -1.08933776 0.45633209 0.79415058 0.62772605 -0.76596244 -H 0.47016516 -0.10395688 -1.41189403 -0.35102471 -1.10551164 -2.20069361 -H 1.46281728 0.43141935 -0.22870713 0.82405345 0.44376289 0.74740344 -H -1.53683456 0.49080972 -0.33066174 -0.47670578 0.43652765 0.25007463 -H -0.62149188 1.44747043 0.95351109 -0.20005385 0.13748259 -1.08612135 -H -0.64291774 1.86457170 -0.88122966 0.11314118 1.79718069 -1.03767568 -H -0.68048417 -1.02305550 0.72463112 -0.62081919 -0.16110173 0.18910907 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.758029196116 pbc="F F F" -C 0.31372944 0.06359839 0.44658996 -0.75783497 0.48908065 0.47237125 -C -1.24119661 0.30907707 0.44348171 0.85967861 -3.04732104 2.05858272 -O 0.81600247 -0.35921882 -0.84810024 -1.92667269 -0.16784877 1.44361691 -H 0.71473949 1.07131421 0.67905833 0.40364677 0.15594862 0.10484685 -H 0.61670787 -0.56785414 1.40550575 -0.39674423 0.32132645 -1.78497139 -H -1.61574161 0.16276536 1.52621334 0.39009773 0.20098624 -1.12696719 -H -1.58914224 1.25475527 0.14448764 -0.25865692 1.95713195 -0.87779728 -H -1.77068526 -0.46767971 -0.14521295 0.08717791 -0.03538605 -0.07866457 -H 1.74220601 -0.19362243 -0.75401797 1.59930780 0.12608201 -0.21101735 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.499478581019 pbc="F F F" -C 0.05529216 0.42387114 -0.27067865 1.31757069 -0.18688090 -0.69370094 -C -1.31551694 -0.16138338 -0.22376541 -0.30472653 -2.30598860 0.78788634 -O 1.15366164 -0.26302425 0.43097628 -0.56457665 1.78240136 1.32000753 -H 0.29466829 0.19296120 -1.30296802 0.78710642 0.64892069 -0.99699074 -H -0.06574079 1.52382436 -0.12788528 0.80986640 -0.09880228 0.14081824 -H -1.21188553 -1.17467832 0.28831592 -0.54181204 0.74786407 -0.35176591 -H -2.03832887 0.46652396 0.23764240 -1.03204141 0.72873064 1.49095592 -H -1.80302299 -0.30429171 -1.20630281 0.50416902 -0.28102203 -0.37726524 -H 1.52777499 0.34141367 1.16199188 -0.97555585 -1.03522300 -1.31994521 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.727489850164 pbc="F F F" -C 0.01387307 0.52880587 0.18884289 1.04737815 -0.43165001 0.74325357 -C -1.25872902 -0.33969534 0.35913190 1.01401324 -0.58360786 0.55254296 -O 1.12639190 -0.20625315 -0.44107394 -1.16381986 0.14867651 1.01413784 -H -0.30783145 1.25760489 -0.50974102 -0.39771796 1.61312512 -1.19767476 -H 0.38414334 1.15066312 1.11522873 -0.62240119 -1.20571718 -0.89239005 -H -1.32470555 -0.90939250 -0.56647882 0.10679543 -0.46061766 -0.71116192 -H -1.12515836 -1.14944205 1.15623448 -0.60352240 1.02646361 -0.37508505 -H -2.22055407 0.24707994 0.32630556 0.61583104 -0.20084313 0.83993449 -H 1.54729766 0.42246071 -1.04993610 0.00344358 0.09417059 0.02644293 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.729230697819 pbc="F F F" -C -0.39243039 0.12527381 0.32818312 -1.09244261 -2.25849172 -2.60603140 -C 0.12424924 1.14160644 -0.65871346 0.21508638 1.36441981 1.89155923 -O 0.24821292 -1.14724663 0.34312166 0.96334938 0.71389269 2.80539362 -H -0.37773555 0.52793922 1.32719608 0.04858785 0.14560018 1.05244878 -H -1.44408221 -0.11287937 0.02338878 -0.29369079 0.50797004 0.41597810 -H 1.04313887 1.57688652 -0.20011123 0.50122974 -0.38969098 -0.85635232 -H 0.18877419 0.77221749 -1.68132918 0.23547348 0.02458042 -0.50172406 -H -0.53815429 2.03774029 -0.55544307 -0.19971914 -0.28732226 -0.58294251 -H 0.38276522 -1.68899360 -0.42156882 -0.37787439 0.17904181 -1.61832950 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.57999416849 pbc="F F F" -C -0.28372055 0.28087967 0.41042065 2.51678097 -0.10331292 -0.96585024 -C -0.91493970 0.00875872 -0.99312871 0.10151243 0.38576824 2.04467377 -O 1.05494289 -0.30449404 0.53765729 -3.57250112 -3.29452143 0.33636432 -H -0.12724588 1.40537555 0.53408334 -0.80778155 -0.85122076 0.34603306 -H -0.79293066 -0.22298151 1.22330061 -0.99081854 0.16660332 0.59869849 -H -1.95766509 -0.26983722 -0.79324647 -0.57430776 0.39059883 -0.43235392 -H -0.76428528 0.96195294 -1.49670466 -0.41259123 0.10121845 -1.05684126 -H -0.47554880 -0.84988000 -1.49746184 0.58316753 -0.29553267 -0.23529289 -H 1.65453151 0.35585922 0.43919777 3.15653928 3.50039899 -0.63543139 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.725582115469 pbc="F F F" -C -0.20365994 -0.38769184 0.28950584 0.00391055 -1.52019349 -1.43693235 -C -1.00775275 0.87765316 0.03863830 2.38354394 -0.95575624 0.28342138 -O 1.06860806 -0.38727783 -0.31585814 2.16108889 -0.95085413 0.25465700 -H -0.04495876 -0.53295979 1.34302742 -0.38827512 -0.38127704 1.43985302 -H -0.73304162 -1.27287020 -0.20329020 -0.33348608 0.40967015 0.96602678 -H -1.86874431 0.74265085 0.67405894 -0.92841142 0.71861021 0.38899467 -H -0.28595138 1.70060416 0.23286811 -0.66275847 0.32908975 0.34092803 -H -1.20734214 0.85365458 -1.00920948 -0.77835927 0.42458405 -1.34432684 -H 1.61194084 -1.18359856 0.06608294 -1.45725302 1.92612680 -0.89262170 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.714814864033 pbc="F F F" -C 0.14446129 -0.40819978 -0.32950508 2.52960297 -0.33783484 0.57636146 -C -1.25780795 0.08355831 -0.40418293 -0.98430532 -0.81035908 2.86963276 -O 1.02634537 0.24622623 0.66644661 -1.01979818 -4.11568079 -0.16609805 -H 0.26468451 -1.57302453 -0.09824781 -0.46323607 2.12429017 -0.42381390 -H 0.55913464 -0.20998262 -1.33986124 0.48993292 -0.39350151 -0.23515672 -H -1.40182031 1.15856962 -0.52681731 0.26452583 0.53062980 -0.93154765 -H -1.81176904 -0.57061238 -1.10252709 -0.37142328 0.35340247 -0.04558711 -H -1.66393156 -0.00849324 0.66424057 -0.16843159 -0.38286305 -0.93489477 -H 1.02789226 1.16205975 0.56715191 -0.27686728 3.03191683 -0.70889601 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.661454030516 pbc="F F F" -C 0.08805486 0.56084844 0.23033775 -0.12939282 -1.33283210 -2.42648071 -C -1.28315918 -0.21076881 0.39874002 1.71837167 3.06592863 -1.36501065 -O 1.03553515 -0.33958771 -0.58673384 -1.19336138 1.66247453 1.56996893 -H -0.11214281 1.51300903 -0.30953070 0.19704422 0.02404733 -0.29329242 -H 0.61331242 0.86635323 1.13797514 -0.08580134 -0.23944219 0.85479562 -H -1.92657351 0.39469360 1.03612076 -0.46243790 -0.11982738 0.55885635 -H -1.76718685 -0.38192661 -0.57815993 0.07274923 0.10851267 -0.12586603 -H -0.91682610 -1.10225414 0.76061926 0.15637702 -2.94491232 1.53956660 -H 1.91196593 -0.07255448 -0.22972880 -0.27354865 -0.22394918 -0.31253770 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.877355749192 pbc="F F F" -C -0.33744884 0.37757962 -0.29269942 0.48041506 -0.61311801 1.39324307 -C -0.53642888 -0.03085268 1.21327427 3.76833045 -0.97205494 -2.14997719 -O 0.74443265 -0.31976177 -0.87366953 0.67980674 0.16809852 0.05473567 -H -1.21328828 0.02240637 -0.82165681 -0.80856496 -0.25143932 -0.47552147 -H -0.30186672 1.45392133 -0.46980415 0.19894550 0.88321707 0.05373844 -H -1.35643526 0.41772320 1.65177886 -2.68924328 0.69200159 1.21061282 -H -0.45658159 -1.13153973 1.09642587 -0.85307278 -0.09250909 0.66426601 -H 0.34482758 0.19742979 1.88305440 -0.22718363 0.29444443 -0.56113312 -H 1.57890595 -0.01737380 -0.44137165 -0.54943310 -0.10864030 -0.18996422 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.403621814133 pbc="F F F" -C -0.44151086 0.21010757 0.33839037 1.63126487 -3.05810831 2.19610686 -C 0.03780796 0.99729636 -0.79529581 -0.98826287 2.45098750 -1.44000579 -O 0.33699543 -1.08292008 0.46606286 0.13112487 0.15062787 -3.22357721 -H -0.08103335 0.63323867 1.25964379 -0.11120251 1.07773281 1.02485621 -H -1.41139423 -0.22369629 0.56239598 -1.45887075 0.92973338 -0.74513459 -H 1.13193434 0.86455580 -0.78511898 0.18698637 -0.08736781 -0.42879983 -H -0.46422090 0.72403235 -1.77022006 0.65432674 0.01186148 0.34445101 -H -0.12346307 2.15547570 -0.68751151 0.02471638 -1.63096303 -0.02385578 -H 0.40849490 -1.35304956 -0.53265064 -0.07008315 0.15549610 2.29595918 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.656630088692 pbc="F F F" -C 0.23947607 -0.10212929 -0.41473370 1.51291397 0.42898593 -1.41807129 -C -0.46689114 1.27379167 -0.25783019 -0.59076304 -2.08855208 1.20996413 -O 0.16672228 -1.04959633 0.62933720 -1.16079747 0.22985336 0.45838049 -H -0.08554645 -0.49798360 -1.40918974 -0.49868841 -0.31909741 0.07769635 -H 1.36420876 -0.10327825 -0.57715356 -0.46929385 1.38982885 -0.37064722 -H -0.59050766 1.83493376 -1.17290599 0.63578821 0.54877814 -0.75348492 -H -1.52258108 1.07953228 0.01346958 -0.28200394 -0.40570592 0.01999080 -H -0.14595051 1.82614175 0.61856151 0.74632907 0.73913878 0.28994484 -H 1.04284170 -1.44185001 0.55184820 0.10651549 -0.52322965 0.48622683 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.653598320272 pbc="F F F" -C -0.43724299 -0.29166078 -0.30450644 1.83971569 -1.45664706 0.41272853 -C -0.24575710 1.19312729 -0.40101365 -1.07241433 0.85462053 0.98647821 -O 0.58816482 -0.80110144 0.66242764 0.27309778 -1.34987944 -0.81891664 -H -1.49294722 -0.61520754 -0.04102760 0.67279576 0.27062896 0.19719468 -H -0.24351349 -0.71632071 -1.30239122 0.05383408 -0.33586265 -0.31272066 -H -0.76277772 1.71019318 0.42154760 -0.47666099 0.08765490 0.29511857 -H 0.75808077 1.56300314 -0.22544388 1.08349203 -0.36698021 -0.35828180 -H -0.64203622 1.64139602 -1.31336615 -0.20049639 0.06820111 -0.60202812 -H 1.18473756 -1.61034117 0.35276350 -2.17336365 2.22826392 0.20042718 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.738065385307 pbc="F F F" -C -0.10339746 -0.40362287 -0.31473482 0.87565571 0.00750567 -2.10060068 -C -0.30163465 1.06043476 -0.71746242 1.44538315 -1.41893143 1.54600871 -O 0.32143561 -0.61954401 0.97180166 -0.19749786 -0.68738975 1.47067171 -H -1.08415423 -0.90179372 -0.58888607 0.52453798 -0.15647240 0.98583888 -H 0.63685087 -0.85712140 -1.10578352 -0.72021632 0.38048720 0.82623523 -H 0.66153323 1.57806440 -0.75629830 0.19785581 0.59191299 0.29220710 -H -0.59458669 0.87601508 -1.68682630 -1.17299463 0.44172153 -3.22647361 -H -1.08451146 1.51350167 -0.14260581 -0.63770399 0.84370635 0.65923514 -H 1.18801190 -0.20254493 1.15438845 -0.31501989 -0.00254015 -0.45312248 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.37312777613 pbc="F F F" -C 0.11374891 0.51540533 -0.25891151 1.91162094 -0.20803584 2.84874609 -C -1.28114377 -0.01840805 -0.29042312 -2.35728382 -1.49837273 -0.32230188 -O 1.10646682 -0.40974026 0.50070477 -1.63692151 2.07947577 -1.18751510 -H 0.62556916 1.03339534 -1.07915442 -0.07506837 -0.87616525 -1.33045347 -H 0.00001922 1.43143728 0.34370718 0.47937078 0.02938314 0.95383008 -H -1.74489983 -0.09116002 -1.31897719 0.39079737 -0.11657602 0.42436252 -H -1.35682035 -1.07884968 0.18072263 0.26239114 1.25856483 -0.66352693 -H -2.06630355 0.57824403 0.30409674 1.07840783 -0.38281626 -0.45986916 -H 0.88887171 -1.29287272 0.16765410 -0.05331436 -0.28545765 -0.26327216 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.380769938027 pbc="F F F" -C 0.28461861 -0.10461988 -0.42737683 -0.61492679 -0.47591532 0.35165566 -C -0.58447960 1.22138373 -0.24679044 3.36118332 -0.34397628 -1.93581179 -O 0.27619320 -1.00762067 0.63412724 1.64407910 1.54551927 1.81806340 -H 0.21192168 -0.69539622 -1.41505754 -0.42295170 1.11417919 0.55575529 -H 1.34014975 0.17663803 -0.31972921 0.33786981 0.97482741 -0.82748715 -H -0.24064395 1.75105565 -1.17464011 -0.18268034 0.30959733 0.20544124 -H -1.62868479 1.33704511 -0.28965478 -2.26829611 -0.85774026 0.03134464 -H -0.23324502 1.86965593 0.56455667 0.32532976 -0.19284807 0.53054048 -H -0.26143291 -1.75362177 0.60222702 -2.17960701 -2.07364327 -0.72950176 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.493224762661 pbc="F F F" -C -0.26523731 0.31676581 0.30705007 1.01837337 0.33768155 3.03041171 -C 0.95413882 0.81464874 -0.40874594 -1.56828661 -0.62447227 -4.82453155 -O -0.67017683 -1.01759040 0.16034014 0.92920157 -1.08844892 -1.63516915 -H 0.04412672 0.49953355 1.41736454 -0.85190812 -0.44566628 -0.86338949 -H -1.07899347 1.00887906 0.14900577 -1.07032978 0.52415704 -0.35361798 -H 1.88157427 0.83856032 0.10164505 1.36327803 0.38520584 0.95457626 -H 1.08838779 0.01752899 -1.24824753 0.27444386 0.83885169 0.70169815 -H 0.70659628 1.73434301 -1.09362653 0.73907846 -0.93973559 1.43482111 -H -0.21372888 -1.42979419 -0.65946229 -0.83385074 1.01242698 1.55520097 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.453517200887 pbc="F F F" -C 0.03731449 0.56073693 -0.02888989 0.46338216 0.67990234 2.06117717 -C -1.10902154 -0.23842066 -0.80824893 2.00458512 -1.20627624 3.21848098 -O 0.95595496 -0.25770097 0.79118569 -0.34539286 -0.96850023 -1.68499267 -H 0.66254102 1.21540722 -0.72607167 -0.63402916 -0.51382799 0.16684403 -H -0.28221738 1.32112750 0.86402443 -0.13259600 -1.44142972 -2.13444695 -H -0.70451980 -0.51195714 -1.78038889 0.41192403 -1.05171828 -0.37787377 -H -1.50185287 -1.12157690 -0.08739529 0.82924389 1.59562202 -1.77868061 -H -1.90886276 0.37615660 -1.09913779 -1.85137874 1.49971218 -0.07201745 -H 1.33025387 -1.03082421 0.24560789 -0.74573844 1.40651598 0.60150922 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.738217938827 pbc="F F F" -C -0.40398906 0.20746111 0.30616559 0.42651165 -2.00945736 -2.36568588 -C 0.14011327 0.97619773 -0.96051807 -1.35126907 -2.00081567 -0.80939486 -O 0.26998707 -1.04333959 0.67626601 -0.15290448 0.12999394 -1.45624705 -H -0.37199434 0.81220494 1.18000797 -0.10630471 0.93723236 1.26173218 -H -1.42883753 -0.11263414 0.04199863 -0.51601636 0.50116063 0.26935724 -H -0.63414748 1.58846170 -1.46064649 -0.44613998 0.48040441 0.64905022 -H 0.97619100 1.63425090 -0.76861142 1.03049582 0.08667403 -0.07878634 -H 0.22985166 0.23550621 -1.85621381 0.80675861 0.66979805 1.33798891 -H 0.08671078 -1.70256005 -0.07383188 0.30886853 1.20500961 1.19198558 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.371708946333 pbc="F F F" -C -0.34609167 -0.53425240 0.02003983 2.59033116 1.29085975 1.17557793 -C -0.83989501 0.83536834 0.48050594 -1.67610693 1.72113591 0.10014790 -O 1.08121481 -0.27063538 -0.42252282 -0.96626465 -1.23797574 -0.50119652 -H -0.36059047 -1.24721516 0.91975778 -0.11463170 0.26503038 -1.16629845 -H -1.05848453 -0.73653404 -0.75551987 -0.31535362 -1.26265705 -1.25429896 -H -2.05173073 0.89726154 0.43728216 2.32430437 -0.40769889 0.57343328 -H -0.45443056 1.11457178 1.55321352 -0.58554066 -0.04048754 -1.79236768 -H -0.59603792 1.63522129 -0.35417881 0.12740957 -1.17094546 1.58581752 -H 1.49008673 -0.95703478 -1.05824210 -1.38414753 0.84273864 1.27918498 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.18420542957 pbc="F F F" -C 0.05067516 -0.35421674 0.32862462 0.03296639 -2.30098878 1.77351316 -C -1.16265605 0.61677699 0.52548991 3.37301245 3.43344255 -0.78165846 -O 1.02925589 -0.31613607 -0.77989347 -2.08130645 2.33955477 0.93184996 -H 0.54694549 -0.27050050 1.37868428 0.12489050 -0.35442062 -1.32428400 -H -0.35326266 -1.47455464 0.28795173 0.48897334 1.87449270 0.11667737 -H -1.85780310 0.38300437 1.32950455 -0.20217969 -0.44047090 0.33776635 -H -0.74628106 1.83237205 0.74152752 -0.88263430 -3.18837129 -0.24022550 -H -1.62237623 0.78263867 -0.42517974 -1.27754657 -0.07513419 -1.12708330 -H 0.94449367 0.63499272 -1.11065669 0.42382428 -1.28810425 0.31344437 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.847403557838 pbc="F F F" -C 0.17822687 -0.38359924 -0.40007856 -0.62836548 0.24118298 2.15568654 -C -1.24648045 0.16129094 -0.31029345 -0.64556627 0.57545299 1.93982646 -O 1.02177222 0.20196270 0.59319188 0.91183258 1.10963111 -2.39867278 -H 0.26138525 -1.47615520 -0.25653735 -0.30040342 -0.40624668 -0.63466351 -H 0.55045834 -0.03365834 -1.32830399 0.81392957 0.01005446 -1.72064581 -H -1.20838492 1.25411449 -0.44873406 0.02139560 0.21891316 -0.56769149 -H -1.94939065 -0.30420913 -0.99279456 -0.38576341 -0.23147686 -0.77341416 -H -1.80188135 0.15215111 0.71113395 1.04683159 -0.65793786 -0.83709871 -H 0.65726212 -0.15052599 1.36413872 -0.83389080 -0.85957330 2.83667352 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.359030021652 pbc="F F F" -C 0.48956836 0.33324991 0.13995965 -0.76887066 -1.87946630 -0.95613795 -C -0.65862792 0.74575326 -0.74729340 2.04141063 3.26121463 -1.48426293 -O 0.21779390 -0.99234219 0.56715799 1.13125965 -0.16493288 0.73448688 -H 1.41358164 0.17675569 -0.34349741 1.64742411 -0.09491066 -2.05479945 -H 0.91718244 1.04306784 0.83331047 -0.87632913 0.98606231 1.76987361 -H -0.82821237 1.86622121 -0.69529811 0.16127106 -0.59786371 -0.34771477 -H -0.66370391 0.44079068 -1.81945197 0.84702194 0.12099112 0.06066895 -H -1.57029360 0.34859726 -0.49459844 -2.91057013 -1.38468206 1.71811399 -H -0.71213715 -0.98261751 0.75387083 -1.27261746 -0.24641245 0.55977167 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.431622943452 pbc="F F F" -C -0.14870064 0.11902090 -0.59788961 1.98056977 1.87985376 2.94168522 -C -1.16290318 0.06119386 0.55736127 -1.01369402 -2.47773099 0.16298928 -O 1.18439354 -0.22604302 0.01839496 -3.42681949 -2.69263827 -0.53686035 -H -0.41320698 -0.46735846 -1.48162314 0.07404723 -0.49843783 -0.34218129 -H -0.06724594 1.25743626 -0.86442805 -0.35236821 -1.59325084 -0.17066063 -H -1.05708291 0.86435281 1.25116056 0.23206626 1.56722160 0.52349529 -H -2.17509381 0.10821208 0.07812647 0.03262793 -0.03230834 0.53755625 -H -1.15367923 -0.82982325 1.38098906 0.24858282 1.07536699 -2.36845300 -H 1.69419256 0.50628920 -0.17327566 2.22498776 2.77192402 -0.74757076 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9076217023585 pbc="F F F" -C 0.22007166 -0.42529483 -0.36829615 -1.06749987 1.37607714 -0.32302405 -C -1.24713760 0.16821986 -0.34048332 -1.28877140 -1.05025074 0.79616787 -O 0.97511009 0.18931134 0.65455397 0.56926639 0.80481135 -0.34068692 -H 0.16466780 -1.49906531 -0.15139620 -0.11369808 -0.37620934 0.37640665 -H 0.70782845 -0.41327662 -1.40620530 -0.38553705 0.44936892 0.62275055 -H -1.47384635 1.26356117 -0.59993751 0.81382385 -1.03037107 -0.02979339 -H -1.93575807 -0.49204369 -0.96459857 0.48550852 0.67172715 0.14573110 -H -1.71073133 0.03332185 0.73523830 1.01753761 0.20539789 -1.44599261 -H 1.00717796 1.16432182 0.44280213 -0.03062997 -1.05055131 0.19844074 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614571510576 pbc="F F F" -C 0.14263380 0.45727880 -0.24173210 1.43377411 0.81817163 -1.48203044 -C -1.33187360 -0.05650040 -0.30123013 2.96147295 -1.94173705 -1.63288071 -O 1.07839330 -0.38586399 0.45943175 -0.89447377 1.10663495 1.22192866 -H 0.74080193 0.43604264 -1.26188007 -1.87765424 0.45699081 0.90032448 -H 0.12258481 1.61855798 0.09907994 0.26879982 -2.09813438 -0.37024515 -H -1.30306233 -1.19254648 -0.56115776 -0.09853874 1.51606054 0.10488536 -H -1.78020383 -0.00259117 0.65766179 -1.08490763 0.52891821 1.37243939 -H -1.75859999 0.51144289 -1.12708338 -0.95872505 0.21068542 -0.10999430 -H 1.03084324 -0.02315585 1.37063630 0.25025255 -0.59759014 -0.00442729 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2463682289035 pbc="F F F" -C 0.23262454 -0.44108963 -0.39431750 -0.40819516 4.43124375 0.80568610 -C -1.18678621 -0.03723199 -0.29194300 0.56798141 -0.40551823 -2.82672309 -O 0.83406068 0.45495837 0.64460204 -0.92095856 -1.58500722 -1.33595985 -H 0.39687722 -1.46778224 -0.48726148 0.64986763 -2.79987794 1.37654051 -H 0.62818908 -0.13898916 -1.34358873 0.51799267 0.82969152 -1.43951610 -H -1.19869427 1.02818916 -0.44111946 -0.30842815 1.14152890 0.60795807 -H -1.65857849 -0.39726317 -1.20266739 -1.01042419 -0.61766424 -0.35506108 -H -1.58852088 -0.42661399 0.58983963 -1.33222393 -0.43979645 1.91855623 -H 1.55026099 -0.12103955 0.83033302 2.24438834 -0.55460010 1.24851922 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.205537922054 pbc="F F F" -C -0.06834702 0.08391939 0.57069704 2.32707962 2.22439075 -3.29279771 -C -1.31172505 0.04874452 -0.34369636 3.42423332 1.10533665 0.07302892 -O 1.20384634 -0.18250743 -0.15917795 -0.17659973 -1.47591949 -0.21370929 -H 0.05060181 1.12435628 0.92932568 -0.35718883 -0.03435951 0.79061871 -H 0.18331338 -0.65807298 1.27347620 -1.12517328 -1.25629486 2.02614238 -H -1.62758634 -0.91400326 -0.56641477 -1.11840238 -2.36455480 -0.52561368 -H -2.01212489 0.70689582 0.05043020 -2.32608723 1.09895069 1.21902372 -H -1.01561563 0.56777933 -1.27451742 0.20260217 -0.19882980 -0.22487102 -H 1.75638743 0.48771713 -0.59056973 -0.85046372 0.90128036 0.14817797 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4262650797245 pbc="F F F" -C -0.24460441 -0.15747893 -0.51161500 4.87944807 -0.47443832 1.77211386 -C -0.13222045 1.26538256 -0.09129720 -2.18575056 -1.17217204 0.64443720 -O 0.30223426 -1.06288625 0.51655331 0.89909970 2.67616227 0.74334958 -H -1.20301273 -0.38411240 -0.76005306 -3.66033621 -1.15711493 -0.68591985 -H 0.39201866 -0.32106941 -1.36067890 0.50064178 -0.18276883 -1.52148711 -H -0.85196373 1.32127536 0.72554491 -0.74364762 0.77416163 0.37281924 -H 0.75730820 1.57194784 0.37461930 2.33326842 0.43097458 0.38363839 -H -0.39104832 1.86647228 -0.92955209 -0.41478367 1.37358471 -0.91819231 -H 0.98851153 -0.38630720 0.93503424 -1.60793997 -2.26838913 -0.79075893 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4208.860304010167 pbc="F F F" -C 0.16542406 -0.40217460 -0.32707982 0.02588634 1.46527707 4.37082970 -C -1.36340646 -0.02116953 -0.40166377 4.71889368 1.84143808 -6.93446508 -O 1.08638952 0.33245903 0.69451684 -1.27811942 -4.79642455 -0.83507181 -H 0.16935034 -1.38493352 0.13438784 0.13180287 -0.84269164 0.29944630 -H 0.77231013 -0.53539166 -1.19979154 0.02079632 0.44073793 -1.65888882 -H -1.43335452 1.04254757 -0.78471112 -0.01107565 -0.13334440 0.86785200 -H -1.52382588 -0.43593124 -1.49624368 -0.89639470 -0.27954694 2.01185137 -H -2.01849493 -0.16729173 0.36146021 -2.15506664 -1.14520259 2.69775039 -H 1.06362949 1.24686196 0.64435009 -0.55672280 3.44975698 -0.81930400 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.323351018911 pbc="F F F" -C -0.32030720 -0.49687220 0.15580984 1.65707336 3.31156677 -3.97121801 -C -0.93286488 0.94810090 0.08898869 0.45385247 -0.39869128 -0.93882989 -O 1.13778723 -0.37425879 -0.20103973 -0.84169729 -3.09665003 -0.44515689 -H -0.37100593 -1.06016503 1.00045846 -0.55482358 -1.51800260 3.66500194 -H -0.90430508 -1.02916568 -0.61399572 0.12197590 -0.51083800 -0.35295988 -H -1.73989647 1.12207184 0.79383771 -1.29546552 -0.56874045 0.13997342 -H -0.28949004 1.74895239 0.51747582 0.72963217 -0.21936855 -0.70679470 -H -1.27049469 1.15672911 -1.02228806 0.63394159 0.00803033 2.00048318 -H 1.44659701 -1.37605641 -0.40135143 -0.90448910 2.99269382 0.60950083 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.892803763449 pbc="F F F" -C -0.44844595 0.12087874 0.29020834 -1.35030244 -2.54120374 0.68546549 -C 0.10898658 1.12705750 -0.63261041 0.78330690 1.93520578 -0.43051137 -O 0.29719513 -1.12042033 0.37486840 -0.05278682 0.79456648 0.25375737 -H -0.42854748 0.31578050 1.36704166 -0.47519741 1.15715432 0.31546001 -H -1.52996344 -0.13489285 -0.04223475 0.83540785 0.45456482 0.58294662 -H 1.20848524 1.21802033 -0.48628632 -0.03362032 0.15304636 0.24924951 -H 0.03549160 0.73788753 -1.67119927 -0.34821660 0.38844219 -0.13848969 -H -0.33939975 2.20699606 -0.51606258 0.45534833 -1.74166510 -0.36302662 -H 0.38048486 -1.43096636 -0.52158916 0.18606057 -0.60011116 -1.15485133 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.684889668966 pbc="F F F" -C -0.56452047 -0.03418265 0.26791422 2.33360369 -0.05323404 -0.27517709 -C 0.30082988 1.28110458 -0.00122184 -1.68514832 0.46421782 3.12666963 -O 0.19871215 -1.18350821 -0.20996190 0.31984442 1.33535332 -1.43021338 -H -0.74605482 -0.34651786 1.32494164 0.09034973 0.85409510 0.07899367 -H -1.56715948 0.16998155 -0.14788401 -0.29685304 -0.55776754 -0.73425522 -H 1.00238950 1.50333181 0.89260903 -0.76428587 -0.20362018 -1.10531598 -H 0.91394097 1.24242297 -0.88805883 0.35687212 -0.29071334 -1.00008002 -H -0.43807857 2.15642316 -0.10265712 0.97655041 -0.66316239 0.10171200 -H 0.82190247 -0.79931258 -0.92407809 -1.33093313 -0.88516874 1.23766639 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.797403397151 pbc="F F F" -C 0.19234526 0.40868230 0.36391206 -0.34573636 0.14383980 -3.44906993 -C -0.84691476 0.55687659 -0.79154326 0.57050747 1.40631831 0.29950220 -O 0.60400853 -0.88922570 0.35704265 0.59843866 -2.83566205 1.61395003 -H 1.06414087 1.03150796 0.15342329 0.59826639 0.81361024 -0.52103922 -H -0.16909628 0.84115307 1.24397560 -1.26675472 0.45045743 2.43210968 -H -0.98711146 1.65511162 -0.89972161 -0.01749281 0.06563396 -0.41559994 -H -0.49026782 0.14233146 -1.77344736 -0.06403911 0.09749662 0.61075270 -H -1.86547298 0.20474540 -0.56828433 -0.04112774 -0.58717408 0.22287692 -H 0.65907702 -1.26702820 1.27227617 -0.03206177 0.44547977 -0.79348245 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.479947179821 pbc="F F F" -C -0.38676667 -0.09181995 -0.46607584 1.71576914 3.22920130 1.38312382 -C 0.96710512 0.82785011 -0.40685998 -1.05941323 0.96544262 0.29455709 -O -0.57441687 -0.63909205 0.77188254 0.08990955 -3.30717913 2.58608940 -H -1.24093921 0.60632686 -0.48424804 -0.27084555 0.07569608 -1.19148082 -H -0.29858765 -0.82661757 -1.24241866 -0.21185090 -0.52585454 -1.33422281 -H 1.76151158 0.12488040 -0.62426840 1.05950322 -0.11306507 -0.38596468 -H 1.01688876 1.79841614 -1.03401029 -0.19259657 -1.49372685 0.05877467 -H 1.19361429 1.26414674 0.63242521 -0.72370207 -0.85696363 -0.72918937 -H -0.23091109 -1.59470990 0.90212503 -0.40677355 2.02644922 -0.68168735 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.631820819985 pbc="F F F" -C -0.42437962 -0.24800494 -0.21413194 1.84478298 -1.57376635 -0.28684913 -C -0.24500910 1.21738029 -0.45069474 -0.48745613 1.79230099 1.17982832 -O 0.57025936 -0.92918745 0.59690692 -0.21034804 -0.11188406 0.20702401 -H -1.30742796 -0.50277832 0.32564736 -1.56751101 0.02477747 0.65257700 -H -0.53735997 -0.80901752 -1.19168423 0.25505249 0.35499665 0.22102707 -H -0.97295575 1.90058121 0.06962321 -0.22260223 -0.68896404 0.12047911 -H 0.67286808 1.62206638 0.03342825 0.35089451 -0.26358964 -0.67535503 -H -0.40077531 1.53611923 -1.48204303 0.60221468 0.00600975 -0.68160559 -H 1.46922020 -0.55029951 0.69223872 -0.56502721 0.46011917 -0.73712576 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5969540633705 pbc="F F F" -C 0.21772370 -0.42022160 -0.31872420 -0.68834425 2.79825475 -1.86573270 -C -1.30018059 0.09838433 -0.36323167 2.33615690 -3.52678294 -1.37754041 -O 1.02550698 0.24164679 0.66558218 -1.43716894 1.47012216 -0.57735252 -H 0.12564161 -1.48240249 -0.18591058 0.64259876 -1.16595634 0.49701930 -H 0.68462934 -0.17678609 -1.37056753 -0.65842945 -0.77598095 1.12588831 -H -1.36912515 1.01565737 -0.83166130 -0.16512489 3.24983389 -0.36587134 -H -1.83993153 -0.49784741 -1.14542403 0.09293693 -0.37498241 0.48447195 -H -1.72858156 -0.08265851 0.58758832 -0.99152529 0.30272534 1.49554107 -H 0.74678085 1.22182984 0.50719079 0.86890013 -1.97723356 0.58357634 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.538628996019 pbc="F F F" -C -0.39614897 -0.50341940 -0.03579898 2.78451790 0.49551037 1.68626943 -C -0.81507821 0.84321811 0.49950456 -2.31149950 2.51786495 -0.93296366 -O 1.10846689 -0.32089765 -0.36815010 -2.30608728 -0.93934586 0.04923716 -H -0.62681122 -1.28599409 0.74268277 0.78099501 -0.01381434 -0.27454079 -H -0.89641406 -0.81416980 -0.92324925 -0.88819740 -0.19439151 -1.30026156 -H -1.85177232 0.96853643 1.10748315 1.93635403 -0.78143297 -1.22209799 -H -0.04882289 1.38946263 1.10903756 -0.05974922 -0.67865998 -0.15247783 -H -0.95430970 1.51517712 -0.45478819 0.15724898 -0.61149390 1.49538588 -H 1.21512845 -0.72985746 -1.26294057 -0.09358248 0.20576324 0.65144937 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525702872513 pbc="F F F" -C -0.02284137 -0.00016131 0.53971110 -0.49861791 -1.54845229 0.24324531 -C -1.17354562 0.57246413 -0.28717460 -1.52652607 -0.07953499 2.89744439 -O 1.08771016 -0.52910532 -0.29845831 -2.42605813 0.82402115 0.88472764 -H 0.33665146 0.73788523 1.31630226 0.18282607 -0.26786533 -0.54488297 -H -0.56051588 -0.87049668 1.16573900 1.25344839 1.22730499 -0.78935341 -H -1.85537107 1.15661560 0.52649978 1.29401105 -0.73319546 -1.84510817 -H -0.87620053 1.20073361 -1.13335536 -0.07565628 0.12697793 -0.28723531 -H -1.81167162 -0.32214083 -0.48818876 0.07262526 0.56385761 -0.95461539 -H 1.75674820 -0.32502477 0.34129406 1.72394762 -0.11311361 0.39577791 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763742099514 pbc="F F F" -C 0.15301726 0.04605499 -0.63812621 0.65731545 0.14144636 1.96800587 -C -1.18369723 -0.30443694 -0.07722469 -0.91065152 -0.56296992 -0.10690424 -O 0.95642233 0.29250894 0.60826677 0.25316504 -1.70424042 -1.25372720 -H 0.45764189 -0.80823942 -1.29352117 0.80569052 0.49607868 -0.03539711 -H 0.12140063 1.04968015 -1.14577132 0.17595937 -0.71286991 -0.07470456 -H -1.36134029 0.53895861 0.59932542 -1.01838613 0.18315563 0.14293580 -H -1.92368828 -0.48837666 -0.89238280 -0.27191420 0.38371779 0.34611241 -H -1.19725066 -1.23556115 0.56602668 0.32310128 0.40106199 -0.45789980 -H 1.00227772 -0.62216150 1.03526545 -0.01427976 1.37461979 -0.52842117 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.790279736107 pbc="F F F" -C -0.22991824 0.35482664 0.44753851 -0.93220087 -1.52374429 -2.30882746 -C -0.85949248 -0.02271780 -0.97688809 -0.77627688 1.72305828 1.15132439 -O 0.97219659 -0.32542622 0.51663613 2.77317409 0.54369296 0.50809592 -H -0.24270635 1.44597808 0.70048305 0.13101025 -0.18804551 -0.29973725 -H -0.83342684 -0.18400056 1.16750701 -0.93062540 0.01620078 0.81219793 -H -1.95199415 0.21157230 -0.93622973 0.18508684 0.14621354 -0.36716461 -H -0.37921006 0.51556297 -1.80035815 0.09766843 0.69499194 -0.26807045 -H -0.78144403 -1.05225703 -1.32136513 0.27169067 -0.91318529 0.70012428 -H 1.73727257 0.26981577 0.29698423 -0.81952712 -0.49918242 0.07205735 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5763903534 pbc="F F F" -C 0.26002683 -0.29375354 0.33621655 1.72887710 -0.80154677 -0.34107520 -C -1.25622359 -0.52706215 0.19872368 -0.03915082 0.70884556 0.97677934 -O 0.87731685 0.75065916 -0.52641702 -0.02183207 -0.79685302 0.89596548 -H 0.46090730 -0.06328201 1.41426991 0.11553097 -0.00343253 -0.23124191 -H 0.71444193 -1.38605754 0.17399954 -0.17190597 1.88663937 -0.01569155 -H -1.46223765 -1.61774950 0.19734712 -0.18824863 0.25238477 -0.12593334 -H -1.81975494 -0.04680604 1.03665739 0.30735924 -0.39642531 0.27206405 -H -1.77645092 -0.01058452 -0.59799493 0.13102377 0.04788182 -1.37256517 -H 1.82690058 0.98840280 -0.24266314 -1.86165354 -0.89749390 -0.05830174 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.689780582791 pbc="F F F" -C 0.28498328 -0.07655698 -0.47209142 -5.76874179 -1.61003187 1.06629371 -C -0.52329817 1.24064845 -0.19860902 0.62805140 -1.76322622 0.09998766 -O 0.17760843 -1.05274570 0.60895799 -1.89883252 1.52238006 -1.18246463 -H -0.21617069 -0.56073180 -1.36898260 0.44841597 0.27039535 0.24450999 -H 1.24894762 0.12039625 -0.72624351 3.72860190 0.87714181 -0.77024872 -H -0.36522085 1.76790494 -1.15295808 -0.26473990 0.89586587 0.23862185 -H -1.60555957 1.09525201 0.05348747 0.36586440 -0.27083912 -0.53376094 -H -0.10363042 1.67089559 0.71603540 0.38176668 0.82683944 0.04414745 -H 1.06118209 -1.25601429 0.80457285 2.37961381 -0.74852546 0.79291352 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.930566270592 pbc="F F F" -C 0.16871522 -0.33203552 -0.39523872 1.22279512 0.32064177 -1.61034509 -C -1.31812879 0.03117405 -0.21140564 0.30706330 0.23176672 0.95248256 -O 1.02760125 0.22038396 0.58947391 0.07743363 -0.07589395 0.55758273 -H 0.43045754 -1.46965571 -0.49752636 -0.83619934 1.36838373 0.26100023 -H 0.50881959 0.13152704 -1.39690414 -0.48876143 -0.69641978 0.60098940 -H -1.42611883 1.13550679 0.11128954 0.22791696 -1.20972692 -0.53479483 -H -1.83721782 -0.13181010 -1.18071560 -0.25493324 -0.05936463 0.29512721 -H -1.75654627 -0.58539367 0.62727293 -0.02757319 0.32635846 -0.60167439 -H 1.46463762 1.00518157 0.20847541 -0.22774186 -0.20574545 0.07963218 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.1624229661975 pbc="F F F" -C -0.13447362 -0.23472659 -0.54088811 1.04973930 -1.11938953 -0.97516330 -C -0.12043079 1.22480929 -0.14204174 -0.65066307 -0.22077263 -2.50612894 -O 0.29523305 -0.94772100 0.57816000 -0.49841212 -0.07939374 1.56336880 -H -1.19963300 -0.41339633 -0.72922869 -0.68942499 -0.66976566 -0.47110648 -H 0.43932938 -0.68564785 -1.49015694 -0.75917565 1.46495692 1.53642137 -H -1.09938305 1.50123306 -0.52315172 -0.20298666 1.58787194 -0.99008269 -H -0.32808992 1.38926289 0.87695364 0.06033831 -0.22198156 2.37032749 -H 0.73470778 1.81915900 -0.40974622 0.63503920 0.76024332 -0.51037305 -H -0.19679956 -0.36650003 1.23583592 1.05554568 -1.50176906 -0.01726322 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.004342130315 pbc="F F F" -C 0.12030886 -0.50058802 -0.28874958 3.55107308 -0.23197951 1.14001416 -C -1.16004147 0.13461840 -0.36110999 -1.89300887 0.27803636 1.77872741 -O 0.99549598 0.35575237 0.52543750 0.20285224 -0.52551232 -1.07051146 -H -0.04362279 -1.35514426 0.35334906 0.25768926 -1.55638965 -0.07440338 -H 0.55125661 -0.88768041 -1.25473521 0.46715058 0.84115638 0.45934517 -H -1.07579568 1.26521537 -0.46953258 -0.61802075 -1.07078800 0.12238311 -H -1.66622499 -0.42898171 -1.09581584 -1.62326607 -0.14613975 -1.86506796 -H -1.59186922 -0.39254483 0.57818929 -0.59306762 2.24418183 -0.63797113 -H 0.41293891 0.51157395 1.29186662 0.24859815 0.16743461 0.14748413 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.44654582884 pbc="F F F" -C -0.33346615 0.23874488 -0.27149183 -3.47272126 3.13152567 -1.18468786 -C -0.50506400 -0.01493030 1.15967116 -0.78695175 0.62882196 1.56475072 -O 0.75476866 -0.27864405 -0.82946927 2.91871673 -2.18921980 -1.82896714 -H -1.40275747 -0.01943980 -0.82955514 2.25880041 0.36419426 0.74807619 -H -0.15758518 1.36655336 -0.41222762 -1.20569018 -0.44311646 0.29824205 -H -1.19070022 0.74981243 1.53947259 -0.37987003 0.49866974 0.26531891 -H -1.04230696 -0.91886837 1.40407861 0.06804329 -1.23239305 0.20791546 -H 0.41139485 0.12249249 1.74552945 0.44003751 -0.28275799 0.12606720 -H 1.39224476 0.45397473 -0.86445058 0.15963532 -0.47572433 -0.19671553 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.939223089585 pbc="F F F" -C 0.09677011 -0.38098278 0.40246717 -1.18309712 0.53984448 1.74021654 -C -1.15153423 0.60150537 0.33600709 1.18089188 0.08947329 -1.86399782 -O 0.96964415 -0.15582374 -0.64362574 0.61199182 0.68590761 -0.75552627 -H 0.61705694 -0.33139466 1.42327385 -0.23148513 0.40081985 -0.65063757 -H -0.31978071 -1.39205649 0.43268920 -0.25503038 -0.75528531 -0.29431659 -H -1.91808137 0.45502024 1.12416001 0.25587627 0.03132391 0.07496635 -H -0.79435031 1.69226795 0.25614187 -0.42314994 -1.09731414 0.37983897 -H -1.62502002 0.37970052 -0.69199823 0.25895877 0.29577816 1.11420017 -H 1.21633046 -0.95935679 -1.12748301 -0.21495612 -0.19054781 0.25525628 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.591093316419 pbc="F F F" -C -0.22114319 -0.46865100 0.21021257 -1.35389741 -0.95591720 -1.38572686 -C -0.84922754 0.85592734 0.30426853 -0.91094848 0.96407752 0.95135333 -O 1.01902036 -0.35373760 -0.40091325 1.40786761 -0.21638175 0.07545522 -H -0.17871235 -1.11056248 1.05904798 0.29021368 -0.47360497 1.83129692 -H -0.91280705 -1.05038034 -0.45013315 0.00240486 -0.20424691 -0.08020189 -H -1.91120998 0.93199997 0.48818849 -1.36605498 -0.81168119 -0.32924144 -H -0.59461523 1.52251897 1.11701929 1.44864378 0.60527080 0.53310716 -H -0.64974667 1.26954802 -0.66570328 0.09835594 1.12758940 -0.84416580 -H 0.82544945 -0.56443646 -1.31517792 0.38341501 -0.03510575 -0.75187659 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.548878027725 pbc="F F F" -C -0.19209684 0.28404340 0.44942321 0.22081541 -3.09423520 -0.13597566 -C -0.09318915 1.03777367 -0.84850745 2.23219334 -0.21175993 0.74021242 -O 0.23753125 -1.18062218 0.42029554 -0.91405818 1.98360352 2.14633399 -H 0.61151580 0.53249381 1.16316793 -0.77668281 1.24320377 0.53366529 -H -1.29579170 0.30888799 0.74425259 1.09115557 0.13539722 0.56712158 -H 0.94445906 0.87343536 -1.27162763 -0.60908534 0.14377953 0.02550751 -H -0.82737438 0.67257751 -1.55108190 -0.73692799 0.20414504 -0.72600599 -H -0.12927338 2.10519019 -0.55437470 -0.46725311 0.16481260 -0.58086197 -H 0.32454755 -1.50452394 -0.44631870 -0.04015684 -0.56894655 -2.56999712 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.683919514064 pbc="F F F" -C -0.25356162 -0.02472520 -0.49882473 -1.80855859 1.38451761 0.93199364 -C 0.16541673 1.33807420 0.22172183 1.69572399 -1.43438310 -3.11912107 -O 0.08158907 -1.15812056 0.28530327 0.09156313 0.85310353 0.54846827 -H -1.39792328 0.13994797 -0.58938412 0.82815940 -0.65467405 -0.12121172 -H 0.11765750 -0.13186043 -1.50596431 0.57829760 0.15187779 -1.08897872 -H 1.25665684 1.20273978 0.43225493 -0.10981365 0.54723419 -0.17862077 -H -0.03545804 2.28475960 -0.44751273 0.03963300 -1.55037506 1.46217596 -H -0.28928541 1.18137020 1.15729023 -1.23272328 0.81532537 1.89365201 -H 0.10261221 -1.94516655 -0.27342501 -0.08228160 -0.11262629 -0.32835765 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.8361364841585 pbc="F F F" -C 0.00945245 0.02049649 0.61384148 -1.20367140 -1.42891086 -2.57104896 -C -1.17399930 0.52513184 -0.27162326 1.84800072 -0.01164016 -2.06673904 -O 1.04217664 -0.48792149 -0.33408480 -1.48786114 0.64530711 1.72038875 -H 0.34933195 0.80193643 1.24955986 0.94396953 1.42337250 0.81775419 -H -0.44269316 -0.73702908 1.33047927 0.58069459 -0.13967620 -0.56859107 -H -2.02992784 0.77275007 0.33882521 -0.76481099 0.38436576 0.45311502 -H -0.84991494 1.45258174 -0.96159950 -0.63019935 -1.70356051 1.40205635 -H -1.46650395 -0.33130512 -0.99182262 0.27980199 1.01314128 0.82482041 -H 1.77270886 -0.71723237 0.25970618 0.43407610 -0.18239895 -0.01175565 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.607514844607 pbc="F F F" -C -0.38509601 0.19279467 0.37640415 0.53956500 -1.76735608 -0.97581821 -C 0.02947981 1.10055958 -0.82331636 -1.57043739 0.29620157 -0.70436213 -O 0.31973134 -1.16329263 0.47787366 -0.21406637 1.34875736 -0.20517755 -H -0.09440055 0.71105491 1.32081286 -0.31541687 -0.45392034 -0.05123588 -H -1.50100538 -0.04917941 0.30694300 0.85059387 0.59027396 0.37005695 -H 1.06546494 0.98262607 -1.11853788 0.80098329 -0.62410408 -0.24924534 -H -0.67021743 0.92683544 -1.71260242 0.90419882 -0.13302666 0.57127201 -H -0.01795906 2.23027293 -0.72234906 -0.36614928 -0.71544657 0.73978037 -H 0.37946926 -1.74946187 -0.33428522 -0.62927098 1.45862084 0.50472978 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7619995750665 pbc="F F F" -C 0.15077505 -0.38547125 -0.32211643 0.79311263 2.09558117 1.36786936 -C -1.26344980 0.10714034 -0.36380073 -1.74238562 -2.31126707 0.21117285 -O 1.03198638 0.21100906 0.65324042 -0.87523209 -3.03077784 1.16480284 -H 0.10527267 -1.43701289 -0.05758941 0.35720703 -0.80837177 -0.27306590 -H 0.59534881 -0.12660388 -1.26303758 0.53553752 -0.62565914 -1.61676246 -H -1.50403128 1.10672467 -0.68308364 0.30458754 1.36148052 0.18298486 -H -1.70894823 -0.48164959 -1.24229544 -0.00760497 0.18560430 0.95365575 -H -1.81400161 -0.19283562 0.60411043 0.36616075 0.57963993 -1.12750656 -H 1.20300183 1.09706830 0.44621983 0.26861722 2.55376990 -0.86315073 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.584695023495 pbc="F F F" -C -0.27094170 0.38567033 0.29092635 -0.48322275 0.85664044 0.90083813 -C -0.50290874 0.10309840 -1.13336504 1.73669886 1.22981871 -1.21443800 -O 0.68071625 -0.43437192 0.84019434 0.05070469 0.33431855 3.20564644 -H 0.04069992 1.43488266 0.43167059 0.12141715 0.58797010 -0.13618783 -H -1.20082051 0.31515131 0.92171844 -0.06001198 -0.09552464 -0.44179620 -H -0.87242763 0.93816294 -1.67119221 -1.92267900 1.36742440 -0.50570654 -H 0.39443760 0.11422749 -1.80321781 0.76492942 -0.60541432 0.84232618 -H -1.00105813 -0.78578927 -1.35205575 -1.47962234 -2.02299196 -0.45480804 -H 1.05419044 -0.94740147 0.17493705 1.27178596 -1.65224128 -2.19587407 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.395663515113 pbc="F F F" -C -0.31270635 -0.56253332 -0.03551903 2.17419658 3.37037609 1.46958197 -C -0.83061524 0.80289113 0.48222931 -2.43941753 -3.32966724 -1.29248875 -O 1.02889447 -0.27195669 -0.46011847 0.76176804 0.17648639 0.22039252 -H -0.27339387 -1.20970152 0.78883970 -0.20842141 -2.11187842 1.52810390 -H -0.89666167 -0.92424333 -0.85510041 -0.61353361 -0.52195993 -0.97366352 -H -1.76755795 0.69544275 1.03565822 -1.08736561 -0.03777122 -0.40036265 -H -0.31264099 1.33155771 1.19182397 2.73665186 1.37692664 1.92500415 -H -0.89976683 1.27154404 -0.45440457 -0.61615048 2.04884482 -1.34342186 -H 1.44093296 0.28664361 0.27377342 -0.70772785 -0.97135714 -1.13314581 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699231457476 pbc="F F F" -C -0.21182868 -0.14490103 -0.54416054 -2.49658891 -0.80965012 -0.65438531 -C -0.06343329 1.23643211 0.01556030 1.19305896 0.74136648 1.48008694 -O 0.18528234 -1.00022135 0.47174281 -1.19605343 -1.51879450 0.54955395 -H -1.27688534 -0.55228559 -0.92489030 1.41896413 1.29410721 1.05148405 -H 0.34589097 -0.28533523 -1.45253947 1.06064469 -0.03560845 -1.15774927 -H -0.65022767 1.25910571 0.99691312 0.60913337 0.23707034 -0.84584504 -H 1.09705216 1.31066141 0.29341529 -2.00867837 0.14677682 -0.34836454 -H -0.30695791 2.12430820 -0.59517739 -0.15516376 -0.05098648 -0.25031744 -H 1.12912969 -0.98785425 0.49297873 1.57468331 -0.00428140 0.17553673 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.681315235133 pbc="F F F" -C 0.40839950 -0.03881626 -0.37340449 -0.39355715 2.45595091 2.78520968 -C -0.66817453 1.08481488 -0.35456340 0.33882395 -2.41252785 1.26784153 -O 0.25346830 -0.99129142 0.61506809 -0.50911418 -1.83170346 0.25240688 -H 0.26679423 -0.49394140 -1.28950300 0.36442083 -1.53774719 -2.65426804 -H 1.38664272 0.41964951 -0.23291956 0.97227142 0.41634880 -0.56511442 -H -0.26001386 1.96414080 -0.73840213 0.78486643 2.13945598 -1.15631552 -H -1.44008925 0.68214970 -1.00763197 -1.11627551 0.38430251 0.15775369 -H -0.93867094 1.29662776 0.70661554 -0.44373851 -0.08967054 -0.32271269 -H 0.05645469 -0.59920523 1.47316864 0.00230268 0.47559079 0.23519889 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.466709570788 pbc="F F F" -C -0.25735214 -0.36049451 -0.28552050 2.06576438 3.09803637 -0.12381043 -C -1.08164857 0.36825157 0.81734595 2.01463248 -1.00822564 -0.66719275 -O 1.19005477 0.03547590 -0.50405246 -2.90525196 1.57916125 -0.24334672 -H -0.27643257 -1.33877948 -0.07155131 0.12732555 -4.72315816 1.26965740 -H -0.68780795 -0.36831814 -1.27595475 -0.67203754 0.79611727 -0.90187624 -H -2.12276015 0.06924221 0.83658356 -0.69971912 -0.62047662 -0.05757026 -H -0.59413905 0.16996869 1.80245419 -0.27548845 0.30937725 -0.18800000 -H -1.08388184 1.39827567 0.55623476 0.09880547 1.79709409 0.11620696 -H 1.82950609 -0.58744489 -0.18403555 0.24596924 -1.22792586 0.79593205 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.906753789394 pbc="F F F" -C 0.42247972 0.29477075 0.12945121 0.97617462 -0.99427303 2.11536355 -C -0.72191540 0.97043225 -0.58825531 0.15088889 1.37609293 0.36952658 -O 0.32520341 -1.16770421 0.42814172 -1.03791469 1.93681164 -0.50540146 -H 1.33054398 0.33139164 -0.46002308 0.65861499 0.29019892 -0.75334479 -H 0.74039791 0.86580950 1.10471520 -0.78065059 -0.66369703 -1.06401813 -H -0.99260775 0.44752949 -1.49656721 -0.17282812 -0.56150727 -0.79116049 -H -1.66387321 1.09155841 0.01528079 0.49400941 -0.00402877 -0.09520963 -H -0.36181390 2.01323046 -0.92906552 -0.52937973 -1.03376385 0.50415010 -H -0.64760724 -1.29189209 0.43675907 0.24108517 -0.34583355 0.22009427 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.608379442788 pbc="F F F" -C -0.25717820 0.32285750 0.21174837 0.14339885 0.08352026 1.25768546 -C -0.50051953 0.18592038 -1.25831950 1.79698348 -1.77023875 1.06281347 -O 0.67813089 -0.45098742 0.98593468 -2.79848949 1.16684810 1.02787134 -H -0.08452467 1.39878683 0.36731739 0.24149825 0.50800804 0.41647874 -H -1.25778687 0.13518621 0.62035447 -0.20816275 -0.21425046 0.84698826 -H -1.47487223 0.53718853 -1.36743331 -2.11242828 1.33011557 -0.89705007 -H 0.26259392 0.68938714 -1.81016832 0.68153993 0.54266997 -1.21277146 -H -0.56976278 -0.87004055 -1.49575957 0.19434842 -0.86826841 -0.56447165 -H 1.38793556 -0.79596128 0.50661962 2.06131164 -0.77840432 -1.93754409 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.718754754577 pbc="F F F" -C -0.21116899 0.20603377 0.51735885 2.40776806 1.30250382 0.96575357 -C -1.10889182 -0.38089542 -0.48462101 -2.13817413 -0.18218910 0.06274707 -O 1.21257976 0.15345178 0.04161712 -1.48869885 -0.53825055 2.93967904 -H -0.48472939 1.29426528 0.73612450 0.15576489 -0.77429821 -0.03953268 -H -0.18550907 -0.32024851 1.49455858 -0.04489148 -0.04526567 -0.09457503 -H -1.53475918 0.37722459 -1.12857189 -0.34427937 0.58544584 -0.67923447 -H -0.54117398 -1.02834360 -1.07373211 1.51165650 -1.49379704 -1.59091885 -H -1.95459380 -1.05875471 -0.21704624 0.05237267 0.44849860 0.72209344 -H 1.18201307 0.38222700 -0.86204355 -0.11151824 0.69735237 -2.28601210 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.461000110284 pbc="F F F" -C 0.45478547 -0.18216639 -0.33748760 -0.69384004 -0.68123407 1.25179069 -C 0.15369910 1.28463934 -0.03160042 0.44578645 -2.59017987 1.36035988 -O -0.53186700 -1.04438150 0.32411092 1.35849233 -0.48492102 -1.51536979 -H 0.65855859 -0.31970401 -1.47172440 -0.97331920 -0.15289564 1.03215197 -H 1.42274612 -0.45097192 0.10529691 0.45139084 -0.24203561 0.28853963 -H -0.25731968 1.46822059 0.98872112 0.40842203 0.02814660 -0.30659881 -H 1.07337581 1.71593043 -0.26499488 2.06634669 1.91769008 0.05267513 -H -0.47460744 1.52936395 -0.79838453 -2.67543691 1.58149570 -2.12865724 -H -1.23197777 -0.50365287 0.69443933 -0.38784215 0.62393377 -0.03489142 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7482230046635 pbc="F F F" -C 0.15965818 0.48336125 0.30717649 -0.81548056 -0.25712701 -0.71700378 -C -1.31575160 -0.20162176 0.31010419 1.34615361 3.24737957 -1.40510182 -O 1.07969643 -0.20363768 -0.53981183 0.09880213 -0.12093532 0.19746074 -H 0.28694848 1.51152288 -0.15545486 -0.98144317 -0.17027301 1.06271263 -H 0.48647281 0.44346704 1.37561681 0.18791587 0.34527917 -0.09276060 -H -2.10535764 0.41812267 0.84395359 0.75578673 -0.72748000 -0.10816511 -H -1.62479694 -0.27441430 -0.75841604 -0.11284735 -0.13562646 0.17039010 -H -1.11453443 -1.16879672 0.69504875 -0.28824236 -1.60050902 0.87359492 -H 0.70797161 -1.05621846 -0.78768771 -0.19064495 -0.58070791 0.01887293 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.423054475443 pbc="F F F" -C 0.37321678 -0.46745124 0.25393995 -0.47149086 0.38864119 -2.02709189 -C -1.15370426 -0.42574162 0.10954219 -0.07733547 1.43943840 0.69128112 -O 0.67456184 0.80374692 -0.34356806 0.35956047 -0.48241342 0.16988524 -H 0.69601552 -0.46780353 1.31583493 -0.08690131 -0.21735466 0.21090520 -H 0.93361264 -1.32258747 -0.28574656 -0.71616930 0.63668871 0.47050864 -H -1.43023799 -0.60870517 1.12051726 -1.27990623 -0.06780269 1.57473781 -H -1.43961090 0.67876247 -0.13876285 0.36174637 -1.70064283 0.31967848 -H -1.78095078 -1.10714334 -0.45099943 0.21743498 -0.69689209 -0.98814547 -H 1.61297179 0.71117148 -0.43854647 1.69306136 0.70033742 -0.42175912 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542852989428 pbc="F F F" -C -0.28827988 -0.02831475 -0.57508150 4.35102597 0.95176111 2.54582499 -C 0.22397890 1.26933391 0.18757621 -1.51226158 0.29275521 0.64751779 -O 0.04554070 -1.11548768 0.36740899 -0.79530141 -0.23437032 -2.40857344 -H -1.25835110 0.01780228 -0.98794761 -2.36744909 0.12341150 0.07268398 -H 0.33530195 -0.12261997 -1.46699092 0.59420677 -0.21534724 -0.63412635 -H 1.29482370 1.34140791 0.58318469 -0.74591713 -0.38098414 -1.26408669 -H -0.18712472 2.24901068 -0.20451022 0.77620474 -0.57524555 -0.41055677 -H -0.31611347 1.28727519 1.15713841 -0.21443167 -0.37600216 0.23873405 -H 0.17380625 -1.85592403 -0.29534513 -0.08607660 0.41402159 1.21258249 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.669201459062 pbc="F F F" -C 0.08013979 0.53527336 0.06501171 0.91601726 -0.62237723 0.71890599 -C -0.75944727 0.03175833 -1.05360172 0.33919316 -2.88114606 1.70640410 -O 0.59438259 -0.53919938 0.86049146 -1.60006679 -0.66260256 -1.70684654 -H 0.80119173 1.27902174 -0.27670903 1.16098778 0.16678886 -0.27610901 -H -0.54274999 1.11538816 0.72558286 -1.09214221 0.84475721 0.60482841 -H -1.32255162 0.88132870 -1.29247401 -1.54779948 1.38911439 -1.46871351 -H -0.25544982 -0.56328631 -1.86139778 -0.13305571 0.69549500 0.22952719 -H -1.38246418 -0.69748257 -0.44321115 -0.20253168 0.30654091 -1.07462152 -H 1.36086928 -0.21435967 1.26943759 2.15939756 0.76342954 1.26662488 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.443986613719 pbc="F F F" -C -0.47448574 0.08234245 -0.32054982 2.28494781 -0.92470440 2.32149616 -C -0.45016167 0.19624319 1.23577955 0.36796926 -0.57607221 0.38936594 -O 0.81016198 -0.28552097 -0.86509512 -2.70004767 -2.55253459 0.98589668 -H -1.15577029 -0.69837066 -0.56757936 -0.79998169 -1.39784185 -0.35465773 -H -0.93555383 0.92293432 -0.68576889 -0.91305494 3.11187508 -1.77652798 -H -1.27239749 0.52787715 1.92203191 -0.77701643 -0.51512635 -1.12617781 -H -0.11877493 -0.79752305 1.53855800 -0.05340209 -0.63774693 0.63309472 -H 0.28848694 0.83381156 1.71547975 1.21450022 0.76283746 -0.59699668 -H 1.35120155 0.42229876 -1.09670688 1.37608547 2.72931378 -0.47549329 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.66175868737 pbc="F F F" -C -0.07430758 -0.49689287 0.22769143 -0.56784380 -1.72681183 -1.48022984 -C -1.08775127 0.59173365 0.24538943 -1.07208158 -1.32521114 -1.27082087 -O 1.09691770 -0.09407713 -0.38188459 1.80195106 0.12834216 0.62787461 -H 0.08868552 -0.88861123 1.25589824 0.40027940 0.36870871 0.01699016 -H -0.44838066 -1.40143905 -0.33952163 -0.31274328 0.04605115 0.34493860 -H -1.84989548 0.13520273 0.82847891 -1.54830013 0.33180550 1.47716904 -H -0.56208586 1.40756277 0.60816019 0.74290755 2.42500901 1.67744149 -H -1.61439318 0.95414816 -0.66686995 0.52096389 -0.55742852 -0.45049435 -H 0.82049843 0.15482619 -1.26162438 0.03486690 0.30953501 -0.94286884 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.763580605256 pbc="F F F" -C -0.24007771 -0.53728354 -0.08898168 -0.10349321 1.03090555 2.24678368 -C -0.89306424 0.70044645 0.64231826 -0.45843973 -2.28967325 -0.55375672 -O 1.05688040 -0.21185084 -0.55670415 -0.49202061 -0.18489796 0.08562023 -H -0.28033211 -1.27310210 0.76077567 0.66153663 -0.44184911 -0.49116021 -H -0.85677259 -0.93792569 -0.88142459 -0.64036184 -0.23009592 -0.79550015 -H -1.64657688 0.32628195 1.35728776 0.00968231 0.05445058 0.29377049 -H -0.17545975 1.30843178 1.16213252 0.96593051 0.40998583 0.75877414 -H -1.43151479 1.33280368 -0.00973932 -0.83418971 1.28084695 -1.39185467 -H 1.11603531 0.66053277 -0.14587007 0.89135554 0.37032732 -0.15267679 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.562891619376 pbc="F F F" -C -0.07011872 -0.52980398 0.30061777 0.46308648 0.01043081 -1.46366463 -C -1.02142208 0.63698824 0.30250846 -1.33145620 -0.78073708 2.31372757 -O 0.99620196 -0.04711672 -0.54107824 1.06815838 -1.42652066 0.70069537 -H 0.13040423 -0.97485924 1.38153158 0.38340350 0.84547753 -1.61631817 -H -0.59066176 -1.30520394 -0.31341584 0.01838771 -0.50370036 0.64427362 -H -1.48408344 0.42618975 1.31365524 -0.47062259 1.13390161 -0.49857708 -H -0.59237988 1.65151129 0.23982095 0.29918441 -0.11640031 0.18815828 -H -1.81712928 0.50986534 -0.43879816 -0.15301715 0.16608391 -0.40427906 -H 1.54667748 -0.83831944 -0.78096538 -0.27712455 0.67146454 0.13598410 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.918474841143 pbc="F F F" -C 0.29449261 -0.39327603 0.30417171 2.94773729 0.95992483 0.74074644 -C -1.13521986 -0.45954393 0.15572439 -3.09403918 -0.09044856 -1.45972596 -O 0.75734132 0.79075347 -0.36973612 0.17629526 0.03076295 0.71957201 -H 0.64006271 -0.31080463 1.37995076 -0.47150669 0.17954019 -0.32972152 -H 0.86159250 -1.29266070 -0.01897190 -0.18508823 -0.20393889 -0.34549257 -H -1.61449943 -1.09561476 0.92068652 -0.25077335 -0.27856616 -0.11929419 -H -1.57961794 0.57313227 0.23266493 0.29692071 -0.46311872 0.25352726 -H -1.43761849 -0.77973293 -0.91834268 0.26802268 0.07554084 1.32429166 -H 1.12571446 0.51453799 -1.20719267 0.31243156 -0.20969642 -0.78390314 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.550833106706 pbc="F F F" -C -0.09976207 -0.21424799 -0.54585986 0.51300581 -2.12278473 -1.65969758 -C -0.12323374 1.24892067 -0.19616026 -2.19868614 -0.75551321 -0.87576961 -O 0.25502274 -0.97050553 0.64358971 0.71567133 0.13869687 -1.89038357 -H -1.04516202 -0.75995877 -0.99119497 0.72227295 1.54927386 0.55951435 -H 0.60861924 -0.30871258 -1.43349509 0.22151095 -0.67211050 1.05949304 -H -0.29699173 1.90654228 -1.07769556 0.40898171 0.09253691 0.34215646 -H -1.03882936 1.23757838 0.38011276 -0.96738910 1.06922842 0.83222133 -H 0.66461087 1.47628707 0.49658249 1.18269834 0.49708393 0.19713251 -H -0.28406789 -0.47729644 1.25173140 -0.59806590 0.20358845 1.43533312 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.918805604688 pbc="F F F" -C 0.02147005 0.52300165 0.19633523 2.07011207 -0.30575713 -1.49287700 -C -1.26684328 -0.07378212 -0.21440479 -0.95485703 1.09200342 0.95243001 -O 1.16556857 -0.37405266 -0.01480068 -1.30107557 -0.23144724 0.81430048 -H 0.23737439 1.42126023 -0.44908916 -0.08312184 -0.24129025 0.59234051 -H 0.01096029 0.76858827 1.22978580 -0.03713939 0.91243751 1.70970854 -H -1.49355841 -1.02790712 0.24600149 -0.07533386 -0.81396227 0.29209732 -H -2.09324608 0.62635511 0.04620240 -0.01911966 -0.10007030 0.04409932 -H -1.24999713 -0.11999060 -1.26381264 -0.26620342 -0.66062986 -2.17002075 -H 0.92595673 -1.08527021 0.64116720 0.66673865 0.34871617 -0.74207842 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6245790142 pbc="F F F" -C 0.54985097 0.14054359 -0.18269280 -2.73173946 -0.03331709 1.09886791 -C -0.81737282 1.06305432 -0.37675507 2.22845644 0.25963950 -0.17515261 -O 0.31404909 -1.09097332 0.51650153 0.17548217 -0.01627972 0.43867884 -H 0.86946003 -0.07425234 -1.19601011 0.70850741 -0.06659848 -0.85604307 -H 1.36337199 0.63743334 0.43769681 -0.67793411 0.01247654 -0.78179216 -H -0.82224600 1.52658997 -1.43648839 -0.02931012 -0.31668515 1.43872502 -H -1.76836188 0.55465776 -0.20912131 -0.29161338 -0.94557071 -0.24963841 -H -0.85916934 1.82079148 0.43736305 0.22221476 0.34747725 -0.40946570 -H -0.58124648 -1.49147872 0.43437157 0.39593629 0.75885796 -0.50417992 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712626093254 pbc="F F F" -C -0.34585432 0.28401429 -0.27893239 -1.36390235 -2.15152047 -0.74435272 -C -0.60942685 0.03737455 1.20873696 3.04376818 -1.31768886 0.87743898 -O 0.91140351 -0.23399711 -0.85525517 -1.03578098 3.14685064 1.89610330 -H -1.28707597 -0.20820148 -0.78314003 1.39371235 0.27047284 0.23578058 -H -0.54488419 1.31441151 -0.54462534 0.61209507 1.12322860 -0.14096582 -H -1.58873431 0.26885325 1.55234652 -1.68994148 0.26610454 0.05564352 -H -0.34943867 -1.03751786 1.54033704 -0.57771355 0.88435149 -0.71200586 -H 0.05286052 0.59952450 1.91535832 0.08649086 0.24848800 -0.46866881 -H 0.63245530 -1.05394570 -1.18413004 -0.46872810 -2.47028682 -0.99897311 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.783148923635 pbc="F F F" -C 0.43118589 -0.26025632 -0.12837685 -0.80849621 0.23804022 2.80905801 -C 0.38482486 1.26835549 -0.16345189 0.70193130 -0.18971683 -0.49320779 -O -0.77441762 -0.89454390 0.23497917 -1.25082422 -0.94155136 0.39673693 -H 0.77223973 -0.53555123 -1.08782755 0.72887287 -0.95238208 -1.97816877 -H 1.17730083 -0.57377370 0.62737031 0.57093355 0.15258906 -0.09221110 -H 1.47534515 1.50102994 -0.15381416 -0.23976224 0.56125566 -0.24693325 -H -0.09123770 1.69171627 -1.06491848 0.10764889 -0.19758503 -0.39431722 -H -0.08599207 1.83405577 0.63532772 -0.27066686 -0.19443203 1.05231436 -H -0.67968553 -1.73215169 0.79140824 0.46036291 1.52378244 -1.05327107 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.877383913773 pbc="F F F" -C -0.04333004 -0.52979567 0.23279723 0.59581510 -0.15627782 1.56433847 -C -1.14945199 0.54642835 0.25151850 1.20870778 0.23370395 -1.10693526 -O 1.05138884 -0.01235939 -0.47578755 0.00025706 0.53182516 -1.31666726 -H 0.32752578 -0.82241534 1.27137614 -0.64098559 0.43152983 -0.25338714 -H -0.42985920 -1.53167562 -0.13646538 0.05171740 0.58128821 -0.38828870 -H -1.98356931 0.27091062 0.84085936 -1.79176558 -1.09835008 0.50008698 -H -0.90638678 1.48738497 0.76863611 0.93630379 0.24824102 -0.07260186 -H -1.42243319 0.83141253 -0.80595993 -0.06923865 -0.31708439 0.63182789 -H 1.93794777 -0.23912880 -0.15724454 -0.29081125 -0.45487587 0.44162687 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.724502422871 pbc="F F F" -C -0.38294721 0.19701718 0.39012863 2.63014337 -0.18305042 1.46100148 -C 0.06411392 1.03717963 -0.79046464 -4.08502510 0.24929147 -0.36602350 -O 0.32497054 -1.09439298 0.41707769 -0.30296496 1.45028867 0.45919203 -H -0.04097925 0.74298226 1.39780446 -1.05095672 -1.02215269 -1.62276578 -H -1.44868497 0.03612669 0.27945995 -1.01550742 0.00656686 0.64948782 -H 1.05972775 0.89430529 -0.98790770 3.50246389 0.32398302 -0.13466672 -H -0.39463900 0.58072998 -1.71391237 -0.12154509 0.37523613 0.25360043 -H -0.34531675 2.09736709 -0.69188943 0.79814505 -0.75154533 -0.23919685 -H -0.19022803 -1.68810740 -0.13354307 -0.35475296 -0.44861765 -0.46062892 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.42926541572 pbc="F F F" -C 0.06999869 -0.01997069 0.53414178 0.25966654 2.63195836 -1.57106900 -C -1.29776324 0.48712205 -0.19199936 2.33806662 -0.72289984 2.84412643 -O 1.07542106 -0.47206956 -0.35441802 -2.46927376 -1.35746718 -0.56971947 -H 0.39640818 0.90086020 1.13139074 0.12293590 -0.61664007 -0.43747047 -H -0.15618146 -0.75191747 1.30730552 -0.49160430 -0.82162385 0.32077022 -H -1.61310538 0.92270894 0.80935913 -1.52617074 -0.59631950 -1.03081639 -H -1.22628429 1.34128726 -0.86956723 0.53034970 0.12796518 -0.46315631 -H -1.73868472 -0.40759741 -0.65617491 -0.82588963 0.18343830 0.21052123 -H 1.89645540 -0.08012498 -0.17350512 2.06191966 1.17158860 0.69681378 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.479964618296 pbc="F F F" -C -0.21931160 -0.43217485 0.31789487 1.83640879 3.19935700 2.21199397 -C -1.00672166 0.87148865 -0.05385068 1.39651716 0.92288329 -0.90113175 -O 1.13677286 -0.40882294 -0.17833767 -1.05984677 -0.01216091 1.15501295 -H -0.17456879 -0.71640852 1.42400078 -0.14830082 0.63677212 -0.86644961 -H -0.82446795 -1.08649191 -0.15826812 -1.87953310 -3.70988066 -1.73947873 -H -1.83312432 1.14282909 0.64664429 -0.27946348 -0.50870425 -0.55350059 -H -0.29527112 1.75641264 0.08579209 -0.48444608 -0.66807685 -0.40064069 -H -1.28761375 0.80227757 -1.22890205 0.20330753 0.37056880 2.49853328 -H 0.97916372 -0.64562419 -1.08482132 0.41535682 -0.23075854 -1.40433877 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.912294205351 pbc="F F F" -C -0.54159603 -0.12141212 0.25760064 2.51361620 1.83413064 1.52521501 -C -0.24005469 1.02372898 -0.71955883 -1.53714997 0.20689515 0.50965638 -O 0.69894394 -0.82302985 0.47606146 -0.79952717 -0.48832655 -0.79621615 -H -0.89008418 0.23128421 1.27472276 0.46621469 0.20166151 -0.49314140 -H -1.35996822 -0.70702115 -0.04395646 -1.57366494 -1.67704744 -1.10774531 -H 0.05410468 0.61765295 -1.71464751 -0.62846241 0.09535968 -0.13800514 -H -1.16522592 1.71293889 -0.71067235 1.19745247 -0.48160224 -0.64012494 -H 0.66797135 1.55339538 -0.40817014 0.07428979 0.41902208 0.47209959 -H 0.91183797 -1.09758248 -0.44924015 0.28723130 -0.11009277 0.66826192 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.687977072005 pbc="F F F" -C 0.26818432 0.00136306 0.49924400 1.49246691 2.26626951 -3.07911454 -C -1.24344730 0.27226508 0.43290910 1.53543654 -1.15511255 2.21602047 -O 0.84492361 -0.21997507 -0.86397192 -1.03318278 -0.07888451 0.56738820 -H 0.84891716 0.92219070 0.86232304 -0.70250491 -0.77984547 0.19413897 -H 0.44410562 -0.82326598 1.12963323 0.56789255 -1.57966883 1.35981316 -H -1.40346110 0.93927820 1.29664853 -0.53376428 0.49597281 -0.21855336 -H -1.57234527 0.63233195 -0.50668627 -0.51665734 0.82976196 -1.37883825 -H -1.75781267 -0.65776175 0.72336409 -0.36886488 -0.19845591 -0.39225709 -H 1.64914365 -0.78310513 -0.89875721 -0.44082175 0.19996299 0.73140248 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.628858546715 pbc="F F F" -C 0.30732591 0.02905923 -0.40142211 1.67089438 -1.34619572 -1.89554650 -C -0.71887482 1.14293593 -0.20528376 1.29878657 -0.30259071 1.48345617 -O 0.41223746 -1.02956511 0.55668530 -1.75915796 -0.54307430 0.51657583 -H 0.26006650 -0.43828154 -1.39972515 -0.99591869 -0.28851351 -0.65928322 -H 1.39892651 0.26680528 -0.57480185 -0.50731832 1.10641790 0.91169914 -H -1.72893841 0.82568066 -0.42250650 -0.84864107 -0.36152818 -0.27116010 -H -0.61874225 1.22414965 0.89204541 -0.53706337 0.64061566 0.34783078 -H -0.55389954 2.15025510 -0.64364399 0.36496991 -0.35306663 -0.19861979 -H -0.39794550 -1.65304145 0.54172240 1.31344860 1.44793544 -0.23495232 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.484972917662 pbc="F F F" -C 0.16316107 -0.17772148 -0.55137618 0.81418344 -0.16887906 -0.68744441 -C -0.43470447 1.19437742 -0.22657254 -0.59876935 0.10592434 3.88564920 -O 0.31285935 -0.97044473 0.66600486 -1.57437791 1.14263627 -1.23501573 -H -0.54382160 -0.51520280 -1.41810922 0.69931186 -0.60899808 1.21485709 -H 1.20774786 -0.23575972 -0.97976376 -0.58789883 0.63339935 -0.04059192 -H -0.52486699 1.93964212 -1.02609841 -0.36689701 -0.10982625 -0.47015352 -H -1.50309365 0.89689677 0.30441320 1.84204069 1.00472030 -1.46879655 -H 0.09470523 1.78451229 0.68057327 -0.57456472 -1.24211090 -1.70208095 -H -0.46205609 -0.58192474 1.13735049 0.34697188 -0.75686592 0.50357669 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.356847732247 pbc="F F F" -C 0.25006518 -0.42264984 -0.37494460 -1.15392599 0.27580660 3.06822278 -C -1.26533419 0.04798571 -0.35078482 1.52132745 2.40251890 1.20513297 -O 0.90541519 0.28467471 0.68443981 1.49495605 0.93651652 -0.00179191 -H 0.38008171 -1.58014409 -0.14523500 -0.30443178 1.81729659 -0.63374593 -H 0.67695722 -0.11793217 -1.31498997 0.37050406 -0.26927368 -1.26873890 -H -1.27025855 1.21898622 -0.72532958 -0.28160799 -2.71195667 0.76108366 -H -1.63710187 -0.63082239 -1.05778582 -1.91147911 -0.93190555 -1.75028118 -H -1.85590513 -0.03526242 0.66629775 1.32270251 0.02889288 -1.56384055 -H 1.43128436 1.08945907 0.36053377 -1.05804525 -1.54789564 0.18395910 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.754873605271 pbc="F F F" -C -0.47215324 0.10660315 -0.31313538 -0.02769897 0.65409699 0.53754308 -C -0.43051954 0.16329483 1.20148254 2.33631143 0.39622045 -2.08209403 -O 0.78977472 -0.31056694 -0.80069366 -0.86718418 -0.89179222 -0.21238656 -H -1.23703336 -0.57560685 -0.64461346 -0.66305657 -0.97234074 -0.59810405 -H -0.85760186 1.12419813 -0.59578546 0.52183842 -0.16704411 -0.64606738 -H -1.32031254 0.55349789 1.57064945 -2.23606475 0.50281215 1.41230374 -H -0.02310541 -0.76157106 1.56566197 -0.05162474 -0.93776206 0.85129620 -H 0.34917709 0.92838166 1.28006082 0.38907628 0.34166856 0.98747853 -H 1.30783082 0.44321501 -1.05189159 0.59840307 1.07414098 -0.24996952 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.727187419882 pbc="F F F" -C -0.08077155 -0.24953586 -0.58550423 -1.26663645 0.12258412 1.61505062 -C -0.16200923 1.20831644 -0.18409241 3.50315721 0.28536601 -1.90980425 -O 0.22679211 -0.84175816 0.69873178 -0.54007850 -0.12704735 -0.52038585 -H -1.09655824 -0.49362284 -1.01530484 0.18554347 -0.47701081 0.37344000 -H 0.65276659 -0.66619233 -1.28395874 0.54748092 0.77800070 -0.80839270 -H -0.35857937 1.94561924 -0.94232677 -0.67904801 0.42879824 -1.18698098 -H -0.78270731 1.39062731 0.63488904 -1.59261702 -0.04812361 1.80654490 -H 0.86894630 1.52834651 0.11163172 -0.18192808 -0.15259796 0.35985666 -H 0.00818553 -1.76965530 0.57442457 0.02412647 -0.80996935 0.27067159 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5415599142 pbc="F F F" -C 0.17896450 -0.38312647 -0.36977765 0.37090772 -0.68793524 1.61861910 -C -1.30744750 0.18208893 -0.40741605 1.42935664 -3.50805450 1.06892334 -O 1.05442917 0.13193993 0.71068777 -2.64290010 2.72762570 -0.41287251 -H 0.20788156 -1.49924262 -0.16204528 -0.32254037 0.66107707 -0.58020624 -H 0.84435590 -0.13749182 -1.20065182 -0.64726408 -0.24469593 -1.43097140 -H -1.33008556 1.15395951 -0.75581032 -0.01718187 3.04931061 -0.56833365 -H -1.92462134 -0.37222335 -1.13939183 0.07295626 -0.32546871 -0.05015828 -H -1.79188989 0.04379675 0.59710794 0.29452058 0.29384001 -0.41860818 -H 0.70313147 1.11095126 0.64089173 1.46214516 -1.96569897 0.77360782 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.420240875429 pbc="F F F" -C 0.13513797 0.45132797 0.40767267 1.56955971 -1.97966788 -4.23252070 -C -0.82158969 0.59042798 -0.84648641 2.28026902 -1.92127548 2.07918261 -O 0.61885706 -0.94435142 0.35351451 -0.38264523 1.01608679 2.06931420 -H 1.10162076 1.07151999 0.28469721 -1.48640095 0.10037595 0.54106771 -H -0.56378609 0.64791989 1.16497644 -0.57135243 0.58689399 2.52768523 -H -1.04405305 1.58856305 -0.82864203 -0.59876344 3.59358582 -0.90639634 -H -0.26447817 0.20744733 -1.69764481 -0.23973509 -0.04027974 -0.80286765 -H -1.77261393 0.12991045 -0.61174237 -0.49503456 -1.01425323 -0.15301689 -H 0.89879488 -1.07047954 1.30583296 -0.07589699 -0.34146627 -1.12244817 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.77260234242 pbc="F F F" -C 0.00352597 -0.02010462 0.60626201 -0.53844086 -0.54630721 -0.21274107 -C -1.19697043 0.53290126 -0.29740994 3.65004105 -0.32956921 0.43295973 -O 1.04728894 -0.43863003 -0.31633861 -0.29619118 0.08977529 0.86376086 -H 0.34865824 0.81007320 1.33399445 -0.23450433 -0.81883014 -0.70150331 -H -0.36343747 -0.92291275 1.21669237 0.36165843 0.84131162 -0.26583992 -H -1.82122610 1.14117577 0.34178447 -0.47046879 0.92001949 0.15600739 -H -0.49804095 1.08102117 -1.05615345 -1.91617297 -0.41988499 0.52264842 -H -1.80063521 -0.30041886 -0.67024160 0.03158046 -0.17627690 -0.63178392 -H 1.73087932 -0.95843298 0.17497419 -0.58750180 0.43976204 -0.16350823 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.809713512894 pbc="F F F" -C -0.41506043 0.11485200 0.39605844 1.95912049 -0.31560122 0.35536993 -C 0.05228278 1.07788293 -0.63181890 0.82969548 2.83514860 -2.30293613 -O 0.33993199 -1.09772633 0.28341742 -1.12967786 -0.99573470 -0.55469502 -H -0.15268911 0.44999620 1.41700963 -0.05913827 0.31367623 0.13269982 -H -1.51039052 0.15154436 0.35699188 -0.71979441 -0.99824718 -0.07709095 -H 1.12854841 1.51706397 -0.64463499 -1.05262315 -1.01578792 0.71741624 -H -0.00957984 0.67698391 -1.71260995 -0.38698725 0.22908038 1.13624569 -H -0.57878397 2.03812217 -0.58817585 0.36807211 -0.88401535 -0.23738073 -H 0.04893102 -1.62333188 -0.51802694 0.19133282 0.83148111 0.83037116 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.852433496983 pbc="F F F" -C 0.20187533 -0.19386826 -0.50872442 -1.18456255 0.61563389 0.64922943 -C -1.31372135 -0.02898688 -0.13212219 0.60495178 0.17054771 -0.14162592 -O 1.06542546 0.19294693 0.54445936 0.34936115 0.22381579 -0.43148659 -H 0.51378155 -1.17672378 -0.81280991 -0.15694117 -1.47284738 -0.35930176 -H 0.35776532 0.42923140 -1.39238584 0.30997102 0.58442660 -0.53110746 -H -1.45678575 1.12942512 -0.07701977 -0.36139495 -1.78034854 0.36221482 -H -2.05457302 -0.51346732 -0.83053414 0.59274294 0.61822633 -0.20745472 -H -1.53781934 -0.63287360 0.79563730 0.21490753 0.89280703 0.04316529 -H 0.51360748 0.35575193 1.31109336 -0.36903570 0.14773857 0.61636696 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.624578914062 pbc="F F F" -C -0.17333252 -0.12655686 -0.58981253 4.18062497 -0.91498285 0.10951648 -C -0.06379430 1.20404621 0.04490070 1.14294162 2.27764218 -2.38905104 -O 0.15175682 -1.00520095 0.49993087 -0.02179520 -0.99004243 -0.81620988 -H -1.08124983 -0.37600061 -1.01188144 -3.16604069 -0.53957405 -0.54135737 -H 0.50695333 -0.34818190 -1.55294070 -0.56362539 0.72185977 1.62022944 -H -0.67881174 1.22923204 0.89562832 -1.25971355 0.01843991 1.75308646 -H 0.97401937 1.52777581 0.36374579 -0.51346223 -0.53140468 -0.29323796 -H -0.42339826 1.99438112 -0.65432323 0.05321532 0.22145243 0.11890580 -H 1.11823027 -0.91224064 0.51740227 0.14785514 -0.26339022 0.43811813 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.699669279159 pbc="F F F" -C -0.07630890 0.28847117 -0.34300981 -0.41067607 0.25586270 -0.71351649 -C -1.26945971 -0.14060043 0.52234010 0.86128005 1.18584224 -1.11124145 -O 1.25513722 -0.10447807 -0.13876034 -0.24777560 -0.53586842 0.36892345 -H -0.43667733 0.21563125 -1.37858562 0.31912497 -0.58468392 -0.92586968 -H 0.03178547 1.35242443 -0.25582995 -0.39394137 1.46753445 0.36499660 -H -1.10252544 0.36642083 1.45135134 -0.64594983 0.37466503 1.36889944 -H -2.16242219 0.16442960 -0.05346099 -0.17482443 0.70266103 0.36880240 -H -1.48921712 -1.16463924 0.66519806 0.33922350 -2.08868824 0.33941520 -H 1.27111054 -1.03938889 -0.36299459 0.35353879 -0.77732492 -0.06040948 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.662631003409 pbc="F F F" -C 0.54689263 0.19779977 -0.26874995 -2.85689289 -2.00900880 0.66029057 -C -0.72723219 1.02357494 -0.19755074 -0.32961908 -1.73834431 -0.46847505 -O 0.13751849 -1.08385082 0.41266888 0.85303303 0.94966206 -1.21413970 -H 0.73041741 0.10169861 -1.37036260 0.75285664 -0.39510001 0.40606999 -H 1.33550011 0.50693356 0.38210831 1.41077003 1.19241825 0.03369910 -H -1.57307405 0.24554807 -0.40048661 0.95465689 1.42679191 -0.04098299 -H -0.89783621 1.46222912 0.76487166 -0.23765872 0.37554199 1.24020931 -H -0.64053408 1.82318428 -0.91742739 -0.48354548 0.69868405 -0.80720865 -H 1.01059817 -1.49074012 0.54733196 -0.06360037 -0.50064507 0.19053742 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.587789007364 pbc="F F F" -C 0.40135148 -0.18309740 -0.46420756 -2.41509134 -1.78237545 0.99586315 -C 0.27306831 1.21309387 -0.03823165 0.98903795 2.78881489 0.17206312 -O -0.61017708 -0.91118612 0.43815801 1.52199054 0.83288930 -1.09997338 -H 0.05119102 -0.40974985 -1.49671922 0.48518163 0.27091476 -0.11376354 -H 1.41619165 -0.55241381 -0.28086576 0.43312592 -0.36300965 -0.04068937 -H -0.06220620 1.24357473 0.96741707 -0.85486047 -0.56980982 1.83282832 -H 1.19200520 1.82847895 0.16189871 0.20088036 -0.51974498 -0.90646535 -H -0.43285132 1.91847538 -0.49698576 -0.26917361 -0.24761876 -0.81623374 -H -0.51620000 -1.83980203 0.17732171 -0.09109098 -0.41006034 -0.02362917 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.836092977303 pbc="F F F" -C 0.53569887 0.19931964 -0.18179723 -0.86446426 -1.48735977 0.81303056 -C -0.72701587 1.04878312 -0.29548182 1.04728343 -0.04728065 -0.00409032 -O 0.22360968 -1.15708235 0.38569645 2.41867782 1.30907721 -2.57460310 -H 0.89057953 -0.01172961 -1.21130397 0.50905114 -0.00643331 0.23469742 -H 1.29218027 0.76745819 0.45708938 -0.25135108 -0.61101691 -0.61867571 -H -1.57121413 0.45094597 -0.69019262 0.07130381 0.42288295 -0.64851384 -H -0.99718229 1.30702191 0.70578987 -0.64457717 0.37166594 1.49728238 -H -0.44953974 2.04439529 -0.73252595 -0.60047194 -0.51413457 -0.47918931 -H -0.43550093 -1.06530095 1.03614095 -1.68545177 0.56259916 1.78006191 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.437750854692 pbc="F F F" -C -0.34838917 -0.40977511 -0.15691703 2.11412700 -0.67713141 -2.84813442 -C -0.90956494 0.68251450 0.63599287 5.31943997 0.40310453 0.59177564 -O 1.10432550 -0.28776937 -0.43474306 -0.48705987 0.65507689 -0.04134448 -H -0.26328801 -1.34502941 0.38205000 -0.84330289 -0.83476785 0.46809062 -H -0.92378878 -0.56936671 -1.11918515 0.31848338 -0.08588074 0.25516552 -H -1.79991779 0.40754880 1.00013831 -4.51329195 -0.55439230 1.39304797 -H -0.18678884 0.56133012 1.50261398 -0.59211389 1.17690348 -0.04895495 -H -0.76971718 1.63773991 0.12379225 -0.46767359 0.53546661 0.07345140 -H 1.40303889 0.62415933 -0.69728301 -0.84860816 -0.61837921 0.15690275 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.640605122069 pbc="F F F" -C -0.38004897 -0.20473181 -0.29573462 1.66619039 -0.08674843 -0.47283513 -C -0.77396759 0.59945532 0.97535913 1.52125340 2.37068889 -2.15506207 -O 1.04024157 -0.32172515 -0.67475840 -0.87092457 -0.18843832 1.91205957 -H -0.72104439 -1.25201485 -0.13877019 -0.38801744 0.00927120 0.08452335 -H -0.81478609 0.13195408 -1.24065196 -0.70904061 0.43952293 -0.14416705 -H -0.72979778 1.78912263 0.98883235 -0.30877211 -2.04553807 -0.66162220 -H -1.74281993 0.21330461 1.12015628 -2.01460198 -0.18112230 1.03632914 -H -0.09992467 0.36545647 1.76801877 0.69513140 -0.79586129 1.30208293 -H 1.34661006 -0.84602169 0.11463718 0.40878153 0.47822545 -0.90130854 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.787676094576 pbc="F F F" -C -0.23741873 -0.46564283 -0.05078200 -1.20814955 -0.46215389 1.81770092 -C -0.99086792 0.84817208 0.48894383 -0.11480108 -2.34209600 0.38864500 -O 1.11286483 -0.33994930 -0.48603628 -0.26455586 0.26572149 0.58145261 -H -0.24095277 -1.12294550 0.89277587 -0.18128885 0.10624758 -0.95628275 -H -0.87206639 -1.01026229 -0.83092042 0.70078942 0.61240489 0.44191066 -H -1.97749397 0.64643438 1.02886855 0.46520584 -0.37479287 -1.09123908 -H -0.45780893 1.20686122 1.35938101 1.03487925 0.83897253 0.29423977 -H -1.13249535 1.56297241 -0.29487756 -0.09143802 1.13246833 -0.69186908 -H 1.65128778 -0.44667252 0.33862993 -0.34064115 0.22322788 -0.78455795 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.565044241778 pbc="F F F" -C 0.28922589 -0.47958971 -0.32950379 -1.91183820 2.05268626 0.32393479 -C -1.25047887 0.05711145 -0.43275198 1.53970251 -2.66042568 0.86707712 -O 0.90288229 0.33257509 0.69848744 -0.43210345 1.48798661 -1.92752692 -H 0.34450888 -1.49102517 -0.03807013 -0.24885361 -1.92364620 1.20376977 -H 0.85288514 -0.55463538 -1.26867421 0.17548248 0.85878145 -0.76520787 -H -1.14392513 1.10890129 -0.55050030 -0.42626869 1.57302865 -0.61617238 -H -2.03977420 -0.45967417 -1.02392623 0.65480219 0.26375635 -0.81622119 -H -1.66158817 -0.13153124 0.56843255 0.13211808 0.29556630 0.61082361 -H 0.76949720 1.28166594 0.30849735 0.51695867 -1.94773369 1.11952308 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.21707872567 pbc="F F F" -C 0.05269096 -0.13715659 0.59009793 1.72363312 -2.06309244 -3.17542568 -C -1.29684592 0.26719809 0.00036366 1.98786338 0.70041435 -2.18522482 -O 1.13621570 -0.14313347 -0.47118047 0.28685278 -2.61237729 4.45442765 -H 0.52092338 0.49666001 1.33873902 -0.63051524 0.72391959 0.84696491 -H 0.11275599 -1.20695997 0.96754410 -0.33974106 0.70569432 -0.08347583 -H -2.09132925 0.08361430 0.65921620 -1.67091479 0.74055802 1.94433032 -H -1.02313865 1.31388395 -0.36543763 -1.38364462 -0.46297629 0.52016083 -H -1.74878381 -0.27916588 -0.90700377 1.45531955 0.06018929 0.58415684 -H 1.01847403 0.31289155 -1.24982936 -1.42885312 2.20767040 -2.90591423 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.822786649979 pbc="F F F" -C -0.19619033 -0.38640636 0.30768814 -1.33671827 -1.83541989 -2.66986646 -C -0.97302123 0.89432902 0.00130173 -0.77700965 -1.02686866 1.50108453 -O 1.06520906 -0.42660239 -0.30482192 -0.18143032 2.00511446 -0.46311009 -H -0.25250610 -0.46290634 1.36648499 0.59222584 -0.34921249 1.96806186 -H -0.74380069 -1.36274605 -0.08621235 0.05964936 1.49398412 0.59702254 -H -2.07603128 0.70259160 0.19935033 0.84105780 0.32560333 0.21619606 -H -0.57454699 1.72108658 0.61054992 -0.15506992 0.18539666 0.28520671 -H -0.93462696 1.22955171 -0.99505565 0.31847330 0.33795373 -2.17716055 -H 1.60449594 -1.10991230 0.06148254 0.63882180 -1.13655119 0.74256534 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.661844815864 pbc="F F F" -C -0.21049999 -0.02257696 -0.47838763 0.12859680 0.86375145 -1.50366741 -C 0.33400004 1.23297798 0.18488462 -1.67654690 2.28820936 -1.79972346 -O -0.12491145 -1.15992670 0.24800588 0.44991271 -2.25141614 1.00666061 -H -1.24210954 0.01791395 -0.90448409 -0.17196413 0.78122410 0.07323445 -H 0.45985468 -0.13516703 -1.36488073 -0.22067981 -0.02069615 -0.29676074 -H 1.38153284 1.34244490 -0.07048354 0.99827876 -0.11521667 0.59340788 -H -0.10572993 2.08834443 -0.48475552 0.44108241 -0.82808864 1.06723546 -H 0.07963244 1.53978198 1.23327402 0.05023824 -0.59487207 -0.27521190 -H -0.06304187 -0.86612098 1.15204894 0.00108187 -0.12289522 1.13482510 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.789858601919 pbc="F F F" -C -0.06271275 -0.50721655 0.18795684 -0.09932802 -0.97849565 -1.38804085 -C -1.16816010 0.56297004 0.35354018 -1.67328798 -2.02942419 -2.08231818 -O 1.12217562 -0.09864472 -0.50110027 -0.16823541 0.51724406 0.30457303 -H 0.13516076 -1.07408449 1.10183752 0.39116453 0.19593618 1.08519349 -H -0.27407139 -1.36528029 -0.50694095 -1.17290408 0.35255380 0.31224927 -H -2.18452334 0.29644920 0.83185768 1.38990804 -0.31902274 -0.30500030 -H -0.82549693 1.40494289 0.86413291 1.02790878 2.01100537 1.38941582 -H -1.46207736 0.91609647 -0.67381692 0.20955213 -0.02649147 0.35928191 -H 1.46450242 0.72183633 -0.11544765 0.09522207 0.27669466 0.32464585 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.538624884596 pbc="F F F" -C 0.29862589 0.04321672 -0.53056753 0.22712788 -2.14786647 0.67416302 -C -0.67265636 1.11181874 -0.09739708 -0.39811741 -3.27344712 0.26434996 -O 0.35553300 -1.06550885 0.52555884 -0.61390261 2.49390992 -0.70237456 -H -0.06961361 -0.34354364 -1.50951145 0.26289240 -0.61093931 0.26455956 -H 1.33707686 0.38093285 -0.67864466 0.24787464 0.34002733 -0.09728425 -H -1.57691773 0.43492310 0.15710738 0.58925683 1.45210870 -0.17603347 -H -0.18303848 1.45710918 0.79788043 -0.28604283 1.48841392 0.87163013 -H -0.82944927 1.72907732 -0.96433692 -0.41536875 1.31486749 -0.22505830 -H 0.13442732 -0.51028979 1.33799809 0.38627984 -1.05707440 -0.87395215 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.363011451423 pbc="F F F" -C 0.24557669 -0.40205033 0.25882251 -0.88084137 -2.07201448 -3.04587639 -C -1.10533485 0.10319673 0.67778942 -3.10043583 0.09285969 -2.21971597 -O 0.79535683 0.22511055 -0.86204272 0.50789532 0.02548149 -1.06622563 -H 0.77694098 -0.39799669 1.14884794 2.35062024 0.15267483 2.23689007 -H 0.30652659 -1.54767056 -0.11309939 -0.78195403 1.90769815 1.02782892 -H -1.64446046 0.88293122 0.01453531 1.22311322 -0.80885478 -0.10745035 -H -1.91990047 -0.68015767 0.63680402 0.59266858 0.17760009 0.58327480 -H -1.14659796 0.65577347 1.58536248 0.20090041 0.26895486 1.82947257 -H 1.24646498 1.07352321 -0.74967988 -0.11196659 0.25560009 0.76180198 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.491762275612 pbc="F F F" -C 0.35136920 0.47431523 -0.37446832 -3.95046987 -0.14142749 3.53240913 -C -1.06286128 -0.13668582 -0.54122798 -1.45317884 1.28968136 -0.50532484 -O 0.70424378 -0.23230998 0.82890631 2.21695204 2.38284754 0.53592262 -H 0.98396703 0.22473756 -1.16139613 1.66676735 -0.08776849 -2.17747032 -H 0.19096330 1.56515175 -0.15194156 0.86918203 -0.41025225 -0.13229210 -H -1.86083876 0.34455599 -1.21068703 0.99848681 -0.28570596 0.32282319 -H -0.84562307 -1.11697670 -0.92343949 -0.34813299 -1.36864799 -0.48293510 -H -1.54916741 -0.24703348 0.48406470 0.51008842 0.28148565 -0.85487887 -H 0.37919188 -1.10761515 0.71738282 -0.50969489 -1.66021237 -0.23825377 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.36282976389 pbc="F F F" -C -0.08136719 0.26040922 0.44635791 -1.75557251 0.89308193 -1.17327463 -C 0.34098810 0.94322024 -0.87325728 -0.18306523 1.10439964 -2.28687275 -O -0.28922516 -1.12551186 0.41974581 1.16299813 -0.15273597 -0.03478364 -H 0.61692398 0.55147961 1.25399345 0.11152251 0.29677318 0.17983623 -H -1.05242439 0.82182059 0.57748048 0.16437906 -1.00442776 0.86760430 -H -0.24657304 1.97027510 -0.80393088 1.67866462 -1.25044169 -0.48201269 -H 1.46701978 1.04513593 -0.91382063 -0.63439292 0.42365824 -0.14358927 -H 0.05509562 0.53496658 -2.01408867 0.23019064 0.33744280 3.05116309 -H 0.65628037 -1.40206933 0.32455738 -0.77472429 -0.64775037 0.02192936 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4686934845395 pbc="F F F" -C 0.20869391 -0.26662126 -0.41695947 2.15411035 1.09225914 1.51591198 -C -1.24359639 0.22849689 -0.57487950 0.00818418 -3.77581565 -0.71296632 -O 0.96040048 0.04479115 0.86587740 -1.08196454 0.23930103 -1.33030604 -H 0.55056626 -1.29123985 -0.67779013 -1.07085465 -0.32058880 -0.15605357 -H 0.89609505 0.33759181 -1.01684796 -0.20312318 0.37255287 -0.91936437 -H -1.45292711 1.00065377 0.06811491 -0.32774640 2.27914972 2.65319187 -H -1.45962411 0.73794444 -1.50945754 0.13709965 -0.26354690 -1.14907864 -H -2.03866101 -0.59135311 -0.39105263 0.90789756 0.92810001 -0.29421020 -H 0.59076120 -0.45179039 1.60148372 -0.52360297 -0.55141136 0.39287534 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.271978558251 pbc="F F F" -C 0.22902462 0.34601966 0.41924227 -0.26373218 0.56546342 -2.56292026 -C -1.26665319 -0.03818105 0.46863433 2.76889654 1.86810366 -3.15911876 -O 0.90044644 -0.24168496 -0.83474970 -0.52548610 0.19660281 2.73549975 -H 0.31456820 1.46111153 0.31683068 0.40412670 -0.41952972 0.39045557 -H 0.67250864 -0.10145639 1.29090988 1.03780609 0.16973154 0.96028925 -H -1.80284609 0.58792793 1.11837911 -1.32402062 1.66690881 0.80786567 -H -1.45217631 -0.00368359 -0.63726530 -1.09000572 -0.42494107 0.75322858 -H -1.19248167 -0.92934659 0.95222918 -0.71974432 -3.87930475 0.91133055 -H 1.53079422 -0.84793081 -0.37081058 -0.28784039 0.25696529 -0.83663031 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.3437829929235 pbc="F F F" -C 0.45031337 -0.39544409 -0.27150619 -0.99136598 -0.97311253 1.28120042 -C 0.26458188 1.10865075 -0.63577113 0.17927635 -0.89828441 1.35640614 -O -0.63478663 -0.69210460 0.78375937 1.24104651 -3.52298428 -5.32067034 -H 0.23617502 -1.22396818 -1.12414541 0.49358081 1.92815380 1.59136941 -H 1.48506085 -0.57715099 0.17424560 -0.73824362 -0.11401124 -0.32171700 -H -0.08220646 1.58176398 0.34676009 0.46984648 0.01646674 -1.14147850 -H 1.05265808 1.70480378 -1.13734612 0.42864001 -0.35237572 0.30820508 -H -0.53852945 1.07279360 -1.32529641 -1.69093742 0.55201547 -0.94491040 -H -0.59670063 -0.07234528 1.43607826 0.60815681 3.36413227 3.19159515 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6644057580115 pbc="F F F" -C -0.11179766 0.01133659 -0.55850589 1.60788937 1.36002039 0.34217286 -C -1.26265164 -0.40867718 0.38490415 0.08842016 0.91816675 0.29014076 -O 1.24946523 0.37841270 0.10560214 -2.55262000 0.24308842 -1.90854893 -H 0.05881878 -0.61290046 -1.46978879 0.08192011 -0.47794500 0.50933463 -H -0.33773623 1.00224296 -1.02271504 -0.19057964 -0.15666524 0.29705045 -H -1.37358220 -1.47962206 0.60002472 0.13537948 -0.44694792 -0.25673893 -H -0.97205022 0.04718227 1.35974293 -0.33043562 0.09954148 -0.01384329 -H -2.30545793 0.00121108 0.12495766 1.22116823 -0.34633764 -0.02084965 -H 1.47385690 -0.23155225 0.80017052 -0.06114214 -1.19292131 0.76128210 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.383518310618 pbc="F F F" -C 0.06650453 -0.32987649 -0.30945226 1.95498718 0.41597630 -3.72870233 -C -1.17138069 -0.52607555 0.49082822 0.94533818 -1.31308988 2.11063030 -O 0.99986895 0.80022730 -0.09746749 -0.52217524 -1.04294022 -0.13925773 -H 0.76112516 -1.25990399 -0.53507053 -1.45067701 0.85359672 0.81736282 -H -0.39851205 -0.09298409 -1.33190875 0.61153108 -0.40911202 0.37622760 -H -1.16463436 -1.42086000 1.14846132 0.40878220 0.02115767 0.23385739 -H -1.44757977 0.27963731 1.14246761 -0.04776972 1.23678429 0.60832126 -H -2.01457469 -0.72397495 -0.11454791 -1.35901566 -0.09051006 -1.37613129 -H 1.55770102 0.71388348 -0.92355615 -0.54100096 0.32813725 1.09769204 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6548453792375 pbc="F F F" -C -0.35830784 0.02065797 -0.49250924 2.73650192 -0.57107722 1.60432413 -C 0.36587448 1.27271610 0.13741571 0.07475140 -1.42441457 -2.77428681 -O -0.04658465 -1.13054608 0.37584618 -0.00636883 1.04623885 -0.43084324 -H -1.42056130 0.03655084 -0.54144139 -1.67448472 0.53989174 -0.58039197 -H 0.19543076 -0.08036025 -1.47659635 -1.01392351 -0.13179299 0.21100017 -H 1.39619374 0.90853576 -0.13736106 -0.04055048 0.88218076 0.88770257 -H 0.14192473 2.12943438 -0.57541870 0.12969677 -0.19450325 1.08056869 -H 0.23594237 1.41412471 1.21423114 -0.22455992 0.24771009 0.21380843 -H 0.09937100 -1.87617158 -0.21803228 0.01893736 -0.39423340 -0.21188191 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.774448672401 pbc="F F F" -C 0.20329667 -0.37776900 -0.39763888 -0.83029285 2.57950460 -1.80768128 -C -1.27461465 0.18349074 -0.28181519 0.63033711 0.00389260 -2.97066429 -O 1.04403097 0.19128468 0.60378530 0.29503506 -0.38284341 -1.48010175 -H 0.18429482 -1.48327174 -0.45193978 -0.01676458 -0.29229966 0.36114740 -H 0.54707139 -0.04767355 -1.47910527 0.06864997 -0.38032635 1.83452659 -H -1.52136011 1.28798685 -0.38122509 0.98625715 -0.64284219 0.58713001 -H -1.89063495 -0.20648927 -1.14616220 0.41323931 -0.15548587 0.27324377 -H -1.72586226 -0.27048493 0.54420217 -1.19378026 -0.56929010 2.24446326 -H 0.59913433 -0.00286265 1.42655877 -0.35268091 -0.16030967 0.95793633 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.781732968315 pbc="F F F" -C -0.50702935 0.10379882 0.33239913 1.57013127 -0.03224715 -0.18011221 -C 0.13866234 1.11778224 -0.62666471 -0.09671593 0.33244226 0.25220129 -O 0.33184899 -1.07663564 0.31490841 -1.03092005 -0.87295548 -0.68849846 -H -0.46374656 0.48242226 1.36813719 -0.36344983 0.02788049 0.25426995 -H -1.53108019 -0.13090409 0.01006357 -0.48267835 0.03711281 0.20896401 -H 1.21760756 1.08234216 -0.49070291 0.79203595 -0.23829537 0.47571744 -H 0.03520274 0.59927904 -1.60883314 -0.33414058 1.15018925 -0.39625418 -H -0.06020979 2.24661262 -0.45783854 -0.58681917 -1.44692818 -0.77638466 -H -0.07683015 -1.74788648 -0.31298832 0.53255669 1.04280138 0.85009678 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.314402173969 pbc="F F F" -C 0.12715839 0.67753175 0.08933266 -0.38409805 -5.35314663 -1.31225180 -C -0.83469715 -0.03666194 -1.01626563 1.22569471 0.27526816 3.46205765 -O 0.69987776 -0.51654070 0.84015247 -1.50710405 -0.40014699 0.32990108 -H 1.05187555 1.07021088 -0.31308833 0.41056937 0.77069404 -0.44848446 -H -0.44021477 1.37596459 0.68215171 -0.45277877 0.67110150 0.80317485 -H -1.31803982 0.62162144 -1.64947457 -1.05994525 2.20409862 -2.05340267 -H -0.32107613 -0.80090427 -1.61868781 0.06572847 -0.28611888 0.31266399 -H -1.69825411 -0.37224839 -0.37662305 0.50698880 -0.67983004 -0.42443194 -H 0.04639753 -1.33356508 0.98508811 1.19494477 2.79808017 -0.66922675 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.48343326743 pbc="F F F" -C 0.11494842 -0.37981244 -0.32595040 2.67584443 4.88482137 -1.00209895 -C -1.30793741 0.14322970 -0.41082565 1.15943988 1.37879377 0.67302772 -O 1.06464061 0.13394148 0.69679929 -0.82928240 2.38721044 -0.08278965 -H 0.34434731 -1.35713484 -0.11342587 -0.38214026 -3.59263873 -0.19195863 -H 0.65920276 0.00826080 -1.27868669 -0.92545393 -1.25886642 0.42757301 -H -1.26797455 1.28310298 -0.60760822 -0.18500358 -1.27379461 0.43327134 -H -1.73739492 -0.29471796 -1.29673119 -0.72359208 -0.49048021 -0.75570908 -H -1.89216452 -0.08875739 0.48939448 -0.34053630 0.06309551 0.17755407 -H 1.20932501 1.14078454 0.52599466 -0.44927580 -2.09814111 0.32113017 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.697588638647 pbc="F F F" -C 0.12150046 0.35866997 0.35074267 -0.21517127 3.79629876 1.29953877 -C -0.83412099 0.61887788 -0.80518460 1.65944104 -0.64767031 -0.74280224 -O 0.59459507 -0.90827769 0.40954089 2.45874786 -2.40244434 0.86242291 -H 0.99428083 1.03958727 0.13377490 -0.32059528 0.23858154 0.43121503 -H -0.38314337 0.73240624 1.35931655 0.78543017 -0.47631096 -1.16838305 -H -0.87081216 1.65083437 -1.21907966 0.35040960 -0.13388479 0.26887238 -H -0.41484806 -0.09944504 -1.54590339 -0.35963924 0.35753567 -0.52690555 -H -1.82744146 0.32631262 -0.60992301 -1.92642767 -0.67038488 0.44493619 -H 1.55439789 -0.88231634 0.79619171 -2.43219520 -0.06172069 -0.86889443 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.911574292188 pbc="F F F" -C 0.35450746 0.28667261 0.29044376 1.50911239 0.41965030 -1.97343830 -C -0.61510255 0.92480808 -0.74663482 -0.90661314 1.34836265 3.86578784 -O 0.29314635 -1.11312836 0.38386207 -0.88074845 -0.64878062 0.64499040 -H 1.42801399 0.55814087 -0.07571665 -1.11989419 -0.54848540 0.50565800 -H 0.27899076 0.77745415 1.26672873 -0.31441892 0.37160300 0.53517911 -H -0.63131451 0.53278397 -1.71291598 0.76162452 -0.82044547 -2.36154033 -H -1.66126564 0.67464479 -0.38850904 0.36087245 0.52459459 -0.05093362 -H -0.46381421 2.06303423 -0.68737816 -0.33894684 -1.14743709 -0.42462791 -H -0.49954504 -1.37457330 0.94062023 0.92901213 0.50093802 -0.74107523 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.677376389942 pbc="F F F" -C 0.27791767 0.15856797 -0.43658086 2.77091599 0.33602185 0.33121615 -C -1.17918594 0.06032162 -0.50929823 -1.56173024 -2.03636818 3.08641324 -O 0.87366794 -0.18546341 0.82778845 -1.25401382 -0.78836909 0.61055503 -H 0.90091338 -0.29649192 -1.28801198 -0.95570287 -0.51822222 0.60555866 -H 0.55502441 1.20205128 -0.65176871 -0.01848994 0.78701484 0.32477065 -H -1.50651673 0.62867492 -1.33092830 -1.21029935 1.00920960 -1.48964610 -H -1.55960765 -0.99861316 -0.54458599 0.21932124 0.29315060 -0.49356461 -H -1.68206141 0.38274923 0.51235464 0.86485666 0.23126587 -1.69457713 -H 0.16279885 -0.58424936 1.43432852 1.14514233 0.68629673 -1.28072595 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.072485489699 pbc="F F F" -C 0.11651164 0.54849014 0.13130747 2.33483063 -5.14045518 0.05893680 -C -1.11492372 -0.06706064 0.72439214 0.54727003 -1.71598723 1.83513393 -O 0.90711500 -0.39372686 -0.76084272 -1.17695239 0.19966747 -0.90953216 -H 0.26694338 1.50020615 -0.19743644 -0.76284302 3.67455940 -1.73211118 -H 0.83901299 0.55296133 0.95928140 0.27018514 -0.07963074 0.45899077 -H -1.12515931 0.32583736 1.84591854 -0.58391367 -0.91410297 -1.83276425 -H -2.08327027 0.05244773 0.22841506 -0.37767297 0.35629588 -0.21076420 -H -0.88674246 -1.26630044 0.70620933 -0.45930022 2.55520160 0.37912436 -H 0.48642309 -0.65363747 -1.66184363 0.20839647 1.06445172 1.95298594 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.886726324717 pbc="F F F" -C -0.13606815 0.14274162 -0.58533762 1.76971780 1.04361503 0.80621014 -C -1.17690941 -0.37787371 0.40599537 -0.02407119 -0.51819378 -0.04235123 -O 1.17761638 0.26984397 0.13015257 -1.51472357 1.28821275 -1.04063188 -H 0.04752384 -0.53805107 -1.47098104 -0.53186562 0.55731220 0.24025856 -H -0.36710517 1.24506245 -0.86560389 0.28164275 -1.55913101 -0.17489632 -H -0.59534705 -1.11917653 1.02967771 -0.72917184 0.25222716 -0.08426583 -H -1.53883974 0.46132632 1.06386675 0.10387769 -0.61536403 -0.24155399 -H -2.04632124 -0.92598826 -0.08231453 0.55542388 0.55562180 0.38504139 -H 1.45191888 -0.60615081 0.39645347 0.08917010 -1.00430013 0.15218915 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.400666982552 pbc="F F F" -C 0.08384095 -0.65881871 0.06662431 1.19483843 2.76007118 -2.59780896 -C -0.76847941 0.12991569 -0.90843616 -1.42001099 0.88817678 -0.33544901 -O 0.59559929 0.48953679 0.76177281 3.14628170 -2.34217200 1.66522170 -H -0.51446815 -1.26422527 0.69408881 -0.98686352 -1.45939783 1.07744413 -H 0.92392052 -1.26562581 -0.45421444 -0.92062314 0.50965864 0.57515345 -H -0.26025557 1.09794020 -1.36167012 -0.63079132 -1.92901430 0.81558881 -H -1.19921090 -0.49920848 -1.67672498 -0.26366564 -0.40974590 -1.03479733 -H -1.69197389 0.45505136 -0.31395778 0.89099903 0.13204141 -0.52911639 -H 1.44504471 0.00642532 1.05168296 -1.01016456 1.85038202 0.36376360 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742008725031 pbc="F F F" -C -0.22570922 -0.50530343 0.05829904 0.20718316 0.28107361 1.39465656 -C -0.87636437 0.78044675 0.61984482 0.24253291 -3.87720467 3.28864461 -O 0.98276030 -0.22094229 -0.67269997 -0.73273709 -0.00963182 0.50671128 -H -0.09369301 -1.13197052 1.00755668 0.32984843 -0.04237951 -1.06776341 -H -0.90688439 -1.03476968 -0.61289824 -0.49822910 -0.33073988 -0.31226033 -H -1.00386875 1.40809302 -0.14532864 -0.39760576 3.61904819 -3.29002107 -H -1.87579032 0.58093096 1.08554378 0.16712732 -0.21932880 -0.36423489 -H -0.27330460 1.10643799 1.48191578 0.31650733 0.69626315 -0.26198501 -H 1.68524239 -0.70175575 -0.21959762 0.36537281 -0.11710021 0.10625226 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6985090036405 pbc="F F F" -C 0.46901025 -0.15160055 -0.24321497 -1.10845026 0.06861207 0.60685696 -C -0.31397684 1.05639709 -0.75275454 -0.23174410 -2.10007047 -1.78989227 -O -0.12507862 -0.88108459 0.87820343 0.34272045 1.53207903 0.05989613 -H 0.51231943 -0.90942640 -1.04704090 0.56322471 0.03122673 0.03925299 -H 1.37742808 0.36153639 0.03064040 1.79037256 -0.67520236 0.27073602 -H -0.15597208 1.95561656 -0.26497135 0.52643175 2.29012864 1.80316015 -H -0.15612040 1.30762014 -1.82806426 0.13904680 -0.41839406 0.08162088 -H -1.32290502 0.75461282 -0.63517683 -2.02806254 -0.04625324 -0.04244291 -H -0.11771195 -0.26731569 1.67262750 0.00646062 -0.68212634 -1.02918800 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.433427240836 pbc="F F F" -C -0.25563974 -0.47363527 0.05251458 0.07949890 2.55281325 1.11770284 -C -0.94574019 0.97081940 0.37730384 -1.10411913 -2.19378176 -0.21526795 -O 1.09883329 -0.42456527 -0.47967161 -1.53401117 -0.01283305 0.16117233 -H -0.13127491 -0.97670150 1.03621246 -0.57259885 -0.01614499 0.10191116 -H -0.98103384 -1.03977172 -0.51405743 -0.34597506 -0.72914284 -0.96573979 -H -1.65510380 0.76164208 1.23655876 -0.12954261 -0.12688697 -0.77048346 -H -0.23155152 1.54185975 0.95071356 0.90690727 1.18541816 -0.36321884 -H -1.57996037 1.47081558 -0.46825098 1.45824891 -0.53724185 1.15622954 -H 1.45149976 -0.94455369 0.25107297 1.24159174 -0.12219995 -0.22230583 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.886248373792 pbc="F F F" -C -0.26966110 -0.55879471 0.02425068 1.14789608 2.43877388 -0.07508647 -C -0.87750365 0.76468932 0.41154766 -0.19330558 0.17177351 0.28403521 -O 1.04797791 -0.25863866 -0.43523644 0.43852879 -0.37786369 0.28324398 -H -0.36404150 -1.30981758 0.78041886 0.35246437 -0.95454952 1.47347740 -H -0.78736238 -0.96292440 -0.79664396 -1.08427668 -0.78785348 -1.87112785 -H -1.90475806 0.76189581 0.70728916 -1.68313736 -0.49332262 0.10059172 -H -0.45756974 1.19213535 1.33255985 0.83024358 0.21864211 0.13182580 -H -0.82116148 1.47779270 -0.42180243 0.29348942 0.24535881 -0.16960864 -H 1.36868172 0.49142588 0.11383495 -0.10190262 -0.46095900 -0.15735116 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.286964287264 pbc="F F F" -C -0.02798172 0.02248395 -0.66801572 0.68283067 -1.36200477 3.45634610 -C 0.83056156 0.94116805 0.22382606 -1.87531618 1.83831254 -0.51918216 -O -0.69233032 -0.91692789 0.34919013 -0.13947699 0.28507111 -1.54220106 -H -0.62712193 0.73026328 -1.24018698 -0.97634369 -0.54197603 -0.82025772 -H 0.68950590 -0.67176151 -1.21541011 -1.16109515 0.62942354 -0.08209941 -H 0.61757376 2.04235571 0.04530042 0.64446383 -0.57149760 -0.50897868 -H 0.43526564 0.89288542 1.23608938 0.19033487 -0.62569992 0.76179925 -H 1.86068805 0.70627788 0.15754441 1.73689457 -0.11231261 0.22075391 -H -1.55089904 -0.62974989 0.76684251 0.89770807 0.46068374 -0.96618027 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.531675834135 pbc="F F F" -C 0.08075136 -0.17229934 0.52589938 1.43345308 2.87631089 1.03812166 -C -1.18406160 0.24563598 -0.01000913 -3.27726428 0.53128692 0.20512145 -O 1.04018874 -0.12416129 -0.43322485 2.59350616 0.84031239 -3.22217200 -H 0.44798529 0.45866929 1.40162717 -0.66819189 -0.63785131 0.11578324 -H -0.12455751 -1.17413169 0.75351095 0.46116571 -2.32694459 1.25475163 -H -1.92266223 0.44508060 0.78975153 -0.32484285 -0.42329608 0.17417168 -H -1.25703768 1.16045523 -0.57006884 0.59843428 1.21129257 -0.74140705 -H -1.55232981 -0.54505629 -0.66838314 -0.45758699 -0.26843180 -0.35593613 -H 1.04345669 0.75045457 -0.97709402 -0.35867318 -1.80267904 1.53156558 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.588618755016 pbc="F F F" -C 0.43080895 0.06096244 -0.46014763 -2.76292701 -0.43538268 0.88385661 -C -0.72118530 1.03334643 -0.15536728 2.57211093 2.06481019 2.48599550 -O 0.33481498 -0.98732693 0.51838725 0.28669743 -1.09366929 0.63095109 -H 0.28846308 -0.35531769 -1.45947363 0.42676604 -0.13890991 -0.83716870 -H 1.37101100 0.61718146 -0.35335567 0.50135572 -0.37638495 0.13488757 -H -1.69319072 0.72014854 -0.37447644 -2.14207444 -0.71732769 -1.25847695 -H -0.73413887 0.96803538 0.98596809 0.05678078 0.45247410 -0.71658418 -H -0.53752878 2.15282061 -0.36177129 -0.32596812 -1.28903262 -0.24092160 -H -0.55009565 -1.47204611 0.66908737 1.38725872 1.53342290 -1.08253934 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.644067185039 pbc="F F F" -C -0.14250418 0.45643859 0.24964324 -2.57928533 -0.87498645 -0.15323363 -C -0.70552608 0.01403359 -1.13049579 1.56692397 1.39917815 1.55079929 -O 0.75922273 -0.46565854 0.75075790 0.27264255 -1.85685267 -2.40355089 -H 0.35466898 1.40110846 0.14573430 0.29404267 1.62310851 -0.25146740 -H -0.99702167 0.54604967 0.98965135 0.15330316 0.38322835 -0.31343702 -H -1.27112332 0.90778609 -1.50084166 -0.31575754 -0.88637716 -0.16603969 -H 0.28157766 0.02882987 -1.62787851 -0.30036835 -0.73458766 -1.03785648 -H -1.17642520 -0.98628259 -1.01919282 -0.11715220 0.36308843 -0.52238144 -H 0.86111624 -0.11361059 1.59178783 1.02565104 0.58420055 3.29716725 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.598555524474 pbc="F F F" -C -0.57072548 0.00241983 0.03543707 0.79173179 -1.06802535 -1.53554617 -C 0.27793852 1.25518815 0.05514422 -3.25470068 2.60836077 0.51820519 -O 0.24309440 -1.16406224 -0.03570784 1.22221230 -1.07483137 -1.01784486 -H -1.07731447 0.04269134 0.99689252 -0.76335765 -0.75018316 0.43871720 -H -1.28143515 -0.18498990 -0.82463091 -0.18311398 1.24792581 0.53480213 -H 1.25131948 1.15118348 -0.28415870 2.48019972 -0.49804409 -1.35987584 -H -0.25794015 2.11505647 -0.50148824 0.76065444 -0.83738035 0.43754092 -H 0.38739795 1.65241026 1.09551953 -0.05517785 -0.23251579 -0.16580047 -H 0.60713167 -1.28603166 -0.99470496 -0.99844809 0.60469338 2.14980190 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.694061425588 pbc="F F F" -C 0.14879080 0.48821793 0.06364589 0.66843053 0.57303342 -1.34558704 -C -1.31287239 0.07781538 0.19944525 -0.60931376 0.91786995 -0.02436322 -O 1.04328270 -0.56215206 -0.19747696 0.42596720 -1.25635409 0.11679435 -H 0.20253591 1.18188427 -0.77539077 -0.21979818 0.52796829 -0.98456726 -H 0.52914427 1.18103665 0.81927754 -0.01389836 -0.02549039 1.38191946 -H -1.79558888 0.53098770 1.07371512 0.16776336 -0.17314118 0.85654001 -H -1.93630705 0.60225807 -0.56815637 0.29427335 -0.68768255 -0.35147223 -H -1.50553349 -1.00465849 0.21080263 0.13911653 -0.18908748 -0.12701696 -H 1.81564915 -0.31466494 -0.76064093 -0.85254061 0.31288408 0.47775293 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.613026794997 pbc="F F F" -C -0.25961674 -0.44125265 0.19855004 -0.77514009 -3.00104826 1.59448251 -C -0.93440503 0.90368804 0.08655493 -0.08982337 -0.46229705 2.11038353 -O 1.08262616 -0.37455586 -0.26701327 -0.89924759 1.77006279 0.07847663 -H -0.20383911 -0.78523002 1.33214706 -0.38647792 0.57925426 -1.37033715 -H -0.85226984 -1.37180177 -0.26756971 0.82153022 1.69814947 0.25608530 -H -1.98952516 1.04950691 -0.11945341 -0.84275309 -0.74601221 -0.20063183 -H -0.76948438 1.40467240 1.06045402 0.12228963 0.44339820 -0.18119136 -H -0.41136931 1.39958129 -0.66618895 1.25707925 1.50480559 -1.75278363 -H 1.26864445 -1.26318689 -0.49832528 0.79254302 -1.78631283 -0.53448399 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.511711371206 pbc="F F F" -C 0.10856810 -0.16588754 -0.49999996 0.79787462 -0.32099303 1.11387858 -C -0.42825633 1.33234898 -0.20541837 0.78463940 -2.34721867 0.23810521 -O 0.33094148 -1.04096700 0.64726217 -2.26384064 -0.77941275 0.60014607 -H -0.53887842 -0.76450296 -1.18827367 0.04068284 0.75620977 -0.32218088 -H 1.18859414 -0.22977812 -0.85479980 -0.99577337 1.00187835 -0.58011651 -H -0.36878632 1.92206104 -1.07643806 -0.05672246 0.67497065 -2.37972529 -H -1.49464224 1.38817881 0.07400626 0.07210774 -0.16082904 0.58568973 -H 0.26678313 1.94692063 0.38541698 -0.05918877 -0.41221333 1.06963887 -H -0.49778204 -1.64038515 0.79168499 1.68022065 1.58760809 -0.32543585 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.501539095767 pbc="F F F" -C 0.13012000 -0.19029613 -0.50965519 -2.89019547 0.37435892 0.77519537 -C -0.41928094 1.27086297 -0.25849011 -1.98687006 -0.12155954 2.23451083 -O 0.34698182 -0.97762990 0.71103812 -0.12805152 0.67650174 -1.47726700 -H -0.78056617 -0.71325901 -1.07456504 1.93079340 0.83663921 0.35464688 -H 0.98124007 -0.00494939 -1.17073971 0.87399184 -0.90797084 -0.10935132 -H -0.33185513 1.91734242 -1.14279057 -0.10029527 -0.09559288 -0.51799226 -H -1.57914188 1.15182085 0.01679125 2.00621828 0.53074205 -0.50732063 -H 0.00316347 1.94680005 0.60302883 -0.13740736 -1.50433194 -1.03295560 -H -0.35593211 -1.65710605 0.63499298 0.43181615 0.21121326 0.28053373 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.695161414594 pbc="F F F" -C 0.01124511 0.41674103 0.29295708 3.10592524 2.87023085 -1.82568580 -C -1.22403151 0.04529268 -0.30231300 -3.09784750 -2.43483768 -1.91293667 -O 1.13014169 -0.41988671 0.09025150 -0.15935101 -0.40887244 -1.20761352 -H 0.17668555 1.47308054 -0.18893966 0.39731697 -0.74486524 0.78200180 -H -0.02927269 0.62287611 1.32557499 -0.27374185 0.06752434 2.09155739 -H -2.07835797 0.60774793 0.10670595 -0.23129678 -0.01900689 0.06575974 -H -1.30886978 0.08331536 -1.41782706 0.45257365 0.82067440 0.05761551 -H -1.40770227 -1.04811819 -0.25160512 -0.31910898 -0.22867888 0.92905260 -H 1.15904325 -0.58102030 -0.89501823 0.12553019 0.07783159 1.02024889 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.664993548105 pbc="F F F" -C 0.07325527 -0.35204228 0.49668051 0.29352762 1.28786097 -2.84538457 -C -1.16176309 0.60400844 0.26591515 1.36162024 -0.55731796 2.78597001 -O 0.95205240 -0.19965200 -0.69304445 -0.91880907 0.43427006 0.73533539 -H 0.76803240 -0.23252251 1.34541215 -0.67949724 0.14815509 0.75468084 -H -0.31143036 -1.36347358 0.37543554 -0.31491546 -0.82944377 0.74508091 -H -2.01956890 0.00056435 0.62122060 -0.35835647 0.62403657 0.15883314 -H -1.08935778 1.64330798 0.71730098 -0.09222987 -0.92951448 -0.06521934 -H -1.24464536 0.73103321 -0.77528756 -0.17072043 0.09790594 -2.08681926 -H 1.75445810 -0.61371102 -0.37028964 0.87938078 -0.27595243 -0.18247717 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.547557975149 pbc="F F F" -C -0.38306654 0.15427663 0.42471816 1.75385820 -0.08427441 -3.06856149 -C 0.03455125 1.03263180 -0.76720901 0.95004783 0.25341717 -1.31113635 -O 0.30772396 -1.09919676 0.41094366 -0.65715378 1.32141275 2.33706533 -H -0.04170590 0.69792344 1.23253776 0.69585275 1.05371227 2.93885079 -H -1.46460573 0.21889941 0.36351430 -1.09913849 -0.87125429 0.40713587 -H 1.08797518 1.16360182 -1.10872184 0.58758078 -0.69402192 1.12550485 -H -0.32010174 0.58108025 -1.69062847 -0.92592491 -0.17355549 -0.76405678 -H -0.21114236 2.10786423 -0.79636413 -0.98093064 0.07729952 0.45771833 -H 0.21691480 -1.46622056 -0.44224599 -0.32419174 -0.88273566 -2.12252053 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.666911453356 pbc="F F F" -C 0.53432442 0.17907356 -0.12373586 -1.27463058 1.13385554 3.18498715 -C -0.74323011 1.02960991 -0.36600531 1.89118832 2.01887799 2.14415894 -O 0.15418097 -1.09265115 0.46581901 1.24763728 0.31069458 -0.81876993 -H 1.06950721 -0.02643754 -1.01313982 0.74541001 0.04748186 -1.92957526 -H 1.27445132 0.70168278 0.58280096 -0.58269553 -0.13343444 -0.53663009 -H -1.26272069 0.50512634 -1.06163108 -2.41659847 -1.96561140 -2.59922060 -H -1.43275586 1.27557445 0.49058045 0.69115776 -0.75557209 0.03237246 -H -0.60514373 2.04973898 -0.79980672 0.65317905 -0.29826416 -0.06905646 -H 0.99763995 -1.56591059 0.24287883 -0.95464784 -0.35802793 0.59173383 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.521747629572 pbc="F F F" -C -0.26163134 -0.46099853 -0.35446586 0.13261343 -1.02158638 2.76984991 -C -0.91269492 0.37946561 0.70484411 0.74797952 -0.15164937 1.56993705 -O 1.06678306 0.06919965 -0.30950472 -0.47569657 -0.43582975 -0.01518700 -H -0.33067223 -1.47463197 0.23069644 0.38865832 0.39462009 -1.84424804 -H -0.77783484 -0.45182574 -1.34660161 0.28158557 -0.09551343 0.20413070 -H -1.92476896 0.21397014 0.95567091 -2.08680126 -0.91129239 0.03869661 -H -0.38598022 0.18664808 1.72932972 -0.31269628 0.74632547 -1.57816720 -H -0.91176867 1.39301765 0.36609000 0.48850863 1.62131815 0.10411711 -H 1.38997139 0.00444372 -1.19744143 0.83584864 -0.14639239 -1.24912909 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.440224336809 pbc="F F F" -C 0.14058237 0.30823281 0.48340829 -0.84228360 -1.32696191 -3.60802787 -C -0.47735073 0.94192475 -0.89489198 -2.35047821 -0.90948085 2.52667941 -O 0.35423065 -1.12680046 0.45458380 -0.93126519 -0.21384947 -1.61984634 -H 1.11272835 0.65612704 0.75049896 1.10600364 1.36876292 0.32145393 -H -0.62862700 0.56625977 1.17651982 -0.70780524 0.28793516 1.50470901 -H -0.22647087 0.50593402 -1.82325849 1.36390199 -1.10518572 -1.52307508 -H -1.65994279 0.72419650 -0.93226300 2.03587190 0.66135218 0.48768804 -H -0.31523560 2.01708946 -1.02075564 0.00424119 0.47803103 0.31222356 -H 0.10668698 -1.48197665 -0.46324127 0.32181352 0.75939661 1.59819539 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7680096371105 pbc="F F F" -C 0.12296829 -0.59895592 0.01490652 -0.22479265 2.15033355 0.00311505 -C -1.03763655 0.06464421 -0.74192060 0.79332186 0.14606231 0.24189847 -O 0.87345501 0.43051740 0.69222024 0.04643805 1.97180189 -1.85312508 -H -0.30438259 -1.09960280 0.87748048 -0.37520281 -1.24176910 0.19682912 -H 0.67593901 -1.30038794 -0.67118052 0.26020935 0.32879042 0.39877721 -H -0.75513629 0.79481519 -1.56676311 0.01675388 -0.78090662 0.46561460 -H -1.60498237 -0.77375262 -1.10061328 -1.05229143 -0.55771525 -0.97337427 -H -1.65783716 0.60526048 -0.01479830 -0.22896149 0.24890328 0.17006778 -H 0.68000563 1.30531185 0.15117235 0.76452524 -2.26550055 1.35019713 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.689856688431 pbc="F F F" -C -0.38592863 0.32816403 -0.31588611 0.57121889 0.20524193 0.50796886 -C -0.50567648 0.02526376 1.25391802 -0.05239987 0.61124018 -2.81664868 -O 0.82739685 -0.33865339 -0.81398045 -0.81387074 0.79255012 -1.18618378 -H -1.34333087 -0.00923156 -0.80249583 0.45415431 -0.23716218 -0.12085865 -H -0.41557083 1.51519450 -0.46519072 0.41508531 -1.84800684 0.25307773 -H -1.51807058 0.27493176 1.51404140 -1.00363941 0.76789796 0.53273779 -H -0.42239815 -0.99927563 1.58012594 0.51560931 -1.12246041 -0.27584434 -H 0.21828194 0.63826039 1.74785013 0.73376249 0.65680159 0.91584736 -H 0.97097019 -0.25728669 -1.83139090 -0.81992029 0.17389765 2.18990376 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.182326897519 pbc="F F F" -C 0.25464056 -0.05816536 0.52140859 -0.80082871 2.67141288 -2.01210220 -C -1.25093807 0.26833487 0.34641489 0.66580698 -3.10555192 -1.67621081 -O 0.93834093 -0.25963943 -0.71413583 -0.44629013 -0.61976211 -0.32466174 -H 0.54936686 0.91654411 0.84244283 1.37259571 1.13878774 1.53788577 -H 0.63619470 -0.83978659 1.11740746 -0.11447080 -1.39435486 1.59850412 -H -1.87750848 0.60149091 1.18276192 -0.23676490 -0.88296978 0.46787609 -H -1.39088555 1.03735338 -0.36460656 0.60403559 2.34298108 -1.01068948 -H -1.53705197 -0.50421391 -0.44959318 -1.07733727 -0.33040656 1.60092148 -H 0.59623392 0.40406550 -1.33373290 0.03325348 0.17986354 -0.18152324 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.639384543871 pbc="F F F" -C 0.26310413 0.46820941 -0.12019032 1.43489475 -1.77122431 -0.79315376 -C -1.03549696 0.09511818 -0.83685296 0.44831585 -0.44669354 1.51894182 -O 0.66403540 -0.54647546 0.87208492 0.79972916 1.80130350 0.39095046 -H 0.98565250 0.58955910 -1.03824600 -0.22107736 -0.84927191 1.09735414 -H 0.38467068 1.48045064 0.22484003 -0.72604260 1.13295015 1.07926612 -H -1.11074596 0.84037219 -1.58071173 -0.49483550 1.25384881 -1.59641346 -H -0.88575594 -0.86329368 -1.33398081 0.03480174 -0.55465774 -0.26219178 -H -2.00083040 0.04600627 -0.29743286 0.20022267 0.09974953 0.48023606 -H 1.28944305 -0.13285023 1.58681892 -1.47600871 -0.66600444 -1.91498960 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.552266338894 pbc="F F F" -C 0.09255293 0.01692318 0.49321040 -1.55847887 2.62680499 0.71024435 -C -1.20735594 0.48067572 -0.13330251 0.07584777 0.36717968 -2.04309336 -O 1.05494584 -0.50007234 -0.27409526 2.64064093 -0.98230449 -3.78514058 -H 0.41930689 0.97141248 1.05656009 0.05753534 -0.99908973 0.14790219 -H -0.17060863 -0.79283015 1.15272147 -0.23390038 -0.51693656 1.35154814 -H -1.95951815 0.60838869 0.59669175 -1.56267821 -0.65441334 1.56292940 -H -1.26313205 1.52466994 -0.47528191 0.93799547 0.51177594 -0.56220918 -H -1.59269688 -0.09276257 -1.01705626 0.11443927 -0.30432595 0.56547386 -H 1.10420772 -0.21197895 -1.25151429 -0.47140138 -0.04869049 2.05234517 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.512207566744 pbc="F F F" -C 0.04594396 -0.33213838 0.45658107 1.50504917 3.92954438 -3.07185071 -C -1.14364680 0.65029155 0.25057771 -1.56439313 -1.22160300 1.76384365 -O 1.01542924 -0.35039869 -0.64680620 -0.43449468 0.25774598 0.10510375 -H 0.65129486 -0.04861467 1.29504607 0.08652470 -0.13101667 1.64072541 -H -0.44894868 -1.23982093 0.45951812 -0.52452579 -2.89472745 0.51534942 -H -2.00966264 0.08619888 -0.18166744 0.22168424 -0.11249665 0.10735429 -H -1.50936688 0.90131800 1.30911505 0.21564703 0.13202995 -1.00917674 -H -1.19196654 1.53498111 -0.37613398 1.09422331 0.85912402 -0.24763177 -H 1.46970306 0.53530325 -0.66545173 -0.59971485 -0.81860060 0.19628266 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.837905184388 pbc="F F F" -C 0.08382274 -0.09052843 -0.60098471 -1.22540021 1.17028351 0.99180122 -C 0.52712398 1.17577362 0.24611349 -1.29203140 -2.27307481 -0.82056564 -O -0.57900262 -1.00307281 0.27206890 -1.27541837 -0.18942048 -2.07229391 -H -0.64231634 0.29456604 -1.44265110 0.91911745 -0.84693457 1.17565120 -H 0.92684913 -0.61464592 -1.07757220 0.51020742 0.13992910 -0.33397289 -H 0.93296024 0.83652541 1.20979666 0.62451104 -0.03174326 0.11944820 -H 1.23547871 1.64743271 -0.39545794 1.05103359 1.38807782 -0.28586656 -H -0.37205429 1.75102504 0.49821047 -0.10674437 0.49413519 -0.18212554 -H -0.17128023 -0.92613747 1.11770109 0.79472486 0.14874752 1.40792392 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.811221432356 pbc="F F F" -C -0.47904858 0.03677344 -0.32385994 -0.37654353 0.10825834 -1.71751246 -C 0.43999111 1.21447298 0.04636290 -1.71265477 1.54625507 -1.87788594 -O 0.06897973 -1.12295673 0.28738141 -1.21298204 -1.08277747 -0.06346755 -H -1.62128882 0.21521111 -0.12816164 1.48304865 -0.08456531 0.25838870 -H -0.44698962 -0.00102235 -1.48872173 -0.02338774 -0.36689691 1.04207890 -H 1.48203058 0.98781127 -0.15465631 0.72681655 -0.58944596 0.38679838 -H 0.28915813 2.11105945 -0.73764914 -0.21152339 -1.41537657 1.70686233 -H 0.21553042 1.52130370 1.07718677 0.43686899 0.36097061 0.23744974 -H -0.54895813 -1.92072122 0.17697046 0.89035733 1.52357819 0.02728790 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.742975252302 pbc="F F F" -C 0.15675429 -0.33646102 -0.39942704 0.30977381 -2.86676027 2.21657779 -C -1.29681126 0.16024793 -0.36554239 1.68075138 1.51595101 0.63758119 -O 1.05306771 0.11357327 0.70967454 -1.32046468 0.85149119 -1.66414030 -H 0.11979818 -1.56811499 -0.23121073 0.34309871 2.80219625 -0.56820139 -H 0.58896677 -0.10691165 -1.38742708 0.31388619 -0.14921767 -0.24695691 -H -1.30714991 1.16063052 -0.87342549 -0.40759501 -0.09564589 0.58761832 -H -1.94737920 -0.46531833 -0.91484945 -0.97039349 -1.24359844 -1.23648846 -H -1.71130145 0.16545771 0.65895869 0.14440236 0.35861630 0.14448314 -H 1.12536505 1.10973690 0.59847239 -0.09345927 -1.17303243 0.12952662 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.402598262802 pbc="F F F" -C -0.34279165 0.34051513 -0.24763944 0.50689218 2.89089404 -1.12564585 -C -0.53789492 0.00739693 1.18199849 -0.76564182 -0.11968294 0.20614202 -O 0.77684817 -0.38111637 -0.87830422 -2.76203967 0.44595892 0.48477848 -H -1.28100327 0.29126210 -0.82116162 -0.19288186 -1.23487375 -0.35484264 -H -0.32253733 1.51638287 -0.30177267 1.01126833 -1.18254577 -0.29220258 -H -1.49199808 0.44587177 1.58247715 -0.31119229 -1.18679853 -0.43861353 -H -0.29999197 -1.05783131 1.12530015 -0.81945611 -0.86478560 1.12966932 -H 0.09450184 0.46797320 1.92102153 1.61337832 0.47821260 0.25920570 -H 1.46318192 0.23869051 -0.69812370 1.71967295 0.77362098 0.13150909 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.817136467019 pbc="F F F" -C 0.24328527 -0.13458552 -0.45067071 0.91325049 1.45555547 -0.60804965 -C -0.53361623 1.23075366 -0.27853555 0.85623451 -1.63403056 3.04733816 -O 0.26023076 -0.97388577 0.70385021 -0.65939208 0.88142542 -0.49456502 -H -0.27181403 -0.49905350 -1.35584054 -0.12291836 -1.12551370 -0.10600991 -H 1.34444215 0.03978564 -0.80410166 -1.25109320 0.16089902 0.37834151 -H -0.60153680 1.78815847 -1.16154134 0.09298866 0.86755406 -2.30687727 -H -1.60716818 1.02178722 0.02771631 0.89140115 0.20262249 0.20781488 -H 0.03101816 1.91239596 0.43221039 -0.79958013 -0.50946154 -0.05528604 -H 0.43294029 -1.86776330 0.37836994 0.07910896 -0.29905061 -0.06270666 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.63287122496 pbc="F F F" -C -0.43211912 0.27747472 -0.29457116 3.16616873 0.50681865 -0.71626099 -C -0.52537261 -0.01060447 1.13535478 -0.21256001 0.75662593 0.96146569 -O 0.83907957 -0.20671232 -0.80666015 -0.73312337 2.49788727 -1.77050291 -H -1.12169096 -0.19396734 -0.93350612 -2.21529295 -0.43754452 -0.94634220 -H -0.40249710 1.37365595 -0.37205804 -0.28318813 0.35702304 -0.67087740 -H -1.36961181 0.64562515 1.52132764 0.64231264 -1.01476869 0.49295392 -H -0.58957541 -1.08598927 1.27027675 -0.70693364 -0.75609701 0.60867679 -H 0.48285281 0.25366603 1.54434648 -0.52432900 0.38233279 0.31798258 -H 1.09007080 -0.89331941 -0.24482555 0.86694573 -2.29227747 1.72290452 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.614458544409 pbc="F F F" -C -0.35221710 -0.08625488 -0.40586328 3.14336535 0.54107748 -0.75994729 -C -0.81356320 0.46675096 0.84293542 -0.25002938 1.27930377 3.09833185 -O 1.07623412 -0.29670704 -0.39907529 0.28576325 -1.74072001 0.00465627 -H -0.96423530 -0.90997622 -0.65022108 -0.70523671 -2.12757398 -0.44681818 -H -0.41285249 0.56009088 -1.25303368 -1.06537953 1.41184814 -1.01846074 -H -1.87550679 0.39011165 0.79934215 -1.83731475 0.28851176 0.07979797 -H -0.58839877 -0.17257389 1.75972006 0.30047418 0.41772830 -0.82620279 -H -0.59148479 1.55393125 1.10628466 0.21204229 -0.95451733 -0.41719572 -H 1.23957007 -1.24736873 -0.63561343 -0.08368465 0.88434188 0.28583869 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.804627216205 pbc="F F F" -C -0.19617748 -0.11855645 -0.58584018 1.21106070 -1.31461454 0.54686858 -C -0.10345130 1.24993467 0.02699161 -2.70531036 0.65320286 -0.84082136 -O 0.20277559 -1.02591220 0.50835786 0.69400104 -0.26348669 -0.89011478 -H -1.16236083 -0.51282520 -0.93208315 -0.47978262 0.33427515 -0.10795408 -H 0.53263600 -0.20446070 -1.45640390 -0.55036132 0.05709291 0.44859826 -H -0.74084057 1.39144654 0.91942005 0.05995943 -0.38669286 0.17573172 -H 0.89653464 1.28193406 0.28056706 2.82466302 0.64737134 1.14959522 -H -0.33000343 2.13679044 -0.59530641 -0.00690151 -0.13674129 -0.51976760 -H 1.15471638 -1.29130649 0.37374402 -1.04732838 0.40959307 0.03786403 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.788406117016 pbc="F F F" -C -0.23511268 -0.19848445 -0.52731817 0.63210562 0.24876229 0.88063342 -C -0.21267027 1.27135971 -0.10166009 1.34313246 -1.06173983 -1.28251045 -O 0.34789684 -0.97198135 0.60761973 -2.18158707 1.21006965 -0.88811374 -H -1.27699690 -0.53037408 -0.81383498 0.61898568 -0.15484819 0.19712685 -H 0.48184134 -0.26248536 -1.37825938 -0.47632952 -0.44398678 -0.26697820 -H -0.77443276 1.29753979 0.80389407 -0.47759857 0.73271204 1.36923050 -H 0.87489106 1.51851480 -0.03185152 -0.39604690 0.16954199 0.72672081 -H -0.57790983 1.94333629 -0.87451318 -0.70084234 0.38803765 -0.41050586 -H 1.08514455 -1.32389064 0.14455414 1.63818063 -1.08854878 -0.32560333 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6078180695695 pbc="F F F" -C -0.29370379 -0.19557132 -0.44365028 0.97866077 0.06661273 0.52684462 -C -0.99341272 0.25673302 0.86555904 2.11693660 3.09854787 0.58319890 -O 1.14888156 -0.01545533 -0.38403194 -0.50022207 -0.46358101 0.27749252 -H -0.61956610 -1.25434145 -0.47253129 0.43148659 -0.30879468 -0.69347628 -H -0.59909502 0.31823893 -1.38200734 -0.64585768 0.04610262 0.23636319 -H -1.42054438 -0.61126737 1.34193829 -0.99289548 -0.35794185 0.48175907 -H -0.18713567 0.67300380 1.67080000 -1.30939931 -0.90512483 -1.78711348 -H -1.65454812 1.18397559 0.70020016 0.19415630 -1.37017019 0.31069216 -H 1.58067462 -0.79458960 -0.79002181 -0.27286572 0.19434929 0.06423924 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4210.006635089632 pbc="F F F" -C -0.31728034 -0.25319484 -0.40656920 -0.14784763 -0.49156341 1.88258309 -C -0.85794899 0.62017799 0.77660854 -0.79502182 -1.09351410 -1.12650912 -O 1.07109193 -0.31704515 -0.30862597 1.80303576 -0.32775020 -0.32024720 -H -0.75766091 -1.28956076 -0.34081508 -0.19501274 0.35699826 -0.22025214 -H -0.62364696 0.25622890 -1.31109971 -0.58643854 0.21582793 -1.07741801 -H -1.97015277 0.57044634 0.76994409 0.04858867 0.04485255 -0.12946640 -H -0.57365854 0.34070311 1.79342581 0.55685804 -0.40983475 0.27156114 -H -0.59185774 1.64771167 0.59475292 0.38686868 1.04991851 -0.00931156 -H 1.51828823 -0.86745875 -1.01669581 -1.07103046 0.65506527 0.72906020 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.621965762177 pbc="F F F" -C -0.34621042 -0.25375048 -0.41443610 0.40176966 1.00998654 0.78097856 -C -0.13735674 1.31117141 -0.19067743 0.05862781 -0.82799006 -1.16603676 -O 0.44456378 -0.96744453 0.54464605 0.61275024 0.34122057 -1.28619160 -H -1.40908844 -0.56253748 -0.51560788 -0.14971662 -0.01229574 0.50111805 -H 0.05667527 -0.45927174 -1.44461849 0.18208759 -0.08239519 0.50996671 -H 0.06821927 1.69397539 -1.18379438 0.06499083 0.46180710 -1.00993527 -H -0.83636456 2.07476508 0.18965162 -0.64416759 -0.66062019 0.64752571 -H 0.83274979 1.44754378 0.27871241 0.52720293 -0.09285784 0.70004360 -H -0.00767589 -1.43969362 1.24087599 -1.05354489 -0.13685524 0.32253101 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.274667137831 pbc="F F F" -C -0.26592061 -0.00762467 -0.53384094 1.94131786 -0.40438124 0.66014546 -C 0.22013785 1.26529629 0.20166463 -2.79692039 0.06733459 -1.41865118 -O 0.07440076 -1.10870875 0.29741206 0.13347804 -1.27923096 0.85841671 -H -1.29238724 -0.24865483 -0.79837496 -0.95605146 1.38947146 -0.59290142 -H 0.41541130 -0.00600986 -1.36644605 0.20523565 -0.45990212 -1.83793628 -H 1.15517070 1.14482272 0.67529075 1.72149093 -0.28499274 0.47006898 -H 0.03157668 2.27016133 -0.22844430 0.74571556 -0.27423056 -1.09008465 -H -0.52117945 1.38165479 0.92069406 -1.49527327 0.08271381 2.89277480 -H -0.42502029 -1.93105879 0.03459172 0.50100698 1.16321770 0.05816763 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.492625619784 pbc="F F F" -C 0.14561104 -0.34991256 -0.41047884 2.00333515 -1.10394856 2.25945989 -C -1.27272720 0.14787035 -0.31025051 0.82271735 2.49691698 -0.49446619 -O 1.03157425 0.19233795 0.60435241 0.06743615 -0.16888976 1.52387243 -H 0.19196940 -1.49228180 -0.48343318 -0.34491967 0.47979434 0.66268252 -H 0.85093535 -0.14128193 -1.22498628 -0.89946490 0.73165758 -1.26809324 -H -1.33690124 1.20621743 -0.73546665 -0.12287815 -0.97320401 -0.22562718 -H -1.85000584 -0.57026373 -0.84992283 -1.44067413 -0.47569914 -0.62789564 -H -1.66520790 0.38529770 0.70547876 0.32854930 -0.93280287 0.13325662 -H 0.86447937 -0.03468608 1.58349665 -0.41410109 -0.05382457 -1.96318921 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6512425346145 pbc="F F F" -C 0.16483481 0.48743169 -0.17867362 -1.61337498 -1.94978949 -0.81748402 -C -1.29236366 -0.05015758 -0.25376272 -1.06626836 1.89680233 -1.63752793 -O 1.07916941 -0.34269743 0.43330011 1.10957131 0.07214112 1.05748964 -H 0.43592204 0.67570230 -1.19664877 0.55102030 0.04419810 -1.78322926 -H 0.28191255 1.43165019 0.24284129 -0.26641806 2.45957668 1.46855173 -H -1.76720312 0.20430358 -1.30039387 0.66342742 0.18780491 1.53015045 -H -1.34224890 -1.11409452 -0.36179619 0.32687834 -1.57778797 0.34845247 -H -2.05842452 0.26580241 0.50224248 0.59345164 -0.08065481 -0.01939368 -H 0.75473333 -1.23569865 0.38877277 -0.29828761 -1.05229086 -0.14700951 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.805130044738 pbc="F F F" -C 0.14048073 -0.45094568 -0.34309789 0.43748662 2.35660597 0.46373363 -C -1.27396862 0.15690006 -0.28078831 1.49176890 -1.30964521 -1.72891715 -O 1.05130015 0.20357098 0.59819443 -0.83632877 0.92654778 -0.18206785 -H 0.18077140 -1.52604940 -0.24133233 0.14655216 -0.88331338 0.61434947 -H 0.55667023 -0.21185072 -1.33314225 -0.10821036 -0.26922622 -0.71972848 -H -1.10202471 1.17041045 -0.63433838 -0.71110675 0.88147509 0.17621241 -H -1.93659582 -0.38199680 -0.97019945 -0.10956904 0.03061136 -0.78813589 -H -1.79652785 0.00543804 0.62285043 -0.46356029 0.36408695 2.10782307 -H 0.91578548 1.21506465 0.49508492 0.15296742 -2.09714234 0.05673090 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.462550992672 pbc="F F F" -C 0.36043808 -0.26039926 -0.12204976 -1.55291547 -1.33853748 -1.36103217 -C 0.26460777 1.15539024 -0.68008024 2.17889183 0.08878634 -1.82463555 -O -0.59384854 -0.87096770 0.72362310 -1.31684441 1.42280284 0.54878817 -H 0.49945846 -1.05653150 -0.94749576 -0.14802864 1.24287138 0.39878626 -H 1.25145546 -0.28822446 0.39457062 3.12788617 -0.02755750 1.55205245 -H 0.20951882 2.10049961 -0.10768941 -0.16624676 -0.45481992 1.04944378 -H 1.39132506 1.24038545 -1.11824288 -2.33337255 0.10209391 0.23700925 -H -0.48747360 1.30082838 -1.47875229 0.08120529 -0.19975704 -0.29045911 -H -0.88699876 -0.13805869 1.32952602 0.12942454 -0.83588243 -0.30995307 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.736373258807 pbc="F F F" -C -0.28851384 -0.47549382 -0.21681634 -0.56739905 2.22985337 1.53180506 -C -0.89929425 0.74200723 0.66474688 -1.61523229 -1.11955491 -1.50335805 -O 1.09681552 -0.29065821 -0.40743052 0.45866516 0.24044944 -0.88110203 -H -0.43369087 -1.41297164 0.38055475 0.25802356 0.32452403 -0.13574200 -H -0.95864461 -0.57208787 -1.07245264 0.12083598 -0.17856899 -1.20694282 -H -1.99990797 0.50752775 0.94167606 1.08201751 0.45127051 -0.63039388 -H -0.39831491 0.59680675 1.57749286 1.15903524 0.41505589 1.98737790 -H -0.80495164 1.82794839 0.29745914 0.02598044 -1.35978395 0.06874716 -H 1.33839096 0.48920369 -0.99501554 -0.92192653 -1.00324546 0.76960857 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.87430585197 pbc="F F F" -C 0.07177341 -0.32569344 0.44815011 0.76381999 1.78257573 0.65218368 -C -1.33179064 0.06307988 -0.03752568 0.98559535 1.24366359 0.72455398 -O 1.13604057 0.18617503 -0.41482772 0.37501805 1.58378502 1.63868127 -H 0.27044408 -0.02231713 1.56499160 -0.51134230 -0.24564354 -1.48866877 -H 0.18034180 -1.37971562 0.42525590 0.17671918 -1.92687509 0.01983226 -H -1.65006703 -0.37722254 -0.98195581 0.24803045 -0.11440528 -0.68692829 -H -2.10517955 -0.19749770 0.68015692 -0.42282562 -0.27775837 0.69613598 -H -1.30855236 1.17939429 -0.08077989 -0.36977860 -0.21570205 -0.37413945 -H 1.59371071 0.96996006 0.08400698 -1.24523654 -1.82963995 -1.18165067 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.695768334541 pbc="F F F" -C 0.15715497 -0.46287074 -0.39557845 -0.33222459 2.20043804 3.89869138 -C -1.24476969 0.20745549 -0.36326856 0.36578387 -1.56125335 -1.05828226 -O 0.99212112 0.18590209 0.69276384 -0.83888455 -3.61193800 -0.07883452 -H 0.07821174 -1.54192260 -0.13141633 0.13648649 0.25532004 0.07114589 -H 0.72908155 -0.35785599 -1.26183484 0.89336763 0.19513199 -2.50480744 -H -1.19055240 1.32816998 -0.52177993 -0.19264871 -0.82441566 0.40386702 -H -1.82731450 -0.26896802 -1.22427712 0.13444375 0.63883841 0.66198946 -H -1.70577981 -0.17858473 0.59190183 0.00888131 0.94564497 -0.47289345 -H 1.12717403 1.11031957 0.59339927 -0.17520526 1.76223352 -0.92087608 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.398245298819 pbc="F F F" -C -0.45447815 0.04155424 -0.34081817 -2.67740787 -0.31153173 0.87485836 -C 0.45780481 1.21903600 0.05274047 0.73903506 1.36606064 -2.47254775 -O 0.02462994 -1.12731968 0.25735760 2.17278088 -0.36379723 1.26288583 -H -1.56909926 0.19109555 0.01953660 1.36808281 0.42899313 -0.42030110 -H -0.57697518 -0.16097295 -1.40094397 0.21050580 0.46672799 -1.21465835 -H 1.54299047 0.95788128 -0.16682541 -0.78965110 -0.02921072 0.81652818 -H 0.39572769 2.29834724 -0.45495919 -0.60535390 -2.17988633 -0.11371803 -H 0.21389745 1.56806256 1.02903506 0.34491751 -0.24756708 1.89771841 -H -0.43813114 -1.98285873 0.32178435 -0.76290915 0.87021134 -0.63076556 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.740148031925 pbc="F F F" -C -0.31436700 -0.49696382 0.00392776 0.47731873 1.36871473 -3.34597570 -C -0.87224772 0.86291002 0.48146305 0.68732800 -0.86362901 -0.54822607 -O 1.05590815 -0.28919096 -0.45910210 0.02201852 -1.28564812 0.91822810 -H -0.27700812 -1.26789429 0.78865128 -0.69907748 -0.19658219 0.21078991 -H -0.87334036 -0.81393846 -0.98741151 0.18272841 -0.08159558 1.78994174 -H -1.93895832 0.73565070 0.65812043 -0.73333507 0.40867657 -0.15460023 -H -0.42059681 0.97834099 1.43710336 0.58017240 0.55496483 1.66435015 -H -0.55824755 1.79020316 -0.08938455 -0.50672444 -1.00663443 -0.14256849 -H 1.44614931 -1.19407500 -0.30354235 -0.01042907 1.10173319 -0.39193946 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.649928962487 pbc="F F F" -C -0.22895235 -0.13625717 -0.42208784 0.29512176 -3.39014912 -0.75394160 -C -0.23232269 1.32046678 -0.14208384 1.56717265 0.38271408 0.26949952 -O 0.35673855 -1.09773827 0.54409987 -1.07632318 1.29727846 -0.16653272 -H -1.26207469 -0.51074178 -0.75965462 0.80425929 0.19889171 0.83978130 -H 0.41328815 -0.41435684 -1.32638436 -0.65765000 1.08329766 0.10706576 -H -0.75995821 1.77809731 0.68574381 -1.01241006 -0.46305820 0.87398717 -H 0.82201790 1.64833803 0.10175988 -0.39749124 0.16293534 -0.84769362 -H -0.68481622 1.72262620 -1.04990772 0.31544685 0.88951812 -0.54250866 -H 1.30450581 -0.91180616 0.43446537 0.16187398 -0.16142805 0.22034279 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.3503205454035 pbc="F F F" -C -0.05810081 0.34622520 -0.31737901 -0.17757536 1.31086222 -0.23379702 -C -1.18238287 0.12362139 0.71321366 -2.72138002 -2.48557857 -1.03344627 -O 1.18887806 -0.37344325 -0.38399466 -1.04737733 -0.21498070 0.70165192 -H -0.55279182 0.43301252 -1.32193315 0.27127379 -0.24526749 0.09219336 -H 0.24576262 1.36933061 -0.06831527 0.53024727 0.52947871 -0.29433624 -H -1.77233963 0.84052845 1.30838732 0.84474492 1.50318209 -0.38567337 -H -2.14675487 -0.42639808 0.29116906 1.70019967 0.45373903 0.09487616 -H -0.92421343 -0.54225738 1.50280476 0.94366907 -1.23027318 1.15530559 -H 1.05956244 -1.34664765 -0.33362500 -0.34380201 0.37883788 -0.09677414 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.641110633672 pbc="F F F" -C -0.16414318 -0.17324314 -0.50802684 2.00092479 0.55669786 0.29608654 -C -0.18960705 1.30825177 -0.10933104 -2.70936643 -0.80004196 0.03250328 -O 0.28432126 -1.06344212 0.58441175 1.10367381 0.92499463 -1.62080547 -H -1.13736221 -0.36777807 -0.91466579 -1.61723919 -0.99111864 0.60070853 -H 0.36159350 -0.28837727 -1.47474644 1.06921490 -0.32689407 0.05275088 -H -0.98310024 1.27724576 0.71624885 1.11046693 0.84405062 -0.34390440 -H 0.72696591 1.79936968 0.11708159 1.50609407 0.22266291 0.99743986 -H -0.57865167 1.97708763 -0.92087908 -0.28059327 -0.51493048 0.01196911 -H 1.31174862 -1.04350315 0.55686934 -2.18317560 0.08457919 -0.02674833 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.809226147998 pbc="F F F" -C -0.06660720 -0.06821214 0.55554114 2.19452152 1.80649924 -0.84869640 -C -1.15674619 0.60542414 -0.28024991 2.19502504 -1.02824101 -2.05484789 -O 1.08297959 -0.54780966 -0.22977699 -2.09921959 -1.55356452 0.39768505 -H 0.35963499 0.69518829 1.26702585 -0.47699446 -0.43440875 0.19540838 -H -0.47615636 -0.92438420 1.09402291 -0.04057788 -0.44698906 0.33062238 -H -1.83460313 1.19220503 0.23362426 -2.21905906 1.00906202 2.11105453 -H -0.78186555 1.40535437 -0.97352352 0.48745566 -0.61704368 -0.03365323 -H -1.65261799 -0.16863913 -0.88345272 -0.35618229 0.04413228 -0.25843298 -H 1.77167268 0.09289390 -0.37075668 0.31503100 1.22055348 0.16086015 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.737089204386 pbc="F F F" -C -0.23734686 -0.49970815 0.05386185 1.71694167 0.53451839 1.24994834 -C -0.90012919 0.76986193 0.64562281 1.24285035 -1.87115788 1.61278717 -O 0.98788808 -0.25987466 -0.66461604 -0.63950016 0.42836773 -0.49661841 -H -0.05350371 -1.31449778 0.80913234 -0.42833277 0.32161606 -0.09549240 -H -0.87088887 -0.84973204 -0.70948533 -1.45492149 -1.10433407 -1.31520312 -H -1.00806317 1.46197517 -0.10791971 -0.95856338 1.83411660 -2.77015458 -H -1.88094934 0.61253663 1.17477923 0.76070334 0.04102135 -0.03112933 -H -0.10739053 1.31733804 1.18261745 -0.13906156 -0.16269987 1.16844918 -H 1.79296070 -0.32321065 -0.13455027 -0.10011596 -0.02144830 0.67741315 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.333643049081 pbc="F F F" -C 0.27219508 -0.14828516 0.50542458 -1.07478910 -1.42524740 0.91655627 -C -1.20476410 0.44445863 0.39456291 2.15286938 -1.15150437 2.21207913 -O 0.87959571 -0.31017995 -0.80203939 -0.02428475 0.49054469 1.50013029 -H 0.80870801 0.44552543 1.41579453 -0.35733610 -0.63918299 -2.27780925 -H 0.19180963 -1.20283329 0.90139257 0.24584213 0.42662144 0.03472286 -H -1.45974374 0.77795998 1.47519913 -0.49120336 -0.63077888 -1.59048907 -H -0.85102527 1.28717119 -0.11171365 -0.37515997 2.67397097 -1.33466694 -H -1.89518170 -0.13721129 -0.25237195 -0.06846038 -0.03552988 0.59146680 -H 0.35487267 0.22225888 -1.42156475 -0.00747780 0.29110641 -0.05199009 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.840375800519 pbc="F F F" -C 0.27854783 0.39610442 -0.31220931 -0.84697700 0.68341637 0.19651668 -C -1.10727846 -0.12410278 -0.64030197 -1.33270483 0.96054760 -0.33116082 -O 0.74057615 -0.25221964 0.86826967 0.23132274 -0.17040527 -0.55147261 -H 0.96912656 0.42649708 -1.20399715 -0.03760944 -0.27145377 0.54611767 -H 0.01418460 1.45600420 -0.04625209 0.68681347 0.09859346 -0.17761228 -H -1.71609560 0.68774977 -1.22804377 0.77958430 -1.38142380 0.77955987 -H -1.26242138 -1.12267809 -1.05861330 0.52836419 -0.39770300 -0.85546082 -H -1.57653761 -0.29734819 0.34322010 -0.37261442 0.53651891 0.30073607 -H 1.69054392 -0.38934551 0.76153099 0.36382099 -0.05809050 0.09277623 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.82413678641 pbc="F F F" -C -0.20604862 -0.43238180 0.28073486 -0.06792733 -0.63310994 0.25848851 -C -1.00584719 0.87411014 0.06213353 -0.57789759 0.38537903 0.26802021 -O 1.10124144 -0.39030494 -0.35352467 0.23458465 -0.56352389 0.54730330 -H -0.11290930 -0.58763140 1.42036136 -0.07743687 0.13394028 -1.04501479 -H -0.89440414 -1.28968575 -0.10075951 1.02346344 0.62467065 0.27792796 -H -1.97788305 0.86242511 0.62159380 0.32105088 -0.49251930 0.08047180 -H -0.50654305 1.75496025 0.49176599 0.49697857 0.17509722 0.03313865 -H -1.36593240 1.19670351 -0.95064727 0.70346790 -0.66360113 -0.03925906 -H 1.81732982 -1.00649197 0.04366254 -2.05628364 1.03366702 -0.38107660 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.832862494691 pbc="F F F" -C 0.14083493 -0.55191265 -0.19544472 -0.17584845 3.00482228 -0.12727675 -C -1.20978225 0.11960835 -0.37893489 -0.81369436 0.92901080 -0.48191514 -O 1.00455492 0.39963552 0.48497295 -0.03275227 -1.19302878 -0.09467263 -H 0.10660300 -1.49279108 0.33035116 -0.10173365 -1.04942506 0.28503758 -H 0.46170761 -0.65301141 -1.22391327 1.03531932 -0.54282830 -0.67307441 -H -1.11832444 1.27843676 -0.57900821 0.09634940 -1.96235365 0.18375274 -H -1.71051521 -0.36976231 -1.24898465 -0.19728765 0.29850600 0.11093429 -H -1.88385338 -0.00439382 0.48267401 -0.16878090 0.08081720 0.32221806 -H 0.93539447 0.04783634 1.38508518 0.35842856 0.43447945 0.47499620 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.242152925644 pbc="F F F" -C -0.07995877 -0.16350901 0.54110608 2.69446344 1.47028764 0.66489352 -C -1.12564355 0.64864407 -0.26449660 5.06963412 1.80591894 1.33674311 -O 1.03897285 -0.44030996 -0.29612440 -1.46827513 -0.29959764 -1.92172306 -H 0.38496275 0.26045691 1.49751064 -0.92147278 0.62756566 -0.55592900 -H -0.59290556 -1.01781152 0.95445848 -0.50698356 -1.51756484 0.02380601 -H -1.68213037 1.06909968 0.48590778 -2.88379872 0.93060108 2.05754225 -H -0.64731113 1.57407729 -0.72510286 -0.25465695 -1.18315409 -0.27426013 -H -1.50450901 -0.08739566 -0.85765700 -2.02901405 -1.73070654 -2.58563540 -H 1.91496972 -0.59163726 0.04927146 0.30010358 -0.10335021 1.25456270 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.896978884895 pbc="F F F" -C -0.06844843 -0.16115808 0.54756752 -1.40809094 0.12148775 -1.33283349 -C 0.81322934 1.03308564 0.14619946 0.83514251 -1.04249141 1.00746804 -O -0.74165438 -0.77309674 -0.61473708 -0.92228397 1.50747830 1.52056805 -H 0.51395054 -0.98924089 0.92378811 0.78269369 -0.43178669 1.06192608 -H -0.87281100 0.13535781 1.31333612 0.83470471 -0.31248165 -0.80600532 -H 1.58795991 1.14663948 0.94797612 -0.34830659 0.36367783 0.00003857 -H 1.44834027 0.85973161 -0.75302583 -0.50018901 -0.09070284 -0.11881828 -H 0.22057024 1.93594005 0.06672947 -0.23689484 0.75132442 -0.29046688 -H -0.00132159 -1.20824522 -1.00784477 0.96322443 -0.86650566 -1.04187671 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.403244222854 pbc="F F F" -C -0.05518807 0.25974584 0.49418140 1.72981390 -0.88367987 -1.17903261 -C -0.17969179 0.96107883 -0.83717242 -3.17387633 0.46932306 0.26406529 -O 0.24225045 -1.08781053 0.32265597 2.61330670 -0.24090458 0.47578697 -H 0.92502011 0.52338960 0.80693891 1.23987491 1.40763194 1.29745659 -H -0.71450759 0.44737001 1.30386013 -1.66923854 0.51145389 1.03435237 -H 0.84514772 1.17892794 -1.11025194 0.34522034 0.26740140 -1.08260367 -H -0.77809273 0.26341578 -1.53517667 0.93561853 0.96374698 0.37747859 -H -0.82433278 1.90778421 -0.67632052 0.98721062 -0.76539756 -0.56017980 -H -0.50070508 -1.60262576 0.17642449 -3.00793013 -1.72957525 -0.62732372 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827861447869 pbc="F F F" -C 0.43173577 0.30572622 0.22363748 -1.11810866 -0.50961020 1.51602758 -C -0.59262409 0.88162745 -0.71099765 -2.20917368 1.92718121 -0.08498147 -O 0.13410307 -1.07292433 0.43596784 -0.26204651 -0.44662993 -0.57303008 -H 1.45942479 0.44683199 -0.09685131 0.82545439 0.35135566 -0.14668976 -H 0.23287888 0.74661705 1.25102324 0.62930157 0.48803504 -0.65395332 -H -0.44011730 0.96182757 -1.81453850 0.43798562 -0.66019400 0.25286237 -H -1.55661673 0.29572548 -0.52226671 0.77806760 0.54046885 -0.29828339 -H -0.86517771 1.99430449 -0.45472468 0.49259803 -1.51577114 -0.05970258 -H 0.95711087 -1.56449551 0.52450689 0.42592169 -0.17483549 0.04775060 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.615363757962 pbc="F F F" -C -0.45352211 0.19551915 0.35722220 -1.78352607 -2.20228733 0.14704674 -C 0.82795219 0.95346275 0.10685030 -1.07802736 3.16137208 1.35868943 -O -0.29420897 -1.02724135 -0.41852056 -0.92811610 -0.31944044 -0.83153155 -H -0.54209897 -0.19967614 1.41321412 0.15076080 0.72369343 -0.09449954 -H -1.50786699 0.67603894 0.17137570 1.67056158 -0.09919741 -0.10272651 -H 1.45177039 0.35591719 -0.53417443 0.55879002 -0.21401417 -0.86109843 -H 0.59470943 2.04437204 -0.23409482 0.57040406 -1.56584179 -0.17876552 -H 1.35915791 1.14286988 1.06880474 0.06305720 -0.24403223 -0.13332295 -H -1.14831566 -1.40661219 -0.77172353 0.77609588 0.75974792 0.69620833 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.607370009817 pbc="F F F" -C 0.28618355 0.37097412 0.38714519 1.55419552 -1.92531613 2.48066231 -C -0.48719914 0.89089735 -0.75938778 0.81562819 0.86192154 -2.87724791 -O 0.12822322 -1.11360470 0.33238355 1.17010924 0.45345245 0.31998403 -H 1.41851555 0.50081088 0.41488601 -0.81448945 0.68805927 -0.45618111 -H -0.04122084 0.67107904 1.44427545 -0.11873914 0.24174980 -0.98018070 -H 0.16044697 0.60145191 -1.73529477 -1.71383439 0.27037077 1.64266638 -H -1.44919670 0.34780954 -0.69637195 -0.09045936 -0.06725355 -0.54425829 -H -0.73395155 2.00422791 -0.92865957 0.53704491 -1.06387019 0.86272907 -H 1.00440242 -1.48679443 0.66079408 -1.33945552 0.54088609 -0.44817377 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.331664582207 pbc="F F F" -C -0.30069656 -0.42221249 -0.20297403 -1.14006409 -4.34259121 0.87996812 -C -0.89004917 0.67042749 0.70721986 -1.31065437 0.50890402 -3.19123334 -O 1.07081751 -0.28219015 -0.44647071 0.06105688 1.17637733 -0.35960129 -H -0.22298776 -1.36628979 0.48057539 -0.85587014 0.74556715 -0.90234727 -H -0.90961571 -0.85739907 -1.15621180 0.79164103 1.47924177 1.54086630 -H -2.04786111 0.81721804 0.76767705 1.80443017 -0.76680828 0.52240242 -H -0.20826579 0.70240694 1.51310598 0.24337346 -0.10961969 2.28356600 -H -0.56678767 1.57130192 0.17836974 -0.13186360 1.06748619 -0.43372766 -H 1.14607991 0.65281776 -0.70516038 0.53795066 0.24144276 -0.33989327 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.771045975249 pbc="F F F" -C 0.34153984 -0.02322709 -0.47684526 -1.55761519 -0.61620864 1.99966855 -C -0.59380230 1.15502035 -0.23505973 1.13331494 0.05478308 -1.22048689 -O 0.29301187 -1.04210843 0.63287572 2.19280320 1.55454678 -1.86556814 -H 0.09272086 -0.40226613 -1.46002618 -0.04110398 -1.02689175 -0.81628840 -H 1.34649126 0.39113866 -0.53252431 0.81429744 -0.27608695 0.31360717 -H -0.40390188 1.99855265 -0.95578673 0.15514299 -0.24373567 0.56120146 -H -1.62804808 0.93946144 -0.33713812 -1.71346862 -0.75025376 -0.36642012 -H -0.47891679 1.41412153 0.78439471 0.39263217 1.10361535 1.67653410 -H -0.57443772 -1.28728652 0.93833437 -1.37600294 0.20023151 -0.28224773 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.578529371249 pbc="F F F" -C -0.22407987 -0.46269553 0.13229275 -1.70324812 -2.61336496 2.76738499 -C -0.88694934 0.90001823 0.35239719 -0.86284076 -0.79801886 -0.70228005 -O 1.03176622 -0.37756710 -0.41027062 1.69744103 0.14658337 -0.86079190 -H -0.18718901 -0.86579619 1.24898498 0.51420224 0.11998756 -1.47434412 -H -0.81576397 -1.37039390 -0.34866068 0.21281635 1.91050868 0.32932001 -H -1.97945835 0.89217998 0.46548287 -0.49454929 -0.47888648 -0.29081166 -H -0.61247625 1.46613204 1.24055189 0.99720218 0.12798925 0.40216978 -H -0.64978993 1.41921037 -0.55288688 0.10946799 1.32038600 -0.93755128 -H 1.10520599 -0.76074691 -1.31670388 -0.47049157 0.26481549 0.76690418 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.589796150448 pbc="F F F" -C -0.11274086 0.44130006 0.31225191 -0.25210374 -0.78947744 -2.15064234 -C -0.96253542 0.05157392 -1.00796378 4.36583548 -0.33478515 -0.78551640 -O 0.95766075 -0.43595455 0.70703677 0.17293369 0.10826456 -0.75129151 -H 0.14701358 1.51686355 0.19189304 0.56686082 0.00817390 0.02734626 -H -0.88313510 0.45463813 1.07955925 -0.03042701 -0.38641637 1.02040593 -H -0.73386289 -0.96953998 -1.38678642 -0.14767018 -0.42366688 0.80933470 -H -1.99256104 0.11598911 -0.87313510 -2.47380425 0.44922211 0.24635460 -H -0.59095851 0.56608493 -1.94842479 -0.55898393 0.47790242 0.78364320 -H 1.66430060 -0.63859880 0.00400361 -1.64264088 0.89078285 0.80036561 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.567704455932 pbc="F F F" -C -0.12328032 -0.15767087 -0.39593094 -1.69743928 1.47628983 -1.41216696 -C -0.17262282 1.44930434 -0.06995575 0.48018294 -2.24895189 0.56798825 -O 0.22060125 -1.19624032 0.44298977 3.38441077 0.39321159 1.58980778 -H -1.14619683 -0.52060003 -0.54065759 -0.95059414 0.81416956 -0.80843296 -H 0.35530327 -0.19754786 -1.41888479 0.16473377 -0.18358675 0.33640634 -H -0.73192767 1.68503975 0.90034529 0.33968912 0.00933768 -1.20491664 -H 0.86693333 1.82019924 -0.01728634 0.20937189 0.11567274 0.40025827 -H -0.53207665 1.88508669 -1.03026330 -0.55871170 0.10215187 0.52125519 -H 1.21129843 -1.07653412 0.62655425 -1.37164327 -0.47829462 0.00980074 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.516170662947 pbc="F F F" -C -0.38347460 0.30429313 -0.26694416 0.60567127 -3.19146798 -1.34312089 -C -0.52328592 -0.00239771 1.19606529 -0.08495678 0.13196315 2.19762854 -O 0.79127818 -0.29739685 -0.87585115 -0.18716234 0.39897158 0.21259688 -H -1.09097757 -0.34505957 -0.88964440 -0.43436756 1.36554554 0.87950748 -H -0.49239071 1.34673355 -0.41955299 -0.08852728 1.87506663 -0.83812340 -H -1.22484513 0.73926907 1.74835440 0.33807257 -1.01177793 -0.91134145 -H -0.98018901 -1.06262015 1.21066594 0.98004855 1.10167015 0.96472271 -H 0.46711190 0.20451038 1.84664323 -1.56378975 -0.99742309 -1.44445560 -H 1.56509013 0.23894358 -0.66524823 0.43501131 0.32745190 0.28258572 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.490027394573 pbc="F F F" -C -0.08752619 -0.55608776 0.29733630 1.42900316 3.61277608 -2.57780752 -C -1.05236502 0.66161051 0.32874479 0.09631237 -2.12053286 3.26971300 -O 1.02406395 -0.06960082 -0.56643755 -1.27891168 0.35531547 0.94757005 -H 0.16083522 -0.62546190 1.31233150 1.38368792 -0.78883235 2.20475554 -H -0.49109281 -1.47384014 -0.06571722 -0.87013581 -1.20729049 -0.52821687 -H -1.70635072 0.44154005 1.27855904 0.87194941 0.94971934 -1.13810285 -H -0.54895643 1.63806523 0.33136872 0.24703630 -0.00839779 0.30479430 -H -1.72904113 0.59974744 -0.44280983 -1.97127163 0.15236573 -2.66241226 -H 1.64131740 -0.73416978 -0.88289831 0.09232999 -0.94512308 0.17970665 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.70073138819 pbc="F F F" -C -0.05317160 -0.48191272 0.22814718 3.97466077 -2.04003128 -1.12741338 -C -1.26118737 0.12797406 -0.24111106 -1.52546122 2.15279996 -1.83989865 -O 1.21195004 0.26013166 -0.02053251 -1.72223275 0.05859844 0.19409707 -H -0.02327581 -0.63608853 1.27592551 -0.52620889 -0.54789857 1.94682501 -H 0.17662402 -1.49598076 -0.23655871 -0.48362534 0.62233275 0.24337299 -H -1.34369941 1.14742650 0.12118846 -0.12126730 0.87154498 1.06019362 -H -1.21811801 0.43384070 -1.31427731 -0.08534703 -0.91308497 -0.18736535 -H -2.21731549 -0.34286419 0.01346090 -0.15907266 -0.52040030 -0.04223465 -H 1.04908451 0.98056477 0.62065995 0.64855441 0.31613899 -0.24757665 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.564687352411 pbc="F F F" -C 0.23814335 -0.45157136 -0.37634528 -2.49372023 1.31802763 -0.70264422 -C -1.21968577 0.17012967 -0.37847992 0.00794024 -2.94812815 1.45514034 -O 0.92489497 0.17847435 0.70764333 0.63347437 0.73285304 -0.92334645 -H 0.13507055 -1.57722199 -0.45470973 0.66523871 0.60896105 1.12205710 -H 0.61634456 -0.16246117 -1.36432053 0.79695889 0.05245926 -0.45281415 -H -1.17189922 1.19929239 -0.37477415 0.47725214 3.29596135 -0.75844273 -H -1.99769732 -0.15783631 -1.09315259 0.28360501 -0.26107530 -0.25955429 -H -1.64610921 0.07014108 0.64963592 -0.02722732 -0.67921339 -0.11248374 -H 1.07824974 1.14728070 0.39920222 -0.34352187 -2.11984545 0.63208813 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.40308976217 pbc="F F F" -C 0.54777450 -0.35646212 -0.09640187 -1.87883021 3.28578214 2.50589039 -C 0.30074080 1.21672649 -0.16883112 1.02930715 -1.38022305 -3.48873887 -O -0.72465299 -0.84910200 0.26532808 1.11937549 -3.19589738 -0.04297703 -H 1.10692718 -0.68302817 -0.97747091 -0.36168795 -0.51426863 -0.89577424 -H 1.12856523 -0.61555808 0.77965281 1.07738150 -0.15097698 0.57408747 -H 1.21896466 1.83515033 -0.20433833 0.09287255 -0.02053500 -0.27041186 -H -0.22639688 1.23670561 -1.20657526 0.75548344 0.67097377 1.02108419 -H -0.39325812 1.72961906 0.46727567 -0.72730080 -0.18102609 1.46483088 -H -1.44409100 -0.27726701 0.09034559 -1.10660112 1.48617120 -0.86799099 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.760097097615 pbc="F F F" -C -0.10842446 0.21722905 0.46053118 -2.42786700 0.34376098 0.33625058 -C -0.22100857 1.01524740 -0.83070165 0.80329132 -1.07609533 -2.15473723 -O 0.33822739 -1.12064033 0.38287684 -1.39811490 -1.22029585 -0.65977697 -H 0.62586846 0.74283448 1.03088825 1.13381990 0.40866063 1.03862951 -H -1.12262592 0.39399085 1.06744752 1.47101521 -0.62911517 -0.80569077 -H 0.57309612 0.69274326 -1.58162843 -0.50719341 -0.31905396 0.56909598 -H -1.16684566 0.97687682 -1.39698431 -0.37055008 -0.37699132 0.10401910 -H 0.02878973 2.06692595 -0.83195399 0.02524788 1.10406359 0.97416833 -H -0.38252644 -1.77283358 0.04567026 1.27035108 1.76506641 0.59804147 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.929025774683 pbc="F F F" -C -0.42920798 0.07660443 0.31867062 -0.92370656 -0.09660851 0.80405648 -C 0.04256611 1.12947511 -0.63475969 1.50396334 -0.17334831 -0.64443869 -O 0.35266776 -1.09308148 0.34427971 0.91265163 -0.15241597 0.22790595 -H -0.48578426 0.54686830 1.35582632 0.27899574 -0.63315129 -0.62474383 -H -1.42550421 -0.30636894 0.09897212 -1.20983100 0.48124521 -0.11592537 -H 1.14443132 1.09067884 -0.53512082 0.24900222 0.25364132 -0.02798487 -H -0.13128796 1.05548158 -1.72030445 -0.38873010 -0.68161377 -0.22547153 -H -0.24421019 2.13687048 -0.40564749 -0.53801853 1.13022967 0.62049168 -H 0.15059979 -1.54589657 -0.49205871 0.11567325 -0.12797830 -0.01388982 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.762414642284 pbc="F F F" -C -0.39354467 -0.36600142 -0.18903061 1.14454624 -1.24963287 4.35062951 -C -0.59089072 0.66880144 0.96125840 -0.15947401 0.40617659 -0.17775384 -O 0.86350510 -0.30519324 -0.77134337 0.97849195 0.36344510 -0.90955674 -H -0.51494271 -1.36086606 0.46028498 0.27658549 0.93312631 -1.20039381 -H -1.16250603 -0.44893303 -0.91284082 -1.28960464 0.35366132 -1.40367589 -H -1.44490338 0.33813830 1.65900921 0.96776834 0.53609077 -0.67984351 -H 0.40217602 0.68052445 1.52961442 -0.99398568 -0.08808032 -0.17227899 -H -0.76230403 1.73989607 0.61064718 0.00518257 -0.79252045 0.22451929 -H 1.50537597 0.28599270 -0.30483277 -0.92951031 -0.46226646 -0.03164602 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.969894709765 pbc="F F F" -C 0.14301691 0.57945622 -0.08414358 0.45820535 -1.98154838 -0.28454815 -C -1.26144971 -0.03491658 -0.28424153 -1.03370399 1.18759794 -0.69411885 -O 1.05375781 -0.45537024 0.37601186 0.01329292 0.90323892 -0.20520593 -H 0.49299739 1.11651397 -1.03321492 -0.19918117 -0.40997308 0.62578446 -H 0.17704076 1.29714076 0.74733082 -0.32258748 0.37748949 0.09381259 -H -1.49201847 -0.54676273 -1.27784489 0.75429461 0.40609740 0.58275852 -H -1.56637726 -0.79040537 0.49440263 0.27995204 0.76542076 -0.05194062 -H -1.95043355 0.88074504 -0.30268493 0.07502127 -1.05898833 0.24616382 -H 0.93846086 -1.21925487 -0.20685355 -0.02529354 -0.18933471 -0.31270585 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.686827491135 pbc="F F F" -C 0.32681604 0.43727441 0.16935371 1.51955226 -2.26684554 -2.08841175 -C -0.78901465 0.56900463 -0.86700688 0.81215211 2.02709832 1.86348462 -O 0.46636589 -0.90368050 0.63511680 3.17057066 1.33659481 -0.17739913 -H 1.37350921 0.72855101 -0.21158098 -1.07981654 -0.34802377 -0.02028586 -H 0.15675048 1.09866765 0.94187167 -0.58547818 2.05969128 2.62071698 -H -0.87818150 -0.35598203 -1.33314758 -0.20690857 -2.13358656 -1.63855375 -H -1.74220216 0.80599127 -0.35044327 -0.03142897 0.17324099 -0.29063714 -H -0.44253334 1.36230060 -1.53521324 -0.57729400 0.31296671 -0.63378702 -H -0.36352951 -1.28748576 0.72036766 -3.02134877 -1.16113629 0.36487303 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.704134793328 pbc="F F F" -C 0.12929119 -0.40030932 -0.35014479 0.25040527 0.63257402 2.44966837 -C -1.26216445 0.15734715 -0.34645011 -2.59275175 0.21757469 0.16059311 -O 1.06403661 0.14906727 0.63939299 -1.21789028 1.10378175 -0.16740006 -H 0.04711416 -1.45995975 -0.14828200 0.25599475 -0.96132957 0.21480834 -H 0.65040653 -0.26811487 -1.23822790 0.76682936 0.15135832 -2.92288876 -H -1.32026935 1.25183920 -0.31670089 0.49024362 0.71474003 -0.22875673 -H -1.92991419 -0.07695316 -1.30457616 1.23234276 -0.12696287 1.74404897 -H -1.84346296 -0.07025580 0.63988248 0.68514826 -0.26492748 -1.42620046 -H 1.00471017 1.15090307 0.51927079 0.12967795 -1.46680888 0.17612721 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.327398445699 pbc="F F F" -C -0.31046869 0.18549927 0.44304883 0.51472017 0.46734243 0.01034201 -C 0.07141374 1.03315212 -0.78523087 -3.75472247 0.21350628 0.49291360 -O 0.24229152 -1.10719862 0.36639616 2.08885871 1.06573239 3.77405136 -H -0.00925259 0.89379174 1.34649675 0.45403388 -1.87439037 -0.92205375 -H -1.35045381 0.00454966 0.74042412 -1.12402672 0.66783836 -0.79384241 -H 1.03431614 1.44679648 -0.70433778 1.67138418 1.26493402 0.41360399 -H 0.06185577 0.56371851 -1.74426144 0.00479845 -1.54539596 -1.12556080 -H -0.79655941 1.74363024 -0.98024923 1.08813401 0.35949917 0.49918581 -H 0.06172229 -1.60057363 -0.39654186 -0.94318020 -0.61906631 -2.34863977 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.825204731305 pbc="F F F" -C 0.04812367 0.53797080 -0.00722283 -2.08736310 0.57371456 1.02680922 -C -1.04987369 -0.21129466 -0.77728732 -0.70307904 -2.13686353 1.42498119 -O 0.93606218 -0.25643789 0.76223275 0.58309554 -0.70346610 -1.49264082 -H 0.47749757 1.23858248 -0.79041002 0.41647576 -0.16355754 0.74423877 -H -0.60546053 1.18290446 0.76870216 1.68644272 -0.86327769 -1.22954000 -H -0.70583643 -0.83660541 -1.62445543 0.24046297 0.26097210 -0.28557201 -H -1.67067141 -0.99479990 -0.13899908 1.11147120 1.38856751 -0.60978849 -H -1.77681928 0.52753587 -1.10304872 -0.48877269 0.39880472 -0.57854890 -H 1.35878333 -0.94128635 0.13730283 -0.75873331 1.24510593 1.00006105 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4103003121045 pbc="F F F" -C -0.31177858 -0.03820684 -0.50237028 0.11425086 -1.91130243 2.95077439 -C 0.84402719 0.85424117 -0.39964008 0.61286713 -1.29918241 0.06586238 -O -0.51108770 -0.75506481 0.77580345 0.18846167 -0.79420720 -1.67094112 -H -1.25033130 0.21402639 -0.91084478 -1.86331020 1.72537664 -0.47435538 -H -0.06870294 -0.84174797 -1.13778509 0.72193295 -1.68768117 -1.37514558 -H 1.74736720 0.26587352 -0.31450211 0.68390200 -1.01103688 0.43149219 -H 1.13021949 1.41247735 -1.22851319 -0.07456310 1.97496019 -2.17330297 -H 0.83616910 1.39438425 0.49353126 -0.22958663 1.84999245 1.83128350 -H -0.62534910 -0.18502956 1.53193545 -0.15395468 1.15308082 0.41433259 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.222918965518 pbc="F F F" -C 0.38502788 -0.09581658 -0.50344161 -0.91091686 1.95890452 4.21972411 -C -0.55604349 1.17156871 -0.18105852 1.23377101 -0.57657131 -2.00106096 -O 0.24182843 -0.96064868 0.63633502 0.43277126 -0.82940582 0.47523855 -H 0.01318292 -0.59882094 -1.35660279 -0.22048924 -0.40341224 -1.93920282 -H 1.46136614 0.20545964 -0.49958891 -0.27933035 -0.22140116 -0.54077897 -H -0.73243022 1.79482736 -1.04513162 0.84764389 0.95729412 -1.33653464 -H -1.53111280 0.81345517 -0.23835883 -2.64188719 -1.58730835 0.66582035 -H -0.58659628 1.90279164 0.62428399 1.12729979 -0.24355508 1.05739142 -H -0.42619315 -1.68924072 0.57118255 0.41113774 0.94545532 -0.60059705 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9321022453005 pbc="F F F" -C -0.10611298 0.28244241 -0.40938322 0.59822870 0.16228294 -0.87929804 -C -1.21166631 -0.10073812 0.51237449 -0.85521667 0.00270521 -0.17252273 -O 1.18662980 -0.21695928 -0.10066579 0.28242267 -0.20674901 0.43171361 -H -0.37570362 0.00287338 -1.45495788 -0.02351969 0.08412632 -0.13433222 -H -0.07485475 1.36698026 -0.32977059 -0.03681723 0.97290535 -0.44756781 -H -0.99791321 0.27062887 1.49112873 0.05986214 0.99747354 1.34016967 -H -2.20903776 0.27434410 0.14388087 0.60454107 -0.06498332 0.22804839 -H -1.32022210 -1.14392002 0.73483302 -0.06523739 -1.55743567 -0.37984946 -H 1.84370545 0.50626305 -0.21446215 -0.56426354 -0.39032542 0.01363858 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.939810834671 pbc="F F F" -C -0.25620381 0.21273405 0.43665514 0.34109012 -0.09477213 -0.15246565 -C -0.06681646 1.00530139 -0.91622980 0.24918667 0.53626643 1.88766627 -O 0.24043021 -1.14153266 0.46472834 0.07295652 0.80962703 -0.34410618 -H 0.16316051 0.84278222 1.28195490 0.17890590 -0.26855562 -0.43986365 -H -1.31065944 0.12045146 0.75042688 -0.34700268 -0.08063985 -0.39346027 -H -0.89304194 1.67679221 -1.17641918 -0.52344896 0.20647354 0.24301335 -H 0.81301731 1.66595616 -0.81640599 0.19975056 0.09959135 -0.01857314 -H 0.10580798 0.44042291 -1.80454056 0.11110892 -1.36238519 -0.96107036 -H 1.15342723 -1.14215540 0.10283417 -0.28254700 0.15439439 0.17885957 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.47752332323 pbc="F F F" -C -0.04132416 -0.04522314 0.52455901 2.20324713 0.56895575 2.95344509 -C -1.10523496 0.61117311 -0.22126598 -3.32628768 -2.38344259 0.20177592 -O 1.02866788 -0.52464092 -0.31983287 -0.01483116 0.13942043 0.89580499 -H 0.34649863 0.76267400 1.33219476 -0.31544479 -1.34398107 -1.28609277 -H -0.49411423 -0.80798931 1.18131873 0.19540108 -0.80184481 0.04817879 -H -2.18498331 0.64769255 0.19400398 1.38706023 -0.60938554 0.20686188 -H -0.91617165 1.58786806 -0.32151613 1.10498086 4.58932793 -1.09165267 -H -1.23746426 0.14645990 -1.17617826 -0.03114959 -0.49407230 -1.37608095 -H 1.81932179 -0.75429701 0.25293517 -1.20297607 0.33502221 -0.55224029 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.2893171838605 pbc="F F F" -C 0.00951669 0.33788290 0.45802660 1.39034466 0.92309479 -1.54321438 -C -1.38006887 0.05400296 -0.37953370 5.97907980 -0.76107194 -1.19723912 -O 1.24383268 -0.34369329 -0.01831099 -1.69436090 0.11013746 -1.09705229 -H 0.36241113 1.44568946 0.50894142 -1.20107253 -1.01189111 0.12388988 -H 0.02187572 -0.09988478 1.45015246 -0.94611764 0.16637583 0.96424197 -H -1.70661788 0.82152021 -1.06799424 0.21182889 0.57482620 -0.72522206 -H -1.09542817 -0.93796986 -0.87240772 -0.87902982 0.84020414 0.23116560 -H -2.08543076 -0.05222729 0.32556336 -3.36866425 -0.84835639 2.99233901 -H 1.09000823 -0.39280442 -0.98892638 0.50799179 0.00668112 0.25109140 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.550172044031 pbc="F F F" -C -0.26478154 -0.45001932 0.15555755 1.95332322 2.28012391 -2.44037923 -C -0.95921072 0.91459326 0.18495851 -1.37992645 -0.31021018 -0.76888316 -O 1.13696324 -0.49530954 -0.31702956 -1.04899594 2.58902534 0.74741074 -H -0.41420960 -0.77327210 1.12056647 0.30185270 -1.57925021 3.22214233 -H -0.85533889 -1.09107061 -0.47107923 -0.50320954 -0.82686587 -0.93838633 -H -2.02463877 0.54608952 0.51606183 1.13218098 1.27387802 -0.77934791 -H -0.63286693 1.67675292 0.92421358 0.31520902 -0.38555320 0.24021578 -H -0.92840971 1.45909628 -0.82379309 -0.47434252 -0.67604563 0.78285258 -H 1.39223906 0.50723001 -0.29126237 -0.29609143 -2.36510219 -0.06562486 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.784738066848 pbc="F F F" -C -0.30287338 -0.50183352 -0.07740953 1.67631838 0.38757254 -1.14597125 -C -0.82537910 0.65891977 0.66553955 0.10750341 2.15241141 0.60981348 -O 1.02059180 -0.22439186 -0.51213521 0.98002423 0.39838753 -0.66583449 -H -0.01496083 -1.36808203 0.50437437 -1.17154690 -1.15731311 0.61894213 -H -0.97512981 -0.66930467 -0.96428580 -0.00003857 -0.55783316 0.38731908 -H -1.91167051 0.55365119 0.80209681 -0.37046452 0.38729846 0.07727849 -H -0.35780147 0.91900823 1.67171231 -0.18436065 -0.54779392 -0.79931228 -H -0.56472969 1.56705227 -0.01922487 -0.84790635 -0.84795561 0.90039780 -H 1.06743036 0.68617545 -0.87357149 -0.18952904 -0.21477414 0.01736704 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.858775559032 pbc="F F F" -C -0.29033086 -0.49807683 0.14968836 1.25238287 1.28457021 -2.19612075 -C -0.92255514 0.90312331 0.22749509 0.86169343 0.32967735 -0.72180059 -O 1.09708439 -0.39510625 -0.26433462 0.02371448 0.14517112 -0.66961998 -H -0.16142965 -1.07022031 1.02440489 -0.48166379 -0.71373071 2.11436848 -H -0.80127718 -1.14181822 -0.57124775 -0.68485475 -0.31046451 -0.36850960 -H -2.00233256 0.97086179 0.01490703 -0.38645869 -0.31731558 0.60814853 -H -0.61179857 1.44055485 1.16962652 -0.32228182 -0.11885813 -0.68388112 -H -0.51594723 1.44484829 -0.69790645 -0.05392330 -0.21298609 1.03406395 -H 1.13022874 -0.20062956 -1.23845475 -0.20860843 -0.08606370 0.88335113 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.786624440898 pbc="F F F" -C -0.02884096 -0.22422878 0.57937378 -0.02197888 0.41151991 -0.34695177 -C -1.09875132 0.57615062 -0.13867870 0.29098876 -1.15664308 -1.50336931 -O 1.01545259 -0.27551217 -0.37074222 1.58497569 -2.31131227 -0.49040050 -H 0.38522351 0.32143359 1.49505644 -0.78066262 -0.62125983 -0.28421971 -H -0.43270233 -1.22581657 0.79441613 0.10151701 -0.34315554 0.58827724 -H -2.07469271 0.63570004 0.29049843 -1.08839976 0.39094331 1.05148220 -H -0.62200549 1.51028380 -0.31950925 0.08968134 1.78504333 -0.19471387 -H -1.28499986 0.17484096 -1.19464280 0.37966172 -0.06677589 0.99314724 -H 1.34602461 -1.23816771 -0.43225285 -0.55578322 1.91164007 0.18674859 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.788351202547 pbc="F F F" -C 0.13969618 0.57866236 0.14435876 -3.01653238 -0.86938926 -0.24127209 -C -1.20276472 -0.22006993 0.42272919 0.84420931 -1.17114750 -0.88338193 -O 1.01758161 -0.26393808 -0.55521650 0.17823058 -0.17219789 0.83582874 -H -0.25339938 1.39270793 -0.46059916 0.45509097 0.62028558 -1.04995851 -H 0.47252535 1.10928117 1.03502403 0.84119402 -0.14485621 0.95411824 -H -1.98417557 0.13262351 1.06874387 -0.54446460 1.34087081 0.89751045 -H -1.76556756 -0.45486001 -0.53523449 0.76325686 0.03158005 0.45712800 -H -0.97090259 -1.19283908 0.92768705 0.17608180 -0.04721426 -0.32184916 -H 1.01570236 -1.07184630 0.02006418 0.30293354 0.41206873 -0.64812375 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.620215667736 pbc="F F F" -C 0.14620808 0.01738102 -0.49390272 0.24614572 2.05586306 0.10919237 -C -1.34718731 -0.33908085 -0.13822441 3.52270630 -1.66277653 0.74462299 -O 1.10214043 0.35377015 0.54403573 -1.09945566 0.47391649 -0.55179955 -H 0.50718255 -0.85438265 -1.00237215 0.55445936 -1.05181742 -0.99590810 -H 0.33699753 0.91549276 -1.18790273 -0.90928092 -0.95037811 0.42759594 -H -1.75054948 0.13533268 0.70330714 -0.41227339 1.20559125 2.16913989 -H -2.07994085 -0.17845295 -0.84874538 -1.57068385 0.52363629 -2.68390381 -H -1.33185763 -1.43893046 0.05574888 -0.29303397 0.22778089 0.16830951 -H 1.13347304 -0.36267951 1.17676754 -0.03858358 -0.82181587 0.61275071 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.554728205963 pbc="F F F" -C 0.39427480 0.01006034 -0.41554021 -1.69561436 0.27740140 0.03122786 -C -0.63850283 1.17625103 -0.13861459 2.81307330 1.14587195 2.95478983 -O 0.21074111 -1.05939247 0.52769533 -0.57150881 1.17893147 -0.03012686 -H -0.04516338 -0.31972486 -1.44085559 1.52839660 0.18267236 0.65026486 -H 1.48633687 0.30030119 -0.35704676 -0.62522498 0.26693212 -0.70264684 -H -1.58632770 0.80795992 -0.48945955 -1.14064336 0.16426650 -0.07242661 -H -0.65107746 1.52073243 1.04720620 -0.21211176 -1.16239973 -2.50751965 -H -0.28315277 2.14939843 -0.61183323 -0.53218161 -0.93619415 -0.15696909 -H 0.64346694 -1.78023206 0.07904439 0.43581509 -1.11748198 -0.16659350 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.634757784346 pbc="F F F" -C -0.24432794 -0.06725609 -0.49608860 -1.07248720 -1.63266299 1.70557029 -C 0.90127857 0.86753079 -0.40428917 -0.20160351 0.51844600 1.26701225 -O -0.55434705 -0.79384484 0.79081483 0.72040607 0.30637373 -1.97187255 -H -1.07569446 0.53788581 -0.72545614 -2.00393468 1.35697178 -0.24484145 -H -0.31206798 -0.71029081 -1.40565426 0.79182676 -0.84782145 0.67367939 -H 1.77310775 0.36405353 0.08708588 -0.00960924 0.52697893 -0.48551973 -H 1.03270498 1.28392420 -1.40486952 0.79656598 0.18324834 -0.46363073 -H 0.50256136 1.73302257 0.22095932 0.88504034 -0.54475195 -0.17692857 -H -0.95052781 -0.14524855 1.40402103 0.09379552 0.13321754 -0.30346890 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.416689439741 pbc="F F F" -C -0.17077777 -0.10508270 -0.46035111 6.47809622 0.32179630 1.18799528 -C -0.09594342 1.43030457 -0.02513442 0.75190045 0.02943858 -1.62776370 -O 0.20015984 -1.25564575 0.42877250 -0.47072600 1.73501751 0.29917567 -H -1.12899012 -0.21793604 -0.77046951 -3.68358141 -0.99783334 -1.12133226 -H 0.57158023 -0.27190785 -1.33429656 -1.15095102 0.61283519 0.47716102 -H -0.80309676 1.64124980 0.75673778 -0.76377962 0.16021413 0.98057542 -H 0.87983366 1.98638899 0.24655969 -0.74573561 -1.27756262 -0.28504756 -H -0.48308864 2.01774493 -0.94619381 0.39612630 -0.71903758 0.96647549 -H 0.96383495 -1.01717425 1.02668732 -0.81134931 0.13513183 -0.87723935 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.299113431996 pbc="F F F" -C -0.20369313 -0.51432687 -0.00669139 -2.75839096 -2.03343805 1.27312330 -C -0.96437357 0.84436245 0.46264259 3.33365821 -3.99458621 3.31696136 -O 1.09056858 -0.30508052 -0.38102669 1.08145089 0.48500468 -1.41197783 -H -0.20921238 -1.36272163 0.87282906 0.07706236 1.99943180 -1.41198564 -H -0.83191013 -1.14807804 -0.82672093 0.84532501 1.46068256 1.07659407 -H -1.93437955 0.74158522 0.20735633 -4.19679352 -0.20612299 -0.87197111 -H -0.87113876 0.88125655 1.62055989 -0.13535680 0.32264440 -1.54956491 -H -0.55533655 1.68672903 0.02092930 1.27565954 2.21385154 -1.16983418 -H 1.00877810 0.10965083 -1.27993149 0.47738527 -0.24746768 0.74865500 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.928630897748 pbc="F F F" -C 0.49652414 0.12590634 -0.18095097 -0.71808169 0.03941672 -0.90359595 -C -0.71401313 1.11268991 -0.26382358 -1.59998277 -0.04873456 -0.94042336 -O 0.24680425 -1.15132774 0.37247459 -0.05274481 -0.18342812 -0.51913120 -H 0.75521149 -0.14121882 -1.23918108 0.16714835 0.36494986 0.26302137 -H 1.39889824 0.61804970 0.25739730 -0.14339253 0.12577301 0.13705265 -H -1.65145903 0.72664682 -0.84623312 1.59350369 -0.05355054 0.30514382 -H -1.24464336 1.31246079 0.68544046 0.54569796 0.17595762 0.61237383 -H -0.52316306 2.12696307 -0.75468966 0.32698751 -0.92268038 0.52046602 -H -0.06182987 -1.12817542 1.28481265 -0.11913576 0.50229639 0.52509282 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.609311890592 pbc="F F F" -C -0.11131840 0.27837446 -0.50591519 0.92425395 -0.50270108 2.51148527 -C -1.25202630 -0.10074150 0.56029322 -0.58547273 1.58431230 -2.03487365 -O 1.22429705 -0.20145761 -0.04562201 -1.20291149 -0.28853228 -0.25408391 -H -0.46504360 -0.19422880 -1.42423278 0.38423196 -0.05254200 -0.95520479 -H -0.02311988 1.38475953 -0.56638458 -0.48694052 -0.06420443 -0.31896458 -H -0.87756014 0.17187587 1.55556328 -0.33671214 0.42490811 0.36012333 -H -2.23766950 0.49529544 0.16724885 1.98940059 -0.99128834 1.25498879 -H -1.57685330 -1.15952864 0.60906335 0.42411719 -0.12626712 -0.33265160 -H 1.99127581 0.38144704 -0.26505659 -1.10996674 0.01631494 -0.23081886 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.760901961099 pbc="F F F" -C 0.05551815 -0.35028301 -0.45613254 0.59116145 0.46756334 -1.17634499 -C -1.08103414 -0.41161358 0.48866674 -0.86034360 -1.25020602 -0.67700193 -O 0.95526874 0.66346012 0.02574613 0.31477914 -1.20614424 0.32713931 -H 0.51252336 -1.33795832 -0.81469107 0.06579640 0.50879249 1.13753263 -H -0.29525981 0.02687859 -1.41617747 -0.58495861 0.12881956 -0.87593935 -H -0.64151068 -0.58305534 1.44706809 0.17852466 0.05876551 1.56946901 -H -1.71878013 0.48264802 0.44102331 0.06663494 0.26941848 0.23309938 -H -1.70695451 -1.29293166 0.26575538 -0.31440154 -0.14982980 0.00741671 -H 0.90579974 1.25039897 -0.71933626 0.54280716 1.17282057 -0.54537071 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.528076051583 pbc="F F F" -C 0.13700944 0.57684154 0.17489024 3.01332678 -5.50780892 0.37790349 -C -0.98339936 -0.20059308 0.85021034 1.46334504 2.09753953 1.48384713 -O 0.80962891 -0.34460826 -0.89428375 0.10307145 1.66583239 2.99608979 -H -0.15380303 1.43890104 -0.26720019 -1.52579958 3.40621009 -1.87777472 -H 0.95294955 0.85435849 0.86328923 0.25847407 -0.19900757 0.12201611 -H -1.32441322 0.44948317 1.71443241 -0.24351245 -0.65794326 -0.49550471 -H -1.68837898 -0.24307070 0.08641488 -2.44731684 -0.40719690 -1.40323273 -H -0.74619579 -1.20659783 1.19003626 0.48657892 -0.39814024 0.18752887 -H 0.19297207 -0.30789059 -1.60686673 -1.10816738 0.00051489 -1.39087328 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.381778200119 pbc="F F F" -C 0.19988150 -0.35439348 -0.36499871 -1.57753374 -0.41032727 -0.54746847 -C -1.26972456 0.14958527 -0.35531810 -2.13955867 2.92331551 1.60498870 -O 1.00882407 0.11261521 0.65180204 0.75204798 2.70836921 0.47819470 -H 0.20970821 -1.41026798 -0.10384040 -0.48400051 -1.00581204 -0.42562946 -H 0.58571110 -0.26275837 -1.37912880 0.72222929 0.19606000 -0.78720639 -H -1.51066755 1.34951861 -0.64967631 1.37069063 -2.49035018 0.72634692 -H -2.16470934 -0.25721303 -0.98526427 1.71739316 -0.44153744 0.85267210 -H -1.52535512 0.12059196 0.80829864 -0.12340862 -0.02653472 -2.02396065 -H 1.13923252 1.11155853 0.54667627 -0.23785947 -1.45318301 0.12206255 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6583954903035 pbc="F F F" -C 0.30976122 0.43289376 0.26386419 -1.71385732 1.06131847 -1.55234010 -C -1.03116341 -0.10532801 0.72153372 -0.37632175 2.00023054 2.25882493 -O 0.69921045 -0.30636136 -0.87372023 0.71260951 -0.08405942 -1.22889234 -H 0.29862393 1.57382951 0.20817736 0.09302892 -0.67196868 -0.50369481 -H 1.09783145 0.18648549 0.92088138 1.11654409 -0.26581565 1.82261657 -H -1.56035843 0.37257498 1.60986073 0.95724455 0.27476365 -0.28867127 -H -1.86125825 -0.10706800 0.05588550 -0.69376923 -0.05651477 -1.77115546 -H -0.86246190 -1.06942343 1.08551920 0.16976007 -2.53404774 0.44970569 -H 0.38410173 0.00178536 -1.75353016 -0.26523890 0.27609358 0.81360674 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.593722327375 pbc="F F F" -C -0.07280004 -0.08782438 0.60734487 2.71810053 0.48115754 -1.58088368 -C -1.05760977 0.57767839 -0.24432121 -4.95862033 -0.79726624 1.30807160 -O 1.03190046 -0.41705563 -0.32926942 -1.61103934 1.92294408 -0.21604925 -H 0.34488967 0.58188701 1.41158334 -0.47605966 -0.39585175 -0.01716227 -H -0.44132384 -1.02941526 0.93581643 -0.72866626 -1.19902907 1.25310417 -H -1.96860710 1.06829496 0.29310850 1.28089343 -0.63463240 -0.08869311 -H -0.71025330 1.33808288 -0.82211374 1.91551878 2.90959224 -1.91615852 -H -1.61270062 -0.04722005 -0.98889993 0.56710595 -0.48415576 0.31476546 -H 1.47733374 -1.13019597 0.07129800 1.29276689 -1.80275864 0.94300562 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.10383061763 pbc="F F F" -C -0.09856161 0.35199819 0.42364008 5.57270878 1.37104811 -1.55090522 -C -1.22936108 -0.10262742 -0.24539719 -6.02540513 0.38924150 -2.85221409 -O 1.22643680 -0.20850429 -0.19521693 -3.27021169 2.68779791 -0.77707742 -H 0.01485887 1.45770754 0.36124004 -0.02928405 -0.04142815 -0.26350762 -H -0.22975597 0.21552034 1.43544920 0.56211266 -1.09714403 3.36122199 -H -1.36882212 -1.16166420 -0.50869516 0.71135224 -0.36717361 -0.09330984 -H -2.20217104 0.04135242 0.41378464 1.40513715 0.22542360 -0.94979591 -H -1.39599714 0.54559054 -1.20050729 -0.06738031 -1.22540299 0.96764894 -H 1.53685999 -0.76186548 0.47352067 1.14097030 -1.94236234 2.15793918 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.827029168496 pbc="F F F" -C 0.36005248 0.34963347 0.28737449 1.01396460 -2.29605411 -2.37413124 -C -0.71711856 0.88537922 -0.65952157 1.12026535 2.28507663 0.31208020 -O 0.34309612 -1.12504704 0.41526001 -0.86496845 1.18859023 -0.97488927 -H 1.36495330 0.61890215 -0.19024222 -0.60830732 0.06108059 0.57016536 -H 0.32618168 0.70645293 1.28140367 -0.13903646 0.96933939 1.66171734 -H -0.74267578 0.28512333 -1.57425978 0.08120673 -0.22047083 -0.52419731 -H -1.74953878 0.92737985 -0.25261505 0.14649112 0.10273165 0.08986451 -H -0.31598467 1.97467037 -0.96962975 -1.22482480 -1.86844094 0.44436406 -H -0.07518477 -1.37226377 -0.45169407 0.47520919 -0.22185254 0.79502635 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.9297334678895 pbc="F F F" -C -0.31321715 -0.48065421 0.18619844 1.19854138 0.59083667 0.06292067 -C -0.92794162 0.95789783 0.04658534 1.96564636 -0.53999556 0.34223693 -O 1.13385606 -0.49336706 -0.17379606 -2.04966727 0.76854264 -0.52212212 -H -0.27465820 -0.81114365 1.22040888 -0.31537692 -0.05869985 0.90115083 -H -0.91503399 -1.28515573 -0.33013027 0.28006733 0.55338319 -0.28811062 -H -1.93742926 1.05661364 0.42246712 -0.82148383 -0.08381352 0.40350156 -H -0.26936849 1.76520842 0.53408887 -0.61017965 -1.01463057 -0.30289524 -H -0.95295570 1.18556318 -1.01861983 -0.12659797 0.31396949 -0.73540008 -H 1.14009977 0.23193343 -0.84335789 0.47905052 -0.52959256 0.13871806 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518187700745 pbc="F F F" -C 0.18509017 -0.21696608 -0.49569517 -2.64878629 1.32972867 0.10003976 -C -0.84224133 0.94908198 -0.32122419 3.09650173 1.71461642 1.78246929 -O 0.66334290 -0.70759215 0.70136480 0.68762686 -0.24629336 2.07046750 -H -0.52320043 -0.88564803 -1.01626293 0.19621622 -1.22130882 -0.03891088 -H 0.94693743 -0.01075551 -1.25449617 0.82752968 0.25164989 0.05838931 -H -1.59153534 0.89046856 -1.02667786 -2.32292600 -0.25188931 -2.00256824 -H -1.26153663 0.83454025 0.68589493 -0.52156121 -0.15349003 0.28232707 -H -0.49808617 2.04534868 -0.34857988 0.20424105 -1.09532554 0.01956646 -H 0.22761763 -0.36754156 1.56158375 0.48115795 -0.32768793 -2.27178016 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.621810287759 pbc="F F F" -C 0.35518283 0.05572687 -0.45558415 1.37678841 -0.75325373 -1.79646242 -C -0.71374523 1.08729541 -0.19361569 -0.88997403 -1.61603813 1.50390904 -O 0.30626410 -1.00584252 0.60768210 0.49772522 0.82486602 -1.80748608 -H 0.25237774 -0.36354462 -1.51865517 -0.13480463 -0.22603434 0.95324032 -H 1.35683051 0.66077180 -0.59988643 -0.85432362 -1.15054375 0.91615672 -H -1.72741035 0.54736370 -0.13883714 0.88196026 0.90638647 -0.11859783 -H -0.39911042 1.33237728 0.82403416 -0.63774225 0.55954603 0.89164165 -H -0.73432658 2.04530152 -0.72436589 0.16018631 -0.07880208 -0.71131799 -H 0.66186848 -1.87801602 0.24767181 -0.39981568 1.53387356 0.16891670 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.608743616427 pbc="F F F" -C 0.33435566 -0.24965537 -0.39981596 1.42133078 2.58425158 3.84538340 -C 0.25911438 1.41060685 0.03814491 0.66518123 -2.12073294 0.46718266 -O -0.56792166 -1.07792475 0.26078868 -0.44028979 -0.27622877 1.42044303 -H 0.18241403 -0.32393319 -1.43964872 -0.21482957 -0.20112178 -1.94635907 -H 1.37408092 -0.52685655 -0.08318062 0.03130278 -0.05971631 -0.66464793 -H -0.02888620 1.53821673 1.14688248 0.36187307 -0.34647452 -1.14636000 -H 1.27901821 1.92514092 -0.12317163 -1.29031720 -0.52807314 -0.07492187 -H -0.55835136 1.80464007 -0.56724507 -0.19540139 0.70895309 -0.25204728 -H -0.30627698 -1.14241261 1.23647290 -0.33884991 0.23914281 -1.64867289 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.3627678479825 pbc="F F F" -C 0.18774613 0.28697165 0.47556225 -1.86013782 -1.74388010 -1.94773631 -C -0.10384740 1.07645742 -0.89848264 5.35321044 -1.98378602 0.04332886 -O -0.04030298 -1.24448475 0.40161873 0.17948142 2.53610930 -0.00516396 -H 1.22935784 0.39883091 0.83131627 -0.21591715 0.07434136 -0.00141735 -H -0.59014865 0.71940534 1.09448449 -0.04011673 0.14167081 1.45689476 -H 0.80470894 1.81670232 -0.96108336 -1.38591938 -0.71706693 -0.09119973 -H 0.19608685 0.28075603 -1.70109415 -1.02877740 1.30998589 0.65895365 -H -0.98459887 1.66120628 -1.04324585 -1.44344207 0.16755669 -0.04846469 -H -1.01639581 -1.37097828 0.44413755 0.44161869 0.21506900 -0.06519523 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.607478632392 pbc="F F F" -C -0.15009435 0.36364994 -0.40698253 3.42913132 0.08437726 -0.46644980 -C -1.15989356 -0.16320832 0.52389146 -1.14029148 1.82684341 1.65413520 -O 1.20243981 -0.13139925 -0.12425129 -0.23228372 3.40596974 -1.29967684 -H -0.31894186 0.20014518 -1.47413266 -0.78360725 -0.90948465 -0.66681115 -H 0.06005037 1.46169284 -0.50324736 -0.70215530 0.00052713 0.97838530 -H -1.02217472 0.15740091 1.63664196 -0.26245424 -0.19272955 -1.59407802 -H -2.16872184 0.06244731 0.13625482 -0.35598288 0.72847605 0.33460168 -H -1.26205580 -1.21631629 0.52841006 0.59456688 -2.10485535 -0.06778418 -H 1.23401711 -0.96960137 0.25526248 -0.54692330 -2.83912414 1.12767785 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.496168471937 pbc="F F F" -C 0.19137021 -0.54607911 -0.04311688 1.29201227 -0.56051112 0.00171148 -C -0.88598332 0.10064203 -0.94841965 -0.63493692 -1.62851534 0.23324850 -O 0.61630530 0.43148373 0.88754989 -3.57235673 1.55651640 -3.49161311 -H -0.21544288 -1.52047161 0.47059921 0.36780317 1.30216829 -0.51094872 -H 1.04241312 -0.92908538 -0.75771004 -0.78920306 0.41296003 1.01538297 -H -0.59758424 0.42507654 -1.96603551 0.50215323 -0.08884733 0.07073030 -H -1.56509391 -0.80218527 -1.06632926 -0.22637208 1.11786348 -0.33087173 -H -1.40291817 0.97062023 -0.49010005 -0.02758496 -0.39922787 0.31771282 -H 1.23186733 0.31331310 1.53640669 3.08848513 -1.71240655 2.69464743 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.3818532401065 pbc="F F F" -C 0.50733551 -0.08253984 -0.00708454 0.34462893 -3.85422347 1.32454306 -C 0.12380082 1.30160110 -0.36628820 -1.96987249 0.04871656 1.05453837 -O -0.59734484 -1.09400271 0.27760303 1.01130762 1.85441860 -3.33479649 -H 1.27949821 -0.55429822 -0.79823141 -1.60981878 0.77920737 1.19326013 -H 1.07870260 -0.06820626 0.94389580 0.28319893 0.08542005 0.04706447 -H -0.74725183 1.74177547 0.36163682 1.93031446 -0.81250687 -1.73064262 -H 1.09266084 1.78079804 -0.22853224 0.22012121 1.13727243 -0.15547769 -H -0.13669315 1.23367609 -1.42866513 -0.54321607 0.86468861 -0.31969992 -H -0.60670791 -1.29617953 1.19254346 0.33333623 -0.10299323 1.92121069 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.453650307078 pbc="F F F" -C 0.18435719 0.41800706 -0.33981789 -1.12953773 -5.00138293 -0.06149068 -C -1.35028498 -0.06163369 -0.28435174 1.50458324 -0.93342029 -1.04994139 -O 1.10885981 -0.29295602 0.54309863 0.39226501 0.66111065 -1.55118779 -H 0.44041467 0.26160003 -1.42759829 0.43385432 0.01469725 0.52624812 -H 0.37400220 1.39697592 -0.10142422 -0.20309202 3.49356391 0.58257078 -H -1.60804946 -0.97612364 -1.03901396 0.61953929 1.92732282 1.74490526 -H -1.70713067 -0.25226453 0.73981803 0.12869851 -0.44385015 0.29632545 -H -1.90417736 0.82518454 -0.55351486 -0.82307920 0.62224631 -0.72526196 -H 0.69591068 -0.85325032 1.19858938 -0.92323137 -0.34028762 0.23783226 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.662910922957 pbc="F F F" -C 0.51845484 0.19548122 -0.00904904 -1.39598361 -0.40103716 -0.44832063 -C -0.73645303 1.02492695 -0.52280054 0.57732809 -3.21145086 -2.41243256 -O 0.18408793 -1.10635548 0.46472296 -1.82841250 0.35272560 -0.86642107 -H 1.21612363 0.02102164 -0.86385558 0.37454723 0.83376908 0.27509353 -H 0.87421964 0.80644863 0.83470621 0.86089629 0.20960226 -0.00773959 -H -0.93623579 0.97946084 -1.66259762 0.77713830 0.14534009 1.15500195 -H -1.68684701 0.64192845 -0.18087009 -0.63977244 -0.49900620 0.98822373 -H -0.63927364 2.01125895 -0.22046398 0.21738247 2.68785051 0.62793477 -H 0.84661425 -1.44252294 1.05392915 1.05687617 -0.11779333 0.68865988 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.677426000176 pbc="F F F" -C -0.12000791 0.00652996 0.59367128 0.93263513 -2.54461991 -1.65758527 -C -1.18538477 -0.15014386 -0.55209181 1.33765235 -0.66830414 -0.69996981 -O 1.21543527 0.13978459 0.03346226 -0.48042467 -0.24280329 2.55941265 -H -0.29764564 0.84590460 1.18481564 -0.72310398 2.29730295 1.31442248 -H -0.13735045 -0.86273494 1.33316395 -0.09194073 0.34459983 -0.67825544 -H -2.08932602 0.39842229 -0.28442448 -0.54546425 0.25095827 -0.19077895 -H -0.75682602 0.21373550 -1.57314543 -0.60011486 0.14531787 1.38819326 -H -1.45067758 -1.21445308 -0.81978283 0.09102058 0.44740753 0.57011548 -H 0.99296020 0.11008919 -0.86725018 0.07974043 -0.02985905 -2.60555441 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5752902763115 pbc="F F F" -C -0.34763852 0.19234382 0.35426193 0.17892678 -1.40141198 0.80150327 -C 0.01550612 1.05808177 -0.82660023 -3.76729311 0.81171132 -0.02624058 -O 0.29292195 -1.15122223 0.46918278 -0.32535028 0.51100785 -2.11391694 -H 0.03559108 0.67964600 1.26788789 0.21658975 0.27080462 0.10743492 -H -1.44177621 0.19247114 0.55542409 -0.24814352 -0.63214274 -0.34600550 -H 1.03268115 1.07364610 -0.76007922 3.78707097 0.13903014 -0.95213371 -H -0.48925609 0.88173969 -1.82947105 0.79561215 -0.49397274 0.69376733 -H -0.31049013 2.11287007 -0.59847729 0.10022487 -0.40558811 0.07680243 -H 0.48032225 -1.56828116 -0.45437034 -0.73763756 1.20056170 1.75878881 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.67689600817 pbc="F F F" -C -0.36745637 -0.41497340 -0.20605936 0.49868974 2.18599029 -0.33910641 -C -0.71681775 0.66193643 0.83998780 2.06855943 1.53919276 -2.84049922 -O 0.97071487 -0.25304985 -0.62342671 -0.61733056 -1.26853840 -1.79935255 -H -0.72332230 -1.36522511 0.16214511 0.49369681 -1.53165264 0.90384951 -H -0.96678363 -0.38802238 -1.14517684 -0.06624717 0.72367214 0.00439227 -H -0.30535746 1.74027045 0.54937991 -0.88975246 -1.89637948 0.29006311 -H -1.74795887 0.65473897 0.93203672 -2.93263874 0.48466417 0.49140215 -H -0.30552470 0.41662201 1.77948534 0.89882568 -0.50998378 1.79653210 -H 1.55974990 0.01403577 0.06406373 0.54619732 0.27303490 1.49271903 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.605215422126 pbc="F F F" -C 0.04427435 -0.59134739 -0.17988363 -2.90353513 3.34819611 0.98659437 -C -0.83612049 0.60211787 -0.80937661 0.56531867 -0.49127334 -0.59287360 -O 0.76879763 -0.08379840 0.89730415 1.67395250 -1.71795263 0.48922793 -H -0.75808355 -1.19128703 0.23428604 -0.38753181 -1.32469224 0.18945180 -H 0.59449945 -1.15271414 -0.89294685 1.25656097 -0.69107846 -1.12061369 -H -0.74707995 0.66679009 -1.94075876 -0.00363153 0.19056051 0.85339000 -H -1.91540546 0.45630242 -0.57534843 0.16909406 -0.01635094 -0.08432861 -H -0.55307492 1.58340921 -0.32131130 0.01713147 -0.47964542 -0.57186316 -H 0.61045653 0.83781997 1.04095297 -0.38735924 1.18223642 -0.14898504 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.373364914006 pbc="F F F" -C -0.19285415 -0.46816284 -0.15220772 -5.53237464 0.78727658 0.62780550 -C -1.00234893 0.81070064 0.49769131 2.41018279 -0.34789583 -1.13821593 -O 1.10456191 -0.33944588 -0.30107541 3.57816665 -0.19450777 -0.44490343 -H -0.37203266 -1.32937784 0.48347352 0.29572890 -0.45030907 1.36552199 -H -0.91730441 -0.88859330 -0.93843658 1.06374122 0.74726012 -0.85932771 -H -1.70004020 0.42987007 1.21819118 -0.92058637 -0.37984262 0.80210218 -H -0.16473879 1.34592100 1.09635714 -1.28876204 -0.08441264 -0.86951761 -H -1.58737665 1.43125347 -0.27119524 0.97647523 -0.35003627 0.81913811 -H 1.44953164 0.31586491 -0.92612222 -0.58257181 0.27246750 -0.30260316 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5603737373 pbc="F F F" -C -0.30617170 0.14022714 0.41122962 -1.42873639 -0.73496937 1.53570172 -C 0.08222995 1.16950694 -0.63626058 3.02478855 -0.82720007 -0.13016389 -O 0.13362695 -1.20972065 0.19655678 -0.72672081 0.67007347 -0.17202239 -H -0.03847355 0.45292654 1.51968130 -0.37341861 -0.16130269 -1.58108443 -H -1.45030460 0.08916882 0.34538297 0.99136310 -0.16011154 0.50170889 -H 0.72130632 1.93391855 -0.16919340 -0.65559743 0.99206172 0.32792416 -H 1.02181789 0.73586075 -1.21771115 -2.15363814 0.28010132 -0.08930622 -H -0.79892372 1.55282625 -1.18467079 0.57470783 0.06467916 -0.43744836 -H 1.09098825 -1.17076740 0.26798176 0.74725184 -0.12333200 0.04469057 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.55974391189 pbc="F F F" -C 0.11332485 -0.17403943 0.55041453 1.09767563 -3.19140957 0.59838590 -C -1.23421066 0.44447707 0.11140480 1.05169046 -1.49731694 0.13429355 -O 1.04669436 -0.19480207 -0.53745075 -0.09760986 1.00459354 -0.16377444 -H 0.71740420 0.24080337 1.47565544 -1.37478969 -0.33663347 -1.38892922 -H 0.01394997 -1.37250166 0.70150430 -0.53931123 2.12546336 0.79683224 -H -2.10830700 0.16679540 0.76342996 0.49775983 0.86412765 -0.11361837 -H -0.97003887 1.45990662 -0.16861766 -0.69904169 1.07743858 0.28873421 -H -1.42546790 -0.05168620 -0.86461156 -0.26287153 -0.08133168 -0.02734014 -H 0.51348036 -0.57521153 -1.26250446 0.32649802 0.03506852 -0.12458372 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.709855762186 pbc="F F F" -C 0.03478677 -0.40438856 0.42803953 0.55419186 2.50479459 -1.02381630 -C -1.12660745 0.61073639 0.34500061 -1.49322652 -1.15668957 -1.04397370 -O 0.98239132 -0.16621295 -0.71129341 -1.54829771 0.42802269 1.59830682 -H 0.41906856 -0.33108760 1.46082698 0.86756558 -0.08095352 0.00200418 -H -0.39362773 -1.34031075 0.26836297 -0.85033764 -2.60505494 -0.02733006 -H -1.92073166 0.57833936 1.18086207 1.40212222 -0.00671706 -0.39925877 -H -0.69232513 1.61814215 0.22178165 -0.33839812 0.21926648 -0.10251377 -H -1.80233391 0.27916334 -0.54828163 1.11366019 0.98610993 0.74130241 -H 1.80533363 -0.62624630 -0.50454491 0.29272014 -0.28877859 0.25527931 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.570340168101 pbc="F F F" -C 0.01902180 -0.21080670 -0.55289949 2.63721071 4.27450246 0.15372425 -C -1.25754369 0.13437095 0.10693576 -2.53167846 1.44188527 -2.82468981 -O 1.11858153 0.10353502 0.40754575 -0.57173645 -0.22908521 -0.68541792 -H 0.15192145 -1.19539831 -0.81637657 -0.01832272 -3.15144016 -1.07534534 -H 0.23636392 0.48245962 -1.51560369 -0.59652401 -1.40151066 1.61821961 -H -1.39750627 -0.39943018 1.03497646 -0.09078291 0.04178589 1.01613405 -H -1.35741470 1.28492116 0.07978022 0.11737038 -1.33019132 0.96886435 -H -2.15963667 -0.15723344 -0.59344621 1.22209377 0.16016939 0.94935425 -H 1.52796347 -0.74945314 0.65568952 -0.16763027 0.19388433 -0.12084333 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.655489598739 pbc="F F F" -C 0.50023669 0.10925198 -0.20243644 -0.33545426 1.64471869 0.93967856 -C -0.75486007 1.10660349 -0.30144739 1.66255974 -0.29479214 2.79888302 -O 0.24504314 -1.13279040 0.39959683 -0.71603705 -1.49369425 0.21618151 -H 0.77655878 0.04327957 -1.29800942 0.22812290 -0.88737866 0.76071137 -H 1.39302443 0.53264246 0.35686340 -0.51832717 0.52018721 -0.58131073 -H -1.38398643 0.74817317 -1.08997557 -1.07323451 -0.16298023 -0.68951930 -H -1.26615156 1.21394538 0.71219118 -0.01883236 -0.66771664 -0.81644210 -H -0.45157707 2.15818772 -0.41807403 0.35863235 0.16706304 -0.76311535 -H 0.07559761 -1.20477122 1.39838108 0.41257036 1.17459299 -1.86506704 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.552424405577 pbc="F F F" -C -0.32303624 0.24092118 0.43339159 0.46645350 -3.69459257 -2.04769831 -C 0.06102252 1.02109890 -0.77384261 -1.20735497 1.34738948 -2.26752997 -O 0.26583089 -1.11885776 0.39000157 0.16391092 -0.17928673 0.14364079 -H 0.12141816 0.64575064 1.29816125 0.16441058 0.77817045 1.97962510 -H -1.42661975 0.09012430 0.41722139 0.03678525 0.50783172 0.59484667 -H 0.92624396 1.74544194 -0.85994059 -0.26473805 -0.77352842 0.70852145 -H 0.14288280 0.30315126 -1.65060909 -0.12325806 0.62352579 0.47029462 -H -0.87726519 1.64945381 -0.95610260 0.92877467 -0.14512700 -0.39527238 -H 0.01489806 -1.71372409 -0.38252399 -0.16498389 1.53561723 0.81357203 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.765205315692 pbc="F F F" -C -0.39485744 -0.02972354 -0.48424627 1.79672771 0.02919139 0.48402422 -C 0.97830770 0.81184202 -0.38763217 -0.93479280 0.07353342 -0.85537782 -O -0.57766867 -0.68150074 0.77053971 0.07370147 -1.18434529 0.82706904 -H -1.26230962 0.71201294 -0.57670382 0.73885724 -0.89820563 -0.27475136 -H -0.33053658 -0.82286010 -1.27289976 -0.39528776 0.61680575 -0.32551612 -H 1.91260600 0.21042029 -0.27036956 -0.45695383 -0.15050405 -0.01374281 -H 1.20614198 1.61834324 -1.16382061 -0.53397342 -0.85772935 0.29650944 -H 0.77737200 1.34530346 0.53641177 0.37308509 0.48725214 0.78674220 -H -0.08716053 -1.56680095 0.90570223 -0.66136365 1.88400162 -0.92495673 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6719816716495 pbc="F F F" -C -0.16336381 0.54072060 0.21876603 0.07101950 -1.18233304 1.59320518 -C -0.57437703 0.00981098 -1.11961271 -2.56799659 0.06211803 0.39415359 -O 0.71247462 -0.46326190 0.76081772 0.00737506 -0.96655941 0.70164344 -H 0.51413588 1.40050960 0.32719818 -0.72160811 1.18436570 -0.72552493 -H -1.13528995 0.62145018 0.84313601 1.12192366 0.42387113 -0.50023266 -H -1.41275071 0.61150452 -1.55653127 0.84212167 0.36397557 -0.48317236 -H 0.20579667 -0.32940428 -1.78116878 0.75134699 0.19359683 -0.71274706 -H -1.19505225 -0.88688940 -0.87775006 0.48833879 -0.26114400 0.04015278 -H 0.50378459 -0.62532707 1.70294499 0.00747908 0.18210934 -0.30747797 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6047855672305 pbc="F F F" -C 0.42258230 0.05117006 -0.42032106 -0.83087042 0.24093934 0.55557434 -C -0.67866889 1.07465755 -0.18223618 -1.14135175 -1.80123151 1.20223925 -O 0.32662389 -1.02456133 0.50925387 -1.55429857 -0.18801769 0.78756074 -H 0.27480129 -0.38189704 -1.41155386 0.70763056 0.15864463 -0.99739301 -H 1.35051573 0.61419152 -0.19273714 0.51896480 -0.63888675 -0.67545865 -H -1.48984244 0.42655695 0.23628177 -0.50594828 0.30671075 -0.46924777 -H -0.46718626 1.65295020 0.68112981 0.65157577 1.15387642 1.40897797 -H -1.12935158 1.74996877 -0.88959885 0.05851221 0.31238014 -1.31288604 -H -0.67299644 -1.21549306 0.67302961 2.09578567 0.45558467 -0.49936682 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.838035654311 pbc="F F F" -C -0.09475729 0.37297332 -0.45668990 0.02789540 -0.78832924 -0.00345474 -C -1.19118905 -0.12698534 0.52297564 1.40142237 -1.14567269 1.11902845 -O 1.15987226 -0.21852127 -0.03531386 -2.18162532 0.22547430 1.21720538 -H -0.40520941 -0.02857255 -1.48166705 0.36500473 0.48031566 0.49029931 -H -0.13481270 1.54435795 -0.51168834 0.34176375 -1.44896074 0.17148996 -H -1.00678373 0.20361686 1.59635309 -0.43026593 0.36702880 -0.95130880 -H -2.14428982 0.11546346 0.08952741 -1.18284767 0.76934395 0.06338584 -H -1.27697920 -1.26200002 0.69277537 0.65968585 0.90143879 -0.76412703 -H 1.87945701 -0.03691189 -0.61461720 0.99896689 0.63936117 -1.34251837 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.468676231701 pbc="F F F" -C 0.22311957 0.50105152 0.37391949 0.40502576 -1.47962563 -1.32337224 -C -0.83614856 0.54957545 -0.82623399 0.21792071 2.86650918 3.14189494 -O 0.54239790 -0.95471403 0.37916148 0.44319118 0.16269113 2.48268901 -H 1.19808710 0.98448884 0.01427431 -0.96601675 0.19770787 0.48461506 -H -0.12192461 1.04294052 1.37319767 0.32226424 -1.29278258 -1.48558231 -H -1.36011178 1.54752763 -0.69177218 0.29527695 -0.44856324 -0.47777191 -H -0.41185304 0.51846585 -1.79606797 0.97872674 -0.13188643 -1.42245292 -H -1.62993476 -0.16583698 -0.76535795 -0.64659101 -1.19475512 0.44955240 -H 1.01997416 -1.29392297 1.23697609 -1.04979782 1.32070487 -1.84957197 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.52062898645 pbc="F F F" -C -0.12622922 0.34850842 -0.45079495 0.60809495 -4.20369739 -1.07187126 -C -1.23739334 -0.11009809 0.49410606 1.40696983 1.65365014 2.55511608 -O 1.19809925 -0.23508421 -0.02216537 -0.01428886 1.86507460 -1.82193373 -H -0.35986328 -0.15737389 -1.47434426 0.26077639 1.22429263 0.78929484 -H -0.03783758 1.39350957 -0.48658553 -0.01185459 2.25366982 -0.33887588 -H -0.69454947 0.08242463 1.54368684 -1.31221231 -0.39973571 -1.42562227 -H -2.19004438 0.56834392 0.49925360 1.29347348 -1.32278155 -0.31110672 -H -1.35915347 -1.20866879 0.44184759 -0.53775134 0.13666148 -0.11075679 -H 1.87163590 0.21092392 -0.68811819 -1.69320750 -1.20713406 1.73575578 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.843865718105 pbc="F F F" -C -0.31964515 -0.10609831 -0.49381139 2.82131380 -0.83171071 -0.76446929 -C 0.88768414 0.83229730 -0.31271620 -1.10811123 1.09408215 -0.88069610 -O -0.53487678 -0.71629867 0.70352442 -0.55710631 -3.34130071 0.22093523 -H -1.19385742 0.39721276 -0.83767825 -1.34254995 0.86672714 -1.00958339 -H -0.00679074 -0.96856307 -1.19484556 -0.57389392 1.16459108 0.23486099 -H 1.76818631 0.23257089 -0.14516502 0.87975899 -0.29268332 0.33692549 -H 1.02578800 1.48546342 -1.18878172 0.30705065 -0.06637207 -0.51742137 -H 0.74336466 1.60589536 0.48652912 -0.08321934 -0.58048530 0.17460871 -H -0.61618686 -0.03745879 1.32329355 -0.34324270 1.98715185 2.20483967 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.409751995675 pbc="F F F" -C 0.15438705 0.50780820 0.02333166 -2.23213605 1.90936304 -1.71942016 -C -1.30059152 -0.02417825 -0.26614398 -0.99695371 2.81516942 0.35096038 -O 1.06923479 -0.44264440 0.28506996 1.42622457 -1.44771875 1.69734544 -H 0.57020976 1.20331813 -0.75966619 -0.56486816 -0.13272702 -0.39070888 -H -0.08231420 1.23647151 0.81550952 0.95867481 -0.19112615 0.95692440 -H -1.27715040 -0.99260562 -0.73547711 -0.15628374 -1.55348018 0.49517551 -H -1.96601107 0.21910636 0.71438481 1.07084750 -1.38278135 -2.13804717 -H -1.80453909 0.53023472 -1.13963190 0.46971556 0.10716130 1.02673815 -H 1.24473273 -0.93474520 -0.52676629 0.02477922 -0.12386042 -0.27896767 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.399383059931 pbc="F F F" -C 0.09540970 0.38247934 0.37189192 0.49100626 -1.19238729 -1.53797391 -C -0.84772236 0.66118151 -0.91042048 1.67794702 0.32627855 1.08125888 -O 0.64179318 -0.96558861 0.43878802 1.26197371 -0.05388911 1.57203980 -H 0.92779679 1.06841402 0.33219404 0.86301385 0.98642700 -0.12808675 -H -0.35189495 0.48961928 1.34246607 -1.33970044 0.91876551 0.80042608 -H -0.82082394 1.80054301 -1.13392188 -0.32601537 -1.36190614 0.57803072 -H -0.35325312 0.20987662 -1.86994700 -1.13964793 0.08918728 1.52023987 -H -1.85717460 0.32335306 -0.53991483 0.32061066 0.05548684 -1.25823115 -H 1.23156554 -1.00251802 1.32123389 -1.80918769 0.23203725 -2.62770354 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.749994517109 pbc="F F F" -C 0.08820024 -0.06082092 0.55045102 1.58040041 -2.55308229 -1.50551104 -C -1.30077972 0.17495254 0.03687613 -1.21179578 2.73634117 0.37812867 -O 1.07303288 -0.08778045 -0.54827963 -2.04420588 1.59379283 -0.59686966 -H 0.46216790 0.56831664 1.36443324 -0.31154391 0.55883964 0.45404252 -H 0.16633392 -1.13514258 0.83082082 -0.49925935 0.07790384 1.08339881 -H -2.06892509 0.40523611 0.87877904 0.96407701 -0.99535356 -0.82312970 -H -1.33506719 1.20813653 -0.45007751 0.21094700 -0.80930878 -0.07638925 -H -1.67654424 -0.55089475 -0.71903706 0.17490912 -0.02371406 0.41023420 -H 1.86760422 -0.46378324 -0.20051651 1.13647133 -0.58541874 0.67609546 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.628529262244 pbc="F F F" -C 0.25600313 0.13286140 0.53887707 0.75546102 -0.59911115 -2.70851231 -C -1.24618391 0.14662910 0.33100373 -1.40463866 -1.60349243 0.69834672 -O 0.95728354 -0.23041028 -0.72470274 -0.14756414 0.53471682 0.10934648 -H 0.71173197 1.08543064 0.88402559 -0.28149105 0.00394161 0.26361355 -H 0.64083184 -0.74363959 1.04495863 -0.30231519 -0.15448170 1.82199940 -H -1.87664979 0.58396906 1.19061911 0.77229877 -0.42630519 -0.93032813 -H -1.55742068 0.59481494 -0.62284595 0.19716666 0.97023516 -0.15151151 -H -1.64743211 -0.92423229 0.10991358 0.62426221 1.04872536 0.76447289 -H 0.33171769 -0.27088930 -1.46877415 -0.21317965 0.22577152 0.13257296 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.473128609215 pbc="F F F" -C -0.16731269 -0.21278229 0.50656204 2.33302350 -1.23072980 -2.18362641 -C -1.07222510 0.69916888 -0.25626966 -2.23431398 2.01410149 2.66345346 -O 1.10296819 -0.45386408 -0.25431328 0.18388366 0.66387012 0.47242134 -H 0.06356991 0.17557221 1.47670951 0.12805142 0.14426161 1.37836116 -H -0.55428451 -1.23563241 0.46233556 -0.80376959 -0.26232131 0.98961033 -H -1.61091721 1.52927302 0.44985371 1.07018395 -1.73711152 -1.07775796 -H -0.62292896 1.32436563 -0.98221968 1.19266250 0.69212084 -1.34053785 -H -1.91097120 0.17897143 -0.69227231 -0.62751563 -0.50384887 -0.63482621 -H 1.89716480 -0.56552417 0.33989534 -1.24220577 0.21965739 -0.26709786 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.823064427773 pbc="F F F" -C 0.13370169 -0.19811400 -0.54344842 -0.30375059 1.13755551 -0.57085035 -C -0.38654613 1.24239308 -0.15048084 2.39457367 -0.60923410 -1.51287078 -O 0.23811714 -0.99205516 0.58486227 0.67222847 -0.69253098 1.95049233 -H -0.65361272 -0.71060405 -1.13226841 -0.09602025 0.20539681 -0.52480985 -H 1.08897739 -0.20694302 -1.23515066 -1.04449559 0.28443121 1.11578778 -H -0.92088743 1.70902760 -1.00147786 0.13403160 0.28135854 0.15996283 -H -1.02797314 1.12388894 0.68573227 -1.39715624 -0.23165529 1.14724791 -H 0.47790896 1.86902455 0.22613912 -0.52656401 -0.14261734 -0.50120696 -H 0.26779355 -0.48235966 1.44221391 0.16715298 -0.23270425 -1.26375296 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.518472460792 pbc="F F F" -C 0.44393830 0.32545469 0.08836990 -0.78953915 -2.68891922 0.47818817 -C -0.65145891 0.84315997 -0.79945578 -1.17971103 -1.18294527 -1.92118544 -O 0.22009035 -1.07639216 0.61036656 0.34411415 1.90489452 -1.11168424 -H 1.44592822 0.29537469 -0.26558827 1.32081440 -0.29863060 -1.88915319 -H 0.69617993 0.97944116 0.87861314 -0.53598273 1.32501188 2.08523566 -H -0.90321042 1.90786406 -0.71161041 0.16617153 0.34030454 0.08890934 -H -0.53574211 0.58839633 -1.90315275 0.60235054 0.51238170 0.64246038 -H -1.62026306 0.26758243 -0.70445595 0.49481499 0.31454460 0.87542410 -H -0.10462275 -0.87950577 1.49098348 -0.42303264 -0.22664215 0.75180522 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.656851845465 pbc="F F F" -C -0.29258480 -0.44234871 -0.16210345 -2.72555801 -0.35997313 -0.72463924 -C -0.83159203 0.77806530 0.68020932 -0.88634405 -1.62529199 -1.17508885 -O 1.06829596 -0.36805531 -0.43940729 -0.38540556 1.98638875 -0.87466943 -H -0.51237491 -1.47553549 0.23975326 0.13588167 0.68776231 0.27409198 -H -1.08184379 -0.41508554 -1.13288790 1.97661804 -0.09461529 1.40784807 -H -1.95736417 0.66187202 0.57325352 0.71233095 0.63084130 0.24343306 -H -0.59329600 0.79632985 1.75227937 0.41557320 0.05025470 0.19530363 -H -0.47191705 1.68097234 0.13118651 -0.29684394 0.10220283 0.38816138 -H 1.05414271 0.59179524 -0.76250661 1.05374770 -1.37756946 0.26555941 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5698189182185 pbc="F F F" -C 0.04636451 -0.35454971 0.39634530 -0.60046746 -3.29654453 0.38065812 -C -1.12633168 0.61562370 0.33898348 -1.33085867 0.42806938 0.28851464 -O 1.00804121 -0.29487179 -0.68990014 -1.47615433 -0.59758875 1.08172538 -H 0.57495620 -0.35661355 1.42136963 -0.48055040 0.24025810 -0.87342600 -H -0.48883395 -1.52258460 0.37685473 1.57139019 2.87085707 -0.20175741 -H -1.93381098 0.42906473 1.13863821 0.62760228 -0.62598161 -1.07771250 -H -0.98600413 1.66342527 0.61705435 1.17724128 0.73467462 0.06969286 -H -1.57340983 0.72996808 -0.69005978 0.02733248 -0.65340002 0.52142257 -H 1.27408916 0.62486724 -0.67506119 0.48446460 0.89965573 -0.18911766 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.539369262651 pbc="F F F" -C -0.12961611 -0.53978409 0.21841367 1.94241346 2.33805911 0.84690064 -C -1.02480104 0.71730460 0.50226379 1.17539574 -1.95117912 -2.04287081 -O 1.01453178 -0.12568159 -0.69470745 -0.23908028 -1.33755362 2.48374475 -H 0.10331938 -0.94786110 1.30193530 0.50195931 0.52147374 -1.62661472 -H -0.56590602 -1.36650305 -0.28670006 -1.38056619 -1.04032942 -0.79931248 -H -1.92179762 0.23687258 0.82307106 -1.81366532 0.04902849 0.21978121 -H -0.63558855 1.24290718 1.33031012 0.83028359 1.08903225 1.36891410 -H -1.09997534 1.39961005 -0.37629485 -0.31187358 -0.38406823 0.17060499 -H 1.77105960 -0.68688581 -0.35263114 -0.70486668 0.71553681 -0.62114762 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.746180198954 pbc="F F F" -C 0.08919035 -0.35066972 -0.37928371 4.48416407 -0.56141116 0.31696396 -C -1.29045810 0.06816951 -0.26701259 -1.47177466 1.58431898 1.13992725 -O 1.11327929 0.26957021 0.52838379 -1.73644360 -0.66278095 1.11457283 -H 0.11980279 -1.50925859 -0.21809804 0.19941791 1.31824612 -0.66659878 -H 0.60479881 -0.00570465 -1.33763519 -0.81538111 -0.88860898 0.32722112 -H -1.45535067 1.19432992 -0.21228717 0.25934001 -0.83285505 -0.27119383 -H -1.83546898 -0.35502427 -1.12019769 -0.52826942 -0.10689355 -0.08635619 -H -1.65099944 -0.34389924 0.69988686 -0.58503966 0.01733510 -0.15210929 -H 0.85914954 0.10536700 1.50242466 0.19398646 0.13264948 -1.72242702 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.542597619836 pbc="F F F" -C -0.44794902 0.17080476 0.37300239 1.40589053 -0.75546395 -3.43111606 -C 0.80235267 0.99228475 0.14376805 0.36823064 -0.86272712 1.72012603 -O -0.40220623 -1.02942836 -0.47692921 -4.01421371 2.36030456 0.19324480 -H -0.56719518 -0.09568366 1.37059515 -0.23336225 -0.70032513 2.71616500 -H -1.27357258 0.80096527 0.08386095 -1.25390512 0.04806998 -0.41415164 -H 1.56593778 0.23957227 0.08240166 1.23006317 -0.94947936 -0.47402571 -H 0.84911723 1.54027949 -0.79329471 -0.09329225 0.80553044 -0.16685745 -H 1.15885748 1.41816437 1.11497055 -0.41375306 1.07885911 -0.60117092 -H 0.42712807 -1.42378039 -0.44594311 3.00434205 -1.02476853 0.45778590 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.625407651709 pbc="F F F" -C -0.13102136 -0.19312992 -0.43082050 -1.36498087 -2.79556326 -1.58894810 -C -1.15928515 0.06717563 0.67040404 -0.25847638 0.83836704 1.07706649 -O 1.18425799 0.15061002 -0.27663422 0.39284264 2.08029966 -1.62844694 -H -0.21878456 -1.36672985 -0.63240452 0.10098659 1.48922526 0.14004732 -H -0.47291701 0.23499174 -1.44912353 0.37886421 -0.14689633 1.23815392 -H -0.78787525 0.57731890 1.57751495 0.69508872 0.50461712 -0.12802561 -H -2.05583264 0.66665702 0.42611238 0.04077010 0.11078980 -0.55123977 -H -1.56104862 -0.81444867 1.16478180 -0.22199514 -1.02829588 -0.18399957 -H 1.67271263 -0.18909498 0.44933691 0.23690014 -1.05254340 1.62539222 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.6807840200845 pbc="F F F" -C -0.31395613 -0.13237703 -0.42995651 1.14522198 -0.72968688 0.63433523 -C -0.95569460 0.16283987 0.93689368 -1.21925723 3.91945290 -3.22440557 -O 1.15194701 0.02775617 -0.47823285 -0.90700775 -0.55032445 0.11572390 -H -0.70088111 -1.16819467 -0.50232548 0.63497985 -0.54068852 -0.98065389 -H -0.71310685 0.42208994 -1.30430095 -0.06327600 0.28230542 0.28148797 -H -2.07448192 0.13188580 0.75454803 0.65885914 0.04095800 0.45792612 -H -0.66599217 -0.55840516 1.58682061 0.98867651 -2.71612731 2.71593735 -H -0.66122331 1.17617847 1.31127926 -0.22855608 -0.30166239 0.04987541 -H 1.65868784 -0.80863611 -0.29556378 -1.00964041 0.59577324 -0.05022647 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.702035353988 pbc="F F F" -C -0.31831952 0.16915230 0.36360517 -2.44835058 -0.39122330 0.29535732 -C 0.03612102 1.06406777 -0.80571702 0.40721032 -0.64108186 1.19094043 -O 0.26765738 -1.14055679 0.45722866 -0.48040559 1.70579845 0.39842779 -H -0.25937937 0.64341420 1.32944747 0.94012599 0.73480523 0.96469541 -H -1.43548640 0.17920492 0.30134507 -0.39710486 -1.01801784 -0.03960925 -H 1.07078763 1.26368989 -0.62296297 1.55268222 0.72967819 -0.68118254 -H -0.13928858 0.56735288 -1.75818236 0.00147083 -0.27232162 -0.64398057 -H -0.54622143 1.98853668 -0.76794412 -0.18938922 0.37165802 0.01702127 -H 0.42267738 -1.23438071 -0.47121785 0.61376084 -1.21929528 -1.50166987 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.737729138231 pbc="F F F" -C -0.47962481 0.07813691 -0.28576174 2.31695472 0.62021622 0.07797865 -C -0.43241159 0.20707966 1.21967073 -1.15502683 -2.60535875 -1.13511646 -O 0.80766120 -0.28516216 -0.83343759 0.77631781 0.79788881 -0.65886798 -H -1.11503143 -0.77618647 -0.42080628 -1.06213387 -0.67227331 -0.96370826 -H -0.78628336 1.00534871 -0.74919417 -0.93555364 0.61185385 -0.61331614 -H -1.49841323 0.22784025 1.52724958 0.19458244 0.32675498 0.56074678 -H -0.02716251 -0.80935897 1.45397065 0.06315007 0.51695096 0.80645172 -H 0.18107603 0.98706889 1.56318763 1.05564379 1.56326930 0.93484304 -H 1.29242845 0.49160536 -1.27348804 -1.25393448 -1.15930207 0.99098875 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.560958336449 pbc="F F F" -C 0.38726344 0.03744885 -0.40391777 -0.31344597 -0.04536183 0.31724395 -C -0.61904540 1.17391666 -0.14829578 3.91129617 2.89210081 3.03532298 -O 0.17290133 -1.10443425 0.50887071 0.56404813 0.97742679 -1.22074688 -H 0.03981532 -0.19153519 -1.44454101 1.14768222 -0.71066334 -0.19641013 -H 1.49857138 0.36661112 -0.27675009 -1.46824731 -0.12760415 -0.69129336 -H -1.62076350 0.88060291 -0.22297534 -2.14248926 -0.74894790 -0.07325368 -H -0.36006659 1.58810044 0.95265157 -1.05498980 -0.83183474 -1.70397210 -H -0.44980921 2.15811131 -0.74313808 -0.04289573 -1.61338269 0.19269597 -H 0.90867131 -1.70703818 0.23748657 -0.60095844 0.20826709 0.34041325 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.849329532847 pbc="F F F" -C 0.32562548 0.02092936 -0.41674665 2.51111868 0.46105439 -2.26985728 -C -0.63002751 1.14541677 -0.11263289 -1.34346382 -2.15680059 2.53858106 -O 0.33366055 -1.07852952 0.45028859 -1.17876039 0.10254735 0.41376227 -H 0.21658793 -0.31682929 -1.51943904 0.08721504 0.27071309 0.90163713 -H 1.39615260 0.42115286 -0.32279315 -0.84829855 -0.08643959 -0.41857923 -H -1.69403193 0.95382599 -0.40311778 0.31903652 0.01558274 -0.11088889 -H -0.61835917 1.12640011 1.01964800 -0.30848672 0.30518989 -0.35882261 -H -0.36790289 2.13892192 -0.33787036 0.77147833 1.73765068 -1.00200074 -H -0.60247066 -1.10335954 0.72410910 -0.00983910 -0.64949795 0.30616840 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.829371887515 pbc="F F F" -C -0.25920403 0.49166245 -0.20314442 2.18579591 -0.51837473 -0.44411642 -C -0.60705098 -0.13172627 1.16167962 -1.02297236 -0.19063924 -0.40735878 -O 0.75550110 -0.31420369 -0.91616782 -0.04868185 -0.02264099 0.53940292 -H -1.07921072 0.50363768 -0.94707911 -0.37240406 -0.13442951 0.37632874 -H 0.12946169 1.54595873 -0.20594817 -0.26256222 -0.12625823 0.61358092 -H -1.28599742 0.41200443 1.82095266 -0.48385365 1.17594657 -0.03023166 -H -1.26511378 -1.01964108 0.98370202 0.86580020 -0.30784543 0.05166011 -H 0.22004400 -0.31319592 1.87652766 0.40762870 -0.38162167 -0.56158337 -H 1.60985136 -0.43182455 -0.40747661 -1.26875062 0.50586333 -0.13768236 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.566297458845 pbc="F F F" -C 0.35250900 0.02203317 -0.39419649 0.09551461 -1.95423832 -1.32425150 -C -0.61241734 1.16274778 -0.09443658 -0.23343851 0.76509412 -2.49045174 -O 0.19326793 -1.05807174 0.49939768 0.44455551 -0.22800324 0.82244558 -H 0.29788282 -0.48322753 -1.44737678 -0.98267457 1.21698612 0.57995581 -H 1.39223836 0.40838819 -0.57316628 0.20135339 0.21330064 1.16596426 -H -1.73189798 0.98535781 -0.39431360 1.74392911 0.13570102 0.37553237 -H -0.59657827 1.66567173 0.89209974 0.33293375 -0.54715901 0.22328115 -H -0.10153582 1.90959300 -0.81327802 -1.35620698 -0.10401689 0.64230951 -H 0.76817942 -1.81007595 0.23150691 -0.24596631 0.50233562 0.00521456 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.71278682962 pbc="F F F" -C -0.08322457 0.33165489 -0.47136373 0.02355851 0.27983464 1.09371114 -C -1.17519708 -0.26582273 0.39068122 -3.38598948 0.72149504 -1.53054866 -O 1.15967105 -0.08150304 0.02855898 1.75212342 -0.05224159 0.45391541 -H -0.10996097 0.09710535 -1.55691772 -0.23217059 -0.54870055 0.13228413 -H -0.22644184 1.40480020 -0.45814162 0.15608052 1.30939736 0.04528851 -H -1.16939650 -1.32366563 0.27380260 0.28129323 -1.75325980 0.06858384 -H -1.13272228 -0.05835090 1.48280142 0.11389250 0.38580316 -0.28910229 -H -2.30894089 -0.03354311 -0.04470285 2.42369158 -0.02707558 1.11147681 -H 1.53405192 0.42141976 0.81125079 -1.13247969 -0.31525268 -1.08560882 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7215553473 pbc="F F F" -C -0.43190868 0.16925187 -0.37631773 0.16898787 -1.07918261 0.09181860 -C -0.54079398 0.12786519 1.18403018 -0.06332871 -0.00402722 -1.13622358 -O 0.86801445 -0.25410361 -0.69398939 1.30812379 -0.60581495 0.14468754 -H -1.15519917 -0.57742419 -0.80473423 -0.31136944 0.60256368 -0.10987916 -H -0.51936086 1.19844108 -0.85201944 -0.87645080 -0.38156217 0.77997166 -H -1.47249029 0.66815210 1.45940833 0.50008724 0.15015597 0.52630865 -H -0.44376436 -0.83955103 1.74325361 -0.74958954 -0.28400652 -1.00595278 -H 0.42891603 0.50883881 1.48441232 0.35475661 1.45560535 0.62540234 -H 0.97340784 -0.46694995 -1.63914453 -0.33121708 0.14626841 0.08386669 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.385986583303 pbc="F F F" -C 0.15339154 -0.34103808 -0.38621582 -0.09377408 3.13867231 1.61293671 -C -1.39893045 0.05810691 -0.24982954 3.31728917 -1.28213132 -1.18297417 -O 1.14382639 0.20771952 0.55451798 -0.67464536 -1.01096443 0.06469407 -H 0.34193221 -1.35848088 -0.20031811 -0.32258516 -2.29555362 -0.37762694 -H 0.55802169 -0.00218313 -1.30793718 0.13522609 0.00666842 -2.05058865 -H -1.58517112 1.06341482 0.04249426 0.03433077 1.83886358 -0.20367638 -H -1.83609825 -0.21283306 -1.23820372 -0.48018849 -0.08364588 0.67461785 -H -1.63233852 -0.47455304 0.62854193 -1.53696578 -1.48771186 1.20816533 -H 0.83823956 1.05735954 0.85252768 -0.37868717 1.17580274 0.25445214 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.150073468466 pbc="F F F" -C 0.52074979 0.21126015 -0.13340856 0.56244412 -1.77794944 -3.95680523 -C -0.75126131 0.98565760 -0.31234185 -1.51386739 -2.63550155 0.15284463 -O 0.19385081 -1.12571430 0.35467812 1.70835017 1.81777615 2.29269049 -H 1.24387689 0.07555571 -1.13240055 -1.72160118 0.42073289 1.94077175 -H 1.07664462 0.83328217 0.53546250 1.22756858 0.29325915 1.16042651 -H -1.55327555 0.59601947 -1.06370524 0.82226452 -0.37428688 1.66227995 -H -1.00165161 1.15753302 0.75824727 -1.25984077 -0.25374185 -0.33937509 -H -0.68340159 1.92223503 -0.70600427 1.17334194 3.69387636 -1.32440371 -H 0.58654870 -0.97982621 1.29006518 -0.99866000 -1.18416490 -1.58842941 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.525927505176 pbc="F F F" -C -0.31062295 0.03249332 -0.47739893 -0.07778731 -1.36888165 0.46424585 -C 0.42199502 1.22852528 0.05807204 -2.12825440 1.69401987 -0.27494173 -O -0.12152662 -1.16524767 0.33368091 -1.90733686 0.32234003 -1.60256282 -H -1.36271965 0.20827722 -0.32926201 -1.18591726 0.43769616 -0.27457396 -H -0.16388076 -0.19417486 -1.53169680 0.33290064 -0.16508838 -0.84138351 -H 1.50796157 1.28320360 -0.15431686 -0.15488439 0.28497161 0.02427204 -H -0.25320063 2.22641796 -0.13007198 1.98312406 -1.84752732 -0.02372281 -H 0.17462781 1.00718900 1.08976215 0.68921786 0.52514064 1.39290013 -H 0.69813985 -1.06241734 0.75568192 2.44893766 0.11732899 1.13576680 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.25524426337 pbc="F F F" -C -0.37629975 0.17255070 0.41257731 5.26392526 -1.79157378 -1.44914334 -C 0.03079134 1.07818943 -0.83704143 -0.79975816 -0.11788579 1.52168463 -O 0.32156510 -1.11389225 0.42131123 0.94628815 0.94649513 1.45959452 -H 0.09929975 0.42987402 1.38013113 -0.82453810 1.59385670 -0.06236434 -H -1.36546364 -0.10996690 0.46440289 -3.37302942 0.25371562 0.24489498 -H 1.14549471 1.21698837 -0.96817897 -0.76742858 -0.24547605 0.31559052 -H -0.45173337 0.86427160 -1.85293248 0.26637347 -0.02615589 1.19058757 -H -0.41371244 1.97378736 -0.35421636 0.19579831 0.91357733 -1.05801275 -H -0.00208644 -1.59916305 -0.29888223 -0.90763099 -1.52655327 -2.16283179 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.693459888844 pbc="F F F" -C 0.17339996 -0.10446737 -0.42266457 2.50348024 -0.10352314 -2.15357293 -C -0.46030922 1.25471295 -0.21387097 -1.97708125 -0.72786700 0.90139277 -O 0.30082669 -1.06416153 0.56866316 1.29621186 -0.40963765 -0.14230768 -H -0.22486204 -0.60414356 -1.35807174 -0.21950554 0.31390789 0.32977495 -H 1.28040114 0.14475696 -0.72770674 -1.30493151 -0.39676285 0.13863372 -H -0.88323680 1.53560499 -1.20821989 0.50667688 0.50365717 0.23193292 -H -1.45500336 1.10930755 0.40651142 1.59801387 0.57642574 -0.47300807 -H 0.28305258 1.97991957 0.21465303 -0.85669942 -0.07828878 -0.06063759 -H -0.35763722 -0.98154642 1.23124822 -1.54616508 0.32208853 1.22779196 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.557896633946 pbc="F F F" -C 0.03457898 -0.33432832 0.35030983 0.43426631 -0.25542720 -0.92273262 -C -1.14518422 0.59401059 0.40765823 -0.77527297 -0.34161262 -0.64722145 -O 0.97956663 -0.27058864 -0.70932624 -0.21084395 0.32213584 -1.57538779 -H 0.56804861 -0.03786165 1.19065900 1.35400051 -0.34419097 2.88501943 -H -0.36767689 -1.36085086 0.34684705 0.13320299 -0.39259185 0.45999982 -H -1.86892742 0.35344158 1.22772438 0.30107613 -0.29454110 -0.39252269 -H -0.92107699 1.62512683 0.51884170 0.90792018 1.70841995 0.51503091 -H -1.62909330 0.61044958 -0.55419121 -1.06210729 -0.36362651 -0.94430450 -H 1.90278556 0.00895037 -0.50249910 -1.08224191 -0.03856553 0.62211888 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.712191818493 pbc="F F F" -C -0.27962897 -0.55128273 0.04023827 1.74192010 1.04611821 1.02658939 -C -0.91844720 0.78129333 0.45785079 1.08248930 0.18456999 -1.15697907 -O 1.06987112 -0.24111095 -0.51675974 -1.70814232 -1.18795522 0.23895913 -H -0.20696400 -1.19362986 0.96892210 0.21771240 0.09875071 -0.37843011 -H -0.96627586 -1.14396717 -0.60559534 0.66529379 0.33751212 -0.69214984 -H -1.96446981 0.49900016 0.54466835 -0.99364141 0.93920198 0.21337459 -H -0.49412285 1.23581512 1.36601179 -0.09678407 -0.45756031 0.69980315 -H -0.61005061 1.60313908 -0.28002720 -1.07781679 -0.98850887 0.07331241 -H 1.53481766 0.08455839 0.27346426 0.16896910 0.02787138 -0.02447964 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.7292837756 pbc="F F F" -C -0.08564249 0.49533997 -0.35731204 0.29925188 -0.60049549 1.72488093 -C -1.21012780 -0.24971361 0.43994516 1.51967891 -0.93571320 -2.58574683 -O 1.16286789 -0.19150145 -0.03801082 -1.20706932 0.68183432 0.88847791 -H -0.23091720 0.42206777 -1.42114238 -0.56419798 -0.10008963 -1.18517915 -H 0.01153134 1.59326771 -0.14550643 -0.18234727 -0.24874542 0.28502437 -H -1.03718168 -0.30654655 1.45927020 1.33430030 0.11425174 2.90022031 -H -2.22924241 0.06547842 0.47798915 -1.40342850 0.79611917 -1.03206466 -H -1.12537410 -1.32552413 0.12148454 -0.39470144 0.47038431 -0.05239499 -H 1.59207845 -0.33737584 -0.87339873 0.59851342 -0.17754579 -0.94321784 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.475797140094 pbc="F F F" -C 0.25764386 -0.45108284 -0.38815163 -0.49172308 0.43777623 0.28129992 -C -1.29974040 0.14501317 -0.35886763 2.45897165 0.05544704 0.60747331 -O 0.94955353 0.23919940 0.68460882 0.13972120 -1.32966146 -0.65322060 -H 0.28041834 -1.57711296 -0.07922640 -0.47945079 1.52537457 -0.20236466 -H 0.82763342 -0.51659523 -1.42069283 -0.87043467 0.78757940 1.27822797 -H -1.46392920 1.29827481 -0.57996874 0.74549789 -1.91719324 0.45559881 -H -1.87443356 -0.41501572 -1.09378346 -0.76554396 -0.39822303 -0.12747400 -H -1.49441763 -0.11385545 0.73868861 -0.60554591 0.50307636 -1.20597583 -H 1.06884149 1.17305738 0.46948271 -0.13149233 0.33582414 -0.43356486 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.394206014498 pbc="F F F" -C -0.22506633 -0.47001094 0.14107838 -1.11377455 -1.87475840 2.10599769 -C -0.94865090 0.90728419 0.37037248 1.23440376 -0.89004278 -1.14289636 -O 1.06717323 -0.37392158 -0.47301249 -0.69757297 1.12099298 -0.12088853 -H -0.08697767 -0.88200464 1.24037811 -0.09629936 0.29520373 -1.42344290 -H -1.02969314 -1.23850568 -0.27517142 1.56079652 1.11318057 -0.10820862 -H -2.01950187 0.99204025 0.49475256 -1.12580870 -0.92090205 -0.60874739 -H -0.68064721 1.40074113 1.26510179 1.29493007 0.61242587 1.77285069 -H -0.63414872 1.59277001 -0.40056802 0.08802787 0.63229043 -1.00472025 -H 1.49646455 -1.14173323 -0.91068553 -1.14470267 -0.08839034 0.53005572 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.401701077644 pbc="F F F" -C 0.18198572 -0.45782046 -0.37263005 -1.14592775 1.54634290 3.19254399 -C -1.26898606 0.17652609 -0.30236939 1.31746106 -1.78728384 2.96988859 -O 1.01438329 0.17480825 0.62165047 0.41442572 -2.88969226 0.64323742 -H 0.33768483 -1.54589410 -0.14435878 -0.45876441 0.40852498 -0.77575634 -H 0.51188469 -0.02719341 -1.27523056 0.88628465 -0.54138961 -2.49815368 -H -1.15897099 1.11995034 -0.73751963 0.16793680 2.55627555 -0.42029889 -H -1.93637355 -0.27646299 -0.94805744 -1.85895167 -1.73694923 -1.97758492 -H -1.82911413 0.20556890 0.70135448 1.07711919 0.05153572 -0.79628953 -H 0.92501304 1.09966367 0.57947831 -0.39958361 2.39263578 -0.33758658 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.509848427609 pbc="F F F" -C -0.46439932 0.23027178 -0.28813214 3.39708873 -0.64836878 -2.29334535 -C -0.50998076 0.11628866 1.13927800 0.31140754 -1.68483563 0.69149005 -O 0.88451577 -0.27465636 -0.74597825 -1.18065292 0.29451287 -0.06611964 -H -1.16056194 -0.40553488 -0.82232326 -1.14064325 0.11844814 -0.33959106 -H -0.48884538 1.31601940 -0.49109761 -0.50965663 0.10916044 -0.80834868 -H -1.47107589 0.42747185 1.40024440 -2.07122803 0.87010490 1.50105301 -H -0.27049122 -0.86196174 1.52950930 -0.42331963 -1.33652395 0.00766801 -H 0.28931223 0.63783357 1.56683079 1.38289468 1.96734725 1.03122422 -H 0.67122804 -0.88525178 -1.48430577 0.23410951 0.31015470 0.27596950 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.61197047206 pbc="F F F" -C 0.17465950 0.35897203 0.43982044 -2.52554525 -1.60804266 0.79589579 -C -0.47036422 0.86339759 -0.86450552 -3.11550240 2.67153310 2.75695788 -O 0.30223350 -1.12372696 0.44357865 -0.22495751 0.94608833 -2.18946061 -H 1.11693547 0.82974234 0.65690318 1.27105618 0.43513879 0.00105071 -H -0.51406077 0.61520437 1.36558543 0.95424017 -0.32162537 -1.42010329 -H 0.13110390 0.66621865 -1.70426384 0.92408302 -0.63170550 -1.84817581 -H -1.58626889 0.50185041 -0.91177612 1.83407500 0.08122642 -0.35243748 -H -0.64504317 2.06443439 -0.83901143 0.63469981 -2.25603421 0.02896534 -H 0.22252449 -1.40748345 -0.54793911 0.24785093 0.68342115 2.22730747 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.4075521658315 pbc="F F F" -C 0.26513297 0.44895669 0.19480686 -1.64857797 -1.52322276 0.93999435 -C -0.81283978 0.60918416 -0.92776000 -1.13035539 0.59269846 -0.11828297 -O 0.56771501 -0.97986110 0.65001221 -2.69466173 2.28930841 1.35427058 -H 1.15423886 0.90762218 -0.22081919 1.02326696 0.12980527 0.26162773 -H -0.11258795 0.94881439 1.15971839 0.69183812 0.11263441 -1.21704366 -H -1.02414065 -0.26577077 -1.56251580 0.02205529 -0.81590670 0.51433954 -H -1.82983926 1.05474109 -0.63348985 0.95681220 -0.71662099 0.18415394 -H -0.52837832 1.28269843 -1.75832649 0.63353582 0.54486333 0.25703003 -H -0.14530809 -0.98480969 1.43148446 2.14608670 -0.61355952 -2.17608948 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.773049495788 pbc="F F F" -C 0.13028334 -0.53067302 0.01592706 -2.03553391 0.67669201 1.04915648 -C -1.10128945 0.03323325 -0.76751852 0.90671727 1.04499309 1.22877309 -O 0.92508907 0.42047953 0.71549920 0.17317301 -4.31850686 1.51872133 -H -0.24537331 -1.19763120 0.82704839 -0.21527592 -0.01521718 -0.11920996 -H 0.55974990 -1.24177054 -0.67397367 1.64547531 -0.29972584 -0.78662866 -H -0.82436987 0.80841986 -1.53984122 -0.11064664 -0.48287694 0.34932536 -H -1.63463305 -0.77854558 -1.22008174 -0.39723177 -1.01472107 -0.90865938 -H -1.85589774 0.45413598 -0.07341382 0.14390752 0.43463979 0.06826605 -H 0.88585056 1.20700122 0.27891047 -0.11058483 3.97472304 -2.39974437 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.849518343043 pbc="F F F" -C -0.00103897 0.16074068 0.52434816 -1.81609532 0.42153389 -1.05277624 -C 0.10800778 1.14520204 -0.71559276 -0.09035909 -1.17186808 0.77818392 -O -0.12094376 -1.19084319 0.20085832 1.40512239 -1.30308180 -0.91900612 -H 0.64707847 0.33472681 1.40501610 0.82473756 0.41524143 -0.27387868 -H -0.99870013 0.31783514 0.94634128 -0.56272566 0.60556529 0.35730252 -H -0.63480267 0.95736551 -1.55382332 0.62938570 -0.60285514 0.67510636 -H -0.24014720 2.11911006 -0.36166172 0.60206823 0.80277545 0.17143355 -H 1.15585680 1.10064446 -1.09144428 -0.25856971 0.53476439 -0.19820584 -H 0.71486041 -1.49021900 -0.25383850 -0.73356411 0.29792452 0.46184047 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.350123773642 pbc="F F F" -C 0.13485553 -0.39808490 -0.50788138 1.92039313 0.39696139 3.50486479 -C -1.19863047 0.14932876 -0.26208175 -1.43500762 0.33660246 -2.17886535 -O 1.01925801 0.24511059 0.65059863 -0.26481826 -0.78462104 -2.69491441 -H 0.04114720 -1.47240719 -0.28574640 0.67332998 -0.52037469 -0.24170599 -H 0.52962901 -0.23580738 -1.55681424 0.12226212 0.19313640 1.05140810 -H -1.26543916 1.14689871 -0.68043826 -0.27627161 0.79115031 -0.67950294 -H -1.86333061 -0.54680877 -0.81440351 -0.68635247 0.39273748 -0.05621894 -H -1.60386169 0.32300615 0.71749309 0.13207638 -0.61695580 1.45281745 -H 0.65784510 -0.14291197 1.46766664 -0.18561160 -0.18863655 -0.15788276 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.768218100981 pbc="F F F" -C 0.22407209 -0.43201290 -0.33095370 -1.65746915 2.49721683 -1.57526170 -C -1.29164437 0.17738018 -0.34422578 0.71373493 0.11486808 -0.08911436 -O 1.01811026 0.24732499 0.59091097 0.79260879 0.39575585 -0.54167608 -H 0.31139206 -1.52473685 -0.21767732 -0.47841793 -0.39239300 0.01176578 -H 0.56592809 -0.15528305 -1.39294044 0.12978517 -0.51803123 1.02946928 -H -1.48573484 1.06937271 -1.03189972 0.82187603 -0.65021071 0.53881398 -H -1.93125050 -0.59074866 -0.75177796 -0.82617867 -0.80406162 -0.31444679 -H -1.73612188 0.49319984 0.63935968 0.57008899 -0.39971324 -0.13576170 -H 0.83524509 -0.18495872 1.42068691 -0.06602816 -0.24343090 1.07621159 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.521868952494 pbc="F F F" -C -0.24806093 0.21961062 0.47980091 1.41514764 -0.57482373 -1.66980706 -C -0.48813676 0.76114674 -0.97617822 0.35891748 0.12326999 1.38539523 -O 0.65183357 -0.89347267 0.52243910 0.91564553 -1.31999972 -2.42899073 -H 0.28734785 1.05076353 0.97887837 -0.47610244 0.01997876 0.82180111 -H -1.18643452 -0.17193659 0.95923429 0.07999013 0.99203185 -0.03567628 -H -0.57107517 1.85640561 -0.89409574 -1.08034577 0.27989738 0.00014892 -H 0.39895960 0.78319247 -1.66147442 -0.13946347 -1.02916620 0.30075258 -H -1.37855463 0.22412014 -1.31554233 -0.20571522 0.27749046 -1.01945118 -H 0.87457040 -1.24841644 -0.44499218 -0.86807383 1.23132126 2.64582736 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.5320248919015 pbc="F F F" -C 0.54912571 0.25127543 0.11214831 -2.43846113 -0.36589217 -1.91221502 -C -0.79118823 0.97143857 -0.55482527 4.70016066 0.96394830 -2.31557907 -O 0.28544187 -1.13756786 0.44772227 1.11712732 1.20989656 0.29231334 -H 1.26919653 0.19756757 -0.77239361 0.04607418 0.67914798 1.22890694 -H 0.81337516 0.87261219 1.00438776 0.49085744 -0.36051738 -0.28542109 -H -0.81787660 0.71823100 -1.68765737 -0.48976976 -0.17442097 1.55905418 -H -1.67798206 0.84810989 -0.02309616 -2.19468149 -0.65623440 1.21417097 -H -0.59425440 2.10243897 -0.61365113 -0.14045489 -0.98429025 0.32926412 -H -0.63993309 -1.25339494 0.26052808 -1.09085223 -0.31163766 -0.11049438 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.575036065845 pbc="F F F" -C 0.20563881 0.58577893 0.10924268 -1.15429211 -2.66999723 -0.40190583 -C -1.11533703 -0.09698617 0.71194795 -0.91001887 0.30470308 -0.14673270 -O 0.86060516 -0.40025301 -0.72101144 -0.60781141 -0.09732014 -1.79728625 -H 0.22253560 1.58148074 -0.35456396 -0.62641216 0.41408937 -0.08649215 -H 0.87719339 0.56945394 0.94229224 0.84363251 0.57548682 1.14126114 -H -1.34371686 0.16218090 1.81684901 0.32936707 0.05831881 -1.31407122 -H -2.15261362 0.00202453 0.12296327 2.04729547 -0.09152673 0.83005862 -H -0.79276783 -1.18653270 0.72872160 -0.51045501 0.72596773 -0.06171946 -H 0.36772251 -0.60124198 -1.59676244 0.58869453 0.78027824 1.83688789 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.691502105976 pbc="F F F" -C 0.14324162 -0.37879579 -0.32410306 1.57665658 1.71686140 0.81109575 -C -1.04243153 0.44800027 -0.60826521 -2.04945865 1.32439219 -0.81600337 -O 0.89548133 -0.05841356 0.81640162 -0.36014447 0.40079969 2.47450539 -H -0.23822591 -1.36206800 -0.26180130 -0.43275198 -2.23344474 -0.12366476 -H 0.91894145 -0.29858913 -1.10450163 -0.18135838 -0.22715082 -0.56442038 -H -1.09628857 1.54952164 -0.86743518 0.99863311 -0.67956419 0.03629103 -H -1.55515360 -0.09811204 -1.39907741 -0.28379404 -0.01078815 -1.12785032 -H -1.85727178 0.36939512 0.11563203 -0.07362721 -0.19940609 1.17164280 -H 0.32753139 -0.05907463 1.66832293 0.80584494 -0.09169940 -1.86159605 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.62750754937 pbc="F F F" -C 0.10240599 -0.29669627 0.53915134 2.03777982 2.99703749 -0.42763682 -C -1.10120018 0.60449739 0.20615172 -0.66437364 -1.20937036 0.35848040 -O 0.89647671 -0.35314565 -0.65175181 0.34196357 0.24430990 -0.80307586 -H 0.87026109 0.26792511 1.26482950 -1.88851268 -1.42273780 -0.05570945 -H -0.20971793 -1.30269437 0.82387738 0.22647945 -0.50958022 0.28292305 -H -1.32015889 0.35716035 -0.90297076 -0.33455679 0.20896226 1.44191134 -H -1.96410804 0.35498688 0.95611821 0.88699248 0.82599298 -1.32862685 -H -0.75621875 1.65776339 0.24408837 -0.44724751 0.11370229 0.15201344 -H 1.05056866 0.60118377 -0.92154370 -0.15852466 -1.24831646 0.37972070 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.360023742521 pbc="F F F" -C 0.53194608 0.33628259 0.11102103 -1.42116937 -3.37337143 1.11570797 -C -0.71969574 0.92610411 -0.53300811 0.07651811 -2.61738308 0.06433000 -O 0.18547284 -1.09357182 0.46175976 0.57195711 1.50622417 0.66525424 -H 1.25504916 0.31544561 -0.70329162 0.97656506 0.19759073 -0.18896941 -H 1.02140700 0.56716599 1.10348599 -0.64537673 1.17466796 -0.81073600 -H -1.06635104 0.20498729 -1.34023880 0.98196418 0.51946375 -0.05149875 -H -1.68008407 0.94234668 -0.05658076 -0.66115431 0.51551325 1.69576426 -H -0.44510191 1.83734170 -0.93407633 0.20998891 2.78196248 -1.42501142 -H 0.20725464 -1.55283109 -0.37054559 -0.08929290 -0.70466783 -1.06484089 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.645586964505 pbc="F F F" -C 0.01706717 -0.02516890 -0.52805416 0.85506734 -0.34959708 0.71111472 -C 0.83553438 1.05475896 0.22758734 -1.68569936 -0.29668561 0.91683940 -O -0.77793927 -0.92577772 0.31157750 1.04444272 -0.59699262 -0.59098590 -H -0.69085264 0.50540346 -1.13207512 -0.85793293 0.77729401 -1.00030545 -H 0.83923570 -0.34623706 -1.23830618 -0.81132555 -1.29767451 0.24847550 -H 1.18110442 1.73946648 -0.54024658 0.31335402 0.53792171 -0.59638475 -H 0.12680212 1.65576435 0.87511029 0.75393101 -0.38606608 0.01457477 -H 1.73898983 0.69461371 0.76686277 -0.36993358 -0.11381522 0.16879673 -H -1.00742791 -1.82398688 -0.09674018 0.75809635 1.72561539 0.12787499 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.60741792625 pbc="F F F" -C 0.19446825 -0.31806896 -0.33958458 -0.12848995 0.21448494 2.51394124 -C -1.30359571 0.02608643 -0.46012777 1.32527963 -0.93891536 0.09670760 -O 1.02750708 0.26106063 0.73406022 -1.11181491 -1.49348568 -1.12857814 -H 0.20131348 -1.32851691 0.00246668 -0.14167292 -1.59478260 0.50644188 -H 0.68005918 -0.45520504 -1.28416133 0.85582843 0.75846432 -1.47074638 -H -1.54960116 0.81990791 -1.16068572 -0.37805195 0.62493357 -0.07055444 -H -1.74359098 -0.92315641 -0.76937337 -0.34822257 -0.39976189 -1.03984472 -H -1.76933848 0.03278042 0.51681206 -0.22437351 1.03663438 0.93682433 -H 1.08663190 1.18806798 0.57237689 0.15151778 1.79242836 -0.34419143 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.761806452434 pbc="F F F" -C 0.08635537 0.54161812 -0.16990960 -2.09335598 -2.03053002 -0.05293559 -C -1.11067748 0.05260505 0.71946605 0.02020070 -2.56723385 -2.09493505 -O 0.99471770 -0.49944405 -0.47097320 0.96666626 0.79202381 0.43714847 -H -0.35773504 1.01194705 -1.07742489 0.04821828 0.02959706 -0.18799558 -H 0.46645953 1.36476017 0.41263951 1.58108798 0.48494107 0.36803745 -H -1.84283332 -0.60583203 0.03936095 1.23449303 0.92748634 1.24585000 -H -0.77226508 -0.62951820 1.58981489 -0.45227232 1.25778008 -0.79942679 -H -1.67312096 0.94644967 0.91935591 -0.78671608 0.71856634 1.03396774 -H 0.59489892 -1.24226337 -0.95637861 -0.51832192 0.38736922 0.05028941 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.552394383465 pbc="F F F" -C -0.27445411 -0.01179154 -0.46869381 -2.10970342 -3.56864807 1.13002609 -C 0.88356703 0.85558787 -0.45690377 2.88804752 2.79723129 1.29704655 -O -0.52337615 -0.80806118 0.81045059 1.71751467 0.15734534 -1.94806500 -H -1.21135851 0.50544288 -0.63422213 -0.58412434 0.96530008 -0.30537738 -H -0.29153073 -0.77488234 -1.29826616 0.41383627 0.09875384 0.42685099 -H 1.93301813 0.47247589 -0.15673053 -1.48193433 -0.38966547 -0.02650263 -H 1.17916808 1.31727175 -1.46756261 -0.97527329 -0.11493935 0.90740488 -H 0.64761533 1.66412096 0.36971552 0.67867968 -0.72877717 -1.53043558 -H -1.20840264 -0.41402877 1.35198810 -0.54704270 0.78339946 0.04905209 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.657634131767 pbc="F F F" -C -0.50908711 0.08266268 -0.31987756 3.78720847 0.37974260 2.39754947 -C -0.40934529 0.19318729 1.24165534 -1.26856077 0.27432220 -0.36996644 -O 0.80893689 -0.28387526 -0.88838889 -4.14457475 -2.42244933 -0.79915148 -H -1.22308624 -0.68063092 -0.44542902 -0.87203050 -1.88303792 -0.92365565 -H -0.91920873 0.95194706 -0.75312865 -0.57151570 1.90785304 -0.97551405 -H -1.40553208 0.42133848 1.75375353 0.41271758 -0.79536964 -0.66142710 -H 0.00108830 -0.78533702 1.54235373 0.02373818 0.05061758 0.56262960 -H 0.14665575 1.03221427 1.68032549 0.92604107 0.19294917 -0.37352881 -H 1.50266257 0.27797157 -0.66013710 1.70697643 2.29537225 1.14306451 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.890122432793 pbc="F F F" -C 0.25127784 -0.16203058 -0.53292499 0.69759539 1.78232886 0.02554196 -C -0.43874499 1.18626735 -0.14801151 -0.74740945 0.37962603 -1.02067703 -O 0.14673815 -0.99466710 0.58676551 2.18092331 0.44977804 1.74212157 -H -0.28380427 -0.67789388 -1.33504213 -0.26314684 -0.04880871 -0.53387510 -H 1.35973462 0.03702223 -0.91734910 -1.55740770 -0.38190434 0.58679767 -H -0.61207862 1.92091879 -0.97237282 0.17674566 -0.42269742 -0.39195226 -H -1.49136990 1.00345928 0.23650570 0.93469386 -0.04693103 0.09847426 -H 0.14599576 1.83357258 0.53705671 0.06024081 -0.47788627 0.51534145 -H 0.78517977 -0.53475848 1.25135619 -1.48223499 -1.23350516 -1.02177248 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.723661169862 pbc="F F F" -C -0.46050266 0.07067610 -0.31282303 -0.57100678 -1.51985122 -0.44495151 -C -0.46362114 0.15238750 1.22816912 -1.01806350 1.90014065 -0.41834609 -O 0.86595445 -0.24047565 -0.78827964 -0.90759926 -0.02013288 -0.44503363 -H -1.35219872 -0.58302842 -0.82213548 1.68786747 0.29988566 1.37287648 -H -0.69696385 0.98949177 -0.81508345 -0.58498566 1.70932061 0.18955423 -H -1.50833572 0.31640083 1.64495047 0.60379689 0.07059295 -0.51648852 -H -0.14697604 -0.75301685 1.72096680 0.68347581 -0.88776006 0.19079448 -H 0.16908627 1.04997066 1.57360505 -0.51097042 -1.10661989 -0.34365150 -H 0.80072646 0.13779449 -1.69699564 0.61748545 -0.44557577 0.41524605 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.477977473056 pbc="F F F" -C -0.12801456 0.23933535 0.48940583 -2.13808327 -0.73893628 0.69573355 -C -0.05591106 1.03039593 -0.85955473 1.87466317 0.51192754 2.90876450 -O 0.23383016 -1.12051554 0.31786535 2.88320546 1.56525168 -0.78688279 -H 0.24803309 0.49686336 1.50531816 1.27630041 1.18717175 -0.60626098 -H -1.21208466 0.33347033 0.84365546 0.15703445 -0.35810491 -0.76407499 -H 0.99210212 1.31095015 -1.14126484 -0.38008358 0.10244415 0.15246822 -H -0.36897265 0.29968258 -1.55225635 -0.96955618 -0.96656429 -1.49274937 -H -0.70487438 1.90367631 -0.73551634 -0.14012676 0.37305758 -0.52288496 -H -0.47519058 -1.69001772 0.44519721 -2.56335364 -1.67624726 0.41588672 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.510515974948 pbc="F F F" -C -0.32898505 -0.39500518 -0.25749249 0.38352495 -1.28892849 0.91191655 -C -0.90340597 0.78425321 0.67519207 0.99206702 -3.12053323 -0.46475374 -O 1.13934210 -0.38586554 -0.36846995 -1.82376600 2.87963153 -1.19020082 -H -0.49580639 -1.42328873 0.20508170 -0.25305361 0.85668430 -0.04431360 -H -0.92848977 -0.50347271 -1.26266838 1.06381224 0.69857004 0.98222216 -H -1.96002229 0.57897403 0.57800292 -1.24427201 1.03311608 -0.49855013 -H -0.79105390 0.53727035 1.77271714 0.83081961 0.52752560 -0.67265254 -H -0.44763173 1.71350505 0.29835689 -0.56112052 0.47583643 0.34900310 -H 1.22209912 0.58218341 -0.71997638 0.61198832 -2.06190228 0.62732912 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.475931586446 pbc="F F F" -C 0.33178364 -0.11216916 0.52517312 -4.05517736 -0.31995322 -3.79565706 -C -1.22715638 0.37511613 0.37801323 2.56848953 -0.64509720 0.20096392 -O 0.82918613 -0.19725038 -0.83290498 0.51216865 -2.47399096 1.09664786 -H 0.82341055 0.62400216 1.01797432 1.98146318 3.18139805 1.82428768 -H 0.51402775 -1.00049401 1.12296555 -0.34294985 -0.96886584 0.23540108 -H -1.45776324 0.70234425 1.35544121 -0.95833023 0.61134529 1.87518356 -H -1.32965772 1.26965288 -0.26857447 0.35794396 -0.25578901 -0.21884019 -H -1.93710551 -0.39770187 0.09354994 -0.21975401 -0.56361218 -0.35345692 -H 0.89346336 -1.20157502 -0.86279776 0.15614618 1.43456503 -0.86452987 -9 -Properties=species:S:1:pos:R:3:forces:R:3 energy=-4209.725347153307 pbc="F F F" -C -0.12187994 -0.51859944 0.21179879 3.70095024 -0.36075109 -0.57333620 -C -1.13759438 0.50077884 0.31072109 0.39760422 4.23569278 -1.39452677 -O 1.12558642 -0.07247005 -0.50146592 -1.28552553 -0.12189383 0.10442914 -H 0.27111133 -0.74152541 1.22059613 -0.47057596 -0.75733695 0.32653088 -H -0.41333211 -1.41577335 -0.35015651 -0.15563741 -0.36901477 0.07067564 -H -2.02502300 0.25401994 0.84484167 -1.53006478 -0.70292076 0.26970820 -H -0.72964697 1.34546763 0.95070076 -0.08071158 -0.36923121 -0.25086154 -H -1.29666194 1.07139631 -0.70515738 -0.29173747 -1.23038898 1.31816791 -H 1.33372361 0.84761012 -0.22726487 -0.28430168 -0.32415518 0.12921268 diff --git a/tests/resources/options.yaml b/tests/resources/options.yaml index b09dd65f3..977c68e9f 100644 --- a/tests/resources/options.yaml +++ b/tests/resources/options.yaml @@ -1,24 +1,19 @@ seed: 42 architecture: - name: experimental.nanopet + name: experimental.soap_bpnn training: - batch_size: 10 - num_epochs: 1500 + batch_size: 2 + num_epochs: 1 training_set: systems: - read_from: ethanol_train_1.xyz + read_from: qm9_reduced_100.xyz length_unit: angstrom targets: - mtt::forces: - quantity: "" - key: forces - unit: "" - per_atom: true - type: - cartesian: - rank: 1 + energy: + key: U0 + unit: eV -test_set: 0.90 -validation_set: 0.05 +test_set: 0.5 +validation_set: 0.1 diff --git a/tests/resources/options_pet.yaml b/tests/resources/options_pet.yaml deleted file mode 100644 index f1b5438ec..000000000 --- a/tests/resources/options_pet.yaml +++ /dev/null @@ -1,25 +0,0 @@ -seed: 42 -device: cuda -base_precision: 32 - -architecture: - name: experimental.pet - model: - N_GNN_LAYERS: 2 - N_TRANS_LAYERS: 2 - training: - ATOMIC_BATCH_SIZE: 288 - EPOCH_NUM: 5 - EPOCHS_WARMUP: 2 - -training_set: - systems: - read_from: ethanol_train_1.xyz - length_unit: angstrom - targets: - energy: - key: energy - unit: kcal/mol - -test_set: 0.1 -validation_set: 0.1 From 3be99cc910d13f93dfa35091253c311050a2e607 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 09:10:21 +0100 Subject: [PATCH 090/126] Remove commented torch hack --- .../experimental/nanopet/__init__.py | 30 ------------------- 1 file changed, 30 deletions(-) diff --git a/src/metatrain/experimental/nanopet/__init__.py b/src/metatrain/experimental/nanopet/__init__.py index f6d140d12..cacac7c4f 100644 --- a/src/metatrain/experimental/nanopet/__init__.py +++ b/src/metatrain/experimental/nanopet/__init__.py @@ -11,33 +11,3 @@ __maintainers__ = [ ("Filippo Bigi ", "@frostedoyster"), ] - - -# This is fixing a small bug in the attention implementation -# in torch that prevents it from being torchscriptable. - -# import os - -# import torch - - -# file = os.path.join(os.path.dirname(torch.__file__), "nn", "modules", "activation.py") - -# with open(file, "r") as f: -# lines = f.readlines() -# for i, line in enumerate(lines): -# if ( -# "elif self.in_proj_bias is not None and query.dtype != self.in_proj_bias.dtype:" # noqa: E501 -# in line -# ): -# lines[i] = line.replace( -# "elif self.in_proj_bias is not None and query.dtype != self.in_proj_bias.dtype:", # noqa: E501 -# "elif self.in_proj_bias is not None:\n" -# " if query.dtype != self.in_proj_bias.dtype:", -# ) -# lines[i + 1] = ( -# ' why_not_fast_path = f"dtypes of query ({query.dtype}) and self.in_proj_bias ({self.in_proj_bias.dtype}) do not match"\n' # noqa: E501 -# ) - -# with open(file, "w") as f: -# f.writelines(lines) From 160124f955c99bcb78a2f99fd0b7696be2133436 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 09:21:51 +0100 Subject: [PATCH 091/126] Undo spurious changes --- src/metatrain/cli/train.py | 1 - src/metatrain/utils/data/readers/mts.py | 146 --------- tests/utils/data/readers/test_ase.py | 0 tests/utils/data/readers/test_mts.py | 0 tests/utils/data/readers/test_readers.py | 359 ----------------------- tests/utils/test_llpr.py | 6 + 6 files changed, 6 insertions(+), 506 deletions(-) delete mode 100644 src/metatrain/utils/data/readers/mts.py delete mode 100644 tests/utils/data/readers/test_ase.py delete mode 100644 tests/utils/data/readers/test_mts.py delete mode 100644 tests/utils/data/readers/test_readers.py diff --git a/src/metatrain/cli/train.py b/src/metatrain/cli/train.py index b52972dd3..9dc703435 100644 --- a/src/metatrain/cli/train.py +++ b/src/metatrain/cli/train.py @@ -154,7 +154,6 @@ def train_model( like the fully expanded training options for a later restart. :param continue_from: File to continue training from. """ - ########################### # VALIDATE BASE OPTIONS ### ########################### diff --git a/src/metatrain/utils/data/readers/mts.py b/src/metatrain/utils/data/readers/mts.py deleted file mode 100644 index 653fac96e..000000000 --- a/src/metatrain/utils/data/readers/mts.py +++ /dev/null @@ -1,146 +0,0 @@ -import logging -from typing import List, Tuple - -import torch -from metatensor.torch import TensorMap -from metatensor.torch.atomistic import System -from omegaconf import DictConfig - -from ..target_info import TargetInfo, get_energy_target_info, get_generic_target_info - - -logger = logging.getLogger(__name__) - - -def read_metatensor_systems(filename: str) -> List[System]: - """Read system information using metatensor. - - :param filename: name of the file to read - - :raises NotImplementedError: Serialization of systems is not yet - available in metatensor. - """ - raise NotImplementedError("Reading metatensor systems is not yet implemented.") - - -def _wrapped_metatensor_read(filename) -> List[TensorMap]: - try: - return torch.load(filename) - except Exception as e: - raise ValueError(f"Failed to read '{filename}' with torch: {e}") from e - - -def read_metatensor_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: - tensor_maps = _wrapped_metatensor_read(target["read_from"]) - - has_position_gradients = [] - has_strain_gradients = [] - for tensor_map in tensor_maps: - if len(tensor_map) != 1: - raise ValueError("Energy TensorMaps should have exactly one block.") - has_position_gradients.append( - "positions" in tensor_map.block().gradients_list() - ) - has_strain_gradients.append("strain" in tensor_map.block().gradients_list()) - - if not (all(has_position_gradients) or any(has_position_gradients)): - raise ValueError( - "Found a mix of targets with and without position gradients. " - "Either all targets should have position gradients or none." - ) - if not (all(has_strain_gradients) or any(has_strain_gradients)): - raise ValueError( - "Found a mix of targets with and without strain gradients. " - "Either all targets should have strain gradients or none." - ) - - add_position_gradients = all(has_position_gradients) - add_strain_gradients = all(has_strain_gradients) - target_info = get_energy_target_info( - target, add_position_gradients, add_strain_gradients - ) - - # now check all the expected metadata (from target_info.layout) matches - # the actual metadata in the tensor maps - _check_tensor_maps_metadata(tensor_maps, target_info.layout) - - return tensor_maps, target_info - - -def read_metatensor_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: - tensor_maps = _wrapped_metatensor_read(target["read_from"]) - - for tensor_map in tensor_maps: - for block in tensor_map.blocks(): - if len(block.gradients_list()) > 0: - raise ValueError("Only energy targets can have gradient blocks.") - - target_info = get_generic_target_info(target) - - _check_tensor_maps_metadata(tensor_maps, target_info.layout) - - return tensor_maps, target_info - - -def _check_tensor_maps_metadata(tensor_maps: List[TensorMap], layout: TensorMap): - for i, tensor_map in enumerate(tensor_maps): - if tensor_map.keys != layout.keys: - raise ValueError( - f"Unexpected keys in metatensor targets at index {i}: " - f"expected: {layout.keys} " - f"actual: {tensor_map.keys}" - ) - for key in layout.keys: - block = tensor_map.block(key) - block_from_layout = tensor_map.block(key) - if block.labels.names != block_from_layout.labels.names: - raise ValueError( - f"Unexpected samples in metatensor targets at index {i}: " - f"expected: {block_from_layout.labels.names} " - f"actual: {block.labels.names}" - ) - if block.components != block_from_layout.components: - raise ValueError( - f"Unexpected components in metatensor targets at index {i}: " - f"expected: {block_from_layout.components} " - f"actual: {block.components}" - ) - if block.properties != block_from_layout.properties: - raise ValueError( - f"Unexpected properties in metatensor targets at index {i}: " - f"expected: {block_from_layout.properties} " - f"actual: {block.properties}" - ) - if set(block.gradients_list()) != set(block_from_layout.gradients_list()): - raise ValueError( - f"Unexpected gradients in metatensor targets at index {i}: " - f"expected: {block_from_layout.gradients_list()} " - f"actual: {block.gradients_list()}" - ) - for name in block_from_layout.gradients_list(): - gradient_block = block.gradient(name) - gradient_block_from_layout = block_from_layout.gradient(name) - if ( - gradient_block.labels.names - != gradient_block_from_layout.labels.names - ): - raise ValueError( - f"Unexpected samples in metatensor targets at index {i} " - f"for `{name}` gradient block: " - f"expected: {gradient_block_from_layout.labels.names} " - f"actual: {gradient_block.labels.names}" - ) - if gradient_block.components != gradient_block_from_layout.components: - raise ValueError( - f"Unexpected components in metatensor targets at index {i} " - f"for `{name}` gradient block: " - f"expected: {gradient_block_from_layout.components} " - f"actual: {gradient_block.components}" - ) - if gradient_block.properties != gradient_block_from_layout.properties: - raise ValueError( - f"Unexpected properties in metatensor targets at index {i} " - f"for `{name}` gradient block: " - f"expected: {gradient_block_from_layout.properties} " - f"actual: {gradient_block.properties}" - ) diff --git a/tests/utils/data/readers/test_ase.py b/tests/utils/data/readers/test_ase.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/utils/data/readers/test_mts.py b/tests/utils/data/readers/test_mts.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/utils/data/readers/test_readers.py b/tests/utils/data/readers/test_readers.py deleted file mode 100644 index 6476fef2d..000000000 --- a/tests/utils/data/readers/test_readers.py +++ /dev/null @@ -1,359 +0,0 @@ -"""Test correct type and metadata of readers. Correct values will be checked -within the tests for each reader.""" - -import logging - -import ase -import ase.io -import pytest -import torch -from metatensor.torch import Labels -from omegaconf import OmegaConf -from test_targets_ase import ase_system, ase_systems - -from metatrain.utils.data import TargetInfo, read_systems, read_targets - - -@pytest.mark.parametrize("reader", (None, "ase")) -def test_read_systems(reader, monkeypatch, tmp_path): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_systems() - ase.io.write(filename, systems) - - results = read_systems(filename, reader=reader) - - assert isinstance(results, list) - assert len(results) == len(systems) - for system, result in zip(systems, results): - assert isinstance(result, torch.ScriptObject) - - torch.testing.assert_close( - result.positions, torch.tensor(system.positions, dtype=torch.float64) - ) - torch.testing.assert_close( - result.types, torch.tensor([1, 1], dtype=torch.int32) - ) - - -def test_read_systems_unknown_reader(): - match = "File extension '.bar' is not linked to a default reader" - with pytest.raises(ValueError, match=match): - read_systems("foo.bar") - - -def test_read_unknonw_library(): - match = "Reader library 'foo' not supported." - with pytest.raises(ValueError, match=match): - read_systems("foo.foo", reader="foo") - - -def test_unsupported_target_name(): - conf = { - "free_energy": { - "quantity": "energy", - } - } - - with pytest.raises( - ValueError, - match="start with `mtt::`", - ): - read_targets(OmegaConf.create(conf)) - - -STRESS_VIRIAL_DICT = { - "read_from": "systems.xyz", - "reader": "ase", - "key": "stress-3x3", -} - - -@pytest.mark.parametrize( - "stress_dict, virial_dict", - [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], -) -def test_read_targets(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_systems() - ase.io.write(filename, systems) - - energy_section = { - "quantity": "energy", - "read_from": filename, - "reader": "ase", - "key": "true_energy", - "unit": "eV", - "type": "scalar", - "per_atom": False, - "num_properties": 1, - "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, - "stress": stress_dict, - "virial": virial_dict, - } - - conf = { - "energy": energy_section, - "mtt::energy2": energy_section, - } - - caplog.set_level(logging.INFO) - result, target_info_dict = read_targets(OmegaConf.create(conf)) - - assert any(["Forces found" in rec.message for rec in caplog.records]) - - assert type(result) is dict - assert type(target_info_dict) is dict - - if stress_dict: - assert any(["Stress found" in rec.message for rec in caplog.records]) - if virial_dict: - assert any(["Virial found" in rec.message for rec in caplog.records]) - - for target_name, target_list in result.items(): - target_section = conf[target_name] - - target_info = target_info_dict[target_name] - assert type(target_info) is TargetInfo - assert target_info.quantity == target_section["quantity"] - assert target_info.unit == target_section["unit"] - assert target_info.per_atom is False - assert target_info.gradients == ["positions", "strain"] - - assert type(target_list) is list - for target in target_list: - assert target.keys == Labels(["_"], torch.tensor([[0]])) - - result_block = target.block() - assert result_block.values.dtype is torch.float64 - assert result_block.samples.names == ["system"] - assert result_block.properties == Labels("energy", torch.tensor([[0]])) - - pos_grad = result_block.gradient("positions") - assert pos_grad.values.dtype is torch.float64 - assert pos_grad.samples.names == ["sample", "system", "atom"] - assert pos_grad.components == [ - Labels(["xyz"], torch.arange(3).reshape(-1, 1)) - ] - assert pos_grad.properties == Labels("energy", torch.tensor([[0]])) - - strain_grad = result_block.gradient("strain") - components = [ - Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), - Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), - ] - assert strain_grad.values.dtype is torch.float64 - assert strain_grad.samples.names == ["sample"] - assert strain_grad.components == components - assert strain_grad.properties == Labels("energy", torch.tensor([[0]])) - - -@pytest.mark.parametrize( - "stress_dict, virial_dict", - [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], -) -def test_read_targets_warnings(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_system() - - # Delete gradient sections - systems.info.pop("stress-3x3") - systems.info.pop("stress-9") - systems.arrays.pop("forces") - - ase.io.write(filename, systems) - - energy_section = { - "quantity": "energy", - "read_from": filename, - "reader": "ase", - "key": "true_energy", - "unit": "eV", - "type": "scalar", - "per_atom": False, - "num_properties": 1, - "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, - "stress": stress_dict, - "virial": virial_dict, - } - - conf = {"energy": energy_section} - - caplog.set_level(logging.WARNING) - read_targets(OmegaConf.create(conf)) # , slice_samples_by="system") - - assert any(["No forces found" in rec.message for rec in caplog.records]) - - if stress_dict: - assert any(["No stress found" in rec.message for rec in caplog.records]) - if virial_dict: - assert any(["No virial found" in rec.message for rec in caplog.records]) - - -def test_read_targets_error(monkeypatch, tmp_path): - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_system() - ase.io.write(filename, systems) - - energy_section = { - "quantity": "energy", - "read_from": filename, - "reader": "ase", - "key": "true_energy", - "type": "scalar", - "per_atom": False, - "num_properties": 1, - "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, - "stress": True, - "virial": True, - } - - conf = {"energy": energy_section} - - with pytest.raises( - ValueError, - match="stress and virial at the same time", - ): - read_targets(OmegaConf.create(conf)) - - -@pytest.mark.parametrize("key", ["stress-3x3", "stress-9"]) -def test_read_targets_generic_1(key, monkeypatch, tmp_path): - """Reads a 3x3 stress as a Cartesian vector with 3 properties.""" - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_system() - ase.io.write(filename, systems) - - stress_section = { - "quantity": "stress", - "read_from": filename, - "reader": "ase", - "key": key, - "unit": "GPa", - "type": { - "cartesian": { - "rank": 1, - } - }, - "per_atom": False, - "num_properties": 3, - } - conf = {"stress": stress_section} - with pytest.warns(UserWarning, match="should not be its own top-level target"): - with pytest.warns(UserWarning, match="resembles to a gradient of energies"): - read_targets(OmegaConf.create(conf)) - - # this will trigger a shape error - conf["stress"]["type"]["cartesian"]["rank"] = 2 - with pytest.raises( - RuntimeError, - match="shape", - ): - with pytest.warns(UserWarning, match="should not be its own top-level target"): - with pytest.warns(UserWarning, match="resembles to a gradient of energies"): - read_targets(OmegaConf.create(conf)) - - -@pytest.mark.parametrize("key", ["stress-3x3", "stress-9"]) -def test_read_targets_generic_2(key, monkeypatch, tmp_path): - """Reads a 3x3 stress as a Cartesian rank-2 tensor.""" - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_system() - ase.io.write(filename, systems) - - stress_section = { - "quantity": "stress", - "read_from": filename, - "reader": "ase", - "key": key, - "unit": "GPa", - "type": { - "cartesian": { - "rank": 2, - } - }, - "per_atom": False, - "num_properties": 1, - } - conf = {"stress": stress_section} - with pytest.warns(UserWarning, match="should not be its own top-level target"): - with pytest.warns(UserWarning, match="resembles to a gradient of energies"): - read_targets(OmegaConf.create(conf)) - - # this will trigger a shape error - conf["stress"]["type"]["cartesian"]["rank"] = 1 - with pytest.raises( - RuntimeError, - match="shape", - ): - with pytest.warns(UserWarning, match="should not be its own top-level target"): - with pytest.warns(UserWarning, match="resembles to a gradient of energies"): - read_targets(OmegaConf.create(conf)) - - -@pytest.mark.parametrize("key", ["stress-3x3", "stress-9"]) -def test_read_targets_generic_3(key, monkeypatch, tmp_path): - """Reads a 3x3 stress as a scalar with 9 properties""" - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_system() - ase.io.write(filename, systems) - - stress_section = { - "quantity": "stress", - "read_from": filename, - "reader": "ase", - "key": key, - "unit": "GPa", - "type": "scalar", - "per_atom": False, - "num_properties": 9, - } - conf = {"stress": stress_section} - with pytest.warns(UserWarning, match="should not be its own top-level target"): - with pytest.warns(UserWarning, match="resembles to a gradient of energies"): - read_targets(OmegaConf.create(conf)) - - -def test_read_targets_generic_errors(monkeypatch, tmp_path): - """Reads a 3x3 stress as a scalar with 9 properties""" - monkeypatch.chdir(tmp_path) - - filename = "systems.xyz" - systems = ase_system() - ase.io.write(filename, systems) - - stress_section = { - "quantity": "stress", - "read_from": filename, - "reader": "ase", - "key": "stress-3x3", - "unit": "GPa", - "type": { - "spherical": { - "irreps": [ - {"o3_lambda": 0, "o3_sigma": 1}, - {"o3_lambda": 2, "o3_sigma": 1}, - ] - } - }, - "per_atom": False, - "num_properties": 9, - } - conf = {"stress": stress_section} - with pytest.raises(ValueError, match="use the metatensor reader"): - with pytest.warns(UserWarning, match="should not be its own top-level target"): - with pytest.warns(UserWarning, match="resembles to a gradient of energies"): - read_targets(OmegaConf.create(conf)) diff --git a/tests/utils/test_llpr.py b/tests/utils/test_llpr.py index bb87d266a..3c5f3b483 100644 --- a/tests/utils/test_llpr.py +++ b/tests/utils/test_llpr.py @@ -35,6 +35,9 @@ def test_llpr(tmpdir): "reader": "ase", "key": "U0", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, @@ -157,6 +160,9 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): "reader": "ase", "key": "U0", "unit": "kcal/mol", + "type": "scalar", + "per_atom": False, + "num_properties": 1, "forces": False, "stress": False, "virial": False, From 79e8b30f28c65cbd083803473787fda2f2b07551 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 09:24:55 +0100 Subject: [PATCH 092/126] Codeowners, tox, GH workflows --- .github/workflows/architecture-tests.yml | 1 + CODEOWNERS | 1 + tox.ini | 10 ++++++++++ 3 files changed, 12 insertions(+) diff --git a/.github/workflows/architecture-tests.yml b/.github/workflows/architecture-tests.yml index ea35f2950..f7f2b1e9e 100644 --- a/.github/workflows/architecture-tests.yml +++ b/.github/workflows/architecture-tests.yml @@ -15,6 +15,7 @@ jobs: - architecture-name: gap - architecture-name: soap-bpnn - architecture-name: pet + - architecture-name: nanopet runs-on: ubuntu-22.04 diff --git a/CODEOWNERS b/CODEOWNERS index 7da30f095..6ab4b419d 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -6,3 +6,4 @@ **/alchemical_model @abmazitov **/pet @spozdn @abmazitov **/gap @DavideTisi +**/nanopet @frostedoyster diff --git a/tox.ini b/tox.ini index 8302cbc6b..e43dbad6b 100644 --- a/tox.ini +++ b/tox.ini @@ -131,6 +131,16 @@ changedir = src/metatrain/experimental/gap/tests/ commands = pytest {posargs} +[testenv:nanopet-tests] +description = Run NanoPET tests with pytest +passenv = * +deps = + pytest +extras = nanopet +changedir = src/metatrain/experimental/nanopet/tests/ +commands = + pytest {posargs} + [testenv:docs] description = builds the documentation with sphinx deps = From 8712d279542f72b9065a2975618f60b64a7624de Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 09:29:21 +0100 Subject: [PATCH 093/126] Add correct values for regression tests --- .../experimental/nanopet/tests/test_regression.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/metatrain/experimental/nanopet/tests/test_regression.py b/src/metatrain/experimental/nanopet/tests/test_regression.py index be3acadd9..7b7cbd7bb 100644 --- a/src/metatrain/experimental/nanopet/tests/test_regression.py +++ b/src/metatrain/experimental/nanopet/tests/test_regression.py @@ -44,11 +44,11 @@ def test_regression_init(): expected_output = torch.tensor( [ - [0.053602740169], - [-0.142421141267], - [-0.122775360942], - [-0.202754884958], - [-0.031394608319], + [-3.663903951645], + [-1.964396238327], + [-0.490164071321], + [-1.506513595581], + [-0.514931380749], ] ) From afb9059d001b9820024dfaa46c0f3a4272b1aada Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 09:47:41 +0100 Subject: [PATCH 094/126] Add documentation --- .../fitting-generic-targets.rst | 5 + docs/src/architectures/nanopet.rst | 107 ++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 docs/src/architectures/nanopet.rst diff --git a/docs/src/advanced-concepts/fitting-generic-targets.rst b/docs/src/advanced-concepts/fitting-generic-targets.rst index 2d5455ac7..3bfe8b96f 100644 --- a/docs/src/advanced-concepts/fitting-generic-targets.rst +++ b/docs/src/advanced-concepts/fitting-generic-targets.rst @@ -38,6 +38,11 @@ capabilities of the architectures in metatrain. - No - No - No + * - NanoPET + - Energy, forces, stress/virial + - Yes + - No + - Only with ``rank=1`` (vectors) Preparing generic targets for reading by metatrain diff --git a/docs/src/architectures/nanopet.rst b/docs/src/architectures/nanopet.rst new file mode 100644 index 000000000..49fbde60f --- /dev/null +++ b/docs/src/architectures/nanopet.rst @@ -0,0 +1,107 @@ +.. _architecture-nanopet: + +NanoPET +======= + +.. warning:: + + This is an **experimental model**. You should not use it for anything important. + +This is a more reader- and user-friendly implementation of PET, with slightly +improved training and evaluation speed. + +Installation +------------ +To install the package, you can run the following command in the root +directory of the repository: + +.. code-block:: bash + + pip install .[nanopet] + +This will install the package with the nanoPET dependencies. + + +Default Hyperparameters +----------------------- +The default hyperparameters for the nanoPET model are: + +.. literalinclude:: ../../../src/metatrain/experimental/nanopet/default-hypers.yaml + :language: yaml + + +Tuning Hyperparameters +---------------------- +The default hyperparameters above will work well in most cases, but they +may not be optimal for your specific dataset. In general, the most important +hyperparameters to tune are (in decreasing order of importance): + +- ``cutoff``: This should be set to a value after which most of the interactions between + atoms is expected to be negligible. A lower cutoff will lead to faster models. +- ``learning_rate``: The learning rate for the neural network. This hyperparameter + controls how much the weights of the network are updated at each step of the + optimization. A larger learning rate will lead to faster training, but might cause + instability and/or divergence. +- ``batch_size``: The number of samples to use in each batch of training. This + hyperparameter controls the tradeoff between training speed and memory usage. In + general, larger batch sizes will lead to faster training, but might require more + memory. +- ``d_pet``: This hyperparameters controls width of the neural network. In general, + increasing it might lead to better accuracy, especially on larger datasets, at the + cost of increased training and evaluation time. +- ``num_gnn_layers``: The number of graph neural network layers. In general, decreasing + this hyperparameter to 1 will lead to much faster models, at the expense of accuracy. + Increasing it may or may not lead to better accuracy, depending on the dataset, at the + cost of increased training and evaluation time. +- ``num_attention_layers``: The number of attention layers in each layer of the graph + neural network. Depending on the dataset, increasing this hyperparameter might lead to + better accuracy, at the cost of increased training and evaluation time. +- ``loss``: This section describes the loss function to be used, and it has three + subsections. 1. ``weights``. This controls the weighting of different contributions + to the loss (e.g., energy, forces, virial, etc.). The default values of 1.0 for all + targets work well for most datasets, but they might need to be adjusted. For example, + to set a weight of 1.0 for the energy and 0.1 for the forces, you can set the + following in the ``options.yaml`` file under ``loss``: + ``weights: {"energy": 1.0, "forces": 0.1}``. 2. ``type``. This controls the type of + loss to be used. The default value is ``mse``, and other options are ``mae`` and + ``huber``. ``huber`` is a subsection of its own, and it requires the user to specify + the ``deltas`` parameters in a similar way to how the ``weights`` are specified (e.g., + ``deltas: {"energy": 0.1, "forces": 0.01}``). 3. ``reduction``. This controls how the + loss is reduced over batches. The default value is ``sum``, and the other allowed + option is ``mean``. + + +All Hyperparameters +------------------- +:param name: ``experimental.nanopet`` + +model +##### + +The model-related hyperparameters are + +:param cutoff: Spherical cutoff to use for atomic environments +:param cutoff_width: Width of the shifted cosine cutoff function +:param d_pet: Width of the neural network +:param num_heads: Number of attention heads +:param num_attention_layers: Number of attention layers in each GNN layer +:param num_gnn_layers: Number of GNN layers +:param zbl: Whether to use the ZBL short-range repulsion as the baseline for the model + +training +######## +The hyperparameters for training are + +:param distributed: Whether to use distributed training +:param distributed_port: Port to use for distributed training +:param batch_size: Batch size for training +:param num_epochs: Number of epochs to train for +:param learning_rate: Learning rate for the optimizer +:param scheduler_patience: Patience for the learning rate scheduler +:param scheduler_factor: Factor to reduce the learning rate by +:param log_interval: Interval at which to log training metrics +:param checkpoint_interval: Interval at which to save model checkpoints +:param fixed_composition_weights: Weights for fixed atomic contributions to scalar targets +:param per_structure_targets: Targets to calculate per-structure losses for +:param log_mae: Whether to log the MAE (mean absolute error) of the model in addition to the RMSE +:param loss: The loss function to use, with the subfields described in the previous section From e665c7a9fa5a502e041b9666a68027d91a583023 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 09:49:05 +0100 Subject: [PATCH 095/126] Regression test --- .../experimental/nanopet/tests/test_regression.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/metatrain/experimental/nanopet/tests/test_regression.py b/src/metatrain/experimental/nanopet/tests/test_regression.py index 7b7cbd7bb..843de1ccc 100644 --- a/src/metatrain/experimental/nanopet/tests/test_regression.py +++ b/src/metatrain/experimental/nanopet/tests/test_regression.py @@ -115,11 +115,11 @@ def test_regression_train(): expected_output = torch.tensor( [ - [0.090618140996], - [-0.020789206028], - [0.020192664117], - [0.093057855964], - [0.094577327371], + [6.265684127808], + [2.792870998383], + [1.569854736328], + [3.547449588776], + [1.017662048340], ] ) From aeff14fd4d50a3459d0941096baa07b31066f4ad Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 10:10:14 +0100 Subject: [PATCH 096/126] Clean up --- docs/src/architectures/nanopet.rst | 9 +- src/metatrain/experimental/nanopet/model.py | 111 +++++------------- .../nanopet/tests/test_regression.py | 8 +- .../experimental/soap_bpnn/trainer.py | 2 - 4 files changed, 40 insertions(+), 90 deletions(-) diff --git a/docs/src/architectures/nanopet.rst b/docs/src/architectures/nanopet.rst index 49fbde60f..e34eccb84 100644 --- a/docs/src/architectures/nanopet.rst +++ b/docs/src/architectures/nanopet.rst @@ -101,7 +101,10 @@ The hyperparameters for training are :param scheduler_factor: Factor to reduce the learning rate by :param log_interval: Interval at which to log training metrics :param checkpoint_interval: Interval at which to save model checkpoints -:param fixed_composition_weights: Weights for fixed atomic contributions to scalar targets +:param fixed_composition_weights: Weights for fixed atomic contributions to scalar + targets :param per_structure_targets: Targets to calculate per-structure losses for -:param log_mae: Whether to log the MAE (mean absolute error) of the model in addition to the RMSE -:param loss: The loss function to use, with the subfields described in the previous section +:param log_mae: Whether to log the MAE (mean absolute error) of the model in addition + to the RMSE +:param loss: The loss function to use, with the subfields described in the previous + section diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 08ef632e5..fd30b2d18 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -16,7 +16,7 @@ ) from ...utils.additive import ZBL, CompositionModel -from ...utils.data import DatasetInfo +from ...utils.data import DatasetInfo, TargetInfo from ...utils.dtype import dtype_to_str from .modules.encoder import Encoder from .modules.nef import ( @@ -55,22 +55,6 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.cutoff = self.hypers["cutoff"] self.cutoff_width = self.hypers["cutoff_width"] - self.outputs = { - key: ModelOutput( - quantity=value.quantity, - unit=value.unit, - per_atom=True, - ) - for key, value in dataset_info.targets.items() - } - - # buffers cannot be indexed by strings (torchscript), so we create a single - # tensor for all outputs. Due to this, we need to slice the tensor when we use - # it and use the output name to select the correct slice via a dictionary - self.output_to_index = { - output_name: i for i, output_name in enumerate(self.outputs.keys()) - } - self.encoder = Encoder(len(self.atomic_types), self.hypers["d_pet"]) self.transformer = Transformer( @@ -105,37 +89,17 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.gnn_contractions = torch.nn.ModuleList(gnn_contractions) self.gnn_transformers = torch.nn.ModuleList(gnn_transformers) - self.output_shapes = { - output_name: ( - tuple( - len(comp.values) - for comp in dataset_info.targets[output_name] - .layout.block() - .components - ) - + ( - len( - dataset_info.targets[output_name] - .layout.block() - .properties.values - ), - ) - ) - for output_name in self.outputs.keys() - } - self.last_layer_feature_size = self.hypers["d_pet"] - self.last_layers = torch.nn.ModuleDict( - { - output_name: torch.nn.Linear( - self.hypers["d_pet"], - prod(self.output_shapes[output_name]), - bias=False, - ) - for output_name in self.outputs.keys() - if "mtt::aux::" not in output_name - } - ) + + # register the outputs + # the model is always capable of outputting the last layer features + self.outputs = { + "mtt::aux::last_layer_features": ModelOutput(unit="unitless", per_atom=True) + } + self.last_layers = torch.nn.ModuleDict() + self.output_shapes: Dict[str, List[int]] = {} + for target_name, target_info in dataset_info.targets.items(): + self._add_output(target_name, target_info) self.register_buffer( "species_to_species_index", @@ -177,11 +141,6 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: for output_name in self.outputs.keys() } - # the model is always capable of outputting the last layer features - self.outputs["mtt::aux::last_layer_features"] = ModelOutput( - unit="unitless", per_atom=True - ) - def restart(self, dataset_info: DatasetInfo) -> "NanoPET": # merge old and new dataset info merged_info = self.dataset_info.union(dataset_info) @@ -201,20 +160,12 @@ def restart(self, dataset_info: DatasetInfo) -> "NanoPET": ) # register new outputs as new last layers - for output_name in new_targets: - self.add_output(output_name) + for target_name, target in new_targets.items(): + self._add_output(target_name, target) self.dataset_info = merged_info self.atomic_types = sorted(self.atomic_types) - for target_name, target in new_targets.items(): - self.outputs[target_name] = ModelOutput( - quantity=target.quantity, - unit=target.unit, - per_atom=True, - ) - self.new_outputs = list(new_targets.keys()) - return self def forward( @@ -401,7 +352,7 @@ def forward( atomic_properties = last_layer(node_features) block = TensorBlock( values=atomic_properties.reshape( - (-1,) + self.output_shapes[output_name] + [-1] + self.output_shapes[output_name] ), samples=sample_labels, components=self.component_labels[output_name], @@ -463,16 +414,13 @@ def requested_neighbor_lists( def load_checkpoint(cls, path: Union[str, Path]) -> "NanoPET": # Load the checkpoint - checkpoint = torch.load( - path, weights_only=False, map_location=torch.device("cpu") - ) + checkpoint = torch.load(path, weights_only=False, map_location="cpu") model_hypers = checkpoint["model_hypers"] model_state_dict = checkpoint["model_state_dict"] # Create the model model = cls(**model_hypers) - # dtype = next(iter(model_state_dict.values())).dtype - dtype = torch.float32 # HACK: firts state_dict value is somehow an integer ???? + dtype = next(iter(model_state_dict.values())).dtype model.to(dtype).load_state_dict(model_state_dict) return model @@ -504,17 +452,18 @@ def export(self) -> MetatensorAtomisticModel: return MetatensorAtomisticModel(self.eval(), ModelMetadata(), capabilities) - def set_composition_weights( - self, - output_name: str, - input_composition_weights: torch.Tensor, - atomic_types: List[int], - ) -> None: - """Set the composition weights for a given output.""" - # all species that are not present retain their weight of zero - self.composition_weights[self.output_to_index[output_name]][ # type: ignore - atomic_types - ] = input_composition_weights.to( - dtype=self.composition_weights.dtype, # type: ignore - device=self.composition_weights.device, # type: ignore + def _add_output(self, target_name: str, target_info: TargetInfo) -> None: + + self.output_shapes[target_name] = [ + len(comp.values) for comp in target_info.layout.block().components + ] + [len(target_info.layout.block().properties.values)] + self.outputs[target_name] = ModelOutput( + quantity=target_info.quantity, + unit=target_info.unit, + per_atom=True, + ) + self.last_layers[target_name] = torch.nn.Linear( + self.hypers["d_pet"], + prod(self.output_shapes[target_name]), + bias=False, ) diff --git a/src/metatrain/experimental/nanopet/tests/test_regression.py b/src/metatrain/experimental/nanopet/tests/test_regression.py index 843de1ccc..b0e4cf06e 100644 --- a/src/metatrain/experimental/nanopet/tests/test_regression.py +++ b/src/metatrain/experimental/nanopet/tests/test_regression.py @@ -53,8 +53,8 @@ def test_regression_init(): ) # if you need to change the hardcoded values: - torch.set_printoptions(precision=12) - print(output["mtt::U0"].block().values) + # torch.set_printoptions(precision=12) + # print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 @@ -124,8 +124,8 @@ def test_regression_train(): ) # if you need to change the hardcoded values: - torch.set_printoptions(precision=12) - print(output["mtt::U0"].block().values) + # torch.set_printoptions(precision=12) + # print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 diff --git a/src/metatrain/experimental/soap_bpnn/trainer.py b/src/metatrain/experimental/soap_bpnn/trainer.py index 552cba4c7..e20b8c9e3 100644 --- a/src/metatrain/experimental/soap_bpnn/trainer.py +++ b/src/metatrain/experimental/soap_bpnn/trainer.py @@ -446,8 +446,6 @@ def load_checkpoint(cls, path: Union[str, Path], train_hypers) -> "Trainer": # Load the checkpoint checkpoint = torch.load(path, weights_only=False, map_location="cpu") - model_hypers = checkpoint["model_hypers"] - model_state_dict = checkpoint["model_state_dict"] epoch = checkpoint["epoch"] optimizer_state_dict = checkpoint["optimizer_state_dict"] scheduler_state_dict = checkpoint["scheduler_state_dict"] From 4aa2a1c3fa4a5f3530a078022648bf87e7357fc9 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 10:16:59 +0100 Subject: [PATCH 097/126] Fix restart issue --- src/metatrain/experimental/nanopet/model.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index fd30b2d18..f0ed1e6f5 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -127,18 +127,21 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.key_labels = { output_name: copy.deepcopy(dataset_info.targets[output_name].layout.keys) for output_name in self.outputs.keys() + if "mtt::aux::" not in output_name } self.component_labels = { output_name: copy.deepcopy( dataset_info.targets[output_name].layout.block().components ) for output_name in self.outputs.keys() + if "mtt::aux::" not in output_name } self.property_labels = { output_name: copy.deepcopy( dataset_info.targets[output_name].layout.block().properties ) for output_name in self.outputs.keys() + if "mtt::aux::" not in output_name } def restart(self, dataset_info: DatasetInfo) -> "NanoPET": @@ -420,7 +423,9 @@ def load_checkpoint(cls, path: Union[str, Path]) -> "NanoPET": # Create the model model = cls(**model_hypers) - dtype = next(iter(model_state_dict.values())).dtype + state_dict_iter = iter(model_state_dict.values()) + next(state_dict_iter) # skip `species_to_species_index` buffer (int) + dtype = next(state_dict_iter).dtype model.to(dtype).load_state_dict(model_state_dict) return model From 5cc35c0862cdd80748a6f83dd8d6f6c336afbbac Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 10:36:02 +0100 Subject: [PATCH 098/126] Fix test --- tests/utils/test_architectures.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/utils/test_architectures.py b/tests/utils/test_architectures.py index 3bb788392..86d684632 100644 --- a/tests/utils/test_architectures.py +++ b/tests/utils/test_architectures.py @@ -22,12 +22,13 @@ def is_None(*args, **kwargs) -> None: def test_find_all_architectures(): all_arches = find_all_architectures() - assert len(all_arches) == 4 + assert len(all_arches) == 5 assert "experimental.alchemical_model" in all_arches assert "experimental.gap" in all_arches assert "experimental.pet" in all_arches assert "experimental.soap_bpnn" in all_arches + assert "experimental.nanopet" in all_arches def test_get_architecture_path(): From d0be159bf37e5311587d59dd51507d7ff74a036c Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 13 Nov 2024 12:16:24 +0100 Subject: [PATCH 099/126] Fix accidental deletion of test --- tests/utils/data/test_readers.py | 359 +++++++++++++++++++++++++++++++ 1 file changed, 359 insertions(+) create mode 100644 tests/utils/data/test_readers.py diff --git a/tests/utils/data/test_readers.py b/tests/utils/data/test_readers.py new file mode 100644 index 000000000..6476fef2d --- /dev/null +++ b/tests/utils/data/test_readers.py @@ -0,0 +1,359 @@ +"""Test correct type and metadata of readers. Correct values will be checked +within the tests for each reader.""" + +import logging + +import ase +import ase.io +import pytest +import torch +from metatensor.torch import Labels +from omegaconf import OmegaConf +from test_targets_ase import ase_system, ase_systems + +from metatrain.utils.data import TargetInfo, read_systems, read_targets + + +@pytest.mark.parametrize("reader", (None, "ase")) +def test_read_systems(reader, monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_systems() + ase.io.write(filename, systems) + + results = read_systems(filename, reader=reader) + + assert isinstance(results, list) + assert len(results) == len(systems) + for system, result in zip(systems, results): + assert isinstance(result, torch.ScriptObject) + + torch.testing.assert_close( + result.positions, torch.tensor(system.positions, dtype=torch.float64) + ) + torch.testing.assert_close( + result.types, torch.tensor([1, 1], dtype=torch.int32) + ) + + +def test_read_systems_unknown_reader(): + match = "File extension '.bar' is not linked to a default reader" + with pytest.raises(ValueError, match=match): + read_systems("foo.bar") + + +def test_read_unknonw_library(): + match = "Reader library 'foo' not supported." + with pytest.raises(ValueError, match=match): + read_systems("foo.foo", reader="foo") + + +def test_unsupported_target_name(): + conf = { + "free_energy": { + "quantity": "energy", + } + } + + with pytest.raises( + ValueError, + match="start with `mtt::`", + ): + read_targets(OmegaConf.create(conf)) + + +STRESS_VIRIAL_DICT = { + "read_from": "systems.xyz", + "reader": "ase", + "key": "stress-3x3", +} + + +@pytest.mark.parametrize( + "stress_dict, virial_dict", + [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], +) +def test_read_targets(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_systems() + ase.io.write(filename, systems) + + energy_section = { + "quantity": "energy", + "read_from": filename, + "reader": "ase", + "key": "true_energy", + "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, + "stress": stress_dict, + "virial": virial_dict, + } + + conf = { + "energy": energy_section, + "mtt::energy2": energy_section, + } + + caplog.set_level(logging.INFO) + result, target_info_dict = read_targets(OmegaConf.create(conf)) + + assert any(["Forces found" in rec.message for rec in caplog.records]) + + assert type(result) is dict + assert type(target_info_dict) is dict + + if stress_dict: + assert any(["Stress found" in rec.message for rec in caplog.records]) + if virial_dict: + assert any(["Virial found" in rec.message for rec in caplog.records]) + + for target_name, target_list in result.items(): + target_section = conf[target_name] + + target_info = target_info_dict[target_name] + assert type(target_info) is TargetInfo + assert target_info.quantity == target_section["quantity"] + assert target_info.unit == target_section["unit"] + assert target_info.per_atom is False + assert target_info.gradients == ["positions", "strain"] + + assert type(target_list) is list + for target in target_list: + assert target.keys == Labels(["_"], torch.tensor([[0]])) + + result_block = target.block() + assert result_block.values.dtype is torch.float64 + assert result_block.samples.names == ["system"] + assert result_block.properties == Labels("energy", torch.tensor([[0]])) + + pos_grad = result_block.gradient("positions") + assert pos_grad.values.dtype is torch.float64 + assert pos_grad.samples.names == ["sample", "system", "atom"] + assert pos_grad.components == [ + Labels(["xyz"], torch.arange(3).reshape(-1, 1)) + ] + assert pos_grad.properties == Labels("energy", torch.tensor([[0]])) + + strain_grad = result_block.gradient("strain") + components = [ + Labels(["xyz_1"], torch.arange(3).reshape(-1, 1)), + Labels(["xyz_2"], torch.arange(3).reshape(-1, 1)), + ] + assert strain_grad.values.dtype is torch.float64 + assert strain_grad.samples.names == ["sample"] + assert strain_grad.components == components + assert strain_grad.properties == Labels("energy", torch.tensor([[0]])) + + +@pytest.mark.parametrize( + "stress_dict, virial_dict", + [[STRESS_VIRIAL_DICT, False], [False, STRESS_VIRIAL_DICT]], +) +def test_read_targets_warnings(stress_dict, virial_dict, monkeypatch, tmp_path, caplog): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + + # Delete gradient sections + systems.info.pop("stress-3x3") + systems.info.pop("stress-9") + systems.arrays.pop("forces") + + ase.io.write(filename, systems) + + energy_section = { + "quantity": "energy", + "read_from": filename, + "reader": "ase", + "key": "true_energy", + "unit": "eV", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, + "stress": stress_dict, + "virial": virial_dict, + } + + conf = {"energy": energy_section} + + caplog.set_level(logging.WARNING) + read_targets(OmegaConf.create(conf)) # , slice_samples_by="system") + + assert any(["No forces found" in rec.message for rec in caplog.records]) + + if stress_dict: + assert any(["No stress found" in rec.message for rec in caplog.records]) + if virial_dict: + assert any(["No virial found" in rec.message for rec in caplog.records]) + + +def test_read_targets_error(monkeypatch, tmp_path): + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + energy_section = { + "quantity": "energy", + "read_from": filename, + "reader": "ase", + "key": "true_energy", + "type": "scalar", + "per_atom": False, + "num_properties": 1, + "forces": {"read_from": filename, "reader": "ase", "key": "forces"}, + "stress": True, + "virial": True, + } + + conf = {"energy": energy_section} + + with pytest.raises( + ValueError, + match="stress and virial at the same time", + ): + read_targets(OmegaConf.create(conf)) + + +@pytest.mark.parametrize("key", ["stress-3x3", "stress-9"]) +def test_read_targets_generic_1(key, monkeypatch, tmp_path): + """Reads a 3x3 stress as a Cartesian vector with 3 properties.""" + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + stress_section = { + "quantity": "stress", + "read_from": filename, + "reader": "ase", + "key": key, + "unit": "GPa", + "type": { + "cartesian": { + "rank": 1, + } + }, + "per_atom": False, + "num_properties": 3, + } + conf = {"stress": stress_section} + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) + + # this will trigger a shape error + conf["stress"]["type"]["cartesian"]["rank"] = 2 + with pytest.raises( + RuntimeError, + match="shape", + ): + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) + + +@pytest.mark.parametrize("key", ["stress-3x3", "stress-9"]) +def test_read_targets_generic_2(key, monkeypatch, tmp_path): + """Reads a 3x3 stress as a Cartesian rank-2 tensor.""" + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + stress_section = { + "quantity": "stress", + "read_from": filename, + "reader": "ase", + "key": key, + "unit": "GPa", + "type": { + "cartesian": { + "rank": 2, + } + }, + "per_atom": False, + "num_properties": 1, + } + conf = {"stress": stress_section} + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) + + # this will trigger a shape error + conf["stress"]["type"]["cartesian"]["rank"] = 1 + with pytest.raises( + RuntimeError, + match="shape", + ): + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) + + +@pytest.mark.parametrize("key", ["stress-3x3", "stress-9"]) +def test_read_targets_generic_3(key, monkeypatch, tmp_path): + """Reads a 3x3 stress as a scalar with 9 properties""" + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + stress_section = { + "quantity": "stress", + "read_from": filename, + "reader": "ase", + "key": key, + "unit": "GPa", + "type": "scalar", + "per_atom": False, + "num_properties": 9, + } + conf = {"stress": stress_section} + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) + + +def test_read_targets_generic_errors(monkeypatch, tmp_path): + """Reads a 3x3 stress as a scalar with 9 properties""" + monkeypatch.chdir(tmp_path) + + filename = "systems.xyz" + systems = ase_system() + ase.io.write(filename, systems) + + stress_section = { + "quantity": "stress", + "read_from": filename, + "reader": "ase", + "key": "stress-3x3", + "unit": "GPa", + "type": { + "spherical": { + "irreps": [ + {"o3_lambda": 0, "o3_sigma": 1}, + {"o3_lambda": 2, "o3_sigma": 1}, + ] + } + }, + "per_atom": False, + "num_properties": 9, + } + conf = {"stress": stress_section} + with pytest.raises(ValueError, match="use the metatensor reader"): + with pytest.warns(UserWarning, match="should not be its own top-level target"): + with pytest.warns(UserWarning, match="resembles to a gradient of energies"): + read_targets(OmegaConf.create(conf)) From a325942b6a8173cebaf438e1465b2ba14c5997b3 Mon Sep 17 00:00:00 2001 From: Filippo Bigi <98903385+frostedoyster@users.noreply.github.com> Date: Mon, 18 Nov 2024 17:44:32 +0100 Subject: [PATCH 100/126] Apply suggestions from code review Co-authored-by: Guillaume Fraux --- .../preparing-generic-targets.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/src/advanced-concepts/preparing-generic-targets.rst b/docs/src/advanced-concepts/preparing-generic-targets.rst index d63b3244c..dd4b1a66c 100644 --- a/docs/src/advanced-concepts/preparing-generic-targets.rst +++ b/docs/src/advanced-concepts/preparing-generic-targets.rst @@ -8,17 +8,19 @@ Input file ---------- In order to read a generic target, you will have to specify its layout in the input -file. Suppose you want to learn a target named ``mtt::my_target``, which is a per-atom -Cartesian vector with 10 properties. The target section in the input file should look +file. Suppose you want to learn a target named ``mtt::my_target``, which is +represented as a set of 10 independent per-atom 3D Cartesian vector (we need to +learn 3x10 values for each atom). The ``target`` section in the input file +should look like this: .. code-block:: yaml targets: mtt::my_target: - quantity: "" read_from: dataset.xyz - key: energy + key: my_target + quantity: "" unit: "" per_atom: True type: @@ -39,7 +41,7 @@ The crucial fields here are: A few more words should be spent on ``spherical`` targets. These should be made of a certain number of irreducible spherical tensors. For example, if you are learning a -property that can be decomposed into two spherical tensors with L=0 and L=2, the target +property that can be decomposed into two proper spherical tensors with L=0 and L=2, the target section should would look like this: .. code-block:: yaml @@ -54,10 +56,8 @@ section should would look like this: type: spherical: irreps: - - o3_lambda: 0 - o3_sigma: 1 - - o3_lambda: 2 - o3_sigma: 1 + - {o3_lambda: 0, o3_sigma: 1} + - {o3_lambda: 2, o3_sigma: 1} num_properties: 10 where ``o3_lambda`` specifies the L value of the spherical tensor and ``o3_sigma`` its From a69dfa7274818d582b2e62b62fc92ce4a45fd577 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 18 Nov 2024 20:20:28 +0100 Subject: [PATCH 101/126] Fix assert --- docs/src/advanced-concepts/preparing-generic-targets.rst | 4 ++-- src/metatrain/utils/data/readers/readers.py | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/src/advanced-concepts/preparing-generic-targets.rst b/docs/src/advanced-concepts/preparing-generic-targets.rst index dd4b1a66c..23c1a3c9d 100644 --- a/docs/src/advanced-concepts/preparing-generic-targets.rst +++ b/docs/src/advanced-concepts/preparing-generic-targets.rst @@ -41,8 +41,8 @@ The crucial fields here are: A few more words should be spent on ``spherical`` targets. These should be made of a certain number of irreducible spherical tensors. For example, if you are learning a -property that can be decomposed into two proper spherical tensors with L=0 and L=2, the target -section should would look like this: +property that can be decomposed into two proper spherical tensors with L=0 and L=2, +the target section should would look like this: .. code-block:: yaml diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index 930c63407..2427d4948 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -55,7 +55,8 @@ def _call_base_systems_reader( # elements in data are `torch.ScriptObject`s and their `dtype` is an integer. # A C++ double/torch.float64 is `7` according to # https://github.com/pytorch/pytorch/blob/207564bab1c4fe42750931765734ee604032fb69/c10/core/ScalarType.h#L54-L93 - assert all(s.dtype == 7 for s in systems) + if not all(s.dtype == 7 for s in systems): + raise ValueError("The loaded systems are not in double precision.") return systems @@ -115,7 +116,8 @@ def _call_base_target_reader( # A C++ double/torch.float64 is `7` according to # https://github.com/pytorch/pytorch/blob/207564bab1c4fe42750931765734ee604032fb69/c10/core/ScalarType.h#L54-L93 data = target_data_and_target_info[0] - assert all(d.dtype == 7 for d in data) + if not all(d.dtype == 7 for d in data): + raise ValueError("The loaded targets are not in double precision.") return target_data_and_target_info From 025048d83436a3115fcaca7796506237228cdf7e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 18 Nov 2024 20:34:14 +0100 Subject: [PATCH 102/126] Infer `quantity` in `get_energy_target_info` --- .../alchemical_model/tests/test_exported.py | 4 +--- .../alchemical_model/tests/test_functionality.py | 4 +--- .../alchemical_model/tests/test_invariance.py | 4 +--- .../alchemical_model/tests/test_regression.py | 2 +- .../tests/test_torch_alchemical_compatibility.py | 4 +--- .../alchemical_model/tests/test_torchscript.py | 8 ++------ .../experimental/gap/tests/test_errors.py | 2 +- .../experimental/gap/tests/test_regression.py | 10 +++------- .../experimental/gap/tests/test_torchscript.py | 6 ++---- .../experimental/pet/tests/test_exported.py | 4 +--- .../experimental/pet/tests/test_functionality.py | 12 +++--------- .../pet/tests/test_pet_compatibility.py | 4 +--- .../experimental/pet/tests/test_torchscript.py | 8 ++------ .../soap_bpnn/tests/test_continue.py | 4 +--- .../soap_bpnn/tests/test_exported.py | 4 +--- .../soap_bpnn/tests/test_functionality.py | 16 ++++------------ .../soap_bpnn/tests/test_invariance.py | 4 +--- .../soap_bpnn/tests/test_regression.py | 2 +- .../soap_bpnn/tests/test_torchscript.py | 12 +++--------- src/metatrain/utils/data/target_info.py | 2 +- tests/cli/test_eval_model.py | 4 +--- tests/cli/test_export_model.py | 8 ++------ tests/utils/test_additive.py | 16 ++++------------ tests/utils/test_evaluate_model.py | 2 +- tests/utils/test_external_naming.py | 6 ++---- tests/utils/test_output_gradient.py | 8 +++----- 26 files changed, 45 insertions(+), 115 deletions(-) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_exported.py b/src/metatrain/experimental/alchemical_model/tests/test_exported.py index 8db6a89b6..3a900b57b 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_exported.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_exported.py @@ -23,9 +23,7 @@ def test_to(device, dtype): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info).to(dtype=dtype) exported = model.export() diff --git a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py index 626973c5b..e46ccac73 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_functionality.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_functionality.py @@ -19,9 +19,7 @@ def test_prediction_subset_elements(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_invariance.py b/src/metatrain/experimental/alchemical_model/tests/test_invariance.py index 8955c8afb..601604f0a 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_invariance.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_invariance.py @@ -21,9 +21,7 @@ def test_rotational_invariance(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_regression.py b/src/metatrain/experimental/alchemical_model/tests/test_regression.py index 8009b0068..e9a5367bf 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_regression.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_regression.py @@ -26,7 +26,7 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" targets = {} - targets["mtt::U0"] = get_energy_target_info({"quantity": "energy", "unit": "eV"}) + targets["mtt::U0"] = get_energy_target_info({"unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py index 0303386dc..f9ceee10e 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_torch_alchemical_compatibility.py @@ -72,9 +72,7 @@ def test_alchemical_model_inference(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=unique_numbers, - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) alchemical_model = AlchemicalModel(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py b/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py index c66b615d9..fbac2fe6b 100644 --- a/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py +++ b/src/metatrain/experimental/alchemical_model/tests/test_torchscript.py @@ -13,9 +13,7 @@ def test_torchscript(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) @@ -28,9 +26,7 @@ def test_torchscript_save_load(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = AlchemicalModel(MODEL_HYPERS, dataset_info) torch.jit.save( diff --git a/src/metatrain/experimental/gap/tests/test_errors.py b/src/metatrain/experimental/gap/tests/test_errors.py index ba4402e87..04c30ee97 100644 --- a/src/metatrain/experimental/gap/tests/test_errors.py +++ b/src/metatrain/experimental/gap/tests/test_errors.py @@ -60,7 +60,7 @@ def test_ethanol_regression_train_and_invariance(): target_info_dict = { "energy": get_energy_target_info( - {"quantity": "energy", "unit": "kcal/mol"}, add_position_gradients=True + {"unit": "kcal/mol"}, add_position_gradients=True ) } diff --git a/src/metatrain/experimental/gap/tests/test_regression.py b/src/metatrain/experimental/gap/tests/test_regression.py index 2cd4ebea6..4d8db1e20 100644 --- a/src/metatrain/experimental/gap/tests/test_regression.py +++ b/src/metatrain/experimental/gap/tests/test_regression.py @@ -27,7 +27,7 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" targets = {} - targets["mtt::U0"] = get_energy_target_info({"quantity": "energy", "unit": "eV"}) + targets["mtt::U0"] = get_energy_target_info({"unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets @@ -62,9 +62,7 @@ def test_regression_train_and_invariance(): dataset = Dataset.from_dict({"system": systems, "mtt::U0": targets["mtt::U0"]}) target_info_dict = {} - target_info_dict["mtt::U0"] = get_energy_target_info( - {"quantity": "energy", "unit": "eV"} - ) + target_info_dict["mtt::U0"] = get_energy_target_info({"unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict @@ -148,9 +146,7 @@ def test_ethanol_regression_train_and_invariance(): hypers["model"]["krr"]["num_sparse_points"] = 900 target_info_dict = { - "energy": get_energy_target_info( - {"quantity": "energy", "unit": "eV"}, add_position_gradients=True - ) + "energy": get_energy_target_info({"unit": "eV"}, add_position_gradients=True) } dataset_info = DatasetInfo( diff --git a/src/metatrain/experimental/gap/tests/test_torchscript.py b/src/metatrain/experimental/gap/tests/test_torchscript.py index 0f5ec9672..9f1d80678 100644 --- a/src/metatrain/experimental/gap/tests/test_torchscript.py +++ b/src/metatrain/experimental/gap/tests/test_torchscript.py @@ -15,9 +15,7 @@ def test_torchscript(): """Tests that the model can be jitted.""" target_info_dict = {} - target_info_dict["mtt::U0"] = get_energy_target_info( - {"quantity": "energy", "unit": "eV"} - ) + target_info_dict["mtt::U0"] = get_energy_target_info({"unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict @@ -69,7 +67,7 @@ def test_torchscript(): def test_torchscript_save(): """Tests that the model can be jitted and saved.""" targets = {} - targets["mtt::U0"] = get_energy_target_info({"quantity": "energy", "unit": "eV"}) + targets["mtt::U0"] = get_energy_target_info({"unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/pet/tests/test_exported.py b/src/metatrain/experimental/pet/tests/test_exported.py index db638840a..18cd5d5ad 100644 --- a/src/metatrain/experimental/pet/tests/test_exported.py +++ b/src/metatrain/experimental/pet/tests/test_exported.py @@ -32,9 +32,7 @@ def test_to(device): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) diff --git a/src/metatrain/experimental/pet/tests/test_functionality.py b/src/metatrain/experimental/pet/tests/test_functionality.py index 5a033983c..e0c43446d 100644 --- a/src/metatrain/experimental/pet/tests/test_functionality.py +++ b/src/metatrain/experimental/pet/tests/test_functionality.py @@ -66,9 +66,7 @@ def test_prediction(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -119,9 +117,7 @@ def test_per_atom_predictions_functionality(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -173,9 +169,7 @@ def test_selected_atoms_functionality(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) diff --git a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py index e483b43c4..6684482e0 100644 --- a/src/metatrain/experimental/pet/tests/test_pet_compatibility.py +++ b/src/metatrain/experimental/pet/tests/test_pet_compatibility.py @@ -98,9 +98,7 @@ def test_predictions_compatibility(cutoff): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=structure.numbers, - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) capabilities = ModelCapabilities( length_unit="Angstrom", diff --git a/src/metatrain/experimental/pet/tests/test_torchscript.py b/src/metatrain/experimental/pet/tests/test_torchscript.py index f16ebabef..6f5623932 100644 --- a/src/metatrain/experimental/pet/tests/test_torchscript.py +++ b/src/metatrain/experimental/pet/tests/test_torchscript.py @@ -17,9 +17,7 @@ def test_torchscript(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) @@ -34,9 +32,7 @@ def test_torchscript_save_load(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = WrappedPET(DEFAULT_HYPERS["model"], dataset_info) ARCHITECTURAL_HYPERS = Hypers(model.hypers) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py index cc281815a..0d8d36a69 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_continue.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_continue.py @@ -24,9 +24,7 @@ def test_continue(monkeypatch, tmp_path): systems = [system.to(torch.float32) for system in systems] target_info_dict = {} - target_info_dict["mtt::U0"] = get_energy_target_info( - {"quantity": "energy", "unit": "eV"} - ) + target_info_dict["mtt::U0"] = get_energy_target_info({"unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=target_info_dict diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py index de89f6716..b3e496c43 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_exported.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_exported.py @@ -23,9 +23,7 @@ def test_to(device, dtype): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = SoapBpnn(MODEL_HYPERS, dataset_info).to(dtype=dtype) exported = model.export() diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index da6717b6a..98336336f 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -20,9 +20,7 @@ def test_prediction_subset_elements(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -46,9 +44,7 @@ def test_prediction_subset_atoms(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -116,9 +112,7 @@ def test_output_last_layer_features(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) @@ -190,9 +184,7 @@ def test_output_per_atom(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py b/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py index 4a5a5e2d7..28a8e8007 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_invariance.py @@ -17,9 +17,7 @@ def test_rotational_invariance(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index ce5f58eff..63d825e16 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -23,7 +23,7 @@ def test_regression_init(): """Perform a regression test on the model at initialization""" targets = {} - targets["mtt::U0"] = get_energy_target_info({"quantity": "energy", "unit": "eV"}) + targets["mtt::U0"] = get_energy_target_info({"unit": "eV"}) dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], targets=targets diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py index 4ab95792a..2e16ba26a 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_torchscript.py @@ -16,9 +16,7 @@ def test_torchscript(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) model = torch.jit.script(model) @@ -43,9 +41,7 @@ def test_torchscript_with_identity(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) hypers = copy.deepcopy(MODEL_HYPERS) hypers["bpnn"]["layernorm"] = False @@ -72,9 +68,7 @@ def test_torchscript_save_load(): dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = SoapBpnn(MODEL_HYPERS, dataset_info) torch.jit.save( diff --git a/src/metatrain/utils/data/target_info.py b/src/metatrain/utils/data/target_info.py index 495654ff0..eaf5e9114 100644 --- a/src/metatrain/utils/data/target_info.py +++ b/src/metatrain/utils/data/target_info.py @@ -250,7 +250,7 @@ def get_energy_target_info( ) target_info = TargetInfo( - quantity=target["quantity"], + quantity="energy", unit=target["unit"], layout=layout, ) diff --git a/tests/cli/test_eval_model.py b/tests/cli/test_eval_model.py index c962ec7bb..d9eaf7827 100644 --- a/tests/cli/test_eval_model.py +++ b/tests/cli/test_eval_model.py @@ -84,9 +84,7 @@ def test_eval_export(monkeypatch, tmp_path, options): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1, 6, 7, 8}, - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/cli/test_export_model.py b/tests/cli/test_export_model.py index 6357b69ba..10feab713 100644 --- a/tests/cli/test_export_model.py +++ b/tests/cli/test_export_model.py @@ -30,9 +30,7 @@ def test_export(monkeypatch, tmp_path, path, caplog): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1}, - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) export_model(model, path) @@ -96,9 +94,7 @@ def test_reexport(monkeypatch, tmp_path): dataset_info = DatasetInfo( length_unit="angstrom", atomic_types={1, 6, 7, 8}, - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) diff --git a/tests/utils/test_additive.py b/tests/utils/test_additive.py index 253c900f6..65a08f665 100644 --- a/tests/utils/test_additive.py +++ b/tests/utils/test_additive.py @@ -83,9 +83,7 @@ def test_composition_model_train(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ), ) @@ -210,9 +208,7 @@ def test_composition_model_torchscript(tmpdir): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1, 8], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ), ) composition_model = torch.jit.script(composition_model) @@ -339,9 +335,7 @@ def test_composition_model_missing_types(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ), ) with pytest.raises( @@ -355,9 +349,7 @@ def test_composition_model_missing_types(): dataset_info=DatasetInfo( length_unit="angstrom", atomic_types=[1, 8, 100], - targets={ - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}) - }, + targets={"energy": get_energy_target_info({"unit": "eV"})}, ), ) with pytest.warns( diff --git a/tests/utils/test_evaluate_model.py b/tests/utils/test_evaluate_model.py index 93a347adc..90fc5c38d 100644 --- a/tests/utils/test_evaluate_model.py +++ b/tests/utils/test_evaluate_model.py @@ -26,7 +26,7 @@ def test_evaluate_model(training, exported): targets = { "energy": get_energy_target_info( - {"quantity": "energy", "unit": "eV"}, + {"unit": "eV"}, add_position_gradients=True, add_strain_gradients=True, ) diff --git a/tests/utils/test_external_naming.py b/tests/utils/test_external_naming.py index 6efe0bb98..c74dcdb46 100644 --- a/tests/utils/test_external_naming.py +++ b/tests/utils/test_external_naming.py @@ -6,10 +6,8 @@ def test_to_external_name(): """Tests the to_external_name function.""" quantities = { - "energy": get_energy_target_info({"quantity": "energy", "unit": "eV"}), - "mtt::free_energy": get_energy_target_info( - {"quantity": "energy", "unit": "eV"} - ), + "energy": get_energy_target_info({"unit": "eV"}), + "mtt::free_energy": get_energy_target_info({"unit": "eV"}), "mtt::foo": get_energy_target_info({"quantity": "bar", "unit": "eV"}), } diff --git a/tests/utils/test_output_gradient.py b/tests/utils/test_output_gradient.py index d6fa2daea..ac20bac4d 100644 --- a/tests/utils/test_output_gradient.py +++ b/tests/utils/test_output_gradient.py @@ -20,7 +20,7 @@ def test_forces(is_training): atomic_types={1, 6, 7, 8}, targets={ "energy": get_energy_target_info( - {"quantity": "energy", "unit": "eV"}, add_position_gradients=True + {"unit": "eV"}, add_position_gradients=True ) }, ) @@ -78,9 +78,7 @@ def test_virial(is_training): length_unit="angstrom", atomic_types={6}, targets={ - "energy": get_energy_target_info( - {"quantity": "energy", "unit": "eV"}, add_strain_gradients=True - ) + "energy": get_energy_target_info({"unit": "eV"}, add_strain_gradients=True) }, ) model = __model__(model_hypers=MODEL_HYPERS, dataset_info=dataset_info) @@ -150,7 +148,7 @@ def test_both(is_training): atomic_types={6}, targets={ "energy": get_energy_target_info( - {"quantity": "energy", "unit": "eV"}, + {"unit": "eV"}, add_position_gradients=True, add_strain_gradients=True, ) From 03c6df39a373916791f548ec9cfdb88846268e44 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 18 Nov 2024 20:53:17 +0100 Subject: [PATCH 103/126] Allow arbitrary properties with `metatensor` reader --- .../preparing-generic-targets.rst | 3 - .../utils/data/readers/metatensor.py | 55 ++++++++++++++----- 2 files changed, 40 insertions(+), 18 deletions(-) diff --git a/docs/src/advanced-concepts/preparing-generic-targets.rst b/docs/src/advanced-concepts/preparing-generic-targets.rst index 23c1a3c9d..24f9c5ad7 100644 --- a/docs/src/advanced-concepts/preparing-generic-targets.rst +++ b/docs/src/advanced-concepts/preparing-generic-targets.rst @@ -91,9 +91,6 @@ be raised. In particular: -- for any target, the ``properties`` of the ``TensorMap`` should have a single name, - namely ``properties``, corresponding to ``num_properties`` values, from 0 to - ``num_properties-1``. - if the target is per atom, the samples should have the [``system``, ``atom``] names, otherwise the [``system``] name. - if the target is a ``scalar``, only one ``TensorBlock`` should be present, the keys diff --git a/src/metatrain/utils/data/readers/metatensor.py b/src/metatrain/utils/data/readers/metatensor.py index 4601fafee..a3d6ce7ff 100644 --- a/src/metatrain/utils/data/readers/metatensor.py +++ b/src/metatrain/utils/data/readers/metatensor.py @@ -2,7 +2,7 @@ from typing import List, Tuple import torch -from metatensor.torch import TensorMap +from metatensor.torch import Labels, TensorBlock, TensorMap from metatensor.torch.atomistic import System from omegaconf import DictConfig @@ -76,9 +76,13 @@ def read_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: raise ValueError("Only energy targets can have gradient blocks.") target_info = get_generic_target_info(target) - _check_tensor_maps_metadata(tensor_maps, target_info.layout) + # make sure that the properties of the target_info.layout also match the + # actual properties of the tensor maps + if len(tensor_maps) != 0: # empty dataset: do nothing + target_info.layout = _empty_tensor_map_like(tensor_maps[0]) + return tensor_maps, target_info @@ -105,12 +109,8 @@ def _check_tensor_maps_metadata(tensor_maps: List[TensorMap], layout: TensorMap) f"expected: {block_from_layout.components} " f"actual: {block.components}" ) - if block.properties != block_from_layout.properties: - raise ValueError( - f"Unexpected properties in metatensor targets at index {i}: " - f"expected: {block_from_layout.properties} " - f"actual: {block.properties}" - ) + # the properties can be different from those of the default `TensorMap` + # given by `get_generic_target_info`, so we don't check them if set(block.gradients_list()) != set(block_from_layout.gradients_list()): raise ValueError( f"Unexpected gradients in metatensor targets at index {i}: " @@ -137,10 +137,35 @@ def _check_tensor_maps_metadata(tensor_maps: List[TensorMap], layout: TensorMap) f"expected: {gradient_block_from_layout.components} " f"actual: {gradient_block.components}" ) - if gradient_block.properties != gradient_block_from_layout.properties: - raise ValueError( - f"Unexpected properties in metatensor targets at index {i} " - f"for `{name}` gradient block: " - f"expected: {gradient_block_from_layout.properties} " - f"actual: {gradient_block.properties}" - ) + + +def _empty_tensor_map_like(tensor_map: TensorMap) -> TensorMap: + new_keys = tensor_map.keys + new_blocks: List[TensorBlock] = [] + for block in tensor_map.blocks(): + new_block = _empty_tensor_block_like(block) + new_blocks.append(new_block) + return TensorMap(keys=new_keys, blocks=new_blocks) + + +def _empty_tensor_block_like(tensor_block: TensorBlock) -> TensorBlock: + new_block = TensorBlock( + values=torch.empty( + (0,) + tensor_block.values.shape[1:], + dtype=torch.float64, # metatensor can't serialize otherwise + device=tensor_block.values.device, + ), + samples=Labels( + names=tensor_block.samples.names, + values=torch.empty( + (0, tensor_block.samples.values.shape[1]), + dtype=tensor_block.samples.values.dtype, + device=tensor_block.samples.values.device, + ), + ), + components=tensor_block.components, + properties=tensor_block.properties, + ) + for gradient_name, gradient in tensor_block.gradients(): + new_block.add_gradient(gradient_name, _empty_tensor_block_like(gradient)) + return new_block From b6f5cd5bad6bf09eedfa531d703e172b25f919cd Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 18 Nov 2024 21:02:39 +0100 Subject: [PATCH 104/126] Fix tests --- tests/utils/test_additive.py | 19 +++++++++++++++++-- tests/utils/test_external_naming.py | 6 +++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/tests/utils/test_additive.py b/tests/utils/test_additive.py index 65a08f665..66bd891f0 100644 --- a/tests/utils/test_additive.py +++ b/tests/utils/test_additive.py @@ -10,7 +10,10 @@ from metatrain.utils.additive import ZBL, CompositionModel, remove_additive from metatrain.utils.data import Dataset, DatasetInfo from metatrain.utils.data.readers import read_systems, read_targets -from metatrain.utils.data.target_info import get_energy_target_info +from metatrain.utils.data.target_info import ( + get_energy_target_info, + get_generic_target_info, +) from metatrain.utils.neighbor_lists import ( get_requested_neighbor_lists, get_system_with_neighbor_lists, @@ -374,7 +377,19 @@ def test_composition_model_wrong_target(): length_unit="angstrom", atomic_types=[1], targets={ - "energy": get_energy_target_info({"quantity": "force", "unit": ""}) + "energy": get_generic_target_info( + { + "quantity": "dipole", + "unit": "D", + "per_atom": True, + "num_properties": 5, + "type": { + "Cartesian": { + "rank": 1, + } + }, + } + ) }, ), ) diff --git a/tests/utils/test_external_naming.py b/tests/utils/test_external_naming.py index c74dcdb46..5b9c79de7 100644 --- a/tests/utils/test_external_naming.py +++ b/tests/utils/test_external_naming.py @@ -8,9 +8,13 @@ def test_to_external_name(): quantities = { "energy": get_energy_target_info({"unit": "eV"}), "mtt::free_energy": get_energy_target_info({"unit": "eV"}), - "mtt::foo": get_energy_target_info({"quantity": "bar", "unit": "eV"}), + "mtt::foo": get_energy_target_info({"unit": "eV"}), } + # hack to test the fact that non-energies should be treated differently + # (i.e., their gradients should not have special names) + quantities["mtt::foo"].quantity = "bar" + assert to_external_name("energy_positions_gradients", quantities) == "forces" assert ( to_external_name("mtt::free_energy_positions_gradients", quantities) From a5416becd19166a046bb1d7d9aa7015d46a5177f Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Mon, 18 Nov 2024 21:13:24 +0100 Subject: [PATCH 105/126] Fix tests --- tests/utils/data/test_readers_metatensor.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/utils/data/test_readers_metatensor.py b/tests/utils/data/test_readers_metatensor.py index 3508500ae..700456d13 100644 --- a/tests/utils/data/test_readers_metatensor.py +++ b/tests/utils/data/test_readers_metatensor.py @@ -276,7 +276,3 @@ def test_read_errors(monkeypatch, tmpdir, energy_tensor_map, scalar_tensor_map): conf["read_from"] = "scalar.mts" with pytest.raises(ValueError, match="Unexpected samples"): read_generic(OmegaConf.create(conf)) - - conf["per_atom"] = True - with pytest.raises(ValueError, match="Unexpected properties"): - read_generic(OmegaConf.create(conf)) From a5a102c00432dac92ea0e3239c5c49b758d04445 Mon Sep 17 00:00:00 2001 From: Filippo Bigi <98903385+frostedoyster@users.noreply.github.com> Date: Tue, 19 Nov 2024 08:26:02 +0100 Subject: [PATCH 106/126] Update docs/src/advanced-concepts/preparing-generic-targets.rst Co-authored-by: Philip Loche --- docs/src/advanced-concepts/preparing-generic-targets.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/advanced-concepts/preparing-generic-targets.rst b/docs/src/advanced-concepts/preparing-generic-targets.rst index 24f9c5ad7..00a74584b 100644 --- a/docs/src/advanced-concepts/preparing-generic-targets.rst +++ b/docs/src/advanced-concepts/preparing-generic-targets.rst @@ -34,7 +34,7 @@ The crucial fields here are: property. Otherwise, it should be set to ``False``. - ``type``: This field specifies the type of the target. In this case, the target is a Cartesian vector. The ``rank`` field specifies the rank of the target. For - Cartesian vectors, the rank is 1. Other possibilities are ``scalar`` and + Cartesian vectors, the rank is 1. Other possibilities for the `type` are ``scalar`` or ``spherical`` (for a spherical tensor). - ``num_properties``: This field specifies the number of different properties in the target that need to be learned. In this case, there are 10 properties. From 155aac52cee1254c6615a1a31425fb82c340760e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 19 Nov 2024 08:53:56 +0100 Subject: [PATCH 107/126] Suggestions from review --- .../preparing-generic-targets.rst | 4 +- src/metatrain/utils/data/readers/ase.py | 16 +-- src/metatrain/utils/data/readers/readers.py | 110 ++++++++---------- tests/utils/data/test_readers_ase.py | 14 +-- tests/utils/data/test_targets_ase.py | 30 ++--- 5 files changed, 82 insertions(+), 92 deletions(-) diff --git a/docs/src/advanced-concepts/preparing-generic-targets.rst b/docs/src/advanced-concepts/preparing-generic-targets.rst index 00a74584b..ba6fcc572 100644 --- a/docs/src/advanced-concepts/preparing-generic-targets.rst +++ b/docs/src/advanced-concepts/preparing-generic-targets.rst @@ -34,8 +34,8 @@ The crucial fields here are: property. Otherwise, it should be set to ``False``. - ``type``: This field specifies the type of the target. In this case, the target is a Cartesian vector. The ``rank`` field specifies the rank of the target. For - Cartesian vectors, the rank is 1. Other possibilities for the `type` are ``scalar`` or - ``spherical`` (for a spherical tensor). + Cartesian vectors, the rank is 1. Other possibilities for the ``type`` are + ``scalar`` (for a scalar target) and ``spherical`` (for a spherical tensor). - ``num_properties``: This field specifies the number of different properties in the target that need to be learned. In this case, there are 10 properties. diff --git a/src/metatrain/utils/data/readers/ase.py b/src/metatrain/utils/data/readers/ase.py index b41dd5c2f..ac3abe568 100644 --- a/src/metatrain/utils/data/readers/ase.py +++ b/src/metatrain/utils/data/readers/ase.py @@ -30,7 +30,7 @@ def read_systems(filename: str) -> List[System]: return systems_to_torch(_wrapped_ase_io_read(filename), dtype=torch.float64) -def read_energy_ase(filename: str, key: str) -> List[TensorBlock]: +def _read_energy_ase(filename: str, key: str) -> List[TensorBlock]: """Store energy information in a List of :class:`metatensor.TensorBlock`. :param filename: name of the file to read @@ -63,7 +63,7 @@ def read_energy_ase(filename: str, key: str) -> List[TensorBlock]: return blocks -def read_forces_ase(filename: str, key: str = "energy") -> List[TensorBlock]: +def _read_forces_ase(filename: str, key: str = "energy") -> List[TensorBlock]: """Store force information in a List of :class:`metatensor.TensorBlock` which can be used as ``position`` gradients. @@ -106,7 +106,7 @@ def read_forces_ase(filename: str, key: str = "energy") -> List[TensorBlock]: return blocks -def read_virial_ase(filename: str, key: str = "virial") -> List[TensorBlock]: +def _read_virial_ase(filename: str, key: str = "virial") -> List[TensorBlock]: """Store virial information in a List of :class:`metatensor.TensorBlock` which can be used as ``strain`` gradients. @@ -117,7 +117,7 @@ def read_virial_ase(filename: str, key: str = "virial") -> List[TensorBlock]: return _read_virial_stress_ase(filename=filename, key=key, is_virial=True) -def read_stress_ase(filename: str, key: str = "stress") -> List[TensorBlock]: +def _read_stress_ase(filename: str, key: str = "stress") -> List[TensorBlock]: """Store stress information in a List of :class:`metatensor.TensorBlock` which can be used as ``strain`` gradients. @@ -194,7 +194,7 @@ def _read_virial_stress_ase( def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: target_key = target["key"] - blocks = read_energy_ase( + blocks = _read_energy_ase( filename=target["read_from"], key=target["key"], ) @@ -202,7 +202,7 @@ def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: add_position_gradients = False if target["forces"]: try: - position_gradients = read_forces_ase( + position_gradients = _read_forces_ase( filename=target["forces"]["read_from"], key=target["forces"]["key"], ) @@ -225,7 +225,7 @@ def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: if target["stress"]: try: - strain_gradients = read_stress_ase( + strain_gradients = _read_stress_ase( filename=target["stress"]["read_from"], key=target["stress"]["key"], ) @@ -243,7 +243,7 @@ def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: if target["virial"]: try: - strain_gradients = read_virial_ase( + strain_gradients = _read_virial_ase( filename=target["virial"]["read_from"], key=target["virial"]["key"], ) diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index 2427d4948..6972a562a 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -20,47 +20,6 @@ """:py:class:`dict`: dictionary mapping file extensions to a default reader""" -def _call_base_systems_reader( - filename: str, reader: Optional[str] = None -) -> List[System]: - - if reader is None: - try: - file_suffix = Path(filename).suffix - reader = DEFAULT_READER[file_suffix] - except KeyError: - raise ValueError( - f"File extension {file_suffix!r} is not linked to a default reader " - "library. You can try reading it by setting a specific 'reader' from " - f"the known ones: {', '.join(AVAILABLE_READERS)} " - ) - - try: - reader_mod = importlib.import_module( - name=f".{reader}", package="metatrain.utils.data.readers" - ) - except ImportError: - raise ValueError( - f"Reader library {reader!r} not supported. Choose from " - f"{', '.join(AVAILABLE_READERS)}" - ) - - try: - reader_met = reader_mod.read_systems - except AttributeError: - raise ValueError(f"Reader library {reader!r} can't read systems.") - - systems = reader_met(filename) - - # elements in data are `torch.ScriptObject`s and their `dtype` is an integer. - # A C++ double/torch.float64 is `7` according to - # https://github.com/pytorch/pytorch/blob/207564bab1c4fe42750931765734ee604032fb69/c10/core/ScalarType.h#L54-L93 - if not all(s.dtype == 7 for s in systems): - raise ValueError("The loaded systems are not in double precision.") - - return systems - - def read_systems( filename: str, reader: Optional[str] = None, @@ -75,15 +34,6 @@ def read_systems( determined from the file extension. :returns: list of systems stored in double precision """ - return _call_base_systems_reader(filename=filename, reader=reader) - - -def _call_base_target_reader( - target: DictConfig, target_kind: str -) -> Tuple[List[TensorMap], TargetInfo]: - reader = target["reader"] - filename = target["read_from"] - if reader is None: try: file_suffix = Path(filename).suffix @@ -106,20 +56,22 @@ def _call_base_target_reader( ) try: - reader_met = getattr(reader_mod, f"read_{target_kind}") + reader_met = reader_mod.read_systems except AttributeError: - raise ValueError(f"Reader library {reader!r} can't read {target!r}.") + raise ValueError( + f"Reader library {reader!r} cannot read systems." + f"You can try with other readers: {AVAILABLE_READERS}" + ) - target_data_and_target_info = reader_met(target) + systems = reader_met(filename) # elements in data are `torch.ScriptObject`s and their `dtype` is an integer. # A C++ double/torch.float64 is `7` according to # https://github.com/pytorch/pytorch/blob/207564bab1c4fe42750931765734ee604032fb69/c10/core/ScalarType.h#L54-L93 - data = target_data_and_target_info[0] - if not all(d.dtype == 7 for d in data): - raise ValueError("The loaded targets are not in double precision.") + if not all(s.dtype == 7 for s in systems): + raise ValueError("The loaded systems are not in double precision.") - return target_data_and_target_info + return systems def read_targets( @@ -185,9 +137,47 @@ def read_targets( and target["type"] == "scalar" ) energy_or_generic = "energy" if is_energy else "generic" - targets_as_list_of_tensor_maps, target_info = _call_base_target_reader( - target, energy_or_generic - ) + + reader = target["reader"] + filename = target["read_from"] + + if reader is None: + try: + file_suffix = Path(filename).suffix + reader = DEFAULT_READER[file_suffix] + except KeyError: + raise ValueError( + f"File extension {file_suffix!r} is not linked to a default reader " + "library. You can try reading it by setting a specific 'reader' " + f"from the known ones: {', '.join(AVAILABLE_READERS)} " + ) + + try: + reader_mod = importlib.import_module( + name=f".{reader}", package="metatrain.utils.data.readers" + ) + except ImportError: + raise ValueError( + f"Reader library {reader!r} not supported. Choose from " + f"{', '.join(AVAILABLE_READERS)}" + ) + + try: + reader_met = getattr(reader_mod, f"read_{energy_or_generic}") + except AttributeError: + raise ValueError( + f"Reader library {reader!r} cannot read {target!r}." + f"You can try with other readers: {AVAILABLE_READERS}" + ) + + targets_as_list_of_tensor_maps, target_info = reader_met(target) + + # elements in data are `torch.ScriptObject`s and their `dtype` is an integer. + # A C++ double/torch.float64 is `7` according to + # https://github.com/pytorch/pytorch/blob/207564bab1c4fe42750931765734ee604032fb69/c10/core/ScalarType.h#L54-L93 + if not all(t.dtype == 7 for t in targets_as_list_of_tensor_maps): + raise ValueError("The loaded targets are not in double precision.") + target_dictionary[target_key] = targets_as_list_of_tensor_maps target_info_dictionary[target_key] = target_info diff --git a/tests/utils/data/test_readers_ase.py b/tests/utils/data/test_readers_ase.py index 7624e0a58..99c1e5c2f 100644 --- a/tests/utils/data/test_readers_ase.py +++ b/tests/utils/data/test_readers_ase.py @@ -11,10 +11,10 @@ from test_targets_ase import ase_systems from metatrain.utils.data.readers.ase import ( - read_energy_ase, - read_forces_ase, - read_stress_ase, - read_virial_ase, + _read_energy_ase, + _read_forces_ase, + _read_stress_ase, + _read_virial_ase, ) @@ -25,7 +25,7 @@ def test_read_energies(monkeypatch, tmp_path): systems = ase_systems() ase.io.write(filename, systems) - results = read_energy_ase(filename, key="true_energy") + results = _read_energy_ase(filename, key="true_energy") assert type(results) is list assert len(results) == len(systems) @@ -43,7 +43,7 @@ def test_read_forces(monkeypatch, tmp_path): systems = ase_systems() ase.io.write(filename, systems) - results = read_forces_ase(filename, key="forces") + results = _read_forces_ase(filename, key="forces") assert type(results) is list assert len(results) == len(systems) @@ -56,7 +56,7 @@ def test_read_forces(monkeypatch, tmp_path): assert result.properties == Labels("energy", torch.tensor([[0]])) -@pytest.mark.parametrize("reader_func", [read_stress_ase, read_virial_ase]) +@pytest.mark.parametrize("reader_func", [_read_stress_ase, _read_virial_ase]) def test_read_stress_virial(reader_func, monkeypatch, tmp_path): monkeypatch.chdir(tmp_path) diff --git a/tests/utils/data/test_targets_ase.py b/tests/utils/data/test_targets_ase.py index 639036832..f7da147ba 100644 --- a/tests/utils/data/test_targets_ase.py +++ b/tests/utils/data/test_targets_ase.py @@ -9,11 +9,11 @@ import torch from metatrain.utils.data.readers.ase import ( - read_energy_ase, - read_forces_ase, - read_stress_ase, + _read_energy_ase, + _read_forces_ase, + _read_stress_ase, + _read_virial_ase, read_systems, - read_virial_ase, ) @@ -67,7 +67,7 @@ def test_read_energy_ase(monkeypatch, tmp_path): systems = ase_systems() ase.io.write(filename, systems) - results = read_energy_ase(filename=filename, key="true_energy") + results = _read_energy_ase(filename=filename, key="true_energy") for result, atoms in zip(results, systems): expected = torch.tensor([[atoms.info["true_energy"]]], dtype=torch.float64) @@ -77,10 +77,10 @@ def test_read_energy_ase(monkeypatch, tmp_path): @pytest.mark.parametrize( "func, target_name", [ - (read_energy_ase, "energy"), - (read_forces_ase, "forces"), - (read_virial_ase, "virial"), - (read_stress_ase, "stress"), + (_read_energy_ase, "energy"), + (_read_forces_ase, "forces"), + (_read_virial_ase, "virial"), + (_read_stress_ase, "stress"), ], ) def test_ase_key_errors(func, target_name, monkeypatch, tmp_path): @@ -105,7 +105,7 @@ def test_read_forces_ase(monkeypatch, tmp_path): systems = ase_systems() ase.io.write(filename, systems) - results = read_forces_ase(filename=filename, key="forces") + results = _read_forces_ase(filename=filename, key="forces") for result, atoms in zip(results, systems): expected = -torch.tensor(atoms.get_array("forces"), dtype=torch.float64) @@ -121,7 +121,7 @@ def test_read_stress_ase(monkeypatch, tmp_path): systems = ase_systems() ase.io.write(filename, systems) - results = read_stress_ase(filename=filename, key="stress-3x3") + results = _read_stress_ase(filename=filename, key="stress-3x3") for result, atoms in zip(results, systems): expected = atoms.cell.volume * torch.tensor( @@ -143,7 +143,7 @@ def test_no_cell_error(monkeypatch, tmp_path): ase.io.write(filename, systems) with pytest.raises(ValueError, match="system 0 has zero cell vectors."): - read_stress_ase(filename=filename, key="stress-3x3") + _read_stress_ase(filename=filename, key="stress-3x3") def test_read_virial_ase(monkeypatch, tmp_path): @@ -154,7 +154,7 @@ def test_read_virial_ase(monkeypatch, tmp_path): systems = ase_systems() ase.io.write(filename, systems) - results = read_virial_ase(filename=filename, key="stress-3x3") + results = _read_virial_ase(filename=filename, key="stress-3x3") for result, atoms in zip(results, systems): expected = -torch.tensor(atoms.info["stress-3x3"], dtype=torch.float64) @@ -171,7 +171,7 @@ def test_read_virial_warn(monkeypatch, tmp_path): ase.io.write(filename, systems) with pytest.warns(match="Found 9-long numerical vector"): - results = read_virial_ase(filename=filename, key="stress-9") + results = _read_virial_ase(filename=filename, key="stress-9") expected = -torch.tensor(systems.info["stress-9"], dtype=torch.float64) expected = expected.reshape(-1, 3, 3, 1) @@ -188,4 +188,4 @@ def test_read_virial_error(monkeypatch, tmp_path): ase.io.write(filename, systems) with pytest.raises(ValueError, match="Stress/virial must be a 3 x 3 matrix"): - read_virial_ase(filename=filename, key="stress-9") + _read_virial_ase(filename=filename, key="stress-9") From 6fcc7f4450432625a19eab9b509e0e54ca72e212 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 19 Nov 2024 09:17:04 +0100 Subject: [PATCH 108/126] Remove private functions from docs --- docs/src/dev-docs/utils/data/readers.rst | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/docs/src/dev-docs/utils/data/readers.rst b/docs/src/dev-docs/utils/data/readers.rst index 43956c94d..3b7e1c021 100644 --- a/docs/src/dev-docs/utils/data/readers.rst +++ b/docs/src/dev-docs/utils/data/readers.rst @@ -48,14 +48,9 @@ This section describes the parsers for the ASE library. .. autofunction:: metatrain.utils.data.readers.ase.read_energy .. autofunction:: metatrain.utils.data.readers.ase.read_generic -:func:`metatrain.utils.data.readers.ase.read_energy` uses sub-functions to parse the -energy and its gradients like ``forces``, ``virial`` and ``stress``. Currently we -support reading these properties via - -.. autofunction:: metatrain.utils.data.readers.ase.read_energy_ase -.. autofunction:: metatrain.utils.data.readers.ase.read_forces_ase -.. autofunction:: metatrain.utils.data.readers.ase.read_virial_ase -.. autofunction:: metatrain.utils.data.readers.ase.read_stress_ase +It should be noted that :func:`metatrain.utils.data.readers.ase.read_energy` currently +uses sub-functions to parse the energy and its gradients like ``forces``, ``virial`` +and ``stress``. Metatensor ---------- From 405c2cfecbba3c0d434b7f97345be5c79b72cc75 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Tue, 19 Nov 2024 16:47:47 +0100 Subject: [PATCH 109/126] Change metatensor target format to a single `TensorMap` --- .../preparing-generic-targets.rst | 12 +- docs/src/dev-docs/utils/data/readers.rst | 2 +- .../utils/data/readers/metatensor.py | 153 +++++++++--------- src/metatrain/utils/data/readers/readers.py | 2 +- tests/utils/data/test_readers_metatensor.py | 104 ++++++------ 5 files changed, 143 insertions(+), 130 deletions(-) diff --git a/docs/src/advanced-concepts/preparing-generic-targets.rst b/docs/src/advanced-concepts/preparing-generic-targets.rst index ba6fcc572..214e37767 100644 --- a/docs/src/advanced-concepts/preparing-generic-targets.rst +++ b/docs/src/advanced-concepts/preparing-generic-targets.rst @@ -36,8 +36,12 @@ The crucial fields here are: a Cartesian vector. The ``rank`` field specifies the rank of the target. For Cartesian vectors, the rank is 1. Other possibilities for the ``type`` are ``scalar`` (for a scalar target) and ``spherical`` (for a spherical tensor). -- ``num_properties``: This field specifies the number of different properties in the - target that need to be learned. In this case, there are 10 properties. +- ``num_properties``: This field specifies the number of independent properties in the + target that need to be learned. They are treated as entirely equivalent by models in + metatrain and will often be represented as outputs of the same neural network layer. + A common use case for this field is when you are learning a discretization of a + continuous target, such as the grid points of a band structure. In this case, there + are 10 properties. A few more words should be spent on ``spherical`` targets. These should be made of a certain number of irreducible spherical tensors. For example, if you are learning a @@ -82,8 +86,8 @@ Preparing your targets -- metatensor ------------------------------------ If you are using the metatensor readers to read your targets, you will have to save them -as a list of ``metatensor.torch.TensorMap`` objects with ``torch.save`` into a file with -the ``.mts`` extension. +as a ``metatensor.torch.TensorMap`` object with ``metatensor.torch.TensorMap.save()`` +into a file with the ``.npz`` extension. The metatensor reader will verify that the target data in the input files corresponds to the metadata in the provided ``TensorMap`` objects. In case of a mismatch, errors will diff --git a/docs/src/dev-docs/utils/data/readers.rst b/docs/src/dev-docs/utils/data/readers.rst index 3b7e1c021..b6dc726bb 100644 --- a/docs/src/dev-docs/utils/data/readers.rst +++ b/docs/src/dev-docs/utils/data/readers.rst @@ -15,7 +15,7 @@ Parsers for obtaining *system* and *target* information from files. Currently, - ``.xyz``, ``.extxyz`` * - ``metatensor`` - system, energy, forces, stress, virials - - ``.mts`` + - ``.npz`` If the ``reader`` parameter is not set, the library is determined from the file diff --git a/src/metatrain/utils/data/readers/metatensor.py b/src/metatrain/utils/data/readers/metatensor.py index a3d6ce7ff..2c35f4708 100644 --- a/src/metatrain/utils/data/readers/metatensor.py +++ b/src/metatrain/utils/data/readers/metatensor.py @@ -1,6 +1,7 @@ import logging from typing import List, Tuple +import metatensor.torch import torch from metatensor.torch import Labels, TensorBlock, TensorMap from metatensor.torch.atomistic import System @@ -23,36 +24,18 @@ def read_systems(filename: str) -> List[System]: raise NotImplementedError("Reading metatensor systems is not yet implemented.") -def _wrapped_metatensor_read(filename) -> List[TensorMap]: +def _wrapped_metatensor_read(filename) -> TensorMap: try: - return torch.load(filename, weights_only=False) + return metatensor.torch.load(filename) except Exception as e: raise ValueError(f"Failed to read '{filename}' with torch: {e}") from e -def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: - tensor_maps = _wrapped_metatensor_read(target["read_from"]) +def read_energy(target: DictConfig) -> Tuple[TensorMap, TargetInfo]: + tensor_map = _wrapped_metatensor_read(target["read_from"]) - has_position_gradients = [] - has_strain_gradients = [] - for tensor_map in tensor_maps: - if len(tensor_map) != 1: - raise ValueError("Energy TensorMaps should have exactly one block.") - has_position_gradients.append( - "positions" in tensor_map.block().gradients_list() - ) - has_strain_gradients.append("strain" in tensor_map.block().gradients_list()) - - if (not all(has_position_gradients)) and any(has_position_gradients): - raise ValueError( - "Found a mix of targets with and without position gradients. " - "Either all targets should have position gradients or none." - ) - if (not all(has_strain_gradients)) and any(has_strain_gradients): - raise ValueError( - "Found a mix of targets with and without strain gradients. " - "Either all targets should have strain gradients or none." - ) + if len(tensor_map) != 1: + raise ValueError("Energy TensorMaps should have exactly one block.") add_position_gradients = target["forces"] add_strain_gradients = target["stress"] or target["virial"] @@ -62,81 +45,95 @@ def read_energy(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: # now check all the expected metadata (from target_info.layout) matches # the actual metadata in the tensor maps - _check_tensor_maps_metadata(tensor_maps, target_info.layout) + _check_tensor_map_metadata(tensor_map, target_info.layout) + selections = [ + Labels( + names=["system"], + values=torch.tensor([[int(i)]]), + ) + for i in torch.unique( + torch.concatenate( + [block.samples.column("system") for block in tensor_map.blocks()] + ) + ) + ] + tensor_maps = metatensor.torch.split(tensor_map, "samples", selections) return tensor_maps, target_info def read_generic(target: DictConfig) -> Tuple[List[TensorMap], TargetInfo]: - tensor_maps = _wrapped_metatensor_read(target["read_from"]) + tensor_map = _wrapped_metatensor_read(target["read_from"]) - for tensor_map in tensor_maps: - for block in tensor_map.blocks(): - if len(block.gradients_list()) > 0: - raise ValueError("Only energy targets can have gradient blocks.") + for block in tensor_map.blocks(): + if len(block.gradients_list()) > 0: + raise ValueError("Only energy targets can have gradient blocks.") target_info = get_generic_target_info(target) - _check_tensor_maps_metadata(tensor_maps, target_info.layout) + _check_tensor_map_metadata(tensor_map, target_info.layout) # make sure that the properties of the target_info.layout also match the # actual properties of the tensor maps - if len(tensor_maps) != 0: # empty dataset: do nothing - target_info.layout = _empty_tensor_map_like(tensor_maps[0]) + target_info.layout = _empty_tensor_map_like(tensor_map) + selections = [ + Labels( + names=["system"], + values=torch.tensor([[int(i)]]), + ) + for i in torch.unique(tensor_map.block(0).samples.column("system")) + ] + tensor_maps = metatensor.torch.split(tensor_map, "samples", selections) return tensor_maps, target_info -def _check_tensor_maps_metadata(tensor_maps: List[TensorMap], layout: TensorMap): - for i, tensor_map in enumerate(tensor_maps): - if tensor_map.keys != layout.keys: +def _check_tensor_map_metadata(tensor_map: TensorMap, layout: TensorMap): + if tensor_map.keys != layout.keys: + raise ValueError( + f"Unexpected keys in metatensor targets: " + f"expected: {layout.keys} " + f"actual: {tensor_map.keys}" + ) + for key in layout.keys: + block = tensor_map.block(key) + block_from_layout = layout.block(key) + if block.samples.names != block_from_layout.samples.names: raise ValueError( - f"Unexpected keys in metatensor targets at index {i}: " - f"expected: {layout.keys} " - f"actual: {tensor_map.keys}" + f"Unexpected samples in metatensor targets: " + f"expected: {block_from_layout.samples.names} " + f"actual: {block.samples.names}" ) - for key in layout.keys: - block = tensor_map.block(key) - block_from_layout = layout.block(key) - if block.samples.names != block_from_layout.samples.names: - raise ValueError( - f"Unexpected samples in metatensor targets at index {i}: " - f"expected: {block_from_layout.samples.names} " - f"actual: {block.samples.names}" - ) - if block.components != block_from_layout.components: + if block.components != block_from_layout.components: + raise ValueError( + f"Unexpected components in metatensor targets: " + f"expected: {block_from_layout.components} " + f"actual: {block.components}" + ) + # the properties can be different from those of the default `TensorMap` + # given by `get_generic_target_info`, so we don't check them + if set(block.gradients_list()) != set(block_from_layout.gradients_list()): + raise ValueError( + f"Unexpected gradients in metatensor targets: " + f"expected: {block_from_layout.gradients_list()} " + f"actual: {block.gradients_list()}" + ) + for name in block_from_layout.gradients_list(): + gradient_block = block.gradient(name) + gradient_block_from_layout = block_from_layout.gradient(name) + if gradient_block.labels.names != gradient_block_from_layout.labels.names: raise ValueError( - f"Unexpected components in metatensor targets at index {i}: " - f"expected: {block_from_layout.components} " - f"actual: {block.components}" + f"Unexpected samples in metatensor targets " + f"for `{name}` gradient block: " + f"expected: {gradient_block_from_layout.labels.names} " + f"actual: {gradient_block.labels.names}" ) - # the properties can be different from those of the default `TensorMap` - # given by `get_generic_target_info`, so we don't check them - if set(block.gradients_list()) != set(block_from_layout.gradients_list()): + if gradient_block.components != gradient_block_from_layout.components: raise ValueError( - f"Unexpected gradients in metatensor targets at index {i}: " - f"expected: {block_from_layout.gradients_list()} " - f"actual: {block.gradients_list()}" + f"Unexpected components in metatensor targets " + f"for `{name}` gradient block: " + f"expected: {gradient_block_from_layout.components} " + f"actual: {gradient_block.components}" ) - for name in block_from_layout.gradients_list(): - gradient_block = block.gradient(name) - gradient_block_from_layout = block_from_layout.gradient(name) - if ( - gradient_block.labels.names - != gradient_block_from_layout.labels.names - ): - raise ValueError( - f"Unexpected samples in metatensor targets at index {i} " - f"for `{name}` gradient block: " - f"expected: {gradient_block_from_layout.labels.names} " - f"actual: {gradient_block.labels.names}" - ) - if gradient_block.components != gradient_block_from_layout.components: - raise ValueError( - f"Unexpected components in metatensor targets at index {i} " - f"for `{name}` gradient block: " - f"expected: {gradient_block_from_layout.components} " - f"actual: {gradient_block.components}" - ) def _empty_tensor_map_like(tensor_map: TensorMap) -> TensorMap: diff --git a/src/metatrain/utils/data/readers/readers.py b/src/metatrain/utils/data/readers/readers.py index 6972a562a..f5bc45c3d 100644 --- a/src/metatrain/utils/data/readers/readers.py +++ b/src/metatrain/utils/data/readers/readers.py @@ -16,7 +16,7 @@ AVAILABLE_READERS = ["ase", "metatensor"] """:py:class:`list`: list containing all implemented reader libraries""" -DEFAULT_READER = {".xyz": "ase", ".extxyz": "ase", ".mts": "metatensor"} +DEFAULT_READER = {".xyz": "ase", ".extxyz": "ase", ".npz": "metatensor"} """:py:class:`dict`: dictionary mapping file extensions to a default reader""" diff --git a/tests/utils/data/test_readers_metatensor.py b/tests/utils/data/test_readers_metatensor.py index 700456d13..78ef63f3d 100644 --- a/tests/utils/data/test_readers_metatensor.py +++ b/tests/utils/data/test_readers_metatensor.py @@ -18,10 +18,10 @@ def energy_tensor_map(): keys=Labels.single(), blocks=[ TensorBlock( - values=torch.rand(1, 1, dtype=torch.float64), + values=torch.rand(2, 1, dtype=torch.float64), samples=Labels( names=["system"], - values=torch.tensor([[0]], dtype=torch.int32), + values=torch.tensor([[0], [1]], dtype=torch.int32), ), components=[], properties=Labels.range("energy", 1), @@ -36,10 +36,10 @@ def scalar_tensor_map(): keys=Labels.single(), blocks=[ TensorBlock( - values=torch.rand(2, 10, dtype=torch.float64), + values=torch.rand(3, 10, dtype=torch.float64), samples=Labels( names=["system", "atom"], - values=torch.tensor([[0, 0], [0, 1]], dtype=torch.int32), + values=torch.tensor([[0, 0], [0, 1], [1, 0]], dtype=torch.int32), ), components=[], properties=Labels.range("properties", 10), @@ -57,10 +57,10 @@ def spherical_tensor_map(): ), blocks=[ TensorBlock( - values=torch.rand(1, 1, 1, dtype=torch.float64), + values=torch.rand(2, 1, 1, dtype=torch.float64), samples=Labels( names=["system"], - values=torch.tensor([[0]], dtype=torch.int32), + values=torch.tensor([[0], [1]], dtype=torch.int32), ), components=[ Labels( @@ -71,10 +71,10 @@ def spherical_tensor_map(): properties=Labels.range("properties", 1), ), TensorBlock( - values=torch.rand(1, 5, 1, dtype=torch.float64), + values=torch.rand(2, 5, 1, dtype=torch.float64), samples=Labels( names=["system"], - values=torch.tensor([[0]], dtype=torch.int32), + values=torch.tensor([[0], [1]], dtype=torch.int32), ), components=[ Labels( @@ -94,10 +94,10 @@ def cartesian_tensor_map(): keys=Labels.single(), blocks=[ TensorBlock( - values=torch.rand(1, 3, 3, 1, dtype=torch.float64), + values=torch.rand(2, 3, 3, 1, dtype=torch.float64), samples=Labels( names=["system"], - values=torch.tensor([[0]], dtype=torch.int32), + values=torch.tensor([[0], [1]], dtype=torch.int32), ), components=[ Labels( @@ -117,20 +117,20 @@ def cartesian_tensor_map(): def test_read_systems(): with pytest.raises(NotImplementedError): - read_systems("foo.mts") + read_systems("foo.npz") def test_read_energy(monkeypatch, tmpdir, energy_tensor_map): monkeypatch.chdir(tmpdir) - torch.save( - [energy_tensor_map, energy_tensor_map], - "energy.mts", + metatensor.torch.save( + "energy.npz", + energy_tensor_map, ) conf = { "quantity": "energy", - "read_from": "energy.mts", + "read_from": "energy.npz", "reader": "metatensor", "key": "true_energy", "unit": "eV", @@ -144,21 +144,23 @@ def test_read_energy(monkeypatch, tmpdir, energy_tensor_map): tensor_maps, target_info = read_energy(OmegaConf.create(conf)) - for tensor_map in tensor_maps: - assert metatensor.torch.equal(tensor_map, energy_tensor_map) + tensor_map = metatensor.torch.join( + tensor_maps, axis="samples", remove_tensor_name=True + ) + assert metatensor.torch.equal(tensor_map, energy_tensor_map) def test_read_generic_scalar(monkeypatch, tmpdir, scalar_tensor_map): monkeypatch.chdir(tmpdir) - torch.save( - [scalar_tensor_map, scalar_tensor_map], - "generic.mts", + metatensor.torch.save( + "generic.npz", + scalar_tensor_map, ) conf = { "quantity": "generic", - "read_from": "generic.mts", + "read_from": "generic.npz", "reader": "metatensor", "keys": ["scalar"], "per_atom": True, @@ -169,21 +171,23 @@ def test_read_generic_scalar(monkeypatch, tmpdir, scalar_tensor_map): tensor_maps, target_info = read_generic(OmegaConf.create(conf)) - for tensor_map in tensor_maps: - assert metatensor.torch.equal(tensor_map, scalar_tensor_map) + tensor_map = metatensor.torch.join( + tensor_maps, axis="samples", remove_tensor_name=True + ) + assert metatensor.torch.equal(tensor_map, scalar_tensor_map) def test_read_generic_spherical(monkeypatch, tmpdir, spherical_tensor_map): monkeypatch.chdir(tmpdir) - torch.save( - [spherical_tensor_map, spherical_tensor_map], - "generic.mts", + metatensor.torch.save( + "generic.npz", + spherical_tensor_map, ) conf = { "quantity": "generic", - "read_from": "generic.mts", + "read_from": "generic.npz", "reader": "metatensor", "keys": ["o3_lambda", "o3_sigma"], "per_atom": False, @@ -201,21 +205,23 @@ def test_read_generic_spherical(monkeypatch, tmpdir, spherical_tensor_map): tensor_maps, target_info = read_generic(OmegaConf.create(conf)) - for tensor_map in tensor_maps: - assert metatensor.torch.equal(tensor_map, spherical_tensor_map) + tensor_map = metatensor.torch.join( + tensor_maps, axis="samples", remove_tensor_name=True + ) + assert metatensor.torch.equal(tensor_map, spherical_tensor_map) def test_read_generic_cartesian(monkeypatch, tmpdir, cartesian_tensor_map): monkeypatch.chdir(tmpdir) - torch.save( - [cartesian_tensor_map, cartesian_tensor_map], - "generic.mts", + metatensor.torch.save( + "generic.npz", + cartesian_tensor_map, ) conf = { "quantity": "generic", - "read_from": "generic.mts", + "read_from": "generic.npz", "reader": "metatensor", "keys": ["cartesian"], "per_atom": False, @@ -230,21 +236,27 @@ def test_read_generic_cartesian(monkeypatch, tmpdir, cartesian_tensor_map): tensor_maps, target_info = read_generic(OmegaConf.create(conf)) - for tensor_map in tensor_maps: - assert metatensor.torch.equal(tensor_map, cartesian_tensor_map) + print(tensor_maps) + + tensor_map = metatensor.torch.join( + tensor_maps, axis="samples", remove_tensor_name=True + ) + print(tensor_map) + print(cartesian_tensor_map) + assert metatensor.torch.equal(tensor_map, cartesian_tensor_map) def test_read_errors(monkeypatch, tmpdir, energy_tensor_map, scalar_tensor_map): monkeypatch.chdir(tmpdir) - torch.save( - [energy_tensor_map, energy_tensor_map], - "energy.mts", + metatensor.torch.save( + "energy.npz", + energy_tensor_map, ) conf = { "quantity": "energy", - "read_from": "energy.mts", + "read_from": "energy.npz", "reader": "metatensor", "key": "true_energy", "unit": "eV", @@ -257,22 +269,22 @@ def test_read_errors(monkeypatch, tmpdir, energy_tensor_map, scalar_tensor_map): } numpy_array = np.zeros((2, 2)) - np.save("numpy_array.mts", numpy_array) - conf["read_from"] = "numpy_array.mts" + np.save("numpy_array.npz", numpy_array) + conf["read_from"] = "numpy_array.npz" with pytest.raises(ValueError, match="Failed to read"): read_energy(OmegaConf.create(conf)) - conf["read_from"] = "energy.mts" + conf["read_from"] = "energy.npz" conf["forces"] = True with pytest.raises(ValueError, match="Unexpected gradients"): read_energy(OmegaConf.create(conf)) conf["forces"] = False - torch.save( - [scalar_tensor_map, scalar_tensor_map], - "scalar.mts", + metatensor.torch.save( + "scalar.npz", + scalar_tensor_map, ) - conf["read_from"] = "scalar.mts" + conf["read_from"] = "scalar.npz" with pytest.raises(ValueError, match="Unexpected samples"): read_generic(OmegaConf.create(conf)) From e1587196760d403edaae6c948a8b5e95984cb710 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 20 Nov 2024 08:14:09 +0100 Subject: [PATCH 110/126] Correctly inherit properties from targets in SOAP-BPNN --- src/metatrain/experimental/soap_bpnn/model.py | 16 ++++------------ src/metatrain/utils/additive/composition.py | 3 ++- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index 8991bae5f..c74b38d8d 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -432,14 +432,10 @@ def _add_output(self, target_name: str, target: TargetInfo) -> None: values=torch.tensor(self.atomic_types).reshape(-1, 1), ), in_features=self.n_inputs_last_layer, - out_features=1, + out_features=len(target.layout.block().properties.values), bias=False, out_properties=[ - Labels( - names=["energy"], - values=torch.tensor([[0]]), - ) - for _ in self.atomic_types + target.layout.block().properties for _ in self.atomic_types ], ) else: @@ -456,14 +452,10 @@ def _add_output(self, target_name: str, target: TargetInfo) -> None: ), ), in_features=self.n_inputs_last_layer, - out_features=1, + out_features=len(target.layout.block().properties.values), bias=False, out_properties=[ - Labels( - names=["properties"], - values=torch.tensor([[0]]), - ) - for _ in self.atomic_types + target.layout.block().properties for _ in self.atomic_types ], ) diff --git a/src/metatrain/utils/additive/composition.py b/src/metatrain/utils/additive/composition.py index 7018a31be..2661ec639 100644 --- a/src/metatrain/utils/additive/composition.py +++ b/src/metatrain/utils/additive/composition.py @@ -44,8 +44,9 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo): per_atom=True, ) for key, target_info in dataset_info.targets.items() - if target_info.is_scalar + if target_info.is_scalar and len(target_info.layout.block().properties) == 1 # important: only scalars can have composition contributions + # for now, we also require that only one property is present } n_types = len(self.atomic_types) From 2a590b0384352d64fd610d9a017182fa0f01f57c Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 20 Nov 2024 08:44:04 +0100 Subject: [PATCH 111/126] Correctly inherit properties from targets in SOAP-BPNN --- src/metatrain/experimental/soap_bpnn/model.py | 16 ++++------------ src/metatrain/utils/additive/composition.py | 3 ++- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index 8991bae5f..c74b38d8d 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -432,14 +432,10 @@ def _add_output(self, target_name: str, target: TargetInfo) -> None: values=torch.tensor(self.atomic_types).reshape(-1, 1), ), in_features=self.n_inputs_last_layer, - out_features=1, + out_features=len(target.layout.block().properties.values), bias=False, out_properties=[ - Labels( - names=["energy"], - values=torch.tensor([[0]]), - ) - for _ in self.atomic_types + target.layout.block().properties for _ in self.atomic_types ], ) else: @@ -456,14 +452,10 @@ def _add_output(self, target_name: str, target: TargetInfo) -> None: ), ), in_features=self.n_inputs_last_layer, - out_features=1, + out_features=len(target.layout.block().properties.values), bias=False, out_properties=[ - Labels( - names=["properties"], - values=torch.tensor([[0]]), - ) - for _ in self.atomic_types + target.layout.block().properties for _ in self.atomic_types ], ) diff --git a/src/metatrain/utils/additive/composition.py b/src/metatrain/utils/additive/composition.py index 7018a31be..2661ec639 100644 --- a/src/metatrain/utils/additive/composition.py +++ b/src/metatrain/utils/additive/composition.py @@ -44,8 +44,9 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo): per_atom=True, ) for key, target_info in dataset_info.targets.items() - if target_info.is_scalar + if target_info.is_scalar and len(target_info.layout.block().properties) == 1 # important: only scalars can have composition contributions + # for now, we also require that only one property is present } n_types = len(self.atomic_types) From ab1446a48f74871e0e2183caf172048169385bff Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 20 Nov 2024 09:14:54 +0100 Subject: [PATCH 112/126] Fix LLPR test --- tests/utils/test_llpr.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/utils/test_llpr.py b/tests/utils/test_llpr.py index 3c5f3b483..89320ea46 100644 --- a/tests/utils/test_llpr.py +++ b/tests/utils/test_llpr.py @@ -242,7 +242,7 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): params.append(param.squeeze()) weights = torch.cat(params) - n_ensemble_members = 10000 + n_ensemble_members = 1000000 # converges slowly... llpr_model.calibrate(dataloader) llpr_model.generate_ensemble({"energy": weights}, n_ensemble_members) assert "mtt::energy_ensemble" in llpr_model.capabilities.outputs @@ -282,5 +282,5 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): ) torch.testing.assert_close( - analytical_uncertainty, ensemble_uncertainty, rtol=1e-2, atol=1e-2 + analytical_uncertainty, ensemble_uncertainty, rtol=5e-3, atol=0.0 ) From a15ae29be227db32d94bd1ef1eb0ab4e0d6e496a Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 20 Nov 2024 09:16:30 +0100 Subject: [PATCH 113/126] Fix regressiont tests --- .../experimental/soap_bpnn/tests/test_regression.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index 429c8043e..1bdc636e8 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -50,8 +50,8 @@ def test_regression_init(): ) # if you need to change the hardcoded values: - # torch.set_printoptions(precision=12) - # print(output["mtt::U0"].block().values) + torch.set_printoptions(precision=12) + print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 @@ -119,8 +119,8 @@ def test_regression_train(): ) # if you need to change the hardcoded values: - # torch.set_printoptions(precision=12) - # print(output["mtt::U0"].block().values) + torch.set_printoptions(precision=12) + print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 From 364bd9b58d63bc3867f9c99def1cd8d1e723461d Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 20 Nov 2024 10:15:28 +0100 Subject: [PATCH 114/126] Fix regression tests --- .../soap_bpnn/tests/test_regression.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index 1bdc636e8..c0ff5c5ec 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -41,11 +41,11 @@ def test_regression_init(): expected_output = torch.tensor( [ - [0.053602740169], - [-0.142421141267], - [-0.122775360942], - [-0.202754884958], - [-0.031394608319], + [-0.066850379109], + [-0.012763320468], + [-0.076015546918], + [0.041823804379], + [-0.022180110216], ] ) @@ -110,11 +110,11 @@ def test_regression_train(): expected_output = torch.tensor( [ - [0.090618140996], - [-0.020789206028], - [0.020192664117], - [0.093057855964], - [0.094577327371], + [-0.080593876541], + [0.048118606210], + [0.037287645042], + [-0.000409360975], + [-0.039579294622], ] ) From 7c73db63ac373a848f39df1bf0fbe780a7965024 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 20 Nov 2024 10:30:40 +0100 Subject: [PATCH 115/126] Add head types to SOAP-BPNN and nanoPET --- .../experimental/nanopet/default-hypers.yaml | 1 + src/metatrain/experimental/nanopet/model.py | 31 +++- .../experimental/nanopet/schema-hypers.json | 10 ++ .../soap_bpnn/default-hypers.yaml | 1 + src/metatrain/experimental/soap_bpnn/model.py | 132 ++++++++++++------ .../experimental/soap_bpnn/schema-hypers.json | 10 ++ tests/resources/options.yaml | 4 +- 7 files changed, 148 insertions(+), 41 deletions(-) diff --git a/src/metatrain/experimental/nanopet/default-hypers.yaml b/src/metatrain/experimental/nanopet/default-hypers.yaml index eb2d721a0..08018a0a5 100644 --- a/src/metatrain/experimental/nanopet/default-hypers.yaml +++ b/src/metatrain/experimental/nanopet/default-hypers.yaml @@ -9,6 +9,7 @@ architecture: num_heads: 4 num_attention_layers: 2 num_gnn_layers: 2 + heads: {} zbl: False training: diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index f0ed1e6f5..37accfc38 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -96,6 +96,8 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.outputs = { "mtt::aux::last_layer_features": ModelOutput(unit="unitless", per_atom=True) } + self.heads = torch.nn.ModuleDict() + self.head_types = self.hypers["heads"] self.last_layers = torch.nn.ModuleDict() self.output_shapes: Dict[str, List[int]] = {} for target_name, target_info in dataset_info.targets.items(): @@ -349,10 +351,15 @@ def forward( metatensor.torch.sum_over_samples(last_layer_feature_tmap, ["atom"]) ) + atomic_features_dict: Dict[str, torch.Tensor] = {} + for output_name, head in self.heads.items(): + atomic_features_dict[output_name] = head(node_features) + atomic_properties_tmap_dict: Dict[str, TensorMap] = {} for output_name, last_layer in self.last_layers.items(): if output_name in outputs: - atomic_properties = last_layer(node_features) + atomic_features = atomic_features_dict[output_name] + atomic_properties = last_layer(atomic_features) block = TensorBlock( values=atomic_properties.reshape( [-1] + self.output_shapes[output_name] @@ -467,6 +474,28 @@ def _add_output(self, target_name: str, target_info: TargetInfo) -> None: unit=target_info.unit, per_atom=True, ) + if target_name not in self.head_types: # default to MLP + self.heads[target_name] = torch.nn.Sequential( + torch.nn.Linear(self.hypers["d_pet"], 4*self.hypers["d_pet"]), + torch.nn.SiLU(), + torch.nn.Linear(4*self.hypers["d_pet"], self.hypers["d_pet"]), + torch.nn.SiLU(), + ) + elif self.head_types[target_name] == "mlp": + self.heads[target_name] = torch.nn.Sequential( + torch.nn.Linear(self.hypers["d_pet"], 4*self.hypers["d_pet"]), + torch.nn.SiLU(), + torch.nn.Linear(4*self.hypers["d_pet"], self.hypers["d_pet"]), + torch.nn.SiLU(), + ) + elif self.head_types[target_name] == "linear": + self.heads[target_name] = torch.nn.Sequential() + else: + raise ValueError( + f"Unsupported head type {self.head_types[target_name]} " + f"for target {target_name}" + ) + self.last_layers[target_name] = torch.nn.Linear( self.hypers["d_pet"], prod(self.output_shapes[target_name]), diff --git a/src/metatrain/experimental/nanopet/schema-hypers.json b/src/metatrain/experimental/nanopet/schema-hypers.json index 468420022..543961362 100644 --- a/src/metatrain/experimental/nanopet/schema-hypers.json +++ b/src/metatrain/experimental/nanopet/schema-hypers.json @@ -27,6 +27,16 @@ "num_gnn_layers": { "type": "integer" }, + "heads": { + "type": "object", + "patternProperties": { + ".*": { + "type": "string", + "enum": ["linear", "mlp"] + } + }, + "additionalProperties": false + }, "zbl": { "type": "boolean" } diff --git a/src/metatrain/experimental/soap_bpnn/default-hypers.yaml b/src/metatrain/experimental/soap_bpnn/default-hypers.yaml index d7ec47cc6..64321bce2 100644 --- a/src/metatrain/experimental/soap_bpnn/default-hypers.yaml +++ b/src/metatrain/experimental/soap_bpnn/default-hypers.yaml @@ -20,6 +20,7 @@ architecture: layernorm: true num_hidden_layers: 2 num_neurons_per_layer: 32 + heads: {} zbl: false training: diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index c74b38d8d..94c9f4117 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -66,7 +66,7 @@ def __init__(self, atomic_types: List[int], hypers: dict) -> None: nns_per_species.append(torch.nn.Sequential(*module_list)) in_keys = Labels( - "central_species", + "center_type", values=torch.tensor(atomic_types).reshape(-1, 1), ) out_properties = [ @@ -90,7 +90,7 @@ def __init__(self, atomic_types: List[int], n_layer: int) -> None: layernorm_per_species.append(torch.nn.LayerNorm((n_layer,))) in_keys = Labels( - "central_species", + "center_type", values=torch.tensor(atomic_types).reshape(-1, 1), ) out_properties = [ @@ -103,6 +103,26 @@ def __init__(self, atomic_types: List[int], n_layer: int) -> None: super().__init__(in_keys, layernorm_per_species, out_properties) +class MLPHeadMap(ModuleMap): + def __init__(self, in_keys: Labels, num_features: int, out_properties: List[Labels]) -> None: + + # hardcoded for now, but could be a hyperparameter + activation_function = torch.nn.SiLU() + + # Build a neural network for each species. 1 layer for now. + nns_per_species = [] + for _ in in_keys: + nns_per_species.append( + torch.nn.Sequential( + torch.nn.Linear(num_features, num_features), + activation_function, + ) + ) + + super().__init__(in_keys, nns_per_species, out_properties) + self.activation_function = activation_function + + class VectorFeaturizer(torch.nn.Module): def __init__(self, atomic_types, num_features, soap_hypers) -> None: super().__init__() @@ -240,9 +260,11 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.last_layer_feature_size = self.n_inputs_last_layer * len(self.atomic_types) self.outputs = { - "mtt::aux::last_layer_features": ModelOutput(unit="unitless", per_atom=True) - } # the model is always capable of outputting the last-layer features + "features": ModelOutput(unit="", per_atom=True) + } # the model is always capable of outputting the internal features self.vector_featurizers = torch.nn.ModuleDict({}) + self.heads = torch.nn.ModuleDict({}) + self.head_types = self.hypers["heads"] self.last_layers = torch.nn.ModuleDict({}) for target_name, target in dataset_info.targets.items(): self._add_output(target_name, target) @@ -302,31 +324,36 @@ def forward( ) soap_features = self.layernorm(soap_features) - last_layer_features = self.bpnn(soap_features) + features = self.bpnn(soap_features) # output the hidden features, if requested: - if "mtt::aux::last_layer_features" in outputs: - last_layer_features_options = outputs["mtt::aux::last_layer_features"] - out_features = last_layer_features.keys_to_properties( + if "features" in outputs: + features_options = outputs["features"] + out_features = features.keys_to_properties( self.center_type_labels.to(device) ) - if not last_layer_features_options.per_atom: + if not features_options.per_atom: out_features = metatensor.torch.sum_over_samples(out_features, ["atom"]) - return_dict["mtt::aux::last_layer_features"] = ( + return_dict["features"] = ( _remove_center_type_from_properties(out_features) ) - last_layer_features_by_output: Dict[str, TensorMap] = {} + features_by_output: Dict[str, TensorMap] = {} for output_name, vector_featurizer in self.vector_featurizers.items(): - last_layer_features_by_output[output_name] = vector_featurizer( - systems, last_layer_features + features_by_output[output_name] = vector_featurizer( + systems, features + ) + + for output_name, head in self.heads.items(): + features_by_output[output_name] = head( + features_by_output[output_name] ) atomic_properties: Dict[str, TensorMap] = {} for output_name, output_layer in self.last_layers.items(): if output_name in outputs: atomic_properties[output_name] = output_layer( - last_layer_features_by_output[output_name] + features_by_output[output_name] ) for output_name, atomic_property in atomic_properties.items(): @@ -408,6 +435,7 @@ def export(self) -> MetatensorAtomisticModel: def _add_output(self, target_name: str, target: TargetInfo) -> None: + # featurizers for non-scalars if target.is_scalar: self.vector_featurizers[target_name] = IdentityWithExtraArg() elif target.is_spherical: @@ -425,39 +453,65 @@ def _add_output(self, target_name: str, target: TargetInfo) -> None: else: raise ValueError("SOAP-BPNN only supports scalar and spherical targets.") - if target.is_scalar: - self.last_layers[target_name] = LinearMap( - Labels( - "central_species", + if target_name not in self.head_types: # default to linear head + self.heads[target_name] = Identity() + elif self.head_types[target_name] == "mlp": + if not target.is_scalar: + raise ValueError( + "MLP head is only supported for scalar targets, " + f"but target {target_name} is not scalar." + ) + self.heads[target_name] = MLPHeadMap( + in_keys=Labels( + "center_type", values=torch.tensor(self.atomic_types).reshape(-1, 1), ), - in_features=self.n_inputs_last_layer, - out_features=len(target.layout.block().properties.values), - bias=False, + num_features=self.n_inputs_last_layer, out_properties=[ - target.layout.block().properties for _ in self.atomic_types + Labels( + names=["property"], + values=torch.arange(self.n_inputs_last_layer).reshape( + -1, 1 + ), + ) + for _ in self.atomic_types ], ) + elif self.head_types[target_name] == "linear": + self.heads[target_name] = Identity() else: - self.last_layers[target_name] = LinearMap( - Labels( - names=["o3_lambda", "o3_sigma", "center_type"], - values=torch.stack( - [ - torch.tensor([1] * len(self.atomic_types)), - torch.tensor([1] * len(self.atomic_types)), - torch.tensor(self.atomic_types), - ], - dim=1, - ), + raise ValueError( + f"Unsupported head type {self.head_types[target_name]} " + f"for target {target_name}" + ) + + # last linear layer + last_layer_arguments = { + "in_features": self.n_inputs_last_layer, + "out_features": len(target.layout.block().properties.values), + "bias": False, + "out_properties": [ + target.layout.block().properties for _ in self.atomic_types + ], + } + if target.is_scalar: + last_layer_arguments["in_keys"] = Labels( + "center_type", + values=torch.tensor(self.atomic_types).reshape(-1, 1), + ) + else: # spherical vector + last_layer_arguments["in_keys"] = Labels( + names=["o3_lambda", "o3_sigma", "center_type"], + values=torch.stack( + [ + torch.tensor([1] * len(self.atomic_types)), + torch.tensor([1] * len(self.atomic_types)), + torch.tensor(self.atomic_types), + ], + dim=1, ), - in_features=self.n_inputs_last_layer, - out_features=len(target.layout.block().properties.values), - bias=False, - out_properties=[ - target.layout.block().properties for _ in self.atomic_types - ], ) + self.last_layers[target_name] = LinearMap(**last_layer_arguments) self.outputs[target_name] = ModelOutput( quantity=target.quantity, diff --git a/src/metatrain/experimental/soap_bpnn/schema-hypers.json b/src/metatrain/experimental/soap_bpnn/schema-hypers.json index cc7bdbb3b..3e74f69a1 100644 --- a/src/metatrain/experimental/soap_bpnn/schema-hypers.json +++ b/src/metatrain/experimental/soap_bpnn/schema-hypers.json @@ -81,6 +81,16 @@ }, "additionalProperties": false }, + "heads": { + "type": "object", + "patternProperties": { + ".*": { + "type": "string", + "enum": ["linear", "mlp"] + } + }, + "additionalProperties": false + }, "zbl": { "type": "boolean" } diff --git a/tests/resources/options.yaml b/tests/resources/options.yaml index 977c68e9f..976456d48 100644 --- a/tests/resources/options.yaml +++ b/tests/resources/options.yaml @@ -1,7 +1,9 @@ seed: 42 architecture: - name: experimental.soap_bpnn + name: experimental.nanopet + model: + heads: {"energy": "linear"} training: batch_size: 2 num_epochs: 1 From d28583eb46e115f58e37f0213ab0873d770c0713 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 20 Nov 2024 12:40:06 +0100 Subject: [PATCH 116/126] Update for features and LLPR module --- .../programmatic/llpr_forces/force_llpr.py | 19 +- src/metatrain/experimental/nanopet/model.py | 90 ++++-- .../nanopet/tests/test_regression.py | 28 +- src/metatrain/experimental/soap_bpnn/model.py | 57 +++- src/metatrain/utils/llpr.py | 271 +++++++++++------- src/metatrain/utils/omegaconf.py | 14 +- tests/resources/options.yaml | 4 +- tests/utils/test_llpr.py | 16 +- 8 files changed, 326 insertions(+), 173 deletions(-) diff --git a/examples/programmatic/llpr_forces/force_llpr.py b/examples/programmatic/llpr_forces/force_llpr.py index cc03c9b28..377360f37 100644 --- a/examples/programmatic/llpr_forces/force_llpr.py +++ b/examples/programmatic/llpr_forces/force_llpr.py @@ -110,17 +110,17 @@ get_system_with_neighbor_lists(system, requested_neighbor_lists) for system in train_systems ] -train_dataset = Dataset({"system": train_systems, **train_targets}) +train_dataset = Dataset.from_dict({"system": train_systems, **train_targets}) valid_systems = [ get_system_with_neighbor_lists(system, requested_neighbor_lists) for system in valid_systems ] -valid_dataset = Dataset({"system": valid_systems, **valid_targets}) +valid_dataset = Dataset.from_dict({"system": valid_systems, **valid_targets}) test_systems = [ get_system_with_neighbor_lists(system, requested_neighbor_lists) for system in test_systems ] -test_dataset = Dataset({"system": test_systems, **test_targets}) +test_dataset = Dataset.from_dict({"system": test_systems, **test_targets}) train_dataloader = torch.utils.data.DataLoader( train_dataset, @@ -158,7 +158,7 @@ print(name) llpr_model.compute_covariance_as_pseudo_hessian( - train_dataloader, target_info, loss_fn, parameters + train_dataloader, target_info, loss_fn, {"energy": parameters} ) llpr_model.compute_inverse_covariance() llpr_model.calibrate(valid_dataloader) @@ -172,7 +172,7 @@ evaluation_options = ModelEvaluationOptions( length_unit="angstrom", outputs={ - "mtt::aux::last_layer_features": ModelOutput(per_atom=False), + "mtt::aux::energy_last_layer_features": ModelOutput(per_atom=False), "mtt::aux::energy_uncertainty": ModelOutput(per_atom=False), "energy": ModelOutput(per_atom=False), }, @@ -183,11 +183,12 @@ force_uncertainties = [] for batch in test_dataloader: + dtype = getattr(torch, model.capabilities().dtype) systems, targets = batch - systems = [system.to("cuda", torch.float64) for system in systems] + systems = [system.to("cuda", dtype) for system in systems] for system in systems: system.positions.requires_grad = True - targets = {name: tmap.to("cuda", torch.float64) for name, tmap in targets.items()} + targets = {name: tmap.to("cuda", dtype) for name, tmap in targets.items()} outputs = exported_model(systems, evaluation_options, check_consistency=True) energy = outputs["energy"].block().values @@ -202,7 +203,7 @@ force_error = (predicted_forces - true_forces) ** 2 force_errors.append(force_error.detach().clone().cpu().numpy()) - last_layer_features = outputs["mtt::aux::last_layer_features"].block().values + last_layer_features = outputs["mtt::aux::energy_last_layer_features"].block().values last_layer_features = torch.sum(last_layer_features, dim=0) ll_feature_grads = [] for ll_feature in last_layer_features.reshape((-1,)): @@ -220,7 +221,7 @@ force_uncertainty = torch.einsum( "if, fg, ig -> i", ll_feature_grads, - exported_model._module.inv_covariance, + exported_model.module.inv_covariances["mtt::aux::energy_uncertainty"], ll_feature_grads, ) force_uncertainties.append(force_uncertainty.detach().clone().cpu().numpy()) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 37accfc38..bc6218717 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -91,11 +91,16 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.last_layer_feature_size = self.hypers["d_pet"] - # register the outputs - # the model is always capable of outputting the last layer features self.outputs = { - "mtt::aux::last_layer_features": ModelOutput(unit="unitless", per_atom=True) - } + "features": ModelOutput(unit="", per_atom=True) + } # the model is always capable of outputting the internal features + for target_name in dataset_info.targets.keys(): + # the model can always output the last-layer features for the targets + ll_features_name = ( + f"mtt::aux::{target_name.replace("mtt::", "")}_last_layer_features" + ) + self.outputs[ll_features_name] = ModelOutput(per_atom=True) + self.heads = torch.nn.ModuleDict() self.head_types = self.hypers["heads"] self.last_layers = torch.nn.ModuleDict() @@ -128,22 +133,19 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.single_label = Labels.single() self.key_labels = { output_name: copy.deepcopy(dataset_info.targets[output_name].layout.keys) - for output_name in self.outputs.keys() - if "mtt::aux::" not in output_name + for output_name in self.dataset_info.targets.keys() } self.component_labels = { output_name: copy.deepcopy( dataset_info.targets[output_name].layout.block().components ) - for output_name in self.outputs.keys() - if "mtt::aux::" not in output_name + for output_name in self.dataset_info.targets.keys() } self.property_labels = { output_name: copy.deepcopy( dataset_info.targets[output_name].layout.block().properties ) - for output_name in self.outputs.keys() - if "mtt::aux::" not in output_name + for output_name in self.dataset_info.targets.keys() } def restart(self, dataset_info: DatasetInfo) -> "NanoPET": @@ -326,8 +328,8 @@ def forward( return_dict: Dict[str, TensorMap] = {} # output the hidden features, if requested: - if "mtt::aux::last_layer_features" in outputs: - last_layer_feature_tmap = TensorMap( + if "features" in outputs: + feature_tmap = TensorMap( keys=self.single_label, blocks=[ TensorBlock( @@ -343,18 +345,64 @@ def forward( ) ], ) - last_layer_features_options = outputs["mtt::aux::last_layer_features"] - if last_layer_features_options.per_atom: - return_dict["mtt::aux::last_layer_features"] = last_layer_feature_tmap + features_options = outputs["features"] + if features_options.per_atom: + return_dict["features"] = feature_tmap else: - return_dict["mtt::aux::last_layer_features"] = ( - metatensor.torch.sum_over_samples(last_layer_feature_tmap, ["atom"]) + return_dict["features"] = metatensor.torch.sum_over_samples( + feature_tmap, ["atom"] ) atomic_features_dict: Dict[str, torch.Tensor] = {} for output_name, head in self.heads.items(): atomic_features_dict[output_name] = head(node_features) + # output the last-layer features for the outputs, if requested: + for output_name in outputs.keys(): + if not ( + output_name.startswith("mtt::aux::") + and output_name.endswith("_last_layer_features") + ): + continue + base_name = output_name.replace("mtt::aux::", "").replace( + "_last_layer_features", "" + ) + # the corresponding output could be base_name or mtt::base_name + if ( + f"mtt::{base_name}" not in atomic_features_dict + and base_name not in atomic_features_dict + ): + raise ValueError( + f"Features {output_name} can only be requested, " + f"if the corresponding output {base_name} is also requested." + ) + if f"mtt::{base_name}" in atomic_features_dict: + base_name = f"mtt::{base_name}" + last_layer_feature_tmap = TensorMap( + keys=self.single_label, + blocks=[ + TensorBlock( + values=atomic_features_dict[base_name], + samples=sample_labels, + components=[], + properties=Labels( + names=["properties"], + values=torch.arange( + atomic_features_dict[base_name].shape[-1], + device=atomic_features_dict[base_name].device, + ).reshape(-1, 1), + ), + ) + ], + ) + last_layer_features_options = outputs[output_name] + if last_layer_features_options.per_atom: + return_dict[output_name] = last_layer_feature_tmap + else: + return_dict[output_name] = metatensor.torch.sum_over_samples( + last_layer_feature_tmap, ["atom"] + ) + atomic_properties_tmap_dict: Dict[str, TensorMap] = {} for output_name, last_layer in self.last_layers.items(): if output_name in outputs: @@ -476,16 +524,16 @@ def _add_output(self, target_name: str, target_info: TargetInfo) -> None: ) if target_name not in self.head_types: # default to MLP self.heads[target_name] = torch.nn.Sequential( - torch.nn.Linear(self.hypers["d_pet"], 4*self.hypers["d_pet"]), + torch.nn.Linear(self.hypers["d_pet"], 4 * self.hypers["d_pet"]), torch.nn.SiLU(), - torch.nn.Linear(4*self.hypers["d_pet"], self.hypers["d_pet"]), + torch.nn.Linear(4 * self.hypers["d_pet"], self.hypers["d_pet"]), torch.nn.SiLU(), ) elif self.head_types[target_name] == "mlp": self.heads[target_name] = torch.nn.Sequential( - torch.nn.Linear(self.hypers["d_pet"], 4*self.hypers["d_pet"]), + torch.nn.Linear(self.hypers["d_pet"], 4 * self.hypers["d_pet"]), torch.nn.SiLU(), - torch.nn.Linear(4*self.hypers["d_pet"], self.hypers["d_pet"]), + torch.nn.Linear(4 * self.hypers["d_pet"], self.hypers["d_pet"]), torch.nn.SiLU(), ) elif self.head_types[target_name] == "linear": diff --git a/src/metatrain/experimental/nanopet/tests/test_regression.py b/src/metatrain/experimental/nanopet/tests/test_regression.py index b0e4cf06e..2620699a9 100644 --- a/src/metatrain/experimental/nanopet/tests/test_regression.py +++ b/src/metatrain/experimental/nanopet/tests/test_regression.py @@ -44,17 +44,17 @@ def test_regression_init(): expected_output = torch.tensor( [ - [-3.663903951645], - [-1.964396238327], - [-0.490164071321], - [-1.506513595581], - [-0.514931380749], + [-0.331097096205], + [-0.170900672674], + [-0.034760512412], + [-0.157392069697], + [-0.081810519099], ] ) # if you need to change the hardcoded values: - # torch.set_printoptions(precision=12) - # print(output["mtt::U0"].block().values) + torch.set_printoptions(precision=12) + print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 @@ -115,17 +115,17 @@ def test_regression_train(): expected_output = torch.tensor( [ - [6.265684127808], - [2.792870998383], - [1.569854736328], - [3.547449588776], - [1.017662048340], + [-0.162086308002], + [-0.022639814764], + [0.000784173608], + [0.019549306482], + [0.063824191689], ] ) # if you need to change the hardcoded values: - # torch.set_printoptions(precision=12) - # print(output["mtt::U0"].block().values) + torch.set_printoptions(precision=12) + print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index 94c9f4117..d6b923dfa 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -104,7 +104,9 @@ def __init__(self, atomic_types: List[int], n_layer: int) -> None: class MLPHeadMap(ModuleMap): - def __init__(self, in_keys: Labels, num_features: int, out_properties: List[Labels]) -> None: + def __init__( + self, in_keys: Labels, num_features: int, out_properties: List[Labels] + ) -> None: # hardcoded for now, but could be a hyperparameter activation_function = torch.nn.SiLU() @@ -118,7 +120,7 @@ def __init__(self, in_keys: Labels, num_features: int, out_properties: List[Labe activation_function, ) ) - + super().__init__(in_keys, nns_per_species, out_properties) self.activation_function = activation_function @@ -262,6 +264,13 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: self.outputs = { "features": ModelOutput(unit="", per_atom=True) } # the model is always capable of outputting the internal features + for target_name in dataset_info.targets.keys(): + # the model can always output the last-layer features for the targets + ll_features_name = ( + f"mtt::aux::{target_name.replace("mtt::", "")}_last_layer_features" + ) + self.outputs[ll_features_name] = ModelOutput(per_atom=True) + self.vector_featurizers = torch.nn.ModuleDict({}) self.heads = torch.nn.ModuleDict({}) self.head_types = self.hypers["heads"] @@ -334,20 +343,42 @@ def forward( ) if not features_options.per_atom: out_features = metatensor.torch.sum_over_samples(out_features, ["atom"]) - return_dict["features"] = ( - _remove_center_type_from_properties(out_features) - ) + return_dict["features"] = _remove_center_type_from_properties(out_features) features_by_output: Dict[str, TensorMap] = {} for output_name, vector_featurizer in self.vector_featurizers.items(): - features_by_output[output_name] = vector_featurizer( - systems, features - ) - + features_by_output[output_name] = vector_featurizer(systems, features) for output_name, head in self.heads.items(): - features_by_output[output_name] = head( - features_by_output[output_name] + features_by_output[output_name] = head(features_by_output[output_name]) + + # output the last-layer features for the outputs, if requested: + for output_name in outputs.keys(): + if not ( + output_name.startswith("mtt::aux::") + and output_name.endswith("_last_layer_features") + ): + continue + base_name = output_name.replace("mtt::aux::", "").replace( + "_last_layer_features", "" ) + # the corresponding output could be base_name or mtt::base_name + if ( + f"mtt::{base_name}" not in features_by_output + and base_name not in features_by_output + ): + raise ValueError( + f"Features {output_name} can only be requested, " + f"if the corresponding output {base_name} is also requested." + ) + if f"mtt::{base_name}" in features_by_output: + base_name = f"mtt::{base_name}" + features_options = outputs[output_name] + out_features = features_by_output[base_name].keys_to_properties( + self.center_type_labels.to(device) + ) + if not features_options.per_atom: + out_features = metatensor.torch.sum_over_samples(out_features, ["atom"]) + return_dict[output_name] = _remove_center_type_from_properties(out_features) atomic_properties: Dict[str, TensorMap] = {} for output_name, output_layer in self.last_layers.items(): @@ -470,9 +501,7 @@ def _add_output(self, target_name: str, target: TargetInfo) -> None: out_properties=[ Labels( names=["property"], - values=torch.arange(self.n_inputs_last_layer).reshape( - -1, 1 - ), + values=torch.arange(self.n_inputs_last_layer).reshape(-1, 1), ) for _ in self.atomic_types ], diff --git a/src/metatrain/utils/llpr.py b/src/metatrain/utils/llpr.py index 6cfa42394..acbc1a661 100644 --- a/src/metatrain/utils/llpr.py +++ b/src/metatrain/utils/llpr.py @@ -61,22 +61,24 @@ def __init__( ) # register covariance and inverse covariance buffers - self.register_buffer( - "covariance", - torch.zeros( + device = next(self.model.parameters()).device + dtype = getattr(torch, old_capabilities.dtype) + self.covariances = { + uncertainty_name: torch.zeros( (self.ll_feat_size, self.ll_feat_size), - device=next(self.model.parameters()).device, - dtype=next(self.model.parameters()).dtype, - ), - ) - self.register_buffer( - "inv_covariance", - torch.zeros( + device=device, + dtype=dtype, + ) + for uncertainty_name in self.uncertainty_multipliers.keys() + } + self.inv_covariances = { + uncertainty_name: torch.zeros( (self.ll_feat_size, self.ll_feat_size), - device=next(self.model.parameters()).device, - dtype=next(self.model.parameters()).dtype, - ), - ) + device=device, + dtype=dtype, + ) + for uncertainty_name in self.uncertainty_multipliers.keys() + } # flags self.covariance_computed = False @@ -89,6 +91,13 @@ def forward( outputs: Dict[str, ModelOutput], selected_atoms: Optional[Labels] = None, ) -> Dict[str, TensorMap]: + device = systems[0].positions.device + if list(self.covariances.values())[0].device != device: + for name in self.covariances.keys(): + self.covariances[name] = self.covariances[name].to(device=device) + self.inv_covariances[name] = self.inv_covariances[name].to( + device=device + ) if not self.inv_covariance_computed: raise ValueError( @@ -113,13 +122,24 @@ def forward( "atom or not per atom with LLPR." ) per_atom = per_atom_all_targets[0] - outputs_for_model = { - "mtt::aux::last_layer_features": ModelOutput( - quantity="", - unit="", - per_atom=per_atom, - ), - } + outputs_for_model: Dict[str, ModelOutput] = {} + for name in outputs.keys(): + if name.endswith("_uncertainty"): + base_name = name.replace("_uncertainty", "").replace("mtt::aux::", "") + if base_name not in outputs and f"mtt::{base_name}" not in outputs: + raise ValueError( + f"Requested uncertainty '{name}' without corresponding " + f"output `{base_name}` (or `mtt::{base_name}`)." + ) + # request corresponding features + target_name = name.replace("mtt::aux::", "").replace("_uncertainty", "") + outputs_for_model[f"mtt::aux::{target_name}_last_layer_features"] = ( + ModelOutput( + quantity="", + unit="", + per_atom=per_atom, + ) + ) for name, output in outputs.items(): # remove uncertainties from the requested outputs for the # wrapped model @@ -136,41 +156,46 @@ def forward( ) return_dict = self.model(systems, options, check_consistency=False) - ll_features = return_dict["mtt::aux::last_layer_features"] - - # the code is the same for PR and LPR - one_over_pr_values = torch.einsum( - "ij, jk, ik -> i", - ll_features.block().values, - self.inv_covariance, - ll_features.block().values, - ).unsqueeze(1) - one_over_pr = TensorMap( - keys=Labels( - names=["_"], - values=torch.tensor([[0]], device=ll_features.block().values.device), - ), - blocks=[ - TensorBlock( - values=one_over_pr_values, - samples=ll_features.block().samples, - components=ll_features.block().components, - properties=Labels( - names=["_"], - values=torch.tensor( - [[0]], device=ll_features.block().values.device - ), - ), - ) - ], - ) - requested_uncertainties: List[str] = [] for name in outputs.keys(): - if name.startswith("mtt::aux") and name.endswith("_uncertainty"): + if name.startswith("mtt::aux::") and name.endswith("_uncertainty"): requested_uncertainties.append(name) for name in requested_uncertainties: + ll_features = return_dict[ + name.replace("_uncertainty", "_last_layer_features") + ] + + # compute PRs + # the code is the same for PR and LPR + one_over_pr_values = torch.einsum( + "ij, jk, ik -> i", + ll_features.block().values, + self.inv_covariances[name], + ll_features.block().values, + ).unsqueeze(1) + one_over_pr = TensorMap( + keys=Labels( + names=["_"], + values=torch.tensor( + [[0]], device=ll_features.block().values.device + ), + ), + blocks=[ + TensorBlock( + values=one_over_pr_values, + samples=ll_features.block().samples, + components=ll_features.block().components, + properties=Labels( + names=["_"], + values=torch.tensor( + [[0]], device=ll_features.block().values.device + ), + ), + ) + ], + ) + return_dict[name] = metatensor.torch.multiply( one_over_pr, self.uncertainty_multipliers[name] ) @@ -182,6 +207,10 @@ def forward( requested_ensembles.append(name) for name in requested_ensembles: + ll_features = return_dict[ + "mtt::aux::" + + name.replace("mtt::", "").replace("_ensemble", "_last_layer_features") + ] # get the ensemble weights (getattr not supported by torchscript) ensemble_weights = torch.tensor(0.0) for buffer_name, buffer in self.named_buffers(): @@ -218,8 +247,10 @@ def forward( return_dict[name] = ensemble # remove the last-layer features from return_dict if they were not requested - if "mtt::aux::last_layer_features" not in outputs: - return_dict.pop("mtt::aux::last_layer_features") + for key in list(return_dict.keys()): + if key.endswith("_last_layer_features"): + if key not in outputs: + return_dict.pop(key) return return_dict @@ -232,29 +263,37 @@ def compute_covariance(self, train_loader: DataLoader) -> None: The individual samples need to be compatible with the ``Dataset`` class in ``metatrain``. """ - device = self.covariance.device - dtype = self.covariance.dtype + device = next(iter(self.covariances.values())).device + dtype = next(iter(self.covariances.values())).dtype for batch in train_loader: - systems, _ = batch + systems, targets = batch n_atoms = torch.tensor( [len(system.positions) for system in systems], device=device ) systems = [system.to(device=device, dtype=dtype) for system in systems] outputs = { - "mtt::aux::last_layer_features": ModelOutput( + f"mtt::aux::{name.replace("mtt::", "")}_last" + "_layer_features": ModelOutput( quantity="", unit="", per_atom=False, ) + for name in targets.keys() } options = ModelEvaluationOptions( length_unit="", outputs=outputs, ) output = self.model(systems, options, check_consistency=False) - ll_feat_tmap = output["mtt::aux::last_layer_features"] - ll_feats = ll_feat_tmap.block().values.detach() / n_atoms.unsqueeze(1) - self.covariance += ll_feats.T @ ll_feats + for name in targets.keys(): + ll_feat_tmap = output[ + f"mtt::aux::{name.replace("mtt::", "")}_last_layer_features" + ] + ll_feats = ll_feat_tmap.block().values.detach() / n_atoms.unsqueeze(1) + self.covariances[ + f"mtt::aux::{name.replace("mtt::", "")}_uncertainty" + ] += (ll_feats.T @ ll_feats) + self.covariance_computed = True def compute_covariance_as_pseudo_hessian( @@ -262,7 +301,7 @@ def compute_covariance_as_pseudo_hessian( train_loader: DataLoader, target_infos: Dict[str, TargetInfo], loss_fn: Callable, - parameters: List[torch.nn.Parameter], + parameters: Dict[str, List[torch.nn.Parameter]], ) -> None: """A function to compute the covariance matrix for a training set as the pseudo-Hessian of the loss function. @@ -295,8 +334,13 @@ class in ``metatrain``. # disable gradients for all parameters that are not in the list for parameter in self.model.parameters(): parameter.requires_grad = False - for parameter in parameters: - parameter.requires_grad = True + all_parameters_that_require_grad = [] + all_output_names = [] + for output_name, output_parameters in parameters.items(): + for parameter in output_parameters: + all_parameters_that_require_grad.append(parameter) + all_output_names.append(output_name) + parameter.requires_grad = True dataset = train_loader.dataset dataset_info = DatasetInfo( @@ -305,8 +349,8 @@ class in ``metatrain``. targets=target_infos, ) train_targets = dataset_info.targets - device = self.covariance.device - dtype = self.covariance.dtype + device = next(iter(self.covariances.values())).device + dtype = next(iter(self.covariances.values())).dtype for batch in train_loader: systems, targets = batch systems = [system.to(device=device, dtype=dtype) for system in systems] @@ -329,22 +373,32 @@ class in ``metatrain``. grads = torch.autograd.grad( loss, - parameters, + all_parameters_that_require_grad, create_graph=False, retain_graph=False, allow_unused=True, # if there are multiple last-layers materialize_grads=True, # avoid Nones ) - grads = torch.cat(grads, dim=1) - self.covariance += grads.T @ grads - for parameter in parameters: + for output_name in np.unique(all_output_names): + grads = [ + grad + for grad, name in zip(grads, all_output_names) + if name == output_name + ] + grads = torch.cat(grads, dim=1) + self.covariances[ + "mtt::aux::" + output_name.replace("mtt::", "") + "_uncertainty" + ] += (grads.T @ grads) + + for parameter in all_parameters_that_require_grad: parameter.grad = None # reset the gradients self.covariance_computed = True for parameter in self.model.parameters(): parameter.requires_grad = True + self.model = self.model.eval() # restore the model to evaluation mode def compute_inverse_covariance(self, regularizer: Optional[float] = None): @@ -357,33 +411,39 @@ def compute_inverse_covariance(self, regularizer: Optional[float] = None): inverse without regularization and increase the regularization parameter until the matrix is invertible. """ - if regularizer is not None: - self.inv_covariance = torch.inverse( - self.covariance - + regularizer - * torch.eye(self.ll_feat_size, device=self.covariance.device) - ) - else: - # Try with an increasingly high regularization parameter until - # the matrix is invertible - def is_psd(x): - return torch.all(torch.linalg.eigvalsh(x) >= 0.0) - - for log10_sigma_squared in torch.linspace(-20.0, 16.0, 33): - if not is_psd( - self.covariance - + 10**log10_sigma_squared - * torch.eye(self.ll_feat_size, device=self.covariance.device) - ): - continue - else: - inverse = torch.inverse( - self.covariance - + 10 ** (log10_sigma_squared + 0.0) - * torch.eye(self.ll_feat_size, device=self.covariance.device) - ) - self.inv_covariance = (inverse + inverse.T) / 2.0 - break + for name in self.covariances.keys(): + if regularizer is not None: + self.inv_covariances[name] = torch.inverse( + self.covariances[name] + + regularizer + * torch.eye(self.ll_feat_size, device=self.covariances[name].device) + ) + else: + # Try with an increasingly high regularization parameter until + # the matrix is invertible + def is_psd(x): + return torch.all(torch.linalg.eigvalsh(x) >= 0.0) + + for log10_sigma_squared in torch.linspace(-20.0, 16.0, 33): + if not is_psd( + self.covariances[name] + + 10**log10_sigma_squared + * torch.eye( + self.ll_feat_size, device=self.covariances[name].device + ) + ): + continue + else: + inverse = torch.inverse( + self.covariances[name] + + 10 ** (log10_sigma_squared + 0.0) + * torch.eye( + self.ll_feat_size, device=self.covariances[name].device + ) + ) + self.inv_covariances[name] = (inverse + inverse.T) / 2.0 + break + self.inv_covariance_computed = True def calibrate(self, valid_loader: DataLoader): @@ -401,8 +461,10 @@ def calibrate(self, valid_loader: DataLoader): ``Dataset`` class in ``metatrain.utils.data``. """ # calibrate the LLPR - device = self.covariance.device - dtype = self.covariance.dtype + # TODO: in the future, we might want to have one calibration factor per + # property for outputs with multiple properties + device = next(iter(self.covariances.values())).device + dtype = next(iter(self.covariances.values())).dtype all_predictions = {} # type: ignore all_targets = {} # type: ignore all_uncertainties = {} # type: ignore @@ -489,16 +551,17 @@ def generate_ensemble( # sampling; each member is sampled from a multivariate normal distribution # with mean given by the input weights and covariance given by the inverse # covariance matrix - device = self.inv_covariance.device - dtype = self.inv_covariance.dtype for name, weights in weight_tensors.items(): + uncertainty_name = ( + "mtt::aux::" + name.replace("_ensemble", "") + "_uncertainty" + ) + device = self.inv_covariances[uncertainty_name].device + dtype = self.inv_covariances[uncertainty_name].dtype rng = np.random.default_rng() ensemble_weights = rng.multivariate_normal( weights.clone().detach().cpu().numpy(), - self.inv_covariance.clone().detach().cpu().numpy() - * self.uncertainty_multipliers[ - "mtt::aux::" + name.replace("_ensemble", "") + "_uncertainty" - ], + self.inv_covariances[uncertainty_name].clone().detach().cpu().numpy() + * self.uncertainty_multipliers[uncertainty_name], size=n_members, method="svd", ).T diff --git a/src/metatrain/utils/omegaconf.py b/src/metatrain/utils/omegaconf.py index 2beb292f1..5743e6552 100644 --- a/src/metatrain/utils/omegaconf.py +++ b/src/metatrain/utils/omegaconf.py @@ -134,10 +134,12 @@ def check_dataset_options(dataset_config: ListConfig) -> None: - For unknown quantities a warning is given. - If the names of the ``"targets"`` sections are the same between the elements of the list of datasets also the units must be the same. + - Two targets with the names `{target}` and `mtt::{target}` are not allowed. :param dataset_config: A List of configuration to be checked. In the list contains only one element no checks are performed. - :raises ValueError: If for a known quantity the units are not known. + :raises ValueError: If the units are not consistent between the dataset options or + if two different targets have the `{target}` and `mtt::{target}` names. """ desired_config = dataset_config[0] @@ -181,6 +183,16 @@ def check_dataset_options(dataset_config: ListConfig) -> None: f"Found {unit!r} and {unit_dict[target_key]!r}!" ) + # `target` and `mtt::target` are not allowed to be present at the same time + if hasattr(actual_config, "targets"): + for target_key in actual_config["targets"].keys(): + if f"mtt::{target_key}" in actual_config["targets"].keys(): + raise ValueError( + f"Two targets with the names `{target_key!r}` and " + f"`mtt::{target_key!r}` are not allowed to be present " + "at the same time." + ) + def expand_dataset_config(conf: Union[str, DictConfig, ListConfig]) -> ListConfig: """Expands shorthand notations in a dataset configuration to its full format. diff --git a/tests/resources/options.yaml b/tests/resources/options.yaml index 976456d48..977c68e9f 100644 --- a/tests/resources/options.yaml +++ b/tests/resources/options.yaml @@ -1,9 +1,7 @@ seed: 42 architecture: - name: experimental.nanopet - model: - heads: {"energy": "linear"} + name: experimental.soap_bpnn training: batch_size: 2 num_epochs: 1 diff --git a/tests/utils/test_llpr.py b/tests/utils/test_llpr.py index 89320ea46..8b220154a 100644 --- a/tests/utils/test_llpr.py +++ b/tests/utils/test_llpr.py @@ -72,7 +72,7 @@ def test_llpr(tmpdir): outputs={ "mtt::aux::energy_uncertainty": ModelOutput(per_atom=True), "energy": ModelOutput(per_atom=True), - "mtt::aux::last_layer_features": ModelOutput(per_atom=True), + "mtt::aux::energy_last_layer_features": ModelOutput(per_atom=True), }, selected_atoms=None, ) @@ -83,14 +83,14 @@ def test_llpr(tmpdir): assert "mtt::aux::energy_uncertainty" in outputs assert "energy" in outputs - assert "mtt::aux::last_layer_features" in outputs + assert "mtt::aux::energy_last_layer_features" in outputs assert outputs["mtt::aux::energy_uncertainty"].block().samples.names == [ "system", "atom", ] assert outputs["energy"].block().samples.names == ["system", "atom"] - assert outputs["mtt::aux::last_layer_features"].block().samples.names == [ + assert outputs["mtt::aux::energy_last_layer_features"].block().samples.names == [ "system", "atom", ] @@ -124,6 +124,7 @@ def test_llpr(tmpdir): evaluation_options = ModelEvaluationOptions( length_unit="angstrom", outputs={ + "energy": ModelOutput(per_atom=False), "mtt::aux::energy_uncertainty": ModelOutput(per_atom=False), "mtt::energy_ensemble": ModelOutput(per_atom=False), }, @@ -197,7 +198,7 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): loss_fn = TensorMapDictLoss(loss_weight_dict) llpr_model.compute_covariance_as_pseudo_hessian( - dataloader, target_info, loss_fn, parameters + dataloader, target_info, loss_fn, {"energy": parameters} ) llpr_model.compute_inverse_covariance() @@ -212,7 +213,7 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): outputs={ "mtt::aux::energy_uncertainty": ModelOutput(per_atom=True), "energy": ModelOutput(per_atom=True), - "mtt::aux::last_layer_features": ModelOutput(per_atom=True), + "mtt::aux::energy_last_layer_features": ModelOutput(per_atom=True), }, selected_atoms=None, ) @@ -223,14 +224,14 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): assert "mtt::aux::energy_uncertainty" in outputs assert "energy" in outputs - assert "mtt::aux::last_layer_features" in outputs + assert "mtt::aux::energy_last_layer_features" in outputs assert outputs["mtt::aux::energy_uncertainty"].block().samples.names == [ "system", "atom", ] assert outputs["energy"].block().samples.names == ["system", "atom"] - assert outputs["mtt::aux::last_layer_features"].block().samples.names == [ + assert outputs["mtt::aux::energy_last_layer_features"].block().samples.names == [ "system", "atom", ] @@ -264,6 +265,7 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): evaluation_options = ModelEvaluationOptions( length_unit="angstrom", outputs={ + "energy": ModelOutput(per_atom=False), "mtt::aux::energy_uncertainty": ModelOutput(per_atom=False), "mtt::energy_ensemble": ModelOutput(per_atom=False), }, From 8296733310371a15a59f2996e6979ec4fa7ec41a Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 20 Nov 2024 20:08:00 +0100 Subject: [PATCH 117/126] Update old tests --- examples/programmatic/llpr/llpr.py | 4 ++-- src/metatrain/experimental/nanopet/model.py | 2 +- .../nanopet/tests/test_functionality.py | 18 ++++++++++-------- src/metatrain/experimental/soap_bpnn/model.py | 2 +- .../soap_bpnn/tests/test_functionality.py | 18 ++++++++++-------- src/metatrain/utils/llpr.py | 6 +++--- 6 files changed, 27 insertions(+), 23 deletions(-) diff --git a/examples/programmatic/llpr/llpr.py b/examples/programmatic/llpr/llpr.py index 4ac07c470..42e723211 100644 --- a/examples/programmatic/llpr/llpr.py +++ b/examples/programmatic/llpr/llpr.py @@ -147,12 +147,12 @@ length_unit="angstrom", outputs={ # request the uncertainty in the atomic energy predictions + "energy": ModelOutput(per_atom=True), # needed to request the uncertainties "mtt::aux::energy_uncertainty": ModelOutput(per_atom=True), # `per_atom=False` would return the total uncertainty for the system, # or (the inverse of) the TPR (total prediction rigidity) # you also can request other outputs from the model here, for example: - # "energy": ModelOutput(per_atom=True), - # "mtt::aux::last_layer_features": ModelOutput(per_atom=True), + # "mtt::aux::energy_last_layer_features": ModelOutput(per_atom=True), }, selected_atoms=None, ) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index bc6218717..9f8dc85e6 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -97,7 +97,7 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: for target_name in dataset_info.targets.keys(): # the model can always output the last-layer features for the targets ll_features_name = ( - f"mtt::aux::{target_name.replace("mtt::", "")}_last_layer_features" + f"mtt::aux::{target_name.replace('mtt::', '')}_last_layer_features" ) self.outputs[ll_features_name] = ModelOutput(per_atom=True) diff --git a/src/metatrain/experimental/nanopet/tests/test_functionality.py b/src/metatrain/experimental/nanopet/tests/test_functionality.py index a679ad00b..33e731728 100644 --- a/src/metatrain/experimental/nanopet/tests/test_functionality.py +++ b/src/metatrain/experimental/nanopet/tests/test_functionality.py @@ -217,12 +217,12 @@ def test_output_last_layer_features(): [system], { "energy": model.outputs["energy"], - "mtt::aux::last_layer_features": ll_output_options, + "mtt::aux::energy_last_layer_features": ll_output_options, }, ) assert "energy" in outputs - assert "mtt::aux::last_layer_features" in outputs - last_layer_features = outputs["mtt::aux::last_layer_features"].block() + assert "mtt::aux::energy_last_layer_features" in outputs + last_layer_features = outputs["mtt::aux::energy_last_layer_features"].block() assert last_layer_features.samples.names == [ "system", "atom", @@ -245,17 +245,19 @@ def test_output_last_layer_features(): [system], { "energy": model.outputs["energy"], - "mtt::aux::last_layer_features": ll_output_options, + "mtt::aux::energy_last_layer_features": ll_output_options, }, ) assert "energy" in outputs - assert "mtt::aux::last_layer_features" in outputs - assert outputs["mtt::aux::last_layer_features"].block().samples.names == ["system"] - assert outputs["mtt::aux::last_layer_features"].block().values.shape == ( + assert "mtt::aux::energy_last_layer_features" in outputs + assert outputs["mtt::aux::energy_last_layer_features"].block().samples.names == [ + "system" + ] + assert outputs["mtt::aux::energy_last_layer_features"].block().values.shape == ( 1, 128, ) - assert outputs["mtt::aux::last_layer_features"].block().properties.names == [ + assert outputs["mtt::aux::energy_last_layer_features"].block().properties.names == [ "properties", ] diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index d6b923dfa..795569cb6 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -267,7 +267,7 @@ def __init__(self, model_hypers: Dict, dataset_info: DatasetInfo) -> None: for target_name in dataset_info.targets.keys(): # the model can always output the last-layer features for the targets ll_features_name = ( - f"mtt::aux::{target_name.replace("mtt::", "")}_last_layer_features" + f"mtt::aux::{target_name.replace('mtt::', '')}_last_layer_features" ) self.outputs[ll_features_name] = ModelOutput(per_atom=True) diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index 34b427e0b..d0a69aa9b 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -139,12 +139,12 @@ def test_output_last_layer_features(): [system], { "energy": model.outputs["energy"], - "mtt::aux::last_layer_features": ll_output_options, + "mtt::aux::energy_last_layer_features": ll_output_options, }, ) assert "energy" in outputs - assert "mtt::aux::last_layer_features" in outputs - last_layer_features = outputs["mtt::aux::last_layer_features"].block() + assert "mtt::aux::energy_last_layer_features" in outputs + last_layer_features = outputs["mtt::aux::energy_last_layer_features"].block() assert last_layer_features.samples.names == [ "system", "atom", @@ -167,17 +167,19 @@ def test_output_last_layer_features(): [system], { "energy": model.outputs["energy"], - "mtt::aux::last_layer_features": ll_output_options, + "mtt::aux::energy_last_layer_features": ll_output_options, }, ) assert "energy" in outputs - assert "mtt::aux::last_layer_features" in outputs - assert outputs["mtt::aux::last_layer_features"].block().samples.names == ["system"] - assert outputs["mtt::aux::last_layer_features"].block().values.shape == ( + assert "mtt::aux::energy_last_layer_features" in outputs + assert outputs["mtt::aux::energy_last_layer_features"].block().samples.names == [ + "system" + ] + assert outputs["mtt::aux::energy_last_layer_features"].block().values.shape == ( 1, 128, ) - assert outputs["mtt::aux::last_layer_features"].block().properties.names == [ + assert outputs["mtt::aux::energy_last_layer_features"].block().properties.names == [ "properties", ] diff --git a/src/metatrain/utils/llpr.py b/src/metatrain/utils/llpr.py index acbc1a661..ef047ba28 100644 --- a/src/metatrain/utils/llpr.py +++ b/src/metatrain/utils/llpr.py @@ -272,7 +272,7 @@ class in ``metatrain``. ) systems = [system.to(device=device, dtype=dtype) for system in systems] outputs = { - f"mtt::aux::{name.replace("mtt::", "")}_last" + f"mtt::aux::{name.replace('mtt::', '')}_last" "_layer_features": ModelOutput( quantity="", unit="", @@ -287,11 +287,11 @@ class in ``metatrain``. output = self.model(systems, options, check_consistency=False) for name in targets.keys(): ll_feat_tmap = output[ - f"mtt::aux::{name.replace("mtt::", "")}_last_layer_features" + f"mtt::aux::{name.replace('mtt::', '')}_last_layer_features" ] ll_feats = ll_feat_tmap.block().values.detach() / n_atoms.unsqueeze(1) self.covariances[ - f"mtt::aux::{name.replace("mtt::", "")}_uncertainty" + f"mtt::aux::{name.replace('mtt::', '')}_uncertainty" ] += (ll_feats.T @ ll_feats) self.covariance_computed = True From 3a66aa90d6d31a5ce05db3ee643497e82c6996d9 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Wed, 20 Nov 2024 22:07:54 +0100 Subject: [PATCH 118/126] Docs and new tests --- .../advanced-concepts/auxiliary-outputs.rst | 26 +++++++++------- docs/src/advanced-concepts/output-naming.rst | 4 +-- .../nanopet/tests/test_functionality.py | 28 +++++++++++++++++ .../soap_bpnn/tests/test_functionality.py | 31 +++++++++++++++++++ src/metatrain/utils/omegaconf.py | 4 +-- tests/utils/test_omegaconf.py | 26 ++++++++++++++++ 6 files changed, 104 insertions(+), 15 deletions(-) diff --git a/docs/src/advanced-concepts/auxiliary-outputs.rst b/docs/src/advanced-concepts/auxiliary-outputs.rst index ad8d24a02..e7fccbc5a 100644 --- a/docs/src/advanced-concepts/auxiliary-outputs.rst +++ b/docs/src/advanced-concepts/auxiliary-outputs.rst @@ -10,23 +10,27 @@ representation. The following auxiliary outputs that are currently supported by one or more architectures in the library: -- ``mtt::aux::last_layer_features``: The internal representation - of the model at the last layer, before the final linear transformation. +- ``mtt::aux::{target}_last_layer_features``: The representation + of the model at the last layer, before the final linear transformation + to produce target ``target``. If the model produces multiple targets, + the corresponding representations might be different. This output + differs from the ``features`` output which is the same for all targets + of a model. The following table shows the architectures that support each of the auxiliary outputs: -+------------------------------------------+-----------+------------------+-----+ -| Auxiliary output | SOAP-BPNN | Alchemical Model | PET | -+------------------------------------------+-----------+------------------+-----+ -| ``mtt::aux::last_layer_features`` | Yes | No | No | -+------------------------------------------+-----------+------------------+-----+ ++--------------------------------------------+-----------+------------------+-----+-----+---------+ +| Auxiliary output | SOAP-BPNN | Alchemical Model | PET | GAP | NanoPET | ++--------------------------------------------+-----------+------------------+-----+-----+---------+ +| ``mtt::aux::{target}_last_layer_features`` | Yes | No | No | No | Yes | ++--------------------------------------------+-----------+------------------+-----+-----+---------+ -The following tables show the metadata that is expected for each of the +The following tables show the metadata that will be provided for each of the auxiliary outputs: -mtt::aux::last_layer_features -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +mtt::aux::{target}_last_layer_features +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: Metadata for last-layer features :widths: 2 3 7 @@ -61,5 +65,5 @@ mtt::aux::last_layer_features * - properties - ``"properties"`` - the last-layer features have a single property dimension named - ``"property"``, with entries ranging from 0 to the number of features + ``"properties"``, with entries ranging from 0 to the number of features in the last layer. diff --git a/docs/src/advanced-concepts/output-naming.rst b/docs/src/advanced-concepts/output-naming.rst index 29bb131cd..85d34df86 100644 --- a/docs/src/advanced-concepts/output-naming.rst +++ b/docs/src/advanced-concepts/output-naming.rst @@ -8,8 +8,8 @@ package. An immediate example is given by the ``energy`` output. Any additional outputs present within the library are denoted by the ``mtt::`` prefix. For example, some models can output their last-layer -features, which are named as ``mtt::aux::last_layer_features``, where -``aux`` denotes an auxiliary output. +features, which are named as ``mtt::aux::{target}_last_layer_features``, +where ``aux`` denotes an auxiliary output. Outputs that are specific to a particular model should be named as ``mtt::::``. diff --git a/src/metatrain/experimental/nanopet/tests/test_functionality.py b/src/metatrain/experimental/nanopet/tests/test_functionality.py index 33e731728..0716bb367 100644 --- a/src/metatrain/experimental/nanopet/tests/test_functionality.py +++ b/src/metatrain/experimental/nanopet/tests/test_functionality.py @@ -217,11 +217,27 @@ def test_output_last_layer_features(): [system], { "energy": model.outputs["energy"], + "features": ll_output_options, "mtt::aux::energy_last_layer_features": ll_output_options, }, ) assert "energy" in outputs + assert "features" in outputs assert "mtt::aux::energy_last_layer_features" in outputs + + features = outputs["features"].block() + assert features.samples.names == [ + "system", + "atom", + ] + assert features.values.shape == ( + 4, + 128, + ) + assert features.properties.names == [ + "properties", + ] + last_layer_features = outputs["mtt::aux::energy_last_layer_features"].block() assert last_layer_features.samples.names == [ "system", @@ -245,11 +261,23 @@ def test_output_last_layer_features(): [system], { "energy": model.outputs["energy"], + "features": ll_output_options, "mtt::aux::energy_last_layer_features": ll_output_options, }, ) assert "energy" in outputs + assert "features" in outputs assert "mtt::aux::energy_last_layer_features" in outputs + + features = outputs["features"].block() + assert features.samples.names == [ + "system", + ] + assert features.values.shape == ( + 1, + 128, + ) + assert outputs["mtt::aux::energy_last_layer_features"].block().samples.names == [ "system" ] diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py index d0a69aa9b..e5e7f9edc 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_functionality.py @@ -139,11 +139,27 @@ def test_output_last_layer_features(): [system], { "energy": model.outputs["energy"], + "features": ll_output_options, "mtt::aux::energy_last_layer_features": ll_output_options, }, ) assert "energy" in outputs + assert "features" in outputs assert "mtt::aux::energy_last_layer_features" in outputs + + features = outputs["features"].block() + assert features.samples.names == [ + "system", + "atom", + ] + assert features.values.shape == ( + 4, + 128, + ) + assert features.properties.names == [ + "properties", + ] + last_layer_features = outputs["mtt::aux::energy_last_layer_features"].block() assert last_layer_features.samples.names == [ "system", @@ -167,11 +183,26 @@ def test_output_last_layer_features(): [system], { "energy": model.outputs["energy"], + "features": ll_output_options, "mtt::aux::energy_last_layer_features": ll_output_options, }, ) assert "energy" in outputs + assert "features" in outputs assert "mtt::aux::energy_last_layer_features" in outputs + + features = outputs["features"].block() + assert features.samples.names == [ + "system", + ] + assert features.values.shape == ( + 1, + 128, + ) + assert features.properties.names == [ + "properties", + ] + assert outputs["mtt::aux::energy_last_layer_features"].block().samples.names == [ "system" ] diff --git a/src/metatrain/utils/omegaconf.py b/src/metatrain/utils/omegaconf.py index 5743e6552..b92703430 100644 --- a/src/metatrain/utils/omegaconf.py +++ b/src/metatrain/utils/omegaconf.py @@ -188,8 +188,8 @@ def check_dataset_options(dataset_config: ListConfig) -> None: for target_key in actual_config["targets"].keys(): if f"mtt::{target_key}" in actual_config["targets"].keys(): raise ValueError( - f"Two targets with the names `{target_key!r}` and " - f"`mtt::{target_key!r}` are not allowed to be present " + f"Two targets with the names `{target_key}` and " + f"`mtt::{target_key}` are not allowed to be present " "at the same time." ) diff --git a/tests/utils/test_omegaconf.py b/tests/utils/test_omegaconf.py index 768fa9c18..2a9a5fa4e 100644 --- a/tests/utils/test_omegaconf.py +++ b/tests/utils/test_omegaconf.py @@ -336,6 +336,32 @@ def test_check_units(): check_units(actual_options=test_options3, desired_options=train_options) +def test_error_target_and_mtt_target(): + file_name = "foo.xyz" + system_section = {"read_from": file_name, "length_unit": "angstrom"} + + energy_section = { + "quantity": "energy", + "forces": file_name, + "unit": "eV", + "virial": {"read_from": "my_grad.dat", "key": "foo"}, + } + + conf = { + "systems": system_section, + "targets": {"energy": energy_section, "mtt::energy": energy_section}, + } + + with pytest.raises( + ValueError, + match=( + "Two targets with the names `energy` and `mtt::energy` " + "are not allowed to be present at the same time." + ), + ): + expand_dataset_config(OmegaConf.create(conf)) + + def test_missing_targets_section(): conf = {"systems": "foo.xyz"} conf_expanded_list = expand_dataset_config(OmegaConf.create(conf)) From 23a99fc14d419185a4b03cceeb3f9b53ca98950d Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 21 Nov 2024 14:52:53 +0100 Subject: [PATCH 119/126] Fix docs --- docs/src/advanced-concepts/index.rst | 2 +- .../preparing-generic-targets.rst | 112 ------------------ 2 files changed, 1 insertion(+), 113 deletions(-) delete mode 100644 docs/src/advanced-concepts/preparing-generic-targets.rst diff --git a/docs/src/advanced-concepts/index.rst b/docs/src/advanced-concepts/index.rst index dd5f98f01..82fffb0a6 100644 --- a/docs/src/advanced-concepts/index.rst +++ b/docs/src/advanced-concepts/index.rst @@ -13,4 +13,4 @@ such as output naming, auxiliary outputs, and wrapper models. multi-gpu auto-restarting fine-tuning - preparing-generic-targets + fitting-generic-targets diff --git a/docs/src/advanced-concepts/preparing-generic-targets.rst b/docs/src/advanced-concepts/preparing-generic-targets.rst deleted file mode 100644 index 949e8f9f8..000000000 --- a/docs/src/advanced-concepts/preparing-generic-targets.rst +++ /dev/null @@ -1,112 +0,0 @@ -Preparing generic targets for reading by metatrain -================================================== - -Besides energy-like targets, the library also supports reading (and training on) -more generic targets. - -Input file ----------- - -In order to read a generic target, you will have to specify its layout in the input -file. Suppose you want to learn a target named ``mtt::my_target``, which is -represented as a set of 10 independent per-atom 3D Cartesian vector (we need to -learn 3x10 values for each atom). The ``target`` section in the input file -should look -like this: - -.. code-block:: yaml - - targets: - mtt::my_target: - read_from: dataset.xyz - key: my_target - quantity: "" - unit: "" - per_atom: True - type: - cartiesian: - rank: 1 - num_subtargets: 10 - -The crucial fields here are: - -- ``per_atom``: This field should be set to ``True`` if the target is a per-atom - property. Otherwise, it should be set to ``False``. -- ``type``: This field specifies the type of the target. In this case, the target is - a Cartesian vector. The ``rank`` field specifies the rank of the target. For - Cartesian vectors, the rank is 1. Other possibilities for the ``type`` are - ``scalar`` (for a scalar target) and ``spherical`` (for a spherical tensor). -- ``num_subtargets``: This field specifies the number of sub-targets that need to be - learned as part of this target. They are treated as entirely equivalent by models in - metatrain and will often be represented as outputs of the same neural network layer. - A common use case for this field is when you are learning a discretization of a - continuous target, such as the grid points of a band structure. In the example - above, there are 10 sub-targets. In ``metatensor``, these correspond to the number - of ``properties`` of the target. - -A few more words should be spent on ``spherical`` targets. These should be made of a -certain number of irreducible spherical tensors. For example, if you are learning a -property that can be decomposed into two proper spherical tensors with L=0 and L=2, -the target section should would look like this: - -.. code-block:: yaml - - targets: - mtt::my_target: - quantity: "" - read_from: dataset.xyz - key: energy - unit: "" - per_atom: True - type: - spherical: - irreps: - - {o3_lambda: 0, o3_sigma: 1} - - {o3_lambda: 2, o3_sigma: 1} - num_subtargets: 10 - -where ``o3_lambda`` specifies the L value of the spherical tensor and ``o3_sigma`` its -parity with respect to inversion (1 for proper tensors, -1 for pseudo-tensors). - -Preparing your targets -- ASE ------------------------------ - -If you are using the ASE readers to read your targets, you will have to save them -either in the ``.info`` (if the target is per structure, i.e. not per atom) or in the -``.arrays`` (if the target is per atom) attributes of the ASE atoms object. Then you can -dump the atoms object to a file using ``ase.io.write``. - -The ASE reader will automatically try to reshape the target data to the format expected -given the target section in the input file. In case your target data is invalid, an -error will be raised. - -Reading targets with more than one spherical tensor is not supported by the ASE reader. -In that case, you should use the metatensor reader. - -Preparing your targets -- metatensor ------------------------------------- - -If you are using the metatensor readers to read your targets, you will have to save them -as a ``metatensor.torch.TensorMap`` object with ``metatensor.torch.TensorMap.save()`` -into a file with the ``.npz`` extension. - -The metatensor reader will verify that the target data in the input files corresponds to -the metadata in the provided ``TensorMap`` objects. In case of a mismatch, errors will -be raised. - -In particular: - -- if the target is per atom, the samples should have the [``system``, ``atom``] names, - otherwise the [``system``] name. -- if the target is a ``scalar``, only one ``TensorBlock`` should be present, the keys - of the ``TensorMap`` should be a ``Labels.single()`` object, and there should be no - components. -- if the target is a ``cartesian`` tensor, only one ``TensorBlock`` should be present, - the keys of the ``TensorMap`` should be a ``Labels.single()`` object, and there should - be one components, with names [``xyz``] for a rank-1 tensor, - [``xyz_1``, ``xyz_2``, etc.] for higher rank tensors. -- if the target is a ``spherical`` tensor, the ``TensorMap`` can contain multiple - ``TensorBlock``, each corresponding to one irreducible spherical tensor. The keys of - the ``TensorMap`` should have the ``o3_lambda`` and ``o3_sigma`` names, corresponding - to the values provided in the input file, and each ``TensorBlock`` should be one - component label, with name ``o3_mu`` and values going from -L to L. From d46ca0f91dbc014814178a9f0e2ec95ef6f43c0e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 22 Nov 2024 11:06:22 +0100 Subject: [PATCH 120/126] num_properties -> num_subtargets --- src/metatrain/experimental/nanopet/tests/test_continue.py | 2 +- src/metatrain/experimental/nanopet/tests/test_functionality.py | 2 +- src/metatrain/experimental/nanopet/tests/test_regression.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/metatrain/experimental/nanopet/tests/test_continue.py b/src/metatrain/experimental/nanopet/tests/test_continue.py index cea96d588..f4c67b0df 100644 --- a/src/metatrain/experimental/nanopet/tests/test_continue.py +++ b/src/metatrain/experimental/nanopet/tests/test_continue.py @@ -43,7 +43,7 @@ def test_continue(monkeypatch, tmp_path): "unit": "eV", "type": "scalar", "per_atom": False, - "num_properties": 1, + "num_subtargets": 1, "forces": False, "stress": False, "virial": False, diff --git a/src/metatrain/experimental/nanopet/tests/test_functionality.py b/src/metatrain/experimental/nanopet/tests/test_functionality.py index a679ad00b..4f9bfc3d5 100644 --- a/src/metatrain/experimental/nanopet/tests/test_functionality.py +++ b/src/metatrain/experimental/nanopet/tests/test_functionality.py @@ -334,7 +334,7 @@ def test_vector_output(per_atom): "quantity": "forces", "unit": "", "type": {"cartesian": {"rank": 1}}, - "num_properties": 100, + "num_subtargets": 100, "per_atom": per_atom, } ) diff --git a/src/metatrain/experimental/nanopet/tests/test_regression.py b/src/metatrain/experimental/nanopet/tests/test_regression.py index b0e4cf06e..18f066950 100644 --- a/src/metatrain/experimental/nanopet/tests/test_regression.py +++ b/src/metatrain/experimental/nanopet/tests/test_regression.py @@ -76,7 +76,7 @@ def test_regression_train(): "unit": "eV", "type": "scalar", "per_atom": False, - "num_properties": 1, + "num_subtargets": 1, "forces": False, "stress": False, "virial": False, From d14ef7a2cd138b6d68538075bb738425f9188b47 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 28 Nov 2024 15:16:19 +0100 Subject: [PATCH 121/126] `features` for PET, fixes to LLPR, `is_auxiliary_output` --- src/metatrain/experimental/gap/model.py | 3 +- src/metatrain/experimental/nanopet/model.py | 2 +- src/metatrain/experimental/pet/model.py | 45 +++++++++++++--- .../pet/tests/test_functionality.py | 48 +++++++++++------ src/metatrain/experimental/soap_bpnn/model.py | 5 +- src/metatrain/utils/additive/composition.py | 7 ++- src/metatrain/utils/additive/zbl.py | 4 +- src/metatrain/utils/data/target_info.py | 7 +++ src/metatrain/utils/llpr.py | 53 +++++++++++-------- 9 files changed, 120 insertions(+), 54 deletions(-) diff --git a/src/metatrain/experimental/gap/model.py b/src/metatrain/experimental/gap/model.py index 95679e8a3..8e9d9dbb3 100644 --- a/src/metatrain/experimental/gap/model.py +++ b/src/metatrain/experimental/gap/model.py @@ -21,6 +21,7 @@ from skmatter._selection import _FPS from metatrain.utils.data.dataset import DatasetInfo +from metatrain.utils.data.target_info import is_auxiliary_output from ...utils.additive import ZBL, CompositionModel @@ -225,7 +226,7 @@ def forward( systems, outputs, selected_atoms ) for name in return_dict: - if name.startswith("mtt::aux::"): + if is_auxiliary_output(name): continue # skip auxiliary outputs (not targets) return_dict[name] = metatensor.torch.add( return_dict[name], diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 9f8dc85e6..1b038ccbc 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -373,7 +373,7 @@ def forward( and base_name not in atomic_features_dict ): raise ValueError( - f"Features {output_name} can only be requested, " + f"Features {output_name} can only be requested " f"if the corresponding output {base_name} is also requested." ) if f"mtt::{base_name}" in atomic_features_dict: diff --git a/src/metatrain/experimental/pet/model.py b/src/metatrain/experimental/pet/model.py index 7600ef915..d30bf3c9c 100644 --- a/src/metatrain/experimental/pet/model.py +++ b/src/metatrain/experimental/pet/model.py @@ -16,6 +16,7 @@ from pet.pet import PET as RawPET from metatrain.utils.data import DatasetInfo +from metatrain.utils.data.target_info import is_auxiliary_output from ...utils.additive import ZBL from ...utils.dtype import dtype_to_str @@ -144,7 +145,18 @@ def forward( names=["_"], values=torch.tensor([[0]], device=predictions.device) ) - if "mtt::aux::last_layer_features" in outputs: + # output the last-layer features for the outputs, if requested: + if ( + f"mtt::aux::{self.target_name}_last_layer_features" in outputs + or "features" in outputs + ): + ll_output_name = f"mtt::aux::{self.target_name}_last_layer_features" + base_name = self.target_name + if ll_output_name in outputs and base_name not in outputs: + raise ValueError( + f"Features {ll_output_name} can only be requested " + f"if the corresponding output {base_name} is also requested." + ) ll_features = output["last_layer_features"] block = TensorBlock( values=ll_features, @@ -152,19 +164,36 @@ def forward( components=[], properties=Labels( names=["properties"], - values=torch.arange(ll_features.shape[1]).reshape(-1, 1), + values=torch.arange( + ll_features.shape[1], device=predictions.device + ).reshape(-1, 1), ), ) output_tmap = TensorMap( keys=empty_labels, blocks=[block], ) - if not outputs["mtt::aux::last_layer_features"].per_atom: - output_tmap = metatensor.torch.sum_over_samples(output_tmap, "atom") - output_quantities["mtt::aux::last_layer_features"] = output_tmap + if ll_output_name in outputs: + ll_features_options = outputs[ll_output_name] + if not ll_features_options.per_atom: + processed_output_tmap = metatensor.torch.sum_over_samples( + output_tmap, "atom" + ) + else: + processed_output_tmap = output_tmap + output_quantities[ll_output_name] = processed_output_tmap + if "features" in outputs: + features_options = outputs["features"] + if not features_options.per_atom: + processed_output_tmap = metatensor.torch.sum_over_samples( + output_tmap, "atom" + ) + else: + processed_output_tmap = output_tmap + output_quantities["features"] = processed_output_tmap for output_name in outputs: - if output_name.startswith("mtt::aux::"): + if is_auxiliary_output(output_name): continue # skip auxiliary outputs (not targets) energy_labels = Labels( names=["energy"], values=torch.tensor([[0]], device=predictions.device) @@ -189,7 +218,7 @@ def forward( systems, outputs, selected_atoms ) for output_name in output_quantities: - if output_name.startswith("mtt::aux::"): + if is_auxiliary_output(output_name): continue # skip auxiliary outputs (not targets) output_quantities[output_name] = metatensor.torch.add( output_quantities[output_name], @@ -249,7 +278,7 @@ def export(self) -> MetatensorAtomisticModel: unit=self.dataset_info.targets[self.target_name].unit, per_atom=False, ), - "mtt::aux::last_layer_features": ModelOutput( + f"mtt::aux::{self.target_name.replace('mtt::', '')}_last_layer_features": ModelOutput( # noqa: E501 unit="unitless", per_atom=True ), }, diff --git a/src/metatrain/experimental/pet/tests/test_functionality.py b/src/metatrain/experimental/pet/tests/test_functionality.py index b32287bb5..8fbafb5e2 100644 --- a/src/metatrain/experimental/pet/tests/test_functionality.py +++ b/src/metatrain/experimental/pet/tests/test_functionality.py @@ -253,8 +253,8 @@ def test_vector_output(per_atom): WrappedPET(DEFAULT_HYPERS["model"], dataset_info) -def test_output_last_layer_features(): - """Tests that the model can output its last layer features.""" +def test_output_features(): + """Tests that the model can output its features and last-layer features.""" dataset_info = DatasetInfo( length_unit="Angstrom", atomic_types=[1, 6, 7, 8], @@ -288,23 +288,27 @@ def test_output_last_layer_features(): [system], { "energy": ModelOutput(quantity="energy", unit="eV", per_atom=True), - "mtt::aux::last_layer_features": ll_output_options, + "mtt::aux::energy_last_layer_features": ll_output_options, + "features": ll_output_options, }, ) assert "energy" in outputs - assert "mtt::aux::last_layer_features" in outputs - last_layer_features = outputs["mtt::aux::last_layer_features"].block() - assert last_layer_features.samples.names == [ - "system", - "atom", - ] + assert "mtt::aux::energy_last_layer_features" in outputs + assert "features" in outputs + last_layer_features = outputs["mtt::aux::energy_last_layer_features"].block() + features = outputs["features"].block() + assert last_layer_features.samples.names == ["system", "atom"] assert last_layer_features.values.shape == ( 4, 768, # 768 = 3 (gnn layers) * 256 (128 for edge repr, 128 for node repr) ) - assert last_layer_features.properties.names == [ - "properties", - ] + assert last_layer_features.properties.names == ["properties"] + assert features.samples.names == ["system", "atom"] + assert features.values.shape == ( + 4, + 768, # 768 = 3 (gnn layers) * 256 (128 for edge repr, 128 for node repr) + ) + assert features.properties.names == ["properties"] # last-layer features per system: ll_output_options = ModelOutput( @@ -316,16 +320,26 @@ def test_output_last_layer_features(): [system], { "energy": ModelOutput(quantity="energy", unit="eV", per_atom=True), - "mtt::aux::last_layer_features": ll_output_options, + "mtt::aux::energy_last_layer_features": ll_output_options, + "features": ll_output_options, }, ) assert "energy" in outputs - assert "mtt::aux::last_layer_features" in outputs - assert outputs["mtt::aux::last_layer_features"].block().samples.names == ["system"] - assert outputs["mtt::aux::last_layer_features"].block().values.shape == ( + assert "mtt::aux::energy_last_layer_features" in outputs + assert "features" in outputs + assert outputs["mtt::aux::energy_last_layer_features"].block().samples.names == [ + "system" + ] + assert outputs["mtt::aux::energy_last_layer_features"].block().values.shape == ( 1, 768, # 768 = 3 (gnn layers) * 256 (128 for edge repr, 128 for node repr) ) - assert outputs["mtt::aux::last_layer_features"].block().properties.names == [ + assert outputs["mtt::aux::energy_last_layer_features"].block().properties.names == [ "properties", ] + assert outputs["features"].block().samples.names == ["system"] + assert outputs["features"].block().values.shape == ( + 1, + 768, # 768 = 3 (gnn layers) * 256 (128 for edge repr, 128 for node repr) + ) + assert outputs["features"].block().properties.names == ["properties"] diff --git a/src/metatrain/experimental/soap_bpnn/model.py b/src/metatrain/experimental/soap_bpnn/model.py index 795569cb6..285132e57 100644 --- a/src/metatrain/experimental/soap_bpnn/model.py +++ b/src/metatrain/experimental/soap_bpnn/model.py @@ -18,6 +18,7 @@ from metatrain.utils.data import TargetInfo from metatrain.utils.data.dataset import DatasetInfo +from metatrain.utils.data.target_info import is_auxiliary_output from ...utils.additive import ZBL, CompositionModel from ...utils.dtype import dtype_to_str @@ -367,7 +368,7 @@ def forward( and base_name not in features_by_output ): raise ValueError( - f"Features {output_name} can only be requested, " + f"Features {output_name} can only be requested " f"if the corresponding output {base_name} is also requested." ) if f"mtt::{base_name}" in features_by_output: @@ -413,7 +414,7 @@ def forward( systems, outputs_for_additive_model, selected_atoms ) for name in additive_contributions: - if name.startswith("mtt::aux::"): + if is_auxiliary_output(name): continue # skip auxiliary outputs (not targets) return_dict[name] = metatensor.torch.add( return_dict[name], diff --git a/src/metatrain/utils/additive/composition.py b/src/metatrain/utils/additive/composition.py index 2661ec639..a6387a974 100644 --- a/src/metatrain/utils/additive/composition.py +++ b/src/metatrain/utils/additive/composition.py @@ -6,6 +6,8 @@ from metatensor.torch import Labels, TensorBlock, TensorMap from metatensor.torch.atomistic import ModelOutput, System +from metatrain.utils.data.target_info import is_auxiliary_output + from ..data import Dataset, DatasetInfo, get_all_targets, get_atomic_types from ..jsonschema import validate @@ -227,8 +229,9 @@ def forward( self.properties_label = self.properties_label.to(device) for output_name in outputs: - if output_name.startswith("mtt::aux::"): - continue + # TODO: special case for ensembles + if is_auxiliary_output(output_name): + continue # skip auxiliary outputs if output_name not in self.output_to_output_index: raise ValueError( f"output key {output_name} is not supported by this composition " diff --git a/src/metatrain/utils/additive/zbl.py b/src/metatrain/utils/additive/zbl.py index abbef6341..08bb25109 100644 --- a/src/metatrain/utils/additive/zbl.py +++ b/src/metatrain/utils/additive/zbl.py @@ -7,6 +7,8 @@ from metatensor.torch import Labels, TensorBlock, TensorMap from metatensor.torch.atomistic import ModelOutput, NeighborListOptions, System +from metatrain.utils.data.target_info import is_auxiliary_output + from ..data import DatasetInfo @@ -168,7 +170,7 @@ def forward( # Set the outputs as the ZBL energies targets_out: Dict[str, TensorMap] = {} for target_key, target in outputs.items(): - if target_key.startswith("mtt::aux::"): + if is_auxiliary_output(target_key): continue sample_values: List[List[int]] = [] diff --git a/src/metatrain/utils/data/target_info.py b/src/metatrain/utils/data/target_info.py index 6511fd277..88e957ff0 100644 --- a/src/metatrain/utils/data/target_info.py +++ b/src/metatrain/utils/data/target_info.py @@ -390,3 +390,10 @@ def _get_spherical_target_info(target: DictConfig) -> TargetInfo: layout=layout, ) return target_info + + +def is_auxiliary_output(name: str) -> bool: + is_auxiliary = ( + name == "features" or name == "energy_ensemble" or name.startswith("mtt::aux::") + ) + return is_auxiliary diff --git a/src/metatrain/utils/llpr.py b/src/metatrain/utils/llpr.py index ef047ba28..f950d32f6 100644 --- a/src/metatrain/utils/llpr.py +++ b/src/metatrain/utils/llpr.py @@ -12,6 +12,8 @@ ) from torch.utils.data import DataLoader +from metatrain.utils.data.target_info import is_auxiliary_output + from .data import DatasetInfo, TargetInfo, get_atomic_types from .evaluate_model import evaluate_model from .per_atom import average_by_num_atoms @@ -42,7 +44,7 @@ def __init__( additional_capabilities = {} self.uncertainty_multipliers = {} for name, output in old_capabilities.outputs.items(): - if name.startswith("mtt::aux"): + if is_auxiliary_output(name): continue # auxiliary output uncertainty_name = f"mtt::aux::{name.replace('mtt::', '')}_uncertainty" additional_capabilities[uncertainty_name] = ModelOutput( @@ -207,10 +209,11 @@ def forward( requested_ensembles.append(name) for name in requested_ensembles: - ll_features = return_dict[ - "mtt::aux::" - + name.replace("mtt::", "").replace("_ensemble", "_last_layer_features") - ] + ll_features_name = name.replace("_ensemble", "_last_layer_features") + if ll_features_name == "energy_last_layer_features": + # special case for energy_ensemble + ll_features_name = "mtt::aux::energy_last_layer_features" + ll_features = return_dict[ll_features_name] # get the ensemble weights (getattr not supported by torchscript) ensemble_weights = torch.tensor(0.0) for buffer_name, buffer in self.named_buffers(): @@ -223,6 +226,7 @@ def forward( ll_features.block().values, ensemble_weights, ) + property_name = "energy" if name == "energy_ensemble" else "ensemble_member" ensemble = TensorMap( keys=Labels( names=["_"], @@ -236,7 +240,7 @@ def forward( samples=ll_features.block().samples, components=ll_features.block().components, properties=Labels( - names=["ensemble_member"], + names=[property_name], values=torch.arange( ensemble_values.shape[1], device=ensemble_values.device ).unsqueeze(1), @@ -271,7 +275,15 @@ class in ``metatrain``. [len(system.positions) for system in systems], device=device ) systems = [system.to(device=device, dtype=dtype) for system in systems] - outputs = { + options_for_targets = { + name: ModelOutput( + quantity="", + unit="", + per_atom=False, + ) + for name in targets.keys() + } + outputs_for_features = { f"mtt::aux::{name.replace('mtt::', '')}_last" "_layer_features": ModelOutput( quantity="", @@ -282,7 +294,7 @@ class in ``metatrain``. } options = ModelEvaluationOptions( length_unit="", - outputs=outputs, + outputs={**options_for_targets, **outputs_for_features}, ) output = self.model(systems, options, check_consistency=False) for name in targets.keys(): @@ -552,9 +564,7 @@ def generate_ensemble( # with mean given by the input weights and covariance given by the inverse # covariance matrix for name, weights in weight_tensors.items(): - uncertainty_name = ( - "mtt::aux::" + name.replace("_ensemble", "") + "_uncertainty" - ) + uncertainty_name = "mtt::aux::" + name.replace("mtt::", "") + "_uncertainty" device = self.inv_covariances[uncertainty_name].device dtype = self.inv_covariances[uncertainty_name].dtype rng = np.random.default_rng() @@ -568,12 +578,13 @@ def generate_ensemble( ensemble_weights = torch.tensor( ensemble_weights, device=device, dtype=dtype ) - if not name.startswith("mtt::"): - mtt_name = "mtt::" + name - else: - mtt_name = name + ensemble_weights_name = ( + "mtt::aux::" + name.replace("mtt::", "") + "_ensemble_weights" + ) + if ensemble_weights_name == "mtt::aux::energy_ensemble_weights": + ensemble_weights_name = "energy_ensemble_weights" self.register_buffer( - mtt_name + "_ensemble_weights", + ensemble_weights_name, ensemble_weights, ) @@ -581,12 +592,10 @@ def generate_ensemble( old_outputs = self.capabilities.outputs new_outputs = {} for name in weight_tensors.keys(): - if not name.startswith("mtt::"): - mtt_name = "mtt::" + name - else: - mtt_name = name - new_name = f"{mtt_name}_ensemble" - new_outputs[new_name] = ModelOutput( + ensemble_name = "mtt::aux::" + name.replace("mtt::", "") + "_ensemble" + if ensemble_name == "mtt::aux::energy_ensemble": + ensemble_name = "energy_ensemble" + new_outputs[ensemble_name] = ModelOutput( quantity=old_outputs[name].quantity, unit=old_outputs[name].unit, per_atom=old_outputs[name].per_atom, From 28f9ebaae3e5529176ed4226f064c613c449a40e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 28 Nov 2024 15:27:02 +0100 Subject: [PATCH 122/126] Tests and docs --- .../advanced-concepts/auxiliary-outputs.rst | 28 +++++++++++++++---- tests/utils/data/test_target_info.py | 12 ++++++++ 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/docs/src/advanced-concepts/auxiliary-outputs.rst b/docs/src/advanced-concepts/auxiliary-outputs.rst index 08f7b436a..cd2a8723d 100644 --- a/docs/src/advanced-concepts/auxiliary-outputs.rst +++ b/docs/src/advanced-concepts/auxiliary-outputs.rst @@ -1,13 +1,14 @@ Auxiliary outputs ================= -These outputs, which are idenfified by the ``mtt::aux::`` prefix, +These outputs, which are generally idenfified by the ``mtt::aux::`` prefix, represent additional information that the model may provide. They are not -conventional trainable outputs, and they often correspond to internal -information that the model is capable of providing, such as its internal -representation. +conventional trainable outputs, in the sense that they do not correspond to +training targets. For example, such quantities might be the internal +representation of the model, uncertainty estimates, or non-trainable +quantities. -The following auxiliary outputs that are currently supported +The following auxiliary outputs are currently supported by one or more architectures in the library: - ``mtt::aux::{target}_last_layer_features``: The representation @@ -16,6 +17,16 @@ by one or more architectures in the library: the corresponding representations might be different. This output differs from the ``features`` output which is the same for all targets of a model. +- ``features``: A common representation of the model for all targets. + Generally, this will correspond to the last representation before the + decoder(s), or heads, of the model. +- ``mtt::aux::{target}_uncertainty`` and ``mtt::aux::{target}_ensemble``: + Auxiliary outputs related to uncertainty estimation. For the energy + output, ``mtt::aux::energy_ensemble`` is instead named + ``energy_uncertainty``. For the moment, these are only accessible + through the LLPR module, which itself requires the use of the + ``mtt::aux::{target}_last_layer_features`` output. + The following table shows the architectures that support each of the auxiliary outputs: @@ -25,6 +36,8 @@ auxiliary outputs: +--------------------------------------------+-----------+------------------+-----+-----+---------+ | ``mtt::aux::{target}_last_layer_features`` | Yes | No | Yes | No | Yes | +--------------------------------------------+-----------+------------------+-----+-----+---------+ +| ``features`` | Yes | No | Yes | No | Yes | ++--------------------------------------------+-----------+------------------+-----+-----+---------+ The following tables show the metadata that will be provided for each of the auxiliary outputs: @@ -67,3 +80,8 @@ mtt::aux::{target}_last_layer_features - the last-layer features have a single property dimension named ``"properties"``, with entries ranging from 0 to the number of features in the last layer. + +features +^^^^^^^^ + +See the corresponding output in ``metatensor.torch.atomistic``. diff --git a/tests/utils/data/test_target_info.py b/tests/utils/data/test_target_info.py index f0b8d6757..14b0e3dd9 100644 --- a/tests/utils/data/test_target_info.py +++ b/tests/utils/data/test_target_info.py @@ -4,6 +4,7 @@ from metatrain.utils.data.target_info import ( get_energy_target_info, get_generic_target_info, + is_auxiliary_output, ) @@ -117,3 +118,14 @@ def test_layout_spherical(spherical_target_config): assert target_info.unit == "" assert target_info.per_atom is False assert target_info.gradients == [] + + +def test_is_auxiliary_output(): + assert is_auxiliary_output("mtt::aux::energy_uncertainty") + assert is_auxiliary_output("mtt::aux::energy_last_layer_features") + assert not is_auxiliary_output("energy") + assert not is_auxiliary_output("foo") + assert is_auxiliary_output("mtt::aux::foo") + assert is_auxiliary_output("features") + assert is_auxiliary_output("energy_ensemble") + assert is_auxiliary_output("mtt::aux::energy_ensemble") From 9eb7b55de44781dd93966faa9bd93e28c3f6c215 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Thu, 28 Nov 2024 15:29:45 +0100 Subject: [PATCH 123/126] `energy_ensemble` also in tests --- tests/utils/test_llpr.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/utils/test_llpr.py b/tests/utils/test_llpr.py index ad3fcf82d..46e98f21e 100644 --- a/tests/utils/test_llpr.py +++ b/tests/utils/test_llpr.py @@ -105,7 +105,7 @@ def test_llpr(tmpdir): n_ensemble_members = 10000 llpr_model.calibrate(dataloader) llpr_model.generate_ensemble({"energy": weights}, n_ensemble_members) - assert "mtt::energy_ensemble" in llpr_model.capabilities.outputs + assert "energy_ensemble" in llpr_model.capabilities.outputs exported_model = MetatensorAtomisticModel( llpr_model.eval(), @@ -126,7 +126,7 @@ def test_llpr(tmpdir): outputs={ "energy": ModelOutput(per_atom=False), "mtt::aux::energy_uncertainty": ModelOutput(per_atom=False), - "mtt::energy_ensemble": ModelOutput(per_atom=False), + "energy_ensemble": ModelOutput(per_atom=False), }, selected_atoms=None, ) @@ -135,11 +135,11 @@ def test_llpr(tmpdir): ) assert "mtt::aux::energy_uncertainty" in outputs - assert "mtt::energy_ensemble" in outputs + assert "energy_ensemble" in outputs analytical_uncertainty = outputs["mtt::aux::energy_uncertainty"].block().values ensemble_uncertainty = torch.var( - outputs["mtt::energy_ensemble"].block().values, dim=1, keepdim=True + outputs["energy_ensemble"].block().values, dim=1, keepdim=True ) torch.testing.assert_close( @@ -246,7 +246,7 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): n_ensemble_members = 1000000 # converges slowly... llpr_model.calibrate(dataloader) llpr_model.generate_ensemble({"energy": weights}, n_ensemble_members) - assert "mtt::energy_ensemble" in llpr_model.capabilities.outputs + assert "energy_ensemble" in llpr_model.capabilities.outputs exported_model = MetatensorAtomisticModel( llpr_model.eval(), @@ -267,7 +267,7 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): outputs={ "energy": ModelOutput(per_atom=False), "mtt::aux::energy_uncertainty": ModelOutput(per_atom=False), - "mtt::energy_ensemble": ModelOutput(per_atom=False), + "energy_ensemble": ModelOutput(per_atom=False), }, selected_atoms=None, ) @@ -276,11 +276,11 @@ def test_llpr_covariance_as_pseudo_hessian(tmpdir): ) assert "mtt::aux::energy_uncertainty" in outputs - assert "mtt::energy_ensemble" in outputs + assert "energy_ensemble" in outputs analytical_uncertainty = outputs["mtt::aux::energy_uncertainty"].block().values ensemble_uncertainty = torch.var( - outputs["mtt::energy_ensemble"].block().values, dim=1, keepdim=True + outputs["energy_ensemble"].block().values, dim=1, keepdim=True ) torch.testing.assert_close( From 6bc8606c961e10feefc7f7be2809b0bae4415542 Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 6 Dec 2024 08:29:18 +0100 Subject: [PATCH 124/126] Small update --- src/metatrain/experimental/nanopet/model.py | 6 ++++-- src/metatrain/utils/additive/composition.py | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 115b7c98e..66db14fc7 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -15,6 +15,8 @@ System, ) +from metatrain.utils.data.target_info import is_auxiliary_output + from ...utils.additive import ZBL, CompositionModel from ...utils.data import DatasetInfo, TargetInfo from ...utils.dtype import dtype_to_str @@ -469,8 +471,8 @@ def forward( systems, outputs_for_additive_model, selected_atoms ) for name in additive_contributions: - if name.startswith("mtt::aux::"): - continue # skip auxiliary outputs (not targets) + if is_auxiliary_output(name): + continue return_dict[name] = metatensor.torch.add( return_dict[name], additive_contributions[name], diff --git a/src/metatrain/utils/additive/composition.py b/src/metatrain/utils/additive/composition.py index a6387a974..3e5cf21ec 100644 --- a/src/metatrain/utils/additive/composition.py +++ b/src/metatrain/utils/additive/composition.py @@ -246,8 +246,9 @@ def forward( # number of atoms per atomic type. targets_out: Dict[str, TensorMap] = {} for target_key, target in outputs.items(): - if target_key.startswith("mtt::aux::"): - continue + if is_auxiliary_output(output_name): + # TODO: special case for ensembles + continue # skip auxiliary outputs if target_key not in self.outputs.keys(): # non-scalar continue From 0e965e2810aedddf0215a30f64c8bde1ded4985c Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 6 Dec 2024 10:36:31 +0100 Subject: [PATCH 125/126] Fix bug --- src/metatrain/utils/additive/composition.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/metatrain/utils/additive/composition.py b/src/metatrain/utils/additive/composition.py index 3e5cf21ec..641088de2 100644 --- a/src/metatrain/utils/additive/composition.py +++ b/src/metatrain/utils/additive/composition.py @@ -246,7 +246,7 @@ def forward( # number of atoms per atomic type. targets_out: Dict[str, TensorMap] = {} for target_key, target in outputs.items(): - if is_auxiliary_output(output_name): + if is_auxiliary_output(target_key): # TODO: special case for ensembles continue # skip auxiliary outputs if target_key not in self.outputs.keys(): From 0f0bd356344d4af7d5d5eec125b771c84c424b8e Mon Sep 17 00:00:00 2001 From: frostedoyster Date: Fri, 6 Dec 2024 19:20:43 +0100 Subject: [PATCH 126/126] Review items --- docs/src/advanced-concepts/auxiliary-outputs.rst | 4 +++- docs/src/architectures/nanopet.rst | 1 + docs/src/architectures/soap-bpnn.rst | 4 ++++ src/metatrain/experimental/nanopet/model.py | 12 ++++-------- .../experimental/nanopet/tests/test_regression.py | 8 ++++---- .../experimental/soap_bpnn/tests/test_regression.py | 8 ++++---- 6 files changed, 20 insertions(+), 17 deletions(-) diff --git a/docs/src/advanced-concepts/auxiliary-outputs.rst b/docs/src/advanced-concepts/auxiliary-outputs.rst index cd2a8723d..7707aa0e0 100644 --- a/docs/src/advanced-concepts/auxiliary-outputs.rst +++ b/docs/src/advanced-concepts/auxiliary-outputs.rst @@ -84,4 +84,6 @@ mtt::aux::{target}_last_layer_features features ^^^^^^^^ -See the corresponding output in ``metatensor.torch.atomistic``. +See the +`feature output `_ +in ``metatensor.torch.atomistic``. diff --git a/docs/src/architectures/nanopet.rst b/docs/src/architectures/nanopet.rst index 087acca45..cc3ceb2e2 100644 --- a/docs/src/architectures/nanopet.rst +++ b/docs/src/architectures/nanopet.rst @@ -86,6 +86,7 @@ The model-related hyperparameters are :param num_heads: Number of attention heads :param num_attention_layers: Number of attention layers in each GNN layer :param num_gnn_layers: Number of GNN layers +:param heads: The type of head (linear or mlp) to use for each target :param zbl: Whether to use the ZBL short-range repulsion as the baseline for the model training diff --git a/docs/src/architectures/soap-bpnn.rst b/docs/src/architectures/soap-bpnn.rst index 21aea43b4..3c394e30b 100644 --- a/docs/src/architectures/soap-bpnn.rst +++ b/docs/src/architectures/soap-bpnn.rst @@ -79,6 +79,10 @@ All Hyperparameters model ##### + +:param heads: The type of head (linear or mlp) to use for each target +:param zbl: Whether to use the ZBL short-range repulsion as the baseline for the model + soap ^^^^ :param cutoff: Spherical cutoff (Å) to use for atomic environments diff --git a/src/metatrain/experimental/nanopet/model.py b/src/metatrain/experimental/nanopet/model.py index 66db14fc7..3d0c10f65 100644 --- a/src/metatrain/experimental/nanopet/model.py +++ b/src/metatrain/experimental/nanopet/model.py @@ -539,14 +539,10 @@ def _add_output(self, target_name: str, target_info: TargetInfo) -> None: unit=target_info.unit, per_atom=True, ) - if target_name not in self.head_types: # default to MLP - self.heads[target_name] = torch.nn.Sequential( - torch.nn.Linear(self.hypers["d_pet"], 4 * self.hypers["d_pet"]), - torch.nn.SiLU(), - torch.nn.Linear(4 * self.hypers["d_pet"], self.hypers["d_pet"]), - torch.nn.SiLU(), - ) - elif self.head_types[target_name] == "mlp": + if ( + target_name not in self.head_types # default to MLP + or self.head_types[target_name] == "mlp" + ): self.heads[target_name] = torch.nn.Sequential( torch.nn.Linear(self.hypers["d_pet"], 4 * self.hypers["d_pet"]), torch.nn.SiLU(), diff --git a/src/metatrain/experimental/nanopet/tests/test_regression.py b/src/metatrain/experimental/nanopet/tests/test_regression.py index ddba2a43e..c4c0aa3f9 100644 --- a/src/metatrain/experimental/nanopet/tests/test_regression.py +++ b/src/metatrain/experimental/nanopet/tests/test_regression.py @@ -53,8 +53,8 @@ def test_regression_init(): ) # if you need to change the hardcoded values: - torch.set_printoptions(precision=12) - print(output["mtt::U0"].block().values) + # torch.set_printoptions(precision=12) + # print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 @@ -124,8 +124,8 @@ def test_regression_train(): ) # if you need to change the hardcoded values: - torch.set_printoptions(precision=12) - print(output["mtt::U0"].block().values) + # torch.set_printoptions(precision=12) + # print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 diff --git a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py index a881ec6cc..283b0fe77 100644 --- a/src/metatrain/experimental/soap_bpnn/tests/test_regression.py +++ b/src/metatrain/experimental/soap_bpnn/tests/test_regression.py @@ -50,8 +50,8 @@ def test_regression_init(): ) # if you need to change the hardcoded values: - torch.set_printoptions(precision=12) - print(output["mtt::U0"].block().values) + # torch.set_printoptions(precision=12) + # print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5 @@ -119,8 +119,8 @@ def test_regression_train(): ) # if you need to change the hardcoded values: - torch.set_printoptions(precision=12) - print(output["mtt::U0"].block().values) + # torch.set_printoptions(precision=12) + # print(output["mtt::U0"].block().values) torch.testing.assert_close( output["mtt::U0"].block().values, expected_output, rtol=1e-5, atol=1e-5