status NMR shifts with cp2k

akohlmey akoh... at
Sat Apr 28 20:59:15 CEST 2007

On Apr 28, 5:36 am, Teodoro Laino <teodor... at> wrote:
> Ciao Axel,

hi teo,

> I can understand the disappointment  though I don't really understand
> the humor.

you got me completely wrong. there was _no_ disappointment.
...and the mail wasn't meant to be humerous either.

i knew exactly what i was going into, when i was trying out a feature
that was listed in the automatic documentation, but where there was
no regtest. i was expecting a ~10% chance that this was implemented
and somebody just 'forgot' to add a test case.

my input didn't work (no big deal, it has happened before), but now
i was just wondering: did i make a mistake in the input or is the
keyword silently ignored.

> Have a look at the file: qs_dft_coulomb.F
> and grep for "cp_unimplemented_error" you will find that such a
> feature already exists.

all the better. please keep in mind, that in the case of cp2k i have
come to the conclusion, that i am most helpful to 'play' the role
of the 'just user'. so and as a 'just user' i was just trying to make
a very vage suggestion, that it might be helpful to the 'just user'
class of people if they get a feedback so that i know, 'ok. the input
is in principle ok, but the feature is not there'. that is all.

> Once we have accepted the existence of such a function as an evidence
> take into account the following points:
> (1) CP2K is a code where many people work (at least 10 actively) and
> there's mostly no revision on things committed
> in the cvs.. The only revision is the one that people like me or
> Juerg or others do in their spare time cleaning the code
> and fixing these problems/dirtiness introduced during the several
> commits.. BUT we have not the time and the willingness to
> rewrite the work of other people.

i wasn't asking this of you or juerg. i would hope that the person
working on the module in question, reads this message and will
consider it on his/her on accord. that is what i would expect from
a responsable developer. as it is not me who is paying her/him to
do this kind of work, i have no authority to demand this, and - as
with any suggestions - people are free to ignore them.

why is it, that constructive criticism on cp2k is so frequently
interpreted as an attack.

> (2) Each person has its own style.. and is only the effort of VERY
> FEW people in keeping this style uniform across the code..

so in that respect, i would see my comment as a positive
encouragement to the person writing this module to add
a call to the cp2k-unimplemented subroutine.

> (3) The code is now roughly 450K lines (without comments around 200K
> lines).. It is unbelievable that everything, especially
> work on progress features, reflect a proper standard of usage (proper
> errors and so on..)

the size of the code is definitely part of its problem
and for example the reason, why i have stopped trying
to make sense of it personally. i just see a maze and
the required information to find my way around
(communication of the developers) is withheld from me.

i'm probably opening some old wounds and risk a flamewar,
in my personal opinion this code should have been written in C++,
as it is essentially C++ emulated in Fortran. sadly, a lot of
the convenience anc encapsulation of C++ is lost that way.
and after all a line of code that does not have to be written
cannot have any bugs.

please note, that i am not asking to rewrite cp2k in C++,
but i oppose that the size of the code is used as an argument
to defend careless programming. the goal of cp2k must not
be reaching a million lines of code as soon as possible, but
consolidating the functionality and trying to get _rid_ of any
excess baggage. as an example: the patch to CPMD that i
am up to now the most proud of, is one that was adding
functionality, improving modularity and readability and at the
same time reducing the size of the code.


> But on the other hand I find much more constructive, instead of
> making humor, providing a patch fixing these problems.

see above about the humor (BTW, where is it? is it the 'good(?)'?

as you know, i am perfectly capable of producing such a patch,
but you also know of how well most of my previous contributions
were regarded amongst (some of) the cp2k developers. also, _this_
is the kind of change that is easiest done by the person who already
_knows_ the code in question.

> Believe me it would be highly appreciated..

yes. but why should _i_ spend hours to figure out where to place
this reminder and how to do it before i know whether this would
be regarded as suitable at all? hence my suggestion. and i would
have been ok with a response of the kind 'yes, we can add it, if
you write it, and BTW there is a function XXXX that can help you'.

please re-read my post and tell me if i am wrong or how i should
write this kind of suggestion the next time, so i won't get
misunderstood again.

> cheers
> Teo
> p.s.: This e-mail has been forwarded (bcc) as well to the cp2k-
> developer mailing list for their own info.

i would appreciate it, if you could forward the reply as well,
so that people get both views.


More information about the CP2K-user mailing list