<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.cp2k.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.cp2k.org/feed.php">
        <title>CP2K Open Source Molecular Dynamics  - dev</title>
        <description></description>
        <link>https://www.cp2k.org/</link>
        <image rdf:resource="https://www.cp2k.org/_media/wiki:logo.png" />
       <dc:date>2026-04-30T20:38:37+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:codestructure?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:codingconventions?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:compiler_support?rev=1697283524&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:dashboard?rev=1699880643&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:dbcsr_insights?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:debugging?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:error_handling?rev=1741441287&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:formattingconventions?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:fypp?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:meetings?rev=1777153903&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:printkey?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:profiling?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:python?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:reference_counting?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:regtesting?rev=1697724180&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:release_checklist?rev=1767693689&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:starting?rev=1671182865&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:templates?rev=1598004913&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.cp2k.org/dev:todo?rev=1605808013&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.cp2k.org/_media/wiki:logo.png">
        <title>CP2K Open Source Molecular Dynamics </title>
        <link>https://www.cp2k.org/</link>
        <url>https://www.cp2k.org/_media/wiki:logo.png</url>
    </image>
    <item rdf:about="https://www.cp2k.org/dev:codestructure?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>codestructure</title>
        <link>https://www.cp2k.org/dev:codestructure?rev=1598004913&amp;do=diff</link>
        <description>CP2K Code Structure

CP2K is a large, complex application which has many features, methods and algorithms implemented.  When looking at the code for the first time it can be very challenging to understand how it all works, or even where to start looking!  This page is intended for novice developers who have read and understood the literature and wish to locate the relevant algorithms and data structures in the code.</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:codingconventions?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>codingconventions</title>
        <link>https://www.cp2k.org/dev:codingconventions?rev=1598004913&amp;do=diff</link>
        <description>Coding Conventions

Stick to the standard

	*  Code enabled by default should be standard Fortran 2008 [-std=f2008] and C99 [-std=c99]
	*  OpenMP code should follow version 3.X of the standard
	*  MPI should should follow version 3 of the standard
	*</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:compiler_support?rev=1697283524&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-14T11:38:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>compiler_support</title>
        <link>https://www.cp2k.org/dev:compiler_support?rev=1697283524&amp;do=diff</link>
        <description>While CP2K adheres to the Fortran 2008 standard, not all compilers (or compiler versions) are able to build CP2K correctly.
GCC is the most tested compiler. We test some Intel Compiler versions. All other compilers are only used for testing and they are not fully supported, i.e. they can be used with some restrictions. For more details see the CP2K</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:dashboard?rev=1699880643&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-13T13:04:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dashboard</title>
        <link>https://www.cp2k.org/dev:dashboard?rev=1699880643&amp;do=diff</link>
        <description>This page has been moved to: &lt;https://github.com/cp2k/cp2k/blob/master/tools/dashboard/README.md&gt;</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:dbcsr_insights?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dbcsr_insights</title>
        <link>https://www.cp2k.org/dev:dbcsr_insights?rev=1598004913&amp;do=diff</link>
        <description>DBCSR Insights

Assumed square matrix with 20x20 matrix with 5x5 blocks and a 2x2 processor grid</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:debugging?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debugging</title>
        <link>https://www.cp2k.org/dev:debugging?rev=1598004913&amp;do=diff</link>
        <description>Debugging

Debugging CP2K can be a little challenge. So suggestions and techniques here make things easier.

reproducer

To debug the code, one will need to have an input that reliably triggers the problem. If the bug is really hard (i.e. requires repeatedly running the testcase), finding a sufficiently small testcase is very valuable. See if the bug reproduces with few atoms, lower cutoff, small basis, energy instead of md,</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:error_handling?rev=1741441287&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-08T13:41:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>error_handling</title>
        <link>https://www.cp2k.org/dev:error_handling?rev=1741441287&amp;do=diff</link>
        <description>Error Handling

In CP2K there exist three convenient macros for error handling. They are defined in src/base/base_uses.f90, and are therefore always available. However, these macros can only be used for short messages (approximately less than 7 words), because of Fortran&#039;s line length limitation.</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:formattingconventions?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>formattingconventions</title>
        <link>https://www.cp2k.org/dev:formattingconventions?rev=1598004913&amp;do=diff</link>
        <description>Code Formatting Conventions and Prettify Tool

Uniform formatting of CP2K source code is enabled by a prettify script that is an almost complete auto-formatter for Fortran 90 source code. As a rule of thumb, developers should not worry about the format of their code and just let prettify do its magic by running</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:fypp?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fypp</title>
        <link>https://www.cp2k.org/dev:fypp?rev=1598004913&amp;do=diff</link>
        <description>Fortran metaprogramming using Fypp

Fypp (official repository) is a Fortran preprocessor based on Python expressions. Fypp directives can be used in all CP2K Fortran source files. For simple metaprogramming tasks (such as conditional compilation and include statements), the default Fortran preprocessor (cpp or fpp) can still be used. However cpp is very limited and if more advanced metaprogramming capability is needed (loop unrolling, templates, code generation), usage of Fypp is highly encourag…</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:meetings?rev=1777153903&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-25T21:51:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>meetings</title>
        <link>https://www.cp2k.org/dev:meetings?rev=1777153903&amp;do=diff</link>
        <description>Developer Meetings

Announcements

CP2K Developer meetings are announced at &lt;https://github.com/cp2k/cp2k/discussions&gt; and happen two-four times per year in a virtual format.

Notes

	*  CP2K Developers Meeting 20th April 2026: 
	*  CP2K Developers Meeting 27th October 2025: 
	*  CP2K Developers Meeting 24nd February 2025:</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:printkey?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>printkey</title>
        <link>https://www.cp2k.org/dev:printkey?rev=1598004913&amp;do=diff</link>
        <description>Printkeys

When writing output in cp2k, to the screen or a file, one should use a printkey. 

A printkey allows the user to control the output. He can e.g. turn if off, redirect it to a different file, or output after a certain number of iteration (see</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:profiling?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>profiling</title>
        <link>https://www.cp2k.org/dev:profiling?rev=1598004913&amp;do=diff</link>
        <description>Profiling CP2K

Why profiling ?

In order to understand and improve the run-time performance of CP2K it is often needed to collect detailed timing information. This provides answers to questions such as &#039;how long does this subroutine take?&#039; or &#039;who calls this subroutine&#039;. This is most useful for developers, (non-expert) users rarely ever need this detailed info.</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:python?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>python</title>
        <link>https://www.cp2k.org/dev:python?rev=1598004913&amp;do=diff</link>
        <description>Python

Python is the preferred scripting language of the CP2K project.

Self-Testing

All python scripts should support self-testing. This means that the script can be invoked with --selftest as its sole argument. 

Ideally, a script&#039;s self-test consists of an exhaustive suite of unit-tests. At the very least, it should not crash or break anything. Even an empty self-test will still reveal syntax and import errors, which are the most common Python 3 compatibility issues.</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:reference_counting?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>reference_counting</title>
        <link>https://www.cp2k.org/dev:reference_counting?rev=1598004913&amp;do=diff</link>
        <description>Reference counting

Reference counting is a memory management technique (pattern), that can help to share objects, using memory more efficiently and safely. This technique can be applied to objects that are always transferred via pointers.

Sharing objects</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:regtesting?rev=1697724180&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-19T14:03:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>regtesting</title>
        <link>https://www.cp2k.org/dev:regtesting?rev=1697724180&amp;do=diff</link>
        <description>CP2K Regression Testing

CP2K comes with over 3000 test input files (located in tests) which serve as both examples on how to use the many features in CP2K and also as a method for developers to test modifications and extensions to CP2K. In order to reduce the chance of bugs being introduced into the code, and ensure that all parts of the code are working. We also recommend that all users complete a test before using a self-compiled binary for their projects.</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:release_checklist?rev=1767693689&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-06T10:01:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>release_checklist</title>
        <link>https://www.cp2k.org/dev:release_checklist?rev=1767693689&amp;do=diff</link>
        <description>Release Checklist

1. Check that the dashboard is green and there are no other blocking issues

2. Cut the release version


git checkout -b support/v20XX.Y


Edit the cp2k_version string in src/cp2k_info.F and CMakeLists.txt (⚠️ remove the  Development Version).


tools/build_utils/get_revision_number src &gt;REVISION
git add REVISION src/cp2k_info.F CMakeLists.txt
git commit -m &quot;Cut release version 20XX.Y&quot;</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:starting?rev=1671182865&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-16T09:27:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>starting</title>
        <link>https://www.cp2k.org/dev:starting?rev=1671182865&amp;do=diff</link>
        <description>Starting development

CP2K invites the community to contribute to its development! 
Documentation improvements, bug fixes, performance enhancements, portability issues, new features, new methods ... you are encouraged to contribute so that the community as a whole can benefit.</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:templates?rev=1598004913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-21T10:15:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>templates</title>
        <link>https://www.cp2k.org/dev:templates?rev=1598004913&amp;do=diff</link>
        <description>Fypp
Templates

Templates are parametrized types, i.e. functions and types that depend (have as parameter) other types. To better understand what they are and why they are useful it is better to look at practical situations where they are useful.

Container structures</description>
    </item>
    <item rdf:about="https://www.cp2k.org/dev:todo?rev=1605808013&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-19T17:46:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>todo</title>
        <link>https://www.cp2k.org/dev:todo?rev=1605808013&amp;do=diff</link>
        <description>Nice to Haves

This is a list of nice to have features or changes in CP2K that nobody got around to do, yet. ;-) They are noted down here so we don&#039;t forget about them.

Some of them may be suitable for one or more Google Summer of Code projects.

External Libraries

	*  Use GNU Scientific Library for special math functions, sorting, splines, physical constants,</description>
    </item>
</rdf:RDF>
