Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 20:32
    antoine-levitt commented #574
  • 19:59
    mfherbst commented #574
  • 19:58
    mfherbst commented #574
  • 19:55
    antoine-levitt commented #574
  • 19:50

    mfherbst on gh-pages

    build based on 5305484 (compare)

  • 19:31

    mfherbst on master

    Replace `@timing_seq` by thread… (compare)

  • 19:31

    mfherbst on thread-local-timers

    (compare)

  • 19:31
    mfherbst closed #574
  • 17:22
    mfherbst opened #574
  • 17:08

    mfherbst on thread-local-timers

    Nonlocal optional in DFT Hamilt… Use thread-local timers Remove sequential-only timing (compare)

  • Jan 27 22:02

    mfherbst on gh-pages

    build based on c288da2 (compare)

  • Jan 27 21:36

    mfherbst on v0.4.5

    (compare)

  • Jan 27 21:36
    JuliaTagBot commented #358
  • Jan 27 21:19

    mfherbst on gh-pages

    build based on c288da2 (compare)

  • Jan 27 20:54

    mfherbst on master

    Bump version: 0.4.4 → 0.4.5 (compare)

  • Jan 27 20:43

    mfherbst on remove_abinit

    (compare)

  • Jan 27 20:43

    mfherbst on master

    Remove outdated and broken ABIN… (compare)

  • Jan 27 20:43
    mfherbst closed #573
  • Jan 27 20:14
    mfherbst synchronize #573
  • Jan 27 20:14

    mfherbst on remove_abinit

    Exports (compare)

Michael F. Herbst
@mfherbst
yes talking to other languages is a point where you need to type-annotate eventually
Louis Ponet
@louisponet
but then adding the type does save you from a mistake
Michael F. Herbst
@mfherbst
there I agree
yes and no
alternatively you make the interface julia-esc and internally ensure to convert to whatever the C layer wants
that's what I meant by not bleeding out the c types by the way
Louis Ponet
@louisponet
yes indeed
Michael F. Herbst
@mfherbst
so ideally the lowest julia layer before calling into c completely abstracts that and as a result does not care whether it is an Int32 or an Int64
Louis Ponet
@louisponet
so to me it feels like the real julian way would be something like having one lowest level function that only allows in the Int32 arrays,
and a same named function for other types that converts first then calls that lowest one
Michael F. Herbst
@mfherbst
yes or you just have one function without types annotated and explicitly convert to the c-type before doing the ccall
if the conversion fails it will bail out either way
Louis Ponet
@louisponet
while the pythonesk way would take in anything and try to convert to the right stuff inside the function, do you know what I mean ? Often in python code I see a lot of if/else figuring out what people called the function with and then converting to what you want to use inside it
Michael F. Herbst
@mfherbst
yes
you mean the if isinstance ... stuff
Louis Ponet
@louisponet
exactly
Michael F. Herbst
@mfherbst
yes exactly that's what Julia tries to avoid by being generic in the interface and by multiple dispatch where you need to be specific
well you can really replace tries by succeeds :smile:
Louis Ponet
@louisponet
hehe yes
One question with respect to the tests
if I would get the wrong balanced reciprocal mesh, would the tests fail?
Michael F. Herbst
@mfherbst
what do you mean by "balanced reciprocal mesh" the monkhorst-pack mesh?
Louis Ponet
@louisponet
yes
inside bzmesh_ir_wedge
Michael F. Herbst
@mfherbst
hopefully
I mean this whole symmetry business is a bit tricky and we've had edge cases before, which were not covered
we test that you get the same results with and without symmetry for a couple of cases
so if you did something major wrong in the symmetry deduction and in getting the irreducible mesh that we would detect that, yes
but subtle things could remain
Louis Ponet
@louisponet
okay, because I remember before I did the right thing, it would not fail but give a lot of the info messages that some reducable kpoints could not be generated from spglib
Michael F. Herbst
@mfherbst
yes indeed
we explicitly check spglib gives us the correct symmetries
Louis Ponet
@louisponet
I see
Michael F. Herbst
@mfherbst
and simply discard the ones which are wrong
so in this case probably many woud be discarded causing the warning
Louis Ponet
@louisponet
right
Michael F. Herbst
@mfherbst
that's a bit of a safe guard because spglib actually sometimes returns garbage
Louis Ponet
@louisponet
oh really
haha that's so bad
Michael F. Herbst
@mfherbst
one should be fair ... only if you give it something unusal
Louis Ponet
@louisponet
ah I see
Michael F. Herbst
@mfherbst
but the point of dftk is to be able to play with unusal stuff
so we want our code not to bail out in this case
hence the safeguard
Louis Ponet
@louisponet
I see
Michael F. Herbst
@mfherbst
by the way ... one example: spglib/spglib#101
so basically if you hit spglib with a non-standardised cell anything could happen
Louis Ponet
@louisponet
I see
that's where the get_standardized_unit_cell function comes into play I guess
Michael F. Herbst
@mfherbst
well kind of. It applies some standardisation, which hopefully gives you a nicer lattice to digest