Hi Francisco,
You could define new "species" for the atoms you are interested in, and then
put in the MM.Potentials block the right information for those species.
A simple example. Say that you want to constrain harmonically one of the H
atoms and the O atom in a water molecule. Then:
SystemName Harmonically-constrained Water molecule
SystemLabel hc- h2o
NumberOfAtoms 3
NumberOfSpecies 3
%block ChemicalSpeciesLabel
1 8 O
2 1 H
3 1 H_blue
%endblock ChemicalSpeciesLabel
AtomicCoordinatesFormat Ang
%block AtomicCoordinatesAndAtomicSpecies
0.000 0.000 0.000 1
0.757 0.586 0.000 2
-0.757 0.586 0.000 3
%endblock AtomicCoordinatesAndAtomicSpecies
%block MM.Potentials
1 3 harm 4.0 0.8
%endblock MM.Potentials
(The potential parameters are made up. You should use appropriate ones).
The pseudopotential file for H_blue can be a symbolic link to the hydrogen one,
e.g. H.psf.
I hope this helps.
Alberto
- El 16 de Noviembre de 2023, a las 04:17, Francisco Garcia
escribió:
| Dear Prof. Garcia
| Many thanks for your response.
| I looked up the MM.Potentials block but I couldn't figure out how to apply the
| harmonic potential to selected atoms.
| Any assistance would be appreciated.
| Thanks!
| Francisco
| On Mon, Nov 13, 2023 at 1:51 AM Alberto Garcia < [ mailto:alber...@icmab.es |
| alber...@icmab.es ] > wrote:
|| Hi Francisco,
|| You could indeed modify the constr.f file to include what you need, but first
|| check the section of the manual entitled "Auxiliary Force Field". In there
you
|| can find a discussion of the MM.Potentials block, in which you can define the
|| parameters of, among others, a harmonic potential.
|| Best regards,
|| Alberto
|| - El 11 de Noviembre de 2023, a las 09:13, Francisco Garcia < [
|| mailto:garcia.ff@gmail.com | garcia.ff@gmail.com ] > escribió:
||| Dear Users,
||| The constraint subroutine takes the form: subroutine constr( cell, na, isa,
||| amass, xa, stress, fa, ntcon ). It doesn't contain information about energy.
||| Now I am using a harmonic potential with a stiff spring to constrain a pair
of
||| atoms separated by a distance of r0. I should be able to pass the constraint
||| harmonic energy V=1/2 * k * (rij - r0)^2 to the subroutine to be added to
the
||| total energy i.e., E + 1/2 * k * (rij - r0)^2 will be the total energy.
||| Which routines should I modify to allow the total energy to account for the
||| constraint energy?
||| --
||| SIESTA is supported by the Spanish Research Agency (AEI) and by the European
||| H2020 MaX Centre of Excellence ( [
|||
https://urldefense.com/v3/__http://www.max-centre.eu/__;!!D9dNQwwGXtA!V_yhBOHCFFxdY5WMcg2Vv8Ymb5CUuYr4dpyQyrnB8zQRuVGasPatUDFCuulHsnFCbVfyyrstpp82eApPAg3lvMc$
||| |
|||
https://urldefense.com/v3/__http://www.max-centre.eu/__;!!D9dNQwwGXtA!V_yhBOHCFFxdY5WMcg2Vv8Ymb5CUuYr4dpyQyrnB8zQRuVGasPatUDFCuulHsnFCbVfyyrstpp82eApPAg3lvMc$
||| ] )
--
SIESTA is supported by the Spanish Research Agency (AEI) and by the European
H2020 MaX Centre of Excellence (http://www.max-centre.eu/)