Skip to content

can not saved the atom after optimization #39

@kianpu34593

Description

@kianpu34593

Hi,

I was using image_array with optimize.

The optimization happened smoothly but at the last step it cannot save the optimized atoms to xyz file. Now, I temporarily change it to save as .traj file and it works.

image_file = 'image_output.xyz'
atoms.write(image_file, format='extxyz')

Here is the sim_input.yaml:

asimmodule: workflows.image_array
workdir: FeF2_CuF2/FeF2_subs_Cu_chgnet_relax
args:
  images:
    image_file: /home/kianpu/projects/afx/solid_solution/FeF2_CuF2/FeF2_subs_Cu/FeF2_222_subs_Cu.db
    index: 0
  subsim_input:
    asimmodule: geometry_optimization.optimize
    env_id: inline
    args:
      optimizer: BFGS
      optimizer_args: {}
      expcellfilter_args:
        mask: null
        hydrostatic_strain: false
        constant_volume: false
        scalar_pressure: 0.0
      fmax: 0.01
      calc_id: CHGNet_cpu
      image: 

Here is the stderr.txt:

/home/kianpu/softwares/asimtools/asimtools/asimmodules/geometry_optimization/optimize.py:46: FutureWarning: Import ExpCellFilter from ase.filters
  ecf = ExpCellFilter(atoms, **expcellfilter_args)
Traceback (most recent call last):
  File "/home/kianpu/.spack/opt/spack/gcc-10.3.0/miniconda3/22.11.1-6p6o/envs/asimtools/bin/asim-run", line 33, in <module>
    sys.exit(load_entry_point('asimtools', 'console_scripts', 'asim-run')())
  File "/home/kianpu/softwares/asimtools/asimtools/scripts/asim_run.py", line 137, in main
    results = sim_func(**sim_input.get('args', {}))
  File "/home/kianpu/softwares/asimtools/asimtools/asimmodules/geometry_optimization/optimize.py", line 64, in optimize
    atoms.write(image_file, format='extxyz')
  File "/home/kianpu/softwares/ase/ase/atoms.py", line 2012, in write
    write(filename, self, format, **kwargs)
  File "/home/kianpu/softwares/ase/ase/io/formats.py", line 692, in write
    return _write(filename, fd, format, io, images,
  File "/home/kianpu/softwares/ase/ase/parallel.py", line 271, in new_func
    return func(*args, **kwargs)
  File "/home/kianpu/softwares/ase/ase/io/formats.py", line 728, in _write
    return io.write(fd, images, **kwargs)
  File "/home/kianpu/softwares/ase/ase/io/formats.py", line 193, in _write_wrapper
    return function(*args, **kwargs)
  File "/home/kianpu/softwares/ase/ase/utils/__init__.py", line 577, in iofunc
    obj = func(fd, *args, **kwargs)
  File "/home/kianpu/softwares/ase/ase/io/extxyz.py", line 930, in write_xyz
    data[column] = np.squeeze(value)
ValueError: could not broadcast input array from shape (64,) into shape (48,)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions