NPT_F with surfaces

Marcelo Carignano macar... at gmail.com
Tue Jun 26 06:32:19 UTC 2018


Thank you Travis, 
I think I didn't explain myself correctly.
The original post from Massimo is about performing NPT_F MD simulations 
keeping one of the box dimensions fixed. 
A reply indicated that that could be done by a modification of the code, 
cell_opt_utils.F
After checking that file I see that those options are already coded, but 
perhaps this is only for CELL_OPT and not for RUN_TYPE MD

Now, looking back I see that the referred file is cell_opt_util.F and no 
md_utils.F, which makes me wonder if the comment from Florian was indeed 
referring to MD or CELL_OPT.

Then... is it possible to run an MD, under NPT_F conditions for a slab 
system and keeping the constant dimension of the box normal to the slab??
With a little hint of the developers I can do this change myself.

Thanks,

Marcelo.

On Monday, June 25, 2018 at 11:35:04 PM UTC+3, Travis wrote:
>
> CONSTRAINT X, Y, Z, XY, XZ, YZ under 
> https://manual.cp2k.org/trunk/CP2K_INPUT/MOTION/CELL_OPT.html
>
> On Monday, June 25, 2018 at 2:16:41 PM UTC-4, Marcelo Carignano wrote:
>>
>> Hello,
>>
>> I see at the end of cell_opt_utils.F (V 5.1) the code copied below 
>> suggesting that different constraints for the box deformation can be 
>> defined.
>> It is a CASE statement using my_constraint_id as argument.
>>
>> How and where can this variable be defined? I do not see how to control 
>> this from the input.
>> Should I (hard) define constraint_id and recompile?
>>
>> Thanks,
>>
>> Marcelo.
>>
>>       SELECT CASE (my_constraint_id)
>>
>>       CASE (fix_x)
>>
>>          gradient(1:2) = 0.0_dp
>>
>>          gradient(4) = 0.0_dp
>>
>>       CASE (fix_y)
>>
>>          gradient(2:3) = 0.0_dp
>>
>>          gradient(5) = 0.0_dp
>>
>>       CASE (fix_z)
>>
>>          gradient(4:6) = 0.0_dp
>>
>>       CASE (fix_xy)
>>
>>          gradient(1:5) = 0.0_dp
>>
>>       CASE (fix_xz)
>>
>>          gradient(1:2) = 0.0_dp
>>
>>          gradient(4:6) = 0.0_dp
>>
>>       CASE (fix_yz)
>>
>>          gradient(2:6) = 0.0_dp
>>
>>       CASE (fix_none)
>>
>>          ! Nothing to do
>>
>>       END SELECT
>>
>>
>>
>> On Sunday, January 26, 2014 at 1:49:33 PM UTC+3, Florian Schiffmann wrote:
>>>
>>> Hi,
>>>
>>> what Marcella says is correct in an ideal world. In reality there are 
>>> numerics,... if it happens that your cell changes or you want to be on the 
>>> save side, you might want to set the cell gradient in the nonperiodic 
>>> direction to a perfect 0.
>>> This can be done in the cell_opt_utils.F at the end of the subroutine 
>>> get_dg_dh.
>>> simply set gradient(n)=0.0_dp (n=1 for x, n=3 for y, n=6 for z as np 
>>> direction).
>>> Recompile and your cell is fixed in that direction. 
>>>
>>> Flo
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20180625/c7065e32/attachment.htm>


More information about the CP2K-user mailing list