Search NASA⌕ Search

Engineering topics

Brown, Paul

Publications and source records attributed to Brown, Paul.

Self-assembled nanostructures in ionic liquids facilitate charge storage at electrified interfaces

Driven by the potential applications of ionic liquids (ILs) in many emerging electrochemical technologies, recent research efforts have been directed at understanding the complex ion ordering in these systems, to uncover novel energy storage mechanisms at IL–electrode interfaces. Here, we discover that surface-active ILs (SAILs), which contain amphiphilic structures inducing self-assembly, exhibit enhanced charge storage performance at electrified surfaces. We report that unlike conventional non-amphiphilic ILs, for which ion distribution is dominated by Coulombic interactions, SAILs exhibit significant and competing van der Waals interactions owing to the non-polar surfactant tails, leading to unusual interfacial ion distributions. We reveal that, at an intermediate degree of electrode polarization, SAILs display optimum performance, because the low-charge-density alkyl tails are effectively excluded from the electrode surfaces, whereas the formation of non-polar domains along the surface suppresses undesired overscreening effects. This work represents a crucial step towards understanding the unique interfacial behaviour and electrochemical properties of amphiphilic liquid systems showing long-range ordering, and offers insights into the design principles for high-energy-density electrolytes based on spontaneous self-assembly behaviour.

25 ENERGY STORAGE↗

Implementing Connected Component Labeling as a User Defined Operator for SciDB

We have implemented a flexible User Defined Operator (UDO) for labeling connected components of a binary mask expressed as an array in SciDB, a parallel distributed database management system based on the array data model. This UDO is able to process very large multidimensional arrays by exploiting SciDB's memory management mechanism that efficiently manipulates arrays whose memory requirements far exceed available physical memory. The UDO takes as primary inputs a binary mask array and a binary stencil array that specifies the connectivity of a given cell to its neighbors. The UDO returns an array of the same shape as the input mask array with each foreground cell containing the label of the component it belongs to. By default, dimensions are treated as non-periodic, but the UDO also accepts optional input parameters to specify periodicity in any of the array dimensions. The UDO requires four stages to completely label connected components. In the first stage, labels are computed for each subarray or chunk of the mask array in parallel across SciDB instances using the weighted quick union (WQU) with half-path compression algorithm. In the second stage, labels around chunk boundaries from the first stage are stored in a temporary SciDB array that is then replicated across all SciDB instances. Equivalences are resolved by again applying the WQU algorithm to these boundary labels. In the third stage, relabeling is done for each chunk using the resolved equivalences. In the fourth stage, the resolved labels, which so far are "flattened" coordinates of the original binary mask array, are renamed with sequential integers for legibility. The UDO is demonstrated on a 3-D mask of O(1011) elements, with O(108) foreground cells and O(106) connected components. The operator completes in 19 minutes using 84 SciDB instances.

UDO↗