# Set minimal log verbosity
setVerbosity(MinimalLog)

# Define elements
elements = [Carbon, Oxygen, Hydrogen, Hydrogen, Hydrogen, Hydrogen]

# Define coordinates
cartesian_coordinates = [[-0.033149939063,  0.005616035348, -0.00324241952 ],
                         [ 1.365221157077,  0.017731225169, -0.010237127625],
                         [-0.420842254404, -0.008195781165, -1.044659639647],
                         [-0.389281812901, -0.904604880373,  0.522273871194],
                         [-0.420842254404,  0.900603895661,  0.529427574516],
                         [ 1.628895156782,  0.846170853831, -0.48853697024 ]]*Angstrom

# Set up configuration
configuration = MoleculeConfiguration(
    elements=elements,
    cartesian_coordinates=cartesian_coordinates
)

# Add bonds
bonds = [[0, 1],
         [0, 2],
         [0, 3],
         [0, 4],
         [1, 5]]
configuration.setBonds(bonds)

# Set the LCAO Calculator
solvation_parameters = CosmoSolvationParameters()
calculator = LCAOCalculator(
    solvation_parameters=solvation_parameters
)
configuration.setCalculator(calculator)
configuration.update()
nlsave('methanol_cosmo_surface.hdf5', configuration)


# Get the COSMO solvent surface
solvent_surface = SolventSurface(
    configuration=configuration
)
nlsave('methanol_cosmo_surface.hdf5', solvent_surface)

cosmo_surface = solvent_surface.evaluate()
