Re: [Wien] Fwd: Likely source/s of stupid kgen error

```Thanks.

N.B., is the write statement```
```
write(*,*) 'Lattice symmetry requires equal mesh in y and z direction'

inconsistent -- should be x and z ?

On Wed, Sep 7, 2016 at 3:37 PM, Peter Blaha
<pbl...@theochem.tuwien.ac.at> wrote:
> There is no problem with kgen.
>
> Your two structures are P  and B lattices.
>
> You will never be able to make identical k-meshes for them, as the BZ is
> different and also the size of the unit cell and number of atoms/unit
> cell differ by a factor of 2 (although one specifies the same lattice
> parameters a,b,c).
>
> It is like: bcc Fe and Fe in a simple cubic cell with 2 atoms/cube.
>
> For a comparison of fine details one has either to converge both
> k-meshes, or double the cell (making the B cell --> P), then
> constraining symmetry by labelling some atoms). Then the k-meshes can be
>
> Am 07.09.2016 um 16:11 schrieb Laurence Marks:
>> One of my students noticed an inconsistency in basdiv.f which might be
>> a source of a problem she has (or not), see below. For certain the
>> code and comments appear to be inconsistent:
>>
>>         if((iarb(1).eq.1).and.(n(1).ne.n(2))) then
>>               write(*,*) 'Lattice symmetry requires equal mesh in x
>> and y direction'
>>               goto 123
>>         endif
>>         if((iarb(2).eq.1).and.(n(1).ne.n(3))) then
>>               write(*,*) 'Lattice symmetry requires equal mesh in x
>> and z direction'
>>               goto 123
>>         endif
>>         if((iarb(3).eq.1).and.(n(1).ne.n(3))) then
>>               write(*,*) 'Lattice symmetry requires equal mesh in y
>> and z direction'
>>               goto 123
>>         endif
>>       endif
>>
>> Suggestions?
>>
>>
>> ---------- Forwarded message ----------
>> From: Tassie Andersen <tasskand...@gmail.com>
>> Date: Tue, Sep 6, 2016 at 12:21 PM
>> Subject: Likely source/s of stupid kgen error
>> To: Laurence Marks <l-ma...@northwestern.edu>
>>
>>
>> Hello Laurie,
>>
>> I think I may have found the source/s of the kgen error I described. I
>> searched for the exact error message in \$WIENROOT/SRC_kgen and found
>> something helpful in basdiv.f . From what I can tell this file takes
>> in some variables, one of which describes whether the unit cell has
>> any equal length dimensions (x ,y , z), this is described in the
>> heading info by 'IARB' .
>>
>> The problem is that later, when it checks the values of IARB (and can
>> generate a subsequent error message) it uses the following routine
>> with cases to check against :
>>
>>       if(NMSHP.le.0) then
>>  123    write(*,*) " Specify 3 mesh-divisions (n1,n2,n3):"
>>         if((iarb(1).eq.1).and.(n(1).ne.n(2))) then
>>               write(*,*) 'Lattice symmetry requires equal mesh in x
>> and y direction'
>>               goto 123
>>         endif
>>         if((iarb(2).eq.1).and.(n(1).ne.n(3))) then
>>               write(*,*) 'Lattice symmetry requires equal mesh in x
>> and z direction'
>>               goto 123
>>         endif
>>         if((iarb(3).eq.1).and.(n(1).ne.n(3))) then
>>               write(*,*) 'Lattice symmetry requires equal mesh in y
>> and z direction'
>>               goto 123
>>         endif
>>       endif
>>       NMSHP=(N(1)+1)*(N(2)+1)*(N(3)+1)
>>       RETURN
>>       END
>>
>> Notice that case 'if((iarb(2).eq.1).and.(n(1).ne.n(3))) then' and
>> 'if((iarb(3).eq.1).and.(n(1).ne.n(3))) then' have the same
>> requirements for variable n. This should probably be the following
>>
>>       if(NMSHP.le.0) then
>>  123    write(*,*) " Specify 3 mesh-divisions (n1,n2,n3):"
>>         if((iarb(1).eq.1).and.(n(1).ne.n(2))) then
>>               write(*,*) 'Lattice symmetry requires equal mesh in x
>> and y direction'
>>               goto 123
>>         endif
>>         if((iarb(2).eq.1).and.(n(2).ne.n(3))) then
>>               write(*,*) 'Lattice symmetry requires equal mesh in x
>> and z direction'
>>               goto 123
>>         endif
>>         if((iarb(3).eq.1).and.(n(1).ne.n(3))) then
>>               write(*,*) 'Lattice symmetry requires equal mesh in y
>> and z direction'
>>               goto 123
>>         endif
>>       endif
>>       NMSHP=(N(1)+1)*(N(2)+1)*(N(3)+1)
>>       RETURN
>>       END
>>
>> However, in the intro commented text there's a note saying '2 and 3
>> are reversed?' so I'm not sure is IARB(2)=1 specifies if y = z or if x
>> = z (vice versa with IARB(3) = 1). So either the fix I propose or the
>> corresponding one for the iarb(3) condition needs to be altered.
>> However, this doesn't solve the root of the problem (though it is
>> annoying and keeps you from entering the proper values).
>>
>> The real issue is that my structure, where x=y=/=z should have
>> iarb(1)=1 and iarb(2), iarb(3) =/= 1. Somehow iarb(2) is being set to
>> 1 in this particular case (but not others with a different symmetry
>> group). The only file I can find that sets IARB values is bravai.f (or
>> birken.f or bravai_bla, but these two don't seem to be called ever). I
>> can't figure out where it's messing it up though. It'd be good to
>> print all three IARB values after bravai.f runs to check it but I'm
>> not sure how to do that. Any suggestions are appreciated.
>>
>> So it seems there are at least 2 issues.
>>
>> Regards,
>> Tassie
>>
>>
>
> --
> --------------------------------------------------------------------------
> Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
> Phone: +43-1-58801-165300             FAX: +43-1-58801-165982
> Email: bl...@theochem.tuwien.ac.at    WIEN2k:
> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.wien2k.at&d=CwICAg&c=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws&r=U_T4PL6jwANfAy4rnxTj8IUxm818jnvqKFdqWLwmqg0&m=HDTPjM91NPMDRN_ayM3D-ot6b3qMvybvCGnR0ODQJ4E&s=0FgzqJvmvWGon33xdzO11Xrc99OWY9tFGxMf-C0c9JI&e=
> WWW:
> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.imc.tuwien.ac.at_staff_tc-5Fgroup-5Fe.php&d=CwICAg&c=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws&r=U_T4PL6jwANfAy4rnxTj8IUxm818jnvqKFdqWLwmqg0&m=HDTPjM91NPMDRN_ayM3D-ot6b3qMvybvCGnR0ODQJ4E&s=2UyIjSFpiJLCL1zoI2Qx_7t--jnMbuiJSXMaeD-0CrA&e=
> --------------------------------------------------------------------------
> _______________________________________________
> Wien mailing list
> Wien@zeus.theochem.tuwien.ac.at
> https://urldefense.proofpoint.com/v2/url?u=http-3A__zeus.theochem.tuwien.ac.at_mailman_listinfo_wien&d=CwICAg&c=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws&r=U_T4PL6jwANfAy4rnxTj8IUxm818jnvqKFdqWLwmqg0&m=HDTPjM91NPMDRN_ayM3D-ot6b3qMvybvCGnR0ODQJ4E&s=kC_y4LnQVvkE19jKjsTxsdOd8tB-Su__aFlTWzmlVIU&e=
> SEARCH the MAILING-LIST at:
> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.mail-2Darchive.com_wien-40zeus.theochem.tuwien.ac.at_index.html&d=CwICAg&c=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws&r=U_T4PL6jwANfAy4rnxTj8IUxm818jnvqKFdqWLwmqg0&m=HDTPjM91NPMDRN_ayM3D-ot6b3qMvybvCGnR0ODQJ4E&s=uJR3nCK748UiBriE2HGyYXQUT-wY8ixQQKR7Vt2qzJ8&e=

--
Professor Laurence Marks
"Research is to see what everybody else has seen, and to think what
nobody else has thought", Albert Szent-Gyorgi
www.numis.northwestern.edu ; Corrosion in 4D: MURI4D.numis.northwestern.edu
Partner of the CFW 100% program for gender equity, www.cfw.org/100-percent
Co-Editor, Acta Cryst A
_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
```