1 Introduction

Microbial fuel cells (MFCs) are energy transducers that convert organic matter, including waste, directly into electricity using microorganisms. The available organic matter in MFCs varies, ranging from simple substances (e.g. acetate, glucose, and butyrate) to complex substances (e.g. municipal wastewater, brewery wastewater, and urine) (Pant et al. 2010; Zhanga et al. 2011; Ieropoulos et al. 2012). In addition to the advantages of direct energy conversion, MFCs are environmentally friendly, recovering energy from waste.

Scale-up through the physical stacking and electrical connection of multiple MFC units is essential for practical applications of the technology since the energy density of an individual MFC unit is relatively low (Aelterman et al. 2006; Ieropoulos et al. 2008). For treating wastewater, stacking MFC units in a cascade manner has been considered as a potential replacement of the trickling filter treatment process (Winfield et al. 2012). This type of process is very efficient for small to medium sized volumes of wastewater treatment where large areas of land are unavailable. Furthermore, it does not require high power to run since aeration or mixing is unnecessary. However, when connecting multiple MFC units electrically, issues such as cell reversal can be problematic (Oh and Logan 2007; Ieropoulos et al. 2010a). Several factors, which include substrate depletion, immaturity of anode biofilms, and inappropriate external electrical load, could lead to cell reversal (Oh and Logan 2007; Ieropoulos et al. 2010a; Harnisch et al. 2009; An and Lee 2014). In order to avoid cell reversal, several strategies have been suggested, including the use of capacitors, power management systems, or building homogeneous anode biofilms (Zhang and Angelidaki 2012; Papaharalabos et al. 2017; Sugnaux et al. 2017). For cascade systems, feedstock distribution within cascades is particularly important since feedstock composition changes throughout the stack, which in essence changes the internal resistance.

Design mining is the use of computational intelligence techniques to iteratively search and model the attribute space of physical objects evaluated directly through rapid prototyping to meet given objectives. It enables the exploitation of novel materials and processes without formal models or complex simulation, whilst harnessing the creativity of both computational and human design methods. A sample-model-search-sample loop creates an agile/flexible approach, i.e. primarily test-driven, enabling a continuing process of prototype design consideration and criteria refinement by both producers and users. We have recently demonstrated the success of the approach to discover new wind turbine designs (Preen and Bull 2014, 2015, 2016, 2017). In this article, we explore the application of design mining for MFC cascade design.

A recent review of the evolution of physical systems can be found in Preen and Bull (2017) and is therefore not covered here. The remainder of this article is organised as follows. We begin with a brief overview of MFC cascades and a tuneable model that can be used to explore aspects of cooperative coevolution. Method and results are then presented for simulations of MFC cascade coevolution. Subsequently, we present results from a physical experiment used to optimise designs of conductive structures that are 3D-printed and inserted into each MFC unit in a cascade, augmenting a carbon fibre veil anode and affecting the hydrodynamics, including the feedstock volume and hydraulic retention time, as well as providing unique habitats for microbial colonisation.

2 Background

2.1 Cascades of microbial fuel cells

MFCs convert the chemical energy of feedstock into electricity through the metabolic activity of microorganisms. They usually consist of two compartments, an anode and a cathode, separated by an ion-permeable material. In the anode, microorganisms oxidise organic matter (fuel) and release \(\hbox {CO}_2\), electrons, and protons. Electrons produced in the anode, flow to the cathode via an external circuit as the result of electrophilic attraction from the cathode electrode, whilst protons migrate from the anode to the cathode through the separator between the two compartments. The electrons and protons subsequently combine with oxygen (final electron acceptor), and this reduction reaction completes the circuit (Li et al. 2008; Chae et al. 2008). The quantity of electrons flowing through the external circuit is the electricity being produced, i.e. current.

For MFC scale-up in terms of power generation, two distinct approaches have been suggested. The first is to increase the size of an individual MFC (Logan 2010). The second is to build a multitude of relatively small MFCs connected electrically (Ledezma et al. 2013; Ieropoulos et al. 2016). In the case of the second approach, the output of an MFC system is amplified by the number of MFC units employed, similar to how batteries can be connected together. Scale-up is also vital to treat certain volumes of wastewater. It is generally accepted that continuous flow is more favourable for both stable power generation and the treatment of large volumes of wastewater.

In a cascade system, the original feedstock is supplied to the first MFC unit positioned on the top of the cascade. Its effluent flows to the unit immediately below; the effluent of the first MFC therefore becomes the substrate for the downstream MFC. This is the same for third, fourth, etc. The performance of each MFC, in terms of the amount of substrate utilised, reproduction of anodic microorganisms or by-products from substrate utilisation, can therefore have a significant effect on other MFCs, despite not being connected hydraulically. For example, downstream MFCs are likely to be fed with a lower concentration of feedstock compared with the MFCs upstream since some of the readily available substrates are depleted before arrival. When single or multiple units experience substrate depletion, the power output is consequently reduced. In the long term, this can affect the anodic biofilm, causing the units to permanently underperform.

Hence, providing sufficient quality feedstock to each MFC unit in a stack is essential. One solution is to supply high concentrations of feedstock to cascades, to ensure all of the units have sufficient fuel. However, for maximum substrate utilisation and therefore maximum waste treatment efficiency, this may not be the best approach. Other operating parameters such as the flow rate, which consequently determines the hydraulic retention time (HRT), can be tuned to achieve both efficient energy production and waste treatment. Given that a cascade has only one source of feedstock flow, different HRT for individual MFC units in the cascade can be formed by changing the volume of each unit. Walter et al. (2016) have recently shown that the power density of a cascade can be increased by reducing the size of downstream MFC units.

Many studies have investigated different design parameters, including the distance between the anode and cathode, and the surface area of both electrodes (Liu et al. 2006; Oh and Logan 2006; Scott and Yu 2015). However, studies of MFC reactor design optimisation embracing these parameters together are rare. This is particularly true for MFC cascade systems. In this respect, additive manufacturing technology, also known as 3D printing, can be a very useful tool to test novel MFC architectures as well as electrodes and separators relatively quickly and easily (Ieropoulos et al. 2010b; Calignano et al. 2015; You et al. 2017). The design optimisation of individual MFC units will improve the individual performance, which results in performance enhancements to the whole system in terms of waste treatment efficiency and level of power output. This can also save the cost of materials, building and system footprint.

2.2 Parallelism

Genetic algorithms (Holland 1975) are population-based search and optimisation techniques that are inherently parallel. For example, multiple offspring can be evaluated simultaneously. The multi-population approach of cooperative coevolutionary algorithms (Husbands and Mill 1991) presents even more ways in which parallelism can be used. For example, combinations of offspring from multiple species populations can be evaluated simultaneously. Consequently, there is a growing body of work using graphics processing units to parallel process evolutionary algorithms, thereby reducing the wall-clock time required to find suitable solutions (Liu et al. 2015). Analogous to the use of graphics processing units for parallel hardware processing, in this article we use multiple 3D printers and multiple physical testing equipment to perform parallel evaluation of new MFC designs.

2.3 Adaptive population sizing

Most evolutionary algorithms fix the number of parents and offspring throughout optimisation. However, adapting the number of offspring with respect to evolutionary convergence has long been suggested as a means to improve the progress per fitness function evaluation (Hansen et al. 1995). The underlying concept is to adjust the population size to the smallest necessary to maintain sufficient search (genetic) diversity, thereby conserving the number of fitness function evaluations per generation. Recently, LaPort et al. (2015) have shown that adapting the parental population size with respect to mutation and fitness rates can optimise the search diversity and thus improve fitness and convergence. See Karafotias et al. (2015) for an overview of parameter control in evolutionary algorithms, including the population size.

2.4 The NKCS model

Kauffman and Johnsen (1991) introduced the abstract NKCS model to enable the study of various aspects of coevolution. In their model, an individual is represented by a genome of N (binary) genes, each of which depends epistatically upon K other randomly chosen genes in its genome. Thus increasing K, with respect to N, increases the epistatic linkage, increasing the ruggedness of the fitness landscapes by increasing the number of fitness peaks, which increases the steepness of the sides of fitness peaks and decreases their typical heights. Each gene is also said to depend upon C randomly chosen traits in each of the other X species with which it interacts, where there are S number of species in total. The adaptive moves by one species may deform the fitness landscape(s) of its partner(s). Altering C, with respect to N, changes how dramatically adaptive moves by each species deform the landscape(s) of its partner(s).

The model assumes all inter- and intragenome interactions are so complex that it is appropriate to assign random values to their effects on fitness. Therefore, for each of the possible \(K+(X \times C)\) interactions, a table of \(2^{K+(X \times C)+1}\) fitnesses is created for each gene, with all entries in the range [0,1], such that there is one fitness for each combination of traits. The fitness contribution of each gene is found from its table; these fitnesses are then summed and normalised by N to give the selective fitness of the total genome for that species. Such tables are created for each species (Bull 2016).

See example in Fig. 1; the reader is referred to Kauffman (1993) for full details. This tuneable model has previously been used to explore coevolutionary optimisation, for example in the comparison of partnering strategies (Bull 1997). We similarly use it here to systematically compare various techniques for the design mining approach.

Fig. 1
figure 1

The NKCS model: each gene is connected to K randomly chosen local genes (solid lines) and to C randomly chosen genes in each of the X other species (dashed lines). A random fitness is assigned to each possible set of combinations of genes. The fitness of each gene is summed and normalised by N to give the fitness of the genome. An example NKCS model is shown above and example fitness tables are provided for species s1, where the s1 genome fitness is 0.416 when \(s1=[101]\) and \(s2=[110]\)

3 Simulations of MFC cascade coevolution

3.1 Methodology

In this article, 5 cascades composed of 4 MFCs are evaluated in parallel, where each cascade is physically duplicated and the average output is then used as fitness, i.e. there are 10 physical cascades. The fittest cascade is rerun in the subsequent test cycle to ensure that new designs are compared consistently. Thus, initially 5 different cascades are simultaneously evaluated to generate initial data, each composed of \(S=4\) randomly created individuals. Thereafter, 4 new cascade evaluations occur in parallel on each test cycle.

Initially, we use the NKCS model to simulate MFC cascade coevolution and compare different evaluation strategies. To simulate the cascade flow, it is assumed that the first species is epistatically dependant only on the second species (i.e. \(X=1\)), whereas the second and third species are linked to both neighbouring species (i.e. \(X=2\)) and the fourth species linked only to the third (i.e. \(X=1\)). An individual MFC is represented by \(N=20\) genes.

The new individuals produced for each test cycle are generated as follows. In the standard (1 \(+\) 4) algorithm, each species is evaluated sequentially by creating 4 offspring from the single fittest individual in the species and partnering each with the fittest individuals in the other species; see Algorithm 1. In (1 \(+\) 1)\(\times S\), each of the \(S=4\) species produces a single offspring from the fittest member in parallel and each are partnered with the fittest individuals in the other species; see Algorithm 2. In (1 \(+\) 4)-off, each species produces 4 offspring from the fittest member of that species in parallel and are partnered together for evaluation, i.e. \(4 \times S\) offspring are created and tested in parallel; see Algorithm 3.

figure a
figure b
figure c

Given the small initial population size, the same evaluation strategies are compared with versions where the population size of each species increases to a maximum of 50. That is, each algorithm runs as before, however tournament selection is used for parental selection (and replacement after the population reaches the maximum.) The tournament sizes are set to 80% of the current population size. In all algorithms, the per allele mutation probability is 5%, with a crossover probability of 0%. All results presented are an average of 100 experiments consisting of 10 coevolutionary runs on 10 randomly generated NKCS functions.

3.2 Results

The performance of the different evaluation strategies are shown for 4 different K and C values in Fig. 2, each representing a different point in the range of inter- and intra-population dependence. The performance of the same strategies with an expanding population size are shown in Fig. 3.

Fig. 2
figure 2

Simulations of cascade coevolution. Results are an average of 100 experiments consisting of 10 coevolutionary runs of 10 random NKCS functions

Fig. 3
figure 3

Simulations of cascade coevolution with expanding population sizes. Results are an average of 100 experiments consisting of 10 coevolutionary runs of 10 random NKCS functions

The results show that during the early stages of evolution there is little difference between the algorithms. For example, Table 1 shows that there is no significant difference after 400 evaluations when K and C are greater than 2. However, after 2000 evaluations, evaluating all offspring together is significantly greater for all values of K and C, showing that this approach is able to search a wider design space while following increases in the fitness gradient. Expanding the population size appears to provide no performance increase to the algorithms; see Table 2, which shows that there are no significant differences.

Since the physical testing of MFCs is a time consuming process, there is only a small evaluation budget available and therefore there appears to be no benefit from the additional exploration by evaluating all offspring simultaneously. Consequently, in the rest of this article the coevolutionary algorithm \((1+1)\times 4\) is used as this fits more naturally with the parallel evaluation performed with the physical test equipment and, although not statistically significant, the mean fitness values were greater for small numbers of evaluations.

4 Physical MFC cascade coevolution

4.1 Methodology

For this study, 12 cascades in a pair (1 pair as a reference) were run and each cascade consisted of 4 MFC units. For each MFC unit, a ceramic cylinder (inner diameter: 17 mm, thickness: 3 mm, height: 50 mm; EM80P; Anderman Industrial Ceramics Ltd., UK) was placed in a cylindrical plastic container, acting as the electrode separator. A carbon fibre veil (carbon loading: \(20\, \hbox {g/m}^2\); Plastic Reinforcement Fabrics Ltd., UK) anode with size of \(270 \,\hbox {cm}^2\) (width: 30 cm, length: 9 cm) was wrapped around the ceramic separator and a hot-pressed activated carbon cathode electrode with a total surface area of \(20 \,\hbox {cm}^2\) (width: 4 cm, length: 5 cm) was placed inside the separator. Without a 3D-printed insert, this container held 44 mL volume of anolyte. Figure 4 shows one MFC reactor assembled with an outer anodic chamber and inner air-cathode compartment configuration. Each MFC unit was placed 15 cm apart in cascade manner. The experimental setup and a cascade schematic are shown in Fig. 5.

Table 1 Simulation best fitnesses after 400 and 2000 evaluations (averages of 100)
Table 2 Simulation best fitnesses with expanding population sizes after 400 and 2000 evaluations (averages of 100)

Cylindrical anode inserts were fabricated with a 3D printer (Replicator 2; MakerBot Industries LLC, USA) using a conductive polylactic acid (PLA) based filament (Proto-pasta; ProtoPlant Inc., USA) at 0.3 mm resolution. The conductive filament is a compound of PLA, a dispersant, and conductive carbon black. The measured volume resistivity of 3D-printed conductive parts perpendicular to layers was 44 \(\Omega \cdot \)cm. See You et al. (2017) for further information on commercially available 3D-printed filaments for MFC anodes and membranes. This conductive PLA based filament was chosen to provide conductive inner structure as well as to create different volumes, inner shapes, and hydrodynamics in each MFC unit’s anodic chamber.

Fig. 4
figure 4

MFC unit assembly

Fig. 5
figure 5

Experimental setup. 12 cascades of 4 MFC units (left) and cascade schematic (right). Numbers show each MFC unit position within a stack and arrows indicate direction of feedstock flow. Five unique cascade designs and a control are evaluated in parallel, each duplicated for averaging

The total height of each insert was fixed at 40 mm in order to fit inside the MFC container. Each insert was divided into 4 sections of 10 mm height. Each section was encoded by 3 genes that represent the inner radius, diameter of holes, and distance between holes. Therefore, there are 12 genes in total. The outer radius of each section was fixed to 19.5 mm, i.e. the inner radius of the container. The minimum inner radius of each section was 14.5 mm and the maximum 17.5 mm. This was necessary to enable sufficient space for the ceramic separator, cathode, and carbon veil anode, and to ensure that a minimum sufficient amount of structural material was deposited for subsequent z-layers. Circular holes were created along the y-axis. Hole diameters were permitted from 0 to 3 mm, and distance between holes from 1 to 4 mm. Thus, each insert design is encoded as 12 integers (genes) in the range [0, 3], each allele representing 1 mm increments between the permissible ranges. For example, if the first 3 genes are [0, 1, 1], the bottom section has an inner radius of 14.5 mm (14.5 \(+\) 0); hole diameters of 1 mm (0 \(+\) 1); and hole spacing of 2 mm (1 \(+\) 1). There are approximately 20,000 possible morphologies in each cascade position; see example in Fig. 6. Offspring are created by copying and mutating 2 genes from the fittest individual in each species/position. A mutation event randomly increments or decrements the gene by 1 (mm).

Fig. 6
figure 6

Example anodic chamber insert with 4 sections each of 10 mm height. Each section may vary the inner radius, diameter of holes, and hole spacing. Genome: [1, 1, 0, 1, 1, 2, 0, 2, 1, 0, 1, 0]. Each insert has a 2 mm thick base with a 6-mm-diameter hole in the bottom so that it lies flat in the centre of the MFC container, and includes rectangular spaces of 8 mm width for inlet (bottom half) and outlet (opposite side, top half). 50 min fabrication time

The MFCs were inoculated with sewage sludge (Wessex Water Services Ltd., UK) and fed with synthetic wastewater (Winfield et al. 2012) with 10 mM of acetate as a sole carbon source. Feedstock solution was provided continuously at 14 mL/h to the first MFC units of the cascades, and effluent of the first units overflowed to the ones below. The MFCs were hydraulically disconnected. Initially \(2 \,\hbox {K}\Omega \) external resistors were connected to all MFCs, then the value of resistance changed to \(1\, \hbox {K}\Omega \) for the first and second MFC units of a cascade. Power output of the MFCs was monitored continuously in volts (V) using a multi-channel Agilent 34972A DAQ unit (Agilent Technologies Inc., USA) every 5 min. For chemical oxygen demand (COD) analysis, effluent of 2 mL volume was taken from each MFC unit and filter-sterilised with \(0.45\, \upmu \hbox {m}\) syringe filters (Millex; Millipore UK Ltd., UK) prior to analysis. COD was determined using the potassium dichromate oxidation method (COD MR test vials; Camlab Ltd., UK) and analysed with a photometer (Lovibond MD 200; The Tintometer Ltd., UK). The experiment was carried out in a temperature controlled environment at \(22\pm 2\, ^\circ \hbox {C}\).

At the beginning of each week, all MFCs were run without 3D-printed inserts for 2 days. Power outputs during this time were used to normalise the stack outputs once inserts were added. 3D-printed inserts generated using Algorithm 2 were subsequently added into the MFC anodic compartments in order to create different inner volumes and structures. MFCs were run for an additional 2 days with inserts, and the average power output of the cascade units during this period was used as fitness values. In the event of a tie, the design producing the highest power density became the winner. The experiment was run for 10 generations, with initial inserts generated randomly.

4.2 Results

After 10 generations the average power of an MFC unit in the fittest cascade had increased from 53.8 to \(77.8\,\upmu \hbox {W}\) (a 44.6% increase) with an average MFC unit power density increase from 1.95 to \(2.93 \,\upmu \hbox {W/mL}\) (a 50.3% increase; volumetric power density was normalised by the anolyte volume.) The individual MFC unit power values from generation 0 and 9 are shown in Fig. 7 and the designs are shown in Fig. 8.

In comparison with the standard MFC cascade, i.e. without any 3D-printed inserts, the evolved cascade produced \(\sim \) 20% more power and double the power density. Treatment efficiency measured in COD values was over 90% for both the fittest (93.2%) and standard (94%) MFC cascades. This is higher than the generation 0 cascades, which was 86.6%. This demonstrates that system efficiency, in terms of both power generating performance and treatment efficiency, can be improved through design optimisation. When the inserts’ MFC cascade position was inverted, i.e. the insert in the first position becoming the insert in the fourth, insert in the second position becoming the insert in the third, and vice-versa, a reduction in cascade power of 12.5% was observed, showing that evolution has exploited characteristics specific to the cascade flow. In addition, the same insert designs from the tenth generation were fabricated using standard (non-conductive) PLA and a reduction in power of 10.4% was seen, showing that the conductivity of the inserts had a positive effect on the MFC power generation by augmenting the carbon veil anode electrode. The results are summarised in Table 3.

Fig. 7
figure 7

Power produced by each MFC unit in generation 0 (pattern) versus generation 9 (solid)

Fig. 8
figure 8

Fittest evolved anodic chamber insert designs. From left to right, first position in the cascade to the last

Overall, the total anolyte volume in the cascade remained unchanged from the first generation at 110 mL. However, the volume of anolyte was redistributed to the other MFC units from the third position where the insert increased in volume; i.e. all other inserts decreased in volume. The surface area of all insert designs increased and consequently the total stack surface area increased by \(6.45 \,\hbox {cm}^2\). A larger surface area is a desirable aspect for the MFC anode since it provides a larger space for electrochemically active bacteria attachment (You et al. 2014). Although the conductive PLA inserts used in this study were not used simply for expanding the size of anodes, it seems clear that the larger surface area of the conductive inserts contributed to the MFC power production. However, due to the relatively low conductivity of the filament material, it would be unlikely to replace the carbon fibre veil anode (You et al. 2017). 3D printing structures that serve as both anodes and chassis will be an interesting avenue to explore in future work, in terms of additive layer manufacturing for scale-up.

The decrease in volume of the insert in the first position was a result of increases in the diameter of the holes in the bottom half of the design, resulting in an increase in anolyte volume from 25.8 to 26.6 mL. The total surface area of the insert increased by \(1.2 \,\hbox {cm}^2\) and its power production increased by \(38.45 \,\upmu \hbox {W}\).

Table 3 Physical MFC cascade coevolution results

The MFC unit in the second position decreased in volume as a result of increases in the diameter of the holes and an increase to the inner radius of the middle sections, resulting in an increase in anolyte volume from 27.4 to 28.2 mL. The bottom and top sections of the insert remained unchanged after 10 generations. The total surface area of the second insert increased by \(1.16 \,\hbox {cm}^2\), however the amount of power produced remained unchanged.

The most significant changes were observed in the third position in the cascade where the offspring in this species produced a greater average MFC cascade power in 4 of the 10 evolved generations. The third insert increased in overall volume causing a reduction in the anolyte volume from 28.6 to 25.5 mL. The volume of the bottom 3 sections of the insert increased by 40% through a smaller inner radius and a reduction in the number of holes, whereas the volume of the top quarter section decreased by 18% through a larger inner radius causing a larger anolyte volume at the top near the unit outlet. The third section from the bottom of the first and third inserts experienced identical changes, shrinking the inner radius to its minimum (that is, filling as far inwards towards the carbon veil anode as permitted) and with holes of 2 mm diameter separated by 2 mm of filament resulting in a larger surface area. The total surface area of the third insert increased by \(2.15 \,\hbox {cm}^2\) and the power increased by \(64 \,\upmu \hbox {W}\).

Similar to the first position in the stack, the insert in the last position experienced a decrease in volume as a result of increases in the diameter of the holes in the bottom half of the design, with a resulting increase in anolyte volume from 28.2 to 29.9 mL. The total surface area increased by \(1.94 \,\hbox {cm}^2\). However, the power remained essentially unchanged, producing a small decrease of \(6\, \upmu \hbox {W}\). Therefore, 5 additional generations were performed using Algorithm 1 solely on the last species, i.e. the first 3 MFC units were fixed to the fittest designs from generation 9. This resulted in a further increase of 18% in the cascade power output. The final evolved insert design further reduced in volume as a consequence of additional holes to the upper half, resulting in a further increase in anolyte volume to 30.9 mL, showing a continued trend towards increasing the amount of feedstock in the end position; the design is shown in Fig. 9.

Fig. 9
figure 9

End species fittest evolved anodic chamber insert design

5 Conclusions

The use of cascade configurations and 3D-printed components have recently been identified as significant ways through which MFCs can be enhanced (Walter et al. 2016; Papaharalabos et al. 2015). The design and optimisation of the anode electrode have been highlighted as having a crucial affect on performance and scalability since it is central to biocatalysis through bacterial adhesion and electron transfer.

By repeatedly creating and testing physical designs as suggested by computational intelligence, it may be possible to discover and exploit previously unknown or insufficiently understood physical interactions. In this article, we have provided proof-of-concept that such an approach can be used to design conductive structures that augment the existing anodes in MFC units forming a cascade system. The structures were inserted into the anodic chamber facilitating the testing of new designs to explore the biocompatibility, conductivity, stability, surface area, and hydrodynamics. The total cascade performance in terms of power output and power density iteratively increased. Cooperative coevolution enables the designs in each unit to evolve towards the optimum characteristics specific to the cascade position whereby the total cascade performance is optimised.

Design mining provides a general and flexible approach to the optimisation of MFCs. Future work will therefore include the use of new 3D printers and materials, such as those with a higher conductivity and the ability to control microsurfaces and create microporous objects. Multi-material printers will enable the production of monolithic MFCs enabling the optimisation of entire fuel cells within a cascade system.