NPT_F with surfaces

Marcelo Carignano macar... at
Mon Jun 25 18:16:41 UTC 2018


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 
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?



      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


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: <>

More information about the CP2K-user mailing list