coflandscaper.MaceOpt

class coflandscaper.MaceOpt(fmax=0.01, dtype='float64', head='spice_wB97M', model=None, device='cpu', fix_z=False, max_steps=2000, verbose=True)[source]

Optimize CIF structures with MACE and optional z-axis constraints.

This class wraps ASE optimization with a MACE calculator and supports per-mode batch optimization plus optional energy-summary CSV generation.

Returns:

None.

Parameters:

Methods

optimize_cof

Optimize one CIF structure and write the optimized CIF.

process_cifs

Optimize all CIF files in one folder and return convergence flags.

run_mode

Optimize selected structures for requested mode(s).

run_preopt

Run one-file pre-optimization with COF-specific default paths.

optimize_cof(input_path, output_path)[source]

Optimize one CIF structure and write the optimized CIF.

Parameters:
  • input_path (str) – Input CIF file path.

  • output_path (str) – Output CIF file path.

Returns:

True if optimization converged within max_steps, else False.

Return type:

bool

process_cifs(input_folder, output_folder)[source]

Optimize all CIF files in one folder and return convergence flags.

Parameters:
  • input_folder (str) – Folder containing input CIF files.

  • output_folder (str) – Folder where optimized CIF files are written.

Returns:

Mapping from structure stem to convergence status.

Return type:

dict[str, bool]

run_mode(cof_name, mode, output_base=None, input_base=None, save_opt_energies_csv=True)[source]

Optimize selected structures for requested mode(s).

Default folder behavior: - input_base: {cof_name}/3_{cof_name}_landscape/selection - output_base: {cof_name}/4_{cof_name}_optimization

The method routes mode folders (serr, incl, or both), optimizes all CIF files in each folder, and optionally writes a consolidated {cof_name}_opt_energies_per_layer.csv file.

Parameters:
  • cof_name (str) – COF identifier used for default path construction.

  • mode (str) – Mode selector (“serr”, “incl”, or “both”).

  • output_base (str | None) – Optional optimization output base folder. Defaults to None (uses {cof_name}/4_{cof_name}_optimization).

  • input_base (str | None) – Optional selection input base folder. Defaults to None (uses {cof_name}/3_{cof_name}_landscape/selection).

  • save_opt_energies_csv (bool) – Whether to write merged per-layer energy CSV. Defaults to True.

Return type:

None

run_preopt(cof_name, input_path=None, output_path=None, fix_z=True)[source]

Run one-file pre-optimization with COF-specific default paths.

Parameters:
  • cof_name (str) – COF name used for default path construction.

  • input_path (str | None) – Optional input CIF path. Defaults to {cof_name}/1_{cof_name}_single_layer/{cof_name}_unopt.cif.

  • output_path (str | None) – Optional output CIF path. Defaults to {cof_name}/1_{cof_name}_single_layer/{cof_name}_preopt.cif.

  • fix_z (bool) – Whether to fix atomic z coordinates during this preopt run. Defaults to True.

Returns:

True if the optimization converged, else False.

Return type:

bool