marek-piwnicki-L21Zw51kihc-unsplash (1).jpg

Future in Charges

Completed 59 weeks ago
0 team

Renewable energy, driven by wind and solar, is increasing the amount of cheap electrical power, albeit intermittently. To support the growth of these energy sources and advance the energy transition, the world needs improved storage facilities, including better battery technology. To progress towards next-generation storage facilities, we need better modeling of the electro-chemical processes that batteries are based on. 

Future in Charges is a series of three sequential challenges that ask the Xeek Community to help solve the complex challenge of modeling batteries to improve their efficiency. The theme of these challenges is understanding the Poisson-Boltzman partial differential equation through 1D, 2D, and 3D problem sets.

The challenge is unique from past Xeek competitions:

  • There's an intermediate prize payout for first 10 participants who pass Stage 2.

  • The finalist's solutions will be published under an open license for the larger community to benefit from


Electric double layers play an important role in many science and engineering fields: from cell biology and colloids to electrochemical devices such as batteries and electrolyzers. For a short introduction, refer to this video and Wikipedia article. An electric double layer is a three part structure that forms when a fluid makes contact with an object’s surface [1]. It reduces electric fields when charges in the fluid restrain the charges on the surface, thus limiting effective ion transport from the object. The thickness of the electric double layer (Debye length) is inversely proportional to the square root of the salt concentration and can range from 1 mm (pure water) to under 1 nm (highly saline solutions). If fluid concentration is high, the electric double layer is reduced, and the electric field is stronger.


Figure 1: Schematic of the electrical double layer in an aqueous solution at the interface with a negatively-charged surface of a mineral solid [3].

In modeling an electrochemical device numerically with discretization methods, typical gridblock sizes can go down to a mm or slightly below that. Consequently, the electric double layer is an unresolved subgrid feature that cannot easily be computed explicitly and often relies on introducing “appropriate” boundary conditions. For this challenge, we are looking at developing computationally cheap solutions to compute the effect of the double layers. In turn, these solutions can then be used to generate the boundary conditions as a function of the “bulk” conditions and surface charge distributions. The physical situation described above can be represented by the Poisson-Boltzmann Equation (PBE). Several cross-sections of the solutions will be provided to help test and develop a computationally efficient algorithm that can then be used to generate solutions for arbitrary surface/pore shapes and charge distributions. 

 We encourage the participants to explore unconventional methods in addition to (or instead of) traditional numerical PDE solvers. Deep neural networks (DNNs), in particular, have shown great promise as surrogate models or “proxies.” Such DNN models now achieve good accuracy and are significantly faster than numerical solvers on various PDEs. Convolutional DNNs are used in [4], and more modern “transformer” architectures in [5]. Such approaches have also been implemented at scale on modern supercomputers to solve the 3D Poisson equation on millions of grid elements [6].

Contest Structure

Future in Charges is divided into three sequential challenges.  This will allow contestants to build up a feeling for specific solutions of the Poisson-Boltzmann Equation before accessing the key challenge in Stage 3.

Stage 1 is a simple 1D problem.  When you solve Stage 1, you gain access to Stage 2, a more complex 2D problem.  The first ten contestants that solve Stage 2 will receive an intermediate prize of $500.  When you solve Stage 2 you gain access to Stage 3, a complex 3D problem.  When you solve Stage 3, you are eligible for the final prize payout.

Stage 1

This stage asks you to find a computationally efficient solution for a 1D PBE problem. For this purpose, the PBE reduced to one spatial dimension can be written as [2]:


where y and x are scaled parameters for the potential and distance between a plate.  The data for Stage 1 is a series of electrical potential curves, each with an initial condition, that represent decreasing electrical potential (phi) away from an electrode.  To pass Stage 1, your objective is to predict electrical potential for ten different series with different initial conditions (X1-X10) (Figure 2).  Your solution could be derived either numerically or analytically.  Consult the starter notebook for ideas on how to get started.

Submissions for Stage 1 are a simple CSV, no code needs to be submitted.  The Stage 1 scoring algorithm will derive a similarity score for the target (phi) by computing a modified root mean squared error (RMSE), accruing the total error across all points in the submission.  A lower score is considered more successful.  Contestants can submit up to 20 predictions per day.  If your score achieves an RMSE score of less than 20 you will progress to Stage 2.


Figure 2: An example of an electrical potential curve (black) decreasing away from an electrode (left side of figure).  Contestants are asked to find a match given only a set of initial conditions for the electrode.

Stage 2

In the next stage, another dimension is added to the Stage 1 problem.  The data you are provided represent two infinitely parallel electrodes with the measured electrical potential between them  (Figure 3). To pass this Stage, you must predict the electrical potential between a new set of 20 electrode pairs with different initial conditions.  The output you need to generate is a 251x250 grid that approximates the electrical potential for each of the 20 electrode pairs.  Your solution could be derived either numerically or analytically.

Submissions for Stage 2 are a simple CSV, no code needs to be submitted.  The Stage 2 scoring algorithm will derive a similarity score for the target using the modified RMSE in both x, y axes.  Contestants can submit up to 20 predictions per day.  If your score achieves an RMSE score of less than 0.2 you will progress to Stage 3.  Submissions will be evaluated by a Judge to ensure they are legitimate solutions to the problem. If you are one of the first ten contestants to pass  Stage 2, you will receive an intermediate prize payout of $500.


Figure 3: An example of a solution for Stage 2.  The electrodes are at the edges of the surface with the highest electrical potential (dark red).

Stage 3

In the final stage, you are given a 3D structure  (Figure 4a) and only some of the electrical potential (phi) distributed upon it.  Your objective is to predict charge across the rest of the structure.  The electrical potential information you are given has been sampled from a 2D slice of the structure (Figure 4c).  This slice design mimics the real world applications for this challenge.  

To help build your solution, you are provided four different 3D structures (cone, hourglass, cylinder, and wedge) with their full electrical potential distribution.  Also for this training data, we provide you the initial conditions and one 2D slice of each structure.  Use these slices to test how your solution predicts electrical potential on the rest of the structure.  If you want more 2D slices to test on, we provide a function in the Stage 3 starter notebook to generate more slices.  Building your model around the slices is important as only coordinates and slices will be provided for the test data (Predictive Leaderboard) and holdout data (final evaluation).

Submissions for Stage 3 are a simple CSV.  The Stage 2 scoring algorithm will derive a similarity score for the target (phi) using a modified RMSE.  Contestants can submit up to 3 predictions per day.  See the next section on Final Evaluation metrics to understand how final submissions will be assessed.


Figure 4: Three different views of the cone structure.  a) an interpolated version of the cone showing electrical potential from low (blue) to high (red).  b) the sparse grid of the cone with colors representing electrical potential.  Note the red polygon that represents the slice for 4c.  c) an example slice of the cone with colors representing electrical potential.

Final Evaluation

At the end of the challenge, Xeek will request code from the top submissions for review by a panel of judges.  A submission must contain a Jupyter Notebook, a requirements.txt, and any additional parameters a contestant has generated.  The requirements.txt should describe the Python environment used to build the solution.  It needs to contain the libraries and their versions and the Python version (>=3.6 is preferred). 

The judges will score the top submissions on accuracy (70%), creativity (20%), and interpretability (10%).  The accuracy of the submission counts for 70% of the final score.  Accuracy will be determined using the same modified RSME method used in Stage 3 on holdout data.  The top 20% of scores will receive full points (80).  Other submissions will receive points based on how closely they were to the top performing submissions.

There are multiple ways to solve Stage 3 and we want to encourage contestants to explore different solution paths.  Therefore, the judges will be reviewing submissions for how contestants explored the inputs, used a variety of methods, and the ingenuity of the submission created for the challenge.  These will all factor into 20% of the final score.  Submissions with exceptional creativity will receive full points.  Other submissions will receive points based on the level to which they meet the criteria.

Lastly, judges will be assessing submissions on their interpretability.  This criterion focuses on the degree of documentation, clearly stating variables, and reasonably following standard Python style guidelines.  Submissions with exceptional interpretability will receive full points. Other submissions will receive points based on the level to which they meet the criteria.

At the end of judging, final scores will be placed on the Xeek challenge page. If a tie occurs then the judging panel will break the tie by evaluating the level of creativity of the solution.

  1. Chapter 4 of Reviews in Computational Chemistry Volume 19, Edited by B. Lipkowitz, Raima Larter and Thomas R. Cundari.

  2. Miller, J. (March 19, 2019). Measuring Zeta Potential - Origin of zeta potential [Video]. YouTube.

  3. Double layer (surface science). (2022, May 15). In Wikipedia.

  4. R. Aggarwal and H. Ugail, On the Solution of Poisson’s Equation using Deep Learning, 13th International Conference on Software, Knowledge, Information Management and Applications (SKIMA), 2019, pp. 1-8, doi: 10.1109/SKIMA47702.2019.8982518.

  5. Z. Li, D. Z. Huang, B. Liu, and A. Anandkumar, Fourier Neural Operator with Learned Deformations for PDEs on General Geometries,

  6. A. Balu et al., SC '21: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, November 2021, Article No. 49, Pages 1–14,