Re: [SIESTA-L] Passing constraint harmonic energy through constr.f

2023-11-16 Por tôpico Alberto Garcia
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/)


Re: [SIESTA-L] Passing constraint harmonic energy through constr.f

2023-11-16 Por tôpico Francisco Garcia
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  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 <
> 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$
> )
>
>
>

-- 
SIESTA is supported by the Spanish Research Agency (AEI) and by the European 
H2020 MaX Centre of Excellence (http://www.max-centre.eu/)