[ase-users] trajectory format error during structure optimization
Aldo Ugolotti
aldo.ugolotti at unimib.it
Wed Jul 10 08:44:22 CEST 2024
Dear Adam,
you are right, I was mistaking the scope of the "traj" argument in the
optimizer. Now everything works as expected.
Thank you very much for the support.
Aldo
On 7/8/24 18:07, Adam Jackson wrote:
>
> If using filters, you need to attach the trajectory to the Atoms
> rather than the filter class. See
> https://wiki.fysik.dtu.dk/ase/ase/filters.html#the-unitcellfilter-class
>
> That seems like an easy mistake to make because the optimizer provides
> a “traj” argument. Perhaps this bit of user experience can be improved…
>
> Happy calculating,
>
> Adam
>
> *From: *Aldo Ugolotti <aldo.ugolotti at unimib.it>
> *Date: *Monday, 8 July 2024 at 16:24
> *To: *Adam Jackson <a.j.jackson at physics.org>,
> ase-users at listserv.fysik.dtu.dk <ase-users at listserv.fysik.dtu.dk>,
> David Willock <WillockDJ at cardiff.ac.uk>
> *Subject: *Re: trajectory format error during structure optimization
>
> Dear Adam,
>
> yes I am using a filter to optimize the cell under an anisotropic
> stress, i.e. using TS-ASE module.
>
> Here is a snapshot of the script I am using to do it:
>
> from ase.optimize.fire import FIRE
> from ase import *
> from ase.io import read,write
> import os
> import sys
> import numpy as np
> from tsase.mushybox import mushybox
> from ase.calculators.vasp import Vasp
>
> p1 = read('POSCAR',format='vasp')
>
> calc = Vasp(xc = 'pbesol',
> ediff = 1.0e-6,
> kpts = (1,1,1),
> gamma= True
> )
> p1.set_calculator(calc)
>
> stress=np.zeros((3,3))
> stress[0][0] = 01.0 ## units: in GPa
> stress[1][1] = 01.0
> stress[2][2] = 00.0
>
> p1box = mushybox(p1,express=stress)
> dyn = FIRE(p1box,maxstep = 0.1, trajectory='opt.traj', dt = 0.01,
> dtmax = 0.1, force_consistent = False)
> dyn.run(fmax=0.005, steps=1000)
> write("CONTCARfin",p1,format='vasp')
>
> Actually, I assumed that the writing part was included within the base
> class of the optimizator, I tried to verify it by looking directly in
> the code, but I am not so experienced with ASE modules to fully trace
> the trajectory writing routine.
>
> To reply also to David Willock, no, the trajectory file seems not
> empty; I am attaching a copy of it to try and open it up.
>
> Thanks,
>
> Aldo
>
> On 08/07/2024 15:54, Adam Jackson wrote:
>
> Hmm, there are 20 atoms in the structure but 23 positions in the
> trajectory information… I wonder if this is something to do with
> using a filter on the optimiser that exposes some extra degrees of
> freedom. I would expect that to add more than 3 values, though.
> Maybe some were removed with constraints?
>
> Can you show us the code that created the optimiser/trajectory? Or
> make a small reproducible example using the EMT calculator?
>
> Cheers,
>
> Adam
>
> *From: *ase-users <ase-users-bounces at listserv.fysik.dtu.dk>
> <mailto:ase-users-bounces at listserv.fysik.dtu.dk> on behalf of
> ase-users-request at listserv.fysik.dtu.dk
> <ase-users-request at listserv.fysik.dtu.dk>
> <mailto:ase-users-request at listserv.fysik.dtu.dk>
> *Date: *Monday, 8 July 2024 at 14:37
> *To: *ase-users at listserv.fysik.dtu.dk
> <ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> *Subject: *ase-users Digest, Vol 193, Issue 2
>
> Send ase-users mailing list submissions to
> ase-users at listserv.fysik.dtu.dk
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
> <https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users>
> or, via email, send a message with subject or body 'help' to
> ase-users-request at listserv.fysik.dtu.dk
>
> You can reach the person managing the list at
> ase-users-owner at listserv.fysik.dtu.dk
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of ase-users digest..."
>
>
> Today's Topics:
>
> 1. Re: trajectory format error during structure optimization
> (Aldo Ugolotti)
> 2. Re: trajectory format error during structure optimization
> (David Willock)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 8 Jul 2024 14:40:08 +0200
> From: Aldo Ugolotti <aldo.ugolotti at unimib.it>
> <mailto:aldo.ugolotti at unimib.it>
> To: David Willock <WillockDJ at cardiff.ac.uk>
> <mailto:WillockDJ at cardiff.ac.uk>,
> "ase-users at listserv.fysik.dtu.dk"
> <mailto:ase-users at listserv.fysik.dtu.dk>
> <ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> Subject: Re: [ase-users] trajectory format error during structure
> optimization
> Message-ID: <c55d33ce-852e-4815-9044-a66c80d99f0e at unimib.it>
> <mailto:c55d33ce-852e-4815-9044-a66c80d99f0e at unimib.it>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>
> Dear David,
>
>
> thank you for the suggestion, but I don't think that's a mistake I am
> making. I get such an error message 'when' I read the file/attempt
> at?
> getting an image.
>
>
> Just to clarify, I get the same error message reported above with the
> two following pieces of code:
>
>
> 1) from ase.io import read
>
> read('opt.traj',format='trajectory') -->> ERROR
>
>
> 2)? from ase.io.trajectory import TrajectoryReader
>
>
> TrajectoryReader('opt.traj')[0] -->> ERROR
>
>
> hence I think the issues should lie in the content of the file. I
> thought it could have been related to the calculator not cleanly
> exiting
> from the optimization step, but I get the same behavior in different
> conditions.
>
>
> Aldo
>
>
> On 08/07/2024 14:28, David Willock wrote:
> > Dear Aldo,
> >
> > From the error message it looks like you are trying to read back
> the
> > trajectory file that the optimisers write? The trajectory file is a
> > list of the structures visited during the optimisation so should be
> > treated like a list of structures. The ASE site gives details at:
> >
> > Trajectory files ? ASE documentation (dtu.dk)
> >
> <https://wiki.fysik.dtu.dk/ase/ase/io/trajectory.html
> <https://wiki.fysik.dtu.dk/ase/ase/io/trajectory.html>>
> >
> > Best Wishes
> > David
> >
> >
> ------------------------------------------------------------------------
> > *From:*?ase-users <ase-users-bounces at listserv.fysik.dtu.dk>
> <mailto:ase-users-bounces at listserv.fysik.dtu.dk> on behalf
> > of Aldo Ugolotti via ase-users <ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> > *Sent:*?08 July 2024 13:10
> > *To:* ase-users at listserv.fysik.dtu.dk
> <ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> > *Subject:*?[ase-users] trajectory format error during structure
> > optimization
> > External email to Cardiff University - Take care when
> replying/opening
> > attachments or links.
> > Nid ebost mewnol o Brifysgol Caerdydd yw hwn - Cymerwch ofal wrth
> > ateb/agor atodiadau neu ddolenni.
> >
> >
> >
> > Dear users,
> >
> > I am optimizing a structure via different optimizers, e.g. FIRE
> or BFGS,
> > through a calculator, however I have issues in reading the
> trajectory
> > file that is produced.
> >
> > When I try to open it, I get the following error messages:
> >
> > Traceback (most recent call last):
> > ?? File "<stdin>", line 1, in <module>
> > ?? File
> >
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/formats.py",
> > line 800, in read
> > ???? return next(_iread(filename, slice(index, None), format, io,
> > ?? File
> >
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/parallel.py",
> > line 302, in new_generator
> > ???? for result in generator(*args, **kwargs):
> > ?? File
> >
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/formats.py",
> > line 866, in _iread
> > ???? for dct in io.read(fd, *args, **kwargs):
> > ?? File
> >
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/trajectory.py",
> > line 423, in read_traj
> > ???? yield trj[i]
> > ?? File
> >
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/trajectory.py",
> > line 278, in __getitem__
> > ???? atoms = read_atoms(b, traj=self)
> > ?? File
> >
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/trajectory.py",
> > line 359, in read_atoms
> > ???? return read_atoms(backend, header, traj, False)
> > ?? File
> >
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/trajectory.py",
> > line 379, in read_atoms
> > ???? atoms = Atoms(positions=b.positions,
> > ?? File
> >
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/atoms.py",
> > line 231, in __init__
> > ???? self.new_array('positions', positions, float, (3,))
> > ?? File
> >
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/atoms.py",
> > line 491, in new_array
> > ???? raise ValueError('Array "%s" has wrong length: %d != %d.' %
> > ValueError: Array "positions" has wrong length: 23 != 20.
> >
> > The structure is usually the following (in a POSCAR file):
> >
> > Ga O
> > ? 1.0000000000000000
> > ????? 3.0437424088662963??? 0.0000000000000000 0.0000000000000000
> > ????? 0.0000031622422840?? 14.7017269524877570 0.0000000000000000
> > ????? 0.0000009260717257??? 3.4260834604639068 4.7082612932516961
> > ? Ga? O
> > ??? 8? 12
> > Cartesian
> > ?? 1.5218723357039710 15.8188718574327893? 2.9079613676911555
> > ?? 0.0000059327733076 13.1052255051097770? 2.8745980271043003
> > ? -0.0000107921034274 14.7011495642250427? 0.0085871970445676
> > ?? 1.5219166606336012 10.7968514552615158? 1.0658204805351676
> > ?? 3.0437429809987315? 8.4679781419058902? 2.9078954397593910
> > ?? 1.5218700428854757? 5.7544245018196456? 2.8745176343712169
> > ?? 1.5218699118892460? 7.3501954535310761? 0.0085254000378572
> > ?? 3.0437414219421695? 3.4459684229877086? 1.0657976752349458
> > ?? 0.0000120138472444? 9.9397499435454684? 1.6461898751266788
> > ?? 1.5218574348726146? 4.2809758546542236? 4.1343011562496468
> > ?? 3.0437402313938988 14.8510944838742400? 1.8739821734909685
> > ?? 1.5218703192113834 14.0724457821694671? 3.9088746953136773
> > ?? 1.5218709568204642 12.4588634753633229? 1.8487030038014953
> > ?? 3.0437437766782129 16.4641054642267406? 3.9360811195554040
> > ?? 1.5218728276782361? 2.5889021769267080? 1.6461839979364055
> > ?? 3.0437389902045822 11.6318087791170388? 4.1343355926457086
> > ?? 1.5218694913323356? 7.5002250144759159? 1.8739212272855050
> > ?? 3.0437401536740056? 6.7215584472524945? 3.9088410244254468
> > ?? 3.0437392898354014? 5.1079805611873921? 1.8486885018616095
> > ?? 1.5218736571575349? 9.1131861654179929? 3.9359949123592188
> >
> >
> > Can anyone give me an hint about solving this issue?
> >
> > Thank you in advance,
> >
> > --
> > Aldo Ugolotti, Ph.D.
> >
> > Post-doc fellow
> > Materials Science Dept. U5,
> > Universit? degli Studi di Milano-Bicocca
> > via Cozzi 55,
> > 20125 Milano (MI)
> > Italy
> > e-mail: aldo.ugolotti at unimib.it
> >
> > _______________________________________________
> > ase-users mailing list
> > ase-users at listserv.fysik.dtu.dk
> >
> https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
> <https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users>
> >
> <https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
> <https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users>>
>
> --
> Aldo Ugolotti, Ph.D.
>
> Post-doc fellow
> Materials Science Dept. U5,
> Universit? degli Studi di Milano-Bicocca
> via Cozzi 55,
> 20125 Milano (MI)
> Italy
> e-mail:aldo.ugolotti at unimib.it
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20240708/9d1ab64e/attachment-0001.htm
> <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20240708/9d1ab64e/attachment-0001.htm>>
>
> ------------------------------
>
> Message: 2
> Date: Mon, 8 Jul 2024 13:36:12 +0000
> From: David Willock <WillockDJ at cardiff.ac.uk>
> <mailto:WillockDJ at cardiff.ac.uk>
> To: Aldo Ugolotti <aldo.ugolotti at unimib.it>
> <mailto:aldo.ugolotti at unimib.it>,
> "ase-users at listserv.fysik.dtu.dk"
> <mailto:ase-users at listserv.fysik.dtu.dk>
> <ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> Subject: Re: [ase-users] trajectory format error during structure
> optimization
> Message-ID:
> <LO2P265MB5789CA2381C29D3F60D9EEA4ECDA2 at LO2P265MB5789.GBRP265.PROD.OUTLOOK.COM>
> <mailto:LO2P265MB5789CA2381C29D3F60D9EEA4ECDA2 at LO2P265MB5789.GBRP265.PROD.OUTLOOK.COM>
>
> Content-Type: text/plain; charset="windows-1252"
>
> Dear Aldo,
>
> Does your opt.traj file have any size, i.e. check it is not zero
> length in case nothing has been written.
>
> We would usually use the code on the page I sent the link to:
>
>
> from ase.io.trajectory import Trajectory
> traj = Trajectory('example.traj')
> atoms = traj[-1]
>
> It is difficult to look at this more unless you share the opt.traj
> file.
>
> Best Wishes
> David
>
> ________________________________
> From: Aldo Ugolotti <aldo.ugolotti at unimib.it>
> <mailto:aldo.ugolotti at unimib.it>
> Sent: 08 July 2024 13:40
> To: David Willock <WillockDJ at cardiff.ac.uk>
> <mailto:WillockDJ at cardiff.ac.uk>; ase-users at listserv.fysik.dtu.dk
> <ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> Subject: Re: [ase-users] trajectory format error during structure
> optimization
>
>
> Dear David,
>
>
> thank you for the suggestion, but I don't think that's a mistake I
> am making. I get such an error message 'when' I read the
> file/attempt at getting an image.
>
>
> Just to clarify, I get the same error message reported above with
> the two following pieces of code:
>
>
> 1) from ase.io import read
>
> read('opt.traj',format='trajectory') -->> ERROR
>
>
> 2) from ase.io.trajectory import TrajectoryReader
>
>
> TrajectoryReader('opt.traj')[0] -->> ERROR
>
>
> hence I think the issues should lie in the content of the file. I
> thought it could have been related to the calculator not cleanly
> exiting from the optimization step, but I get the same behavior in
> different conditions.
>
>
>
> Aldo
>
>
> On 08/07/2024 14:28, David Willock wrote:
> Dear Aldo,
>
> >From the error message it looks like you are trying to read back
> the trajectory file that the optimisers write? The trajectory file
> is a list of the structures visited during the optimisation so
> should be treated like a list of structures. The ASE site gives
> details at:
>
> Trajectory files ? ASE documentation
> (dtu.dk)<https://wiki.fysik.dtu.dk/ase/ase/io/trajectory.html>
> <https://wiki.fysik.dtu.dk/ase/ase/io/trajectory.html>
>
> Best Wishes
> David
>
> ________________________________
> From: ase-users <ase-users-bounces at listserv.fysik.dtu.dk>
> <mailto:ase-users-bounces at listserv.fysik.dtu.dk><mailto:ase-users-bounces at listserv.fysik.dtu.dk>
> <mailto:ase-users-bounces at listserv.fysik.dtu.dk> on behalf of Aldo
> Ugolotti via ase-users <ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk><mailto:ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> Sent: 08 July 2024 13:10
> To:
> ase-users at listserv.fysik.dtu.dk<mailto:ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> <ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk><mailto:ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> Subject: [ase-users] trajectory format error during structure
> optimization
>
> External email to Cardiff University - Take care when
> replying/opening attachments or links.
> Nid ebost mewnol o Brifysgol Caerdydd yw hwn - Cymerwch ofal wrth
> ateb/agor atodiadau neu ddolenni.
>
>
>
> Dear users,
>
> I am optimizing a structure via different optimizers, e.g. FIRE or
> BFGS,
> through a calculator, however I have issues in reading the trajectory
> file that is produced.
>
> When I try to open it, I get the following error messages:
>
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/formats.py",
> line 800, in read
> return next(_iread(filename, slice(index, None), format, io,
> File
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/parallel.py",
> line 302, in new_generator
> for result in generator(*args, **kwargs):
> File
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/formats.py",
> line 866, in _iread
> for dct in io.read(fd, *args, **kwargs):
> File
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/trajectory.py",
> line 423, in read_traj
> yield trj[i]
> File
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/trajectory.py",
> line 278, in __getitem__
> atoms = read_atoms(b, traj=self)
> File
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/trajectory.py",
> line 359, in read_atoms
> return read_atoms(backend, header, traj, False)
> File
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/io/trajectory.py",
> line 379, in read_atoms
> atoms = Atoms(positions=b.positions,
> File
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/atoms.py",
> line 231, in __init__
> self.new_array('positions', positions, float, (3,))
> File
> "/home_most1/software/python_virtual_env/enviro_01/lib/python3.10/site-packages/ase/atoms.py",
> line 491, in new_array
> raise ValueError('Array "%s" has wrong length: %d != %d.' %
> ValueError: Array "positions" has wrong length: 23 != 20.
>
> The structure is usually the following (in a POSCAR file):
>
> Ga O
> 1.0000000000000000
> 3.0437424088662963 0.0000000000000000 0.0000000000000000
> 0.0000031622422840 14.7017269524877570 0.0000000000000000
> 0.0000009260717257 3.4260834604639068 4.7082612932516961
> Ga O
> 8 12
> Cartesian
> 1.5218723357039710 15.8188718574327893 2.9079613676911555
> 0.0000059327733076 13.1052255051097770 2.8745980271043003
> -0.0000107921034274 14.7011495642250427 0.0085871970445676
> 1.5219166606336012 10.7968514552615158 1.0658204805351676
> 3.0437429809987315 8.4679781419058902 2.9078954397593910
> 1.5218700428854757 5.7544245018196456 2.8745176343712169
> 1.5218699118892460 7.3501954535310761 0.0085254000378572
> 3.0437414219421695 3.4459684229877086 1.0657976752349458
> 0.0000120138472444 9.9397499435454684 1.6461898751266788
> 1.5218574348726146 4.2809758546542236 4.1343011562496468
> 3.0437402313938988 14.8510944838742400 1.8739821734909685
> 1.5218703192113834 14.0724457821694671 3.9088746953136773
> 1.5218709568204642 12.4588634753633229 1.8487030038014953
> 3.0437437766782129 16.4641054642267406 3.9360811195554040
> 1.5218728276782361 2.5889021769267080 1.6461839979364055
> 3.0437389902045822 11.6318087791170388 4.1343355926457086
> 1.5218694913323356 7.5002250144759159 1.8739212272855050
> 3.0437401536740056 6.7215584472524945 3.9088410244254468
> 3.0437392898354014 5.1079805611873921 1.8486885018616095
> 1.5218736571575349 9.1131861654179929 3.9359949123592188
>
>
> Can anyone give me an hint about solving this issue?
>
> Thank you in advance,
>
> --
> Aldo Ugolotti, Ph.D.
>
> Post-doc fellow
> Materials Science Dept. U5,
> Universit? degli Studi di Milano-Bicocca
> via Cozzi 55,
> 20125 Milano (MI)
> Italy
> e-mail: aldo.ugolotti at unimib.it<mailto:aldo.ugolotti at unimib.it>
> <mailto:aldo.ugolotti at unimib.it>
>
> _______________________________________________
> ase-users mailing list
> ase-users at listserv.fysik.dtu.dk<mailto:ase-users at listserv.fysik.dtu.dk>
> <mailto:ase-users at listserv.fysik.dtu.dk>
> https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users<https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users>
> <https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users>
>
> --
> Aldo Ugolotti, Ph.D.
>
> Post-doc fellow
> Materials Science Dept. U5,
> Universit? degli Studi di Milano-Bicocca
> via Cozzi 55,
> 20125 Milano (MI)
> Italy
> e-mail: aldo.ugolotti at unimib.it<mailto:aldo.ugolotti at unimib.it>
> <mailto:aldo.ugolotti at unimib.it>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20240708/fce1654d/attachment.htm
> <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20240708/fce1654d/attachment.htm>>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> ase-users mailing list
> ase-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
> <https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users>
>
>
> ------------------------------
>
> End of ase-users Digest, Vol 193, Issue 2
> *****************************************
>
> --
> Aldo Ugolotti, Ph.D.
> Post-doc fellow
> Materials Science Dept. U5,
> Università degli Studi di Milano-Bicocca
> via Cozzi 55,
> 20125 Milano (MI)
> Italy
> e-mail:aldo.ugolotti at unimib.it
--
Aldo Ugolotti, Ph.D.
Researcher @ Materials Science Dept. U5,
Università degli Studi di Milano-Bicocca
via Cozzi 55, 20125 Milano (MI)
Italy
Office: U5-2123
Phone: +39 02 6448 5171
e-mail:aldo.ugolotti at unimib.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20240710/ccf16d71/attachment-0001.htm>
More information about the ase-users
mailing list