Senior Member, IEEE Jean-Daniel Fekete
email: jean-daniel.fekete@inria.fr

J.-D Fekete

Software and Hardware Infrastructures for Visual Analytics

Keywords: Visual Analytics, visualization, hardware infrastructures, software infrastructures. !

Visual Analytics is growing in popularity both as a research and application field. However, implementing Visual Analytics applications remains difficult due to the mismatch between the needs of analysts who perform exploratory analysis and existing software components for information visualization, data analysis, and data management. We explain analysts' requirements in terms of human cognitive abilities and show how information visualization has had to re-implement in-memory databases and some analytical algorithms to meet these demands. Visual Analytics relies on visualization but also requires tools for performing analysis and managing data at larger scales. We explain how the competing constraints of limited human cognition and increasing data strain existing software systems and provide some hints how to address them in the future. We argue that addressing these requirements will benefit not only Visual Analytics tools, but also analytics and data management systems in general.

INTRODUCTION

A CCORDING to Thomas & Cook: "Visual analytics is the science of analytical reasoning facilitated by interactive visual interfaces." [START_REF]Illuminating the Path: Research and Development Agenda for Visual Analytics[END_REF]. Visual Analytics relies on three essential layers: visualization to provide effective communication and exploration capabilities for humans to reason about the information extracted from the data, analytics to simplify and summarize the data to be exploitable by humans, to extract information from raw data, as well as to provide some guidance on its exploration, and data management to store, retrieve, and distribute the data efficiently to the other two layers.

Visual Analytics (VA) focuses on supporting exploration and interaction in the analysis of big and complex data. Big-Data management and analysis-already seen as key challenges-and are made even more difficult by the very nature of the exploration process. When facing new complex data, humans need overviews, summaries and the capability to drill down. This allows us to look for patterns and correlations, as well as discover emergent phenomena, empirical models, and theories related to the data.

For example, discovering fraud schemes in credit card transaction data involves searching for unexpected events in billions of daily transactions happening all over the planet. The amount of data is huge and new schemes appear frequently since thieves are actively and creatively working against the automatic detection mechanisms already built by banks. Therefore, bank analysts need to explore transaction data continuously trying to find anomalies and develop explanations for those anomalies (most of which are not actually caused by a fraud). To do this, bank analysts must focus on fraudulent transactions, understand their mechanisms, trace them back on the data, and take action to treat them.

To perform the exploration, the system needs to support the analysis by raising alerts on non-standard transactions. This kind of transaction mining has become standard now and is based on user profiling. It relies on an analytical processing applied to every transaction that should be sensitive enough to detect important problems but so sensitive that it creates many false positives that would overwhelm the analyst. Once a fraudulent transaction has been found, the analyst should not only cancel it but also understand the mechanism that made it possible. This requires finding similar frauds using a notion of similarity that is very specific to the schemefor example, the place where it occured, the persons involved, the amounts or goods involved, etc.

This stage of analysis amounts to finding a similarity measure in the data, which involves multiple queries to the transaction database. One technical difficulty here is managing the latency of queries-when the analyst has a hypothesis in mind and queries the system, an answer should arrive in a few seconds; otherwise the analyst may forget the hypothesis and need to retrieve it when the results arrive. This requirement that results be fast, even at the expense of accuracy, is due to the unique limitations on human cognition-but that's all we have to make sense of the data for now. Currently, however, most database queries produce just the opposite; results that are entirely accurate but not bounded in time.

Continuing our scenario, the analyst will likely perform not only direct database queries but also more complex analytical queries involving machine-learning, and statistics. It may even involve more complex video processing if, for example, the fraud involves cash machines which take videos of the operator. Again, current analytics systems would perform these more complex analyses as accurately as possible, but in unbounded time. Once a series of analyses is started, the analyst would have to defer his exploration to a later stage to avoid waiting idly for an answer from the system. Instead, VA involves using faster, less accurate mechanisms to provide initial results quickly and improve the accuracy later if needed. For example, if the frauds are localized geographically to a few cash machines and the analyst wants to collect and classify the faces of possible accomplices, she can start processing videos recorded from these machines. During the processing, if she realizes that the fraudulent operator is always wearing a motorcycle helmet-easier to recognize on video than human faces, she will want to change dynamically the recognition algorithm. However, most analytical systems available are not meant for interaction. Instead, they run to completion with no or little feedback and provide no mechanism for interactive steering. When the analyst needs to change parameters, the system restarts from scratch, ignoring any information gathered so far-despite the fact that a large portion of analysts' queries are refinement of previous ones.

From the viewpoint of a software developer, implementing a VA application is difficult because the traditional software and hardware layers lack important services required by the human cognitive system to process complex information. In the next sections, we list these requirements, what has been done so far to address them and summarize the main issues to solve if we want to move beyond Big-Data management and support interactive exploration of Big-Data.

VA Layers

VA relies essentially on three layers for its software and hardware: data management, analytics, and visualization (Figure 1). All three have greatly improved in the last decade, albeit largely in isolation. Recently, however, data management and analysis tools have begun to converge using multiple technologies including grids, cloud computing, and general-purpose graphics processing units (GPGPU). High-performance computing on large amounts of data relies on the conjunction of new distributed data management technologies coupled with distributed computations.

Unfortunately, exploration has not been taken into account in these new infrastructures and it seems very difficult to introduce it without deep changes in both data management and analysis computation. In the next sections, we explain the main issues by first describing the information visualization reference model and extending it to VA, showing the mismatches between the current infrastructures and the needs of VA. Fig. 2. The Information Visualization Reference Model according to [START_REF] Card | Readings in information visualization: using vision to think[END_REF]. On the top of the pipeline, data is adapted to be visualized and converted into an image through a visual mapping and a view. On the bottom, user interaction allows controlling all the stages of the pipeline with immediate feedback.

VISUALIZATION

Information visualization can be defined as the use of interactive visual representations of abstract data to amplify cognition [START_REF] Card | Readings in information visualization: using vision to think[END_REF]. Information visualization provides compact graphical presentations and user interfaces for interactively manipulating large numbers of items, possibly extracted from far larger datasets.

Information visualization applications all follow an abstract reference model that has evolved and matured, the latest iteration being described by [START_REF] Card | Readings in information visualization: using vision to think[END_REF] (Figure 2).

In the reference model, data flows from left to right.

Raw data is first transformed into proper data tables that are, in turn, transformed into visual structures through a visual mapping. The visual structures are then transformed into views (images) through a view transformation and presented to a user through a viewport. Interaction flows in the other direction. The user can control the view transformation parameters (essentially zooming and panning), the visual mapping parameters (e. g., color mappings, layout for networks), as well as filtering from the database. Most traditional information visualization toolkits model the visual structures as black-box components that manage their state internally and perform rendering (view mapping) directly to a window. This is called a monolithic component model [START_REF] Bederson | Toolkit design for interactive structured graphics[END_REF]. In contrast, other information visualization toolkits model visual structures as regular tables with a specific schema where each data item has a geometry (or shape), an identifier, and a set of graphic attributes (e. fill color, transparency, stroke color). This is called the polylithic model [START_REF] Bederson | Toolkit design for interactive structured graphics[END_REF]. The arguments for monolithic vs. polylithic are similar to the arguments of object-oriented vs. database oriented structures. This debate is not yet settled, but it seems that it is easier to achieve scalability using a polylithic model because it can be implemented easily on top of standard databases. Monolithic approaches suffer from the so-called "impedance mismatch" problem, wherein it is difficult to convert their object-oriented structure into a database structure.

Tools that implement the information visualization reference model generally provide responsive interfaces where an interaction or change at any stage is propagated to the view very quickly. Ideally, interactive operations should happen in 100ms or less to appear instantaneous. Some operations are much slower, for example the computation of a large network layout. In that case, strategies are used to provide iterative solutions whenever possible to minimize idle waits for the user. Human-Computer Interaction knowledge on how humans work is now widely adopted in the domain of visualization. For example, it is well-understood that the reaction time of the system should be under 100ms and that actions should complete under 1-10s depending on the cognitive cost involved.

To comply with these requirements, information visualization systems typically rely on ad-hoc in-memory databases to hold the active data, and use a columnoriented architecture for performance reasons. It is interesting to note that, with a few exceptions, the existing implementations are not based on standard databasesthe research fields of databases and visualization still need to join their efforts [START_REF] Fekete | Managing Data for Visual Analytics: Opportunities and Challenges[END_REF], [START_REF] Fekete | Mastering The Information Age -Solving Problems with Visual Analytics[END_REF]. This situation must change, since managing larger amounts of data will require faster and more sophisticated databases, which are too complex for non-specialists to implement. Conversely, existing databases will need extensions to manage the visualization data structures which are likely to become a standard functionality provided by database In addition, recent visualization research has focused on improving analytical algorithms to match the reactivity requirement. For example, some graph layout algorithms are special kinds of multidimensional projections algorithms and much effort has been invested to implement these projections in an efficient and iterative fashion that shows the progress of the projection computation to the user. More sophisticated extensions allow users to steer iterative algorithms so that they devote more resources to computing analytical results that are relevant to the user's interests. These steerable algorithms are again variations of tradition analytical algorithms such as MDS, enhanced to match the user's cognitive process.

VA implies a scale change compared to information visualization, both in term of data size and in term of analyses required to make sense of the data. This scale change needs to produce software solutions that are fast and reliable, but which support the exploration process. In the next sections, we outline the state of the art in analytics and data management and explain why they do not yet meet the requirements of VA. We also offer some hints on how to improve them. These improvements would benefit to VA but also to the whole "Big-Data" community since they would provide more flexible mechanisms to handle Big-Data analysis in bounded time.

Hardware

One seemingly simple way of increasing the amount of visualized data is to increase the number of pixels. Indeed, several research groups and companies are exploring the venue of wall-sized displays (also known as "Power Walls") for visualization.

Extending the display to larger sizes requires developers to carefully consider screen size and resolution, the number of screens connected to each machine, how to distribute graphical applications to multiple machines, and how to handle input devices and interaction [START_REF] Beaudouin-Lafon | Multisurface interaction in the wild room[END_REF].

Despite these important initiatives, providing more pixels and better input devices will not solve the problem of visualizing large amounts of data since there are two important bottlenecks they do not address: perception and Big-Data. Human visual perception is limited by the physiology of the eye and the capacity of our brain to process images. Since the human eye is made of about 125 millions rods and 6 million cones as low-level receptors, we cannot perceive more features than that number-probably much less. Adding more pixels will allow more people to work in the same environment. However, it will not allow a single user to perceive more visual information. Moreover, many datasets available today exceed the capacities of even these displays by several orders of magnitude. For example, there is no way we will be able to directly visualize all the data stored by Facebook, not to mention Google. As a result, VA needs to resort to data analysis to summarize data and provide guidance on exploration.

ANALYTICS

Analytics can be defined as the science or process of drawing conclusions from the analysis of data. Therefore, VA systems rely on data analysis and computer software that supports it. VA systems sometimes reuse existing data analysis systems, languages, and libraries, but also frequently re-implement them.

Systems and languages for data analysis have been used for a long time and are very diverse (the Wikipedia page "List of numerical analysis software" references 87 systems as of the writing of this article). These include general purpose languages such as "Matlab" or "R", as well as libraries for more specialized computations such as "OpenCV" for video analysis (http://opencv.org) or "GATE" for text analysis (http://gate.ac.uk/). All these systems follow the same simple workflow: load a data file, process it, compute some analytical quantities and export result files or statistical charts. Computation and analyses are often seen as black boxes that take tables as input and output, along with set of parameters, and run to completion or error without interruption. When managing reasonable amounts of data according to a streamlined process to obtain a final result, this is not a problem-the result will be obtained eventually and the analyst does not have to wait idly for it, even if the computation takes a long time to complete.

During exploration tasks, an analyst may need to try several processing methods to search for interesting results. If data is small, the analyses can be computed quickly and visualized using charting facilities in the analysis environment or by exporting the resulting tables to regular visualization systems for exploration. This pairing of visualization environments with analytical environments is used extensively in research and industry.

However, when data is large, such a loose coupling between visualization and analysis no longer works well for data exploration. The first issue here is that the data transfer time itself exceeds the reactivity requirementmoving data back and forth takes minutes, sometimes hours. To avoid costly data transfers, the developers of many analytical environments have added basic visualization functionality to their tools. However, the visualizations provided by most of these environments are less sophisticated than information visualization tools and are usually designed for publication and communication, not for exploration.

The second issue is that the algorithms provided by analytical environments are not designed for exploration and make no effort in providing early results quickly to the analyst. Again, this is a design issue that cannot be solved easily. Instead, it requires that processing and analysis algorithms be rewritten to take into account the human analyst in the loop. So far, the dominant strategy has been to optimize existing analytical environments that often rely on scripting languages. For example, "Riposte" [START_REF] Talbot | Riposte: a trace-driven compiler and parallel vm for vector code in r[END_REF] provides a just-in-time compiler for the R language that tries to use the multi-core capabilities of modern processors to speed-up standard vector operations in the R language (achieving speedups of 5-50 or more). While the same approach can be used to optimize Matlab or Python code, it merely pushes the limit of data sizes that can be effectively explored using analytical environments. This is very important, but does not directly solve the issue of scalability for VA.

The scalability issue of standard analytics has traditionally been addressed by high-performance computing-initially with expensive computers and, more recently, with affordable multi-machines architectures. These novel architectures include computer grids and cloud computing. However, in their current form, they offer high computation throughput along with high latency, making them ill-suited to the exploratory tasks of VA.

To manage large amounts of data, researchers and practitioners in VA currently need to re-implement existing algorithms themselves. Popular re-implemented algorithms include hierarchical clustering and principal component analysis computation, among other clusterings and projections.

Just like information visualization experts who have needed to re-implement in-memory databases, this is a sub-optimal use of skills and resources. Fortunately, as VA is becoming more visible, collaborations are underway to design and implement a new generation of analytical tools with better support for humans in the loop. This support will require anytime algorithms that trade accuracy for speed, and which are able to repair and continue computations instead of stopping and restarting from scratch.

DATA MANAGEMENT

According to the Data Management International Association: "Data Resource Management is the development and execution of architectures, policies, practices and procedures that properly manage the full data lifecycle needs for an enterprise". VA applications need a reliable and efficient data management system layer to manage their data lifecycle.

Currently, SQL databases provide scalable storage, fast queries, and efficient distribution to load and save data through a network or shared-memory in a transparent manner. However, standard SQL databases are transactional-they assume that an application will select a small set of items, process them, and/or write a small set at a time. This assumption does not hold for VA, where, at any time, the analyst can request to visualize an unbounded portion of a database either directly or through an aggregate query. Therefore, most VA applications currently use one in-memory database and a different external data management system. Some visualization systems such as "Tableau" rely on a standard SQL database but still use their own in-memory database to hold visualization structures. This situation witnesses the mismatch between existing database technologies and needs for visualization, and we hope that, eventually, VA applications will be able to rely on more standard data management systems instead of building their own. In recent years, there have been two trends to extend the capabilities of databases. NoSQL systems have relaxed some of the mandatory properties of standard databases-the so called "ACID" properties (Atomicity, Consistency, Isolation, Durability)-as well as the SQL language itself. Meanwhile, SQL systems have continued to extend their capabilities, adding high-performance features while keeping their ACID properties. Some VA applications have even gone so far as to re-implement their data management layer in order to achieve good reaction times. For example, Fisher et al. have shown how aggregation queries can be implemented by returning running approximations [START_REF] Fisher | Trust me, i'm partially right: incremental visualization lets analysts explore large datasets faster[END_REF]. Kersten et al. explain how fast incomplete queries could be implemented on MonetDB, a high-performance standard SQL database [START_REF] Boncz | Breaking the memory wall in monetdb[END_REF].

In the NoSQL world, Google has designed Dremel [START_REF] Melnik | Dremel: Interactive analysis of webscale datasets[END_REF], a query engine designed to perform extremely fast queries on their infrastructure that "is capable of running aggregation queries over trillion-row tables in seconds." SAP has designed Hana-DB, an in-memory database system for its business-analytics applications [START_REF] Färber | The sap hana database -an architecture overview[END_REF]. This last example shows that VA is clearly of commercial interest but will require substantial investments in term of infrastructure to provide an acceptable user experience.

Overall, data management technologies are evolving quickly to provide better support for exploration and interaction. A few, such as Hana-DB, provide the important capabilities required to be usable directly for VA applications. However, the data management community has also begun to recognize the new needs raised by VA applications. In fact, some tools to address these issues, such as high-performance in-memory databases, are already usable. Still, more time is needed for VA developers and data management providers to develop infrastructure that fully supports analysts.

INTEGRATED ENVIRONMENTS

Although some work has been done to integrate the three software layers in a consistent framework, additional issues have appeared in VA applications that are not visible from the decomposition in layers.

Workflows for VA

Workflows are typically designed to carry-out complex and/or repetitive computations by sequencing computational and flow-control modules and running them in a database. Workflows are popular in business applications, such as banking, and are used to automate operations in a controlled way instead of relying on humans to perform risky or time-consuming sequences of operations. Scientific workflows that apply sequence of operations and flow-control to large corpuses of scientific data are also common. Because workflows are constructed in advance, multiple operations can often be performed in parallel, and most computations are designed to run from start to end with no interruption and little feedback.

Two new kinds of workflows have been designed specifically for VA: reactive workflows and interactive workflows.

Reactive Workflows for Dynamic Data

Traditional workflows run a sequence of processes each time database records are modified, while scientific workflows run a set of processes on a whole database once. For VA, however, some computations need to be performed on the whole dataset each time something in it is changed. This is important when managing dynamic data, since operations can be performed ahead of time to prepare it for interactive exploration. For example, a company interested in monitoring the reputation of its products can perform sentiment analysis for all web pages that mention them. This analysis can be performed continuously whenever new pages are fetched rather than at analysis time. The EdiFlow system has been designed to do just this and allows analysts to specify a set of operations that should be performed on the data each time it changes [START_REF] Benzaken | EdiFlow: data-intensive interactive workflows for visual analytics[END_REF].

A naive approach would run the whole workflow for the whole database each time it is updated. This approach would be very resource-consuming and impractical when the changes occur faster than the time it takes to finish the computation. EdiFlow introduces several optimization strategies to avoid recomputing everything from scratch-instead, it tries to "repair" what has already been computed. The actual strategy for repairing is decided by each computation module according to the semantics of its computation. In the same vein, processes can decide to interrupt or repair their long computations when they are notified that the data table they operate on has changed.

Reactive workflows require non-standard support from their underlying database. First, they need a notification mechanism to control when the workflow needs to be restarted. The standard mechanism for notification in databases relies on "triggers", but substantial work is needed to manage asynchronous notifications and communicate with an external workflow system each time a database modification occurs. To allow several processes to compute on the same tables without conflicts, the notion of transactions needs to be extended. In the EdiFlow prototype, every record of our tables is explicitly time-stamped to support long transactions. In parallel, Oracle has also implemented this feature in an extension of their database called "Total Recall" [START_REF]Total recall white paper[END_REF]. This illustrates how the requirements of VA are often already being considered by industrial actors.

Interactive Workflows with Provenance

Traditional workflows are created once and run several times. For VA, exploration itself can be viewed as the construction of a workflow. Here, a workflow is a cascade of operations that filter, summarize and analyze the data and ask: What are the right operations to apply? What parameters should be used for these operations? What is the difference between applying one sequence of operations versus another sequence? All these questions arise when exploring data to understand it or to turn it into a usable form. At intermediate stages, visualization can show the results of data processing, and can provide additional feedback and quality control measures.

VisTrails has been designed to interactively build and run scientific workflows that include visualization [START_REF] Callahan | VisTrails: visualization meets data management[END_REF]. It is now a mature platform but continues to evolve quickly due to the very large number of application domains where it is applied, including physics, biology, medicine, climate-data modeling, and more. It is implemented in Python and can run native applications or use libraries once they are wrapped into VisTrails Python modules. Writing these wrapper modules in easy and a large number of packages has been integrated into VisTrails. This part is relatively standard for workflow systems in general. The novel part of VisTrails is its facilities for keeping track of changes in the workflow. These changes are recorded using a "provenance management" subsystem, allowing analysts to iteratively improve their workflow while keeping track of the changes. This provenance facility is not limited to one person. Instead, analysts can share workflows for interactive exploration with others in order to help them understand a process, re-apply it, or continue it.

However, the architecture of VisTrails still relies on applications and processes exchanging data through the standard input/output operations. Chaining analysis and visualization of large data can take a long time because of the cost of data communication. Currently, VisTrails does not enforce any data management mechanism, which allows it to remain agnostic about it, but does not allow it to optimize the data communication part of the workflow.

Abstraction Layers for VA

To overcome the problem of sending data through files or networks to communicate between analysis and visualization modules, the Obvious meta-toolkits provides an abstraction layer [START_REF] Fekete | Obvious: A meta-toolkit to encapsulate information visualization toolkitsone toolkit to bind them all[END_REF]. The cost of data transfer is responsible both for adding delays between modules, as well as for wasting memory by duplicating data between all the modules that need it. Obvious is implemented as a Java library and is designed to encapsulate other Java libraries. It relies on the fact that the all the classes used to implement data tables in software libraries are very similar-if not identical-except for variation in method and class names. This is true for visualization systems as well as for analysis systems and database systems. Therefore, Obvious provides an abstract class definition that can be used as a pivot to share data for all the encapsulated Java libraries. To wrap a library, only two classes are needed-one maps a native data table to an Obvious data table and the other maps an Obvious data table into a native data table. These mappings mostly involve calling methods with other names-they do not introduce noticeable slowdowns in accessing data.

Once a library is wrapped, it can exchange its data with other libraries almost for free. Therefore, database modules can produce Obvious tables that can be processed by machine-learning modules "in-place" and passed to visualization modules without additional input/output or duplication of data.

The compatibility layer between all the data-table models is not the smallest common set of functions provided by all the libraries. Rather, it is a superset that also specifies a semantic of notification that is usually not consistent between libraries. Currently, Obvious wrappers are defined for 4 visualization toolkits, 2 machinelearning toolkits, and the standard Java API for database access. It shows that the data communication issue can be addressed by designing a data service that can be efficiently mapped from multiple libraries. This libraryneutral in-memory data abstraction is a very important data management component for VA.

CHALLENGES

Collaboration between the fields of VA, visualization, analytics and data management has already started and many of the issues discussed in this article are increasingly being recognized by commercial vendors. It is interesting to note that special database infrastructures suitable for VA have been implemented by companies such as SAP, Google, and Oracle before they became popular in research, proving that VA is already an identified market for these companies.

At the data management layer, in-memory databases with support for extended data types (e. g., geometric shapes) are needed by VA and are starting to be available with some vendors, although the extra services are not standardized yet. Once the required services are available, visualization systems should adopt them instead of relying of their own limited implementations. More research needs to be conducted in databases to offer mechanisms for trading accuracy for speed in queries, supporting query refinement, and adding new types of long transactions for expensive computations.

Using data abstractions on top of database services, as demonstrated in Obvious, it might be possible to extend data sharing to additional languages such as Python or R. Doing this could avoid data transfer altogether in VA applications and workflows such as VisTrails or EdiFlow.

This table-sharing/caching service would be different from the transaction-based service offered by most databases, allowing to implement much more efficient optimizations from inside the database driver than on top of transactions, as explained in [START_REF] Boncz | Breaking the memory wall in monetdb[END_REF].

At the analytics layer, more research needs to focus on designing analysis modules that can repair computations when data changes, provide continuous feedback during the computation, and be steered by user interaction when possible. At a higher level, balancing the tradeoff between speed and accuracy may call for new analysis strategies, as well as tools that can change between strategies depending on the analyst's current goal. More research needs to be conducted to provide these highlevel analysis strategies to analysts.

At the system level, integration of visualization, analytics, and data management will require more collaboration between researchers and practitioners across all three fields. Just as information visualization relies on a well understood and accepted reference model, we need a reference model for VA. However, more time and experience from all domains is needed to design it.

CONCLUSION

VA relies on three important layers: visualization, analytics, and data management. Existing software and hardware architectures in these three domains are not suited to integration into VA applications yet, mostly because the need for exploration in large data has only been identified recently. In particular, the constraints imposed by human cognition are not well known outside of the information visualization field, but have strong implications on the services required for effective exploration of large amounts of data.

This article has outlined the current limitation of the three layers, but also shown some prototypes and solutions to address these limitations. Some solutions are mature enough to spread to production software, while other libraries will require more research or experiment to mature. Eventually, VA could become easier to implement and more widespread when the main issues listed in this article are solved.

In addition, providing the mechanisms for exploration in databases and analysis systems will benefit to all the situations when users are willing to trade accuracy for time, an important issue since time is becoming one of our most important resources.

Fig. 1 .

 1 Fig.1. The Three Layers of software and hardware and their relationships with higher-level workflows and the analyst. Red arrows represent control mechanisms whereas solid blue areas represent data sharing/distribution. The green area represents visualization as a communication medium between the system and the analyst.

Fig. 3 .

 3 Fig. 3. VA on a Wall-Sized Display, link to http://www. youtube.com/watch?v=5i3xbitEVfs

ACKNOWLEDGMENTS

Thanks to Wesley Willett for his help in improving the paper and Jeremy Boy for the illustrations.


Comment on "Frequency-dependent dispersion in porous media"

Yohan Davit

Mathematical Institute, University of Oxford, 24-29 St. Giles', Oxford, OX1 3LB, UK Michel Quintard Université de Toulouse; INPT, UPS; IMFT (Institut de Mécanique des Fluides de Toulouse); Allée Camille Soula, F-31400 Toulouse, France and CNRS; IMFT; F-31400 Toulouse, France

In a recent paper, Valdès-Parada and Alvarez-Ramirez [Phys. Rev. E 84, 031201 (2011)] used the technique of volume averaging to derive a "frequency-dependent" dispersion tensor, D * γ , the goal of which is to describe solute transport in porous media undergoing periodic processes. We describe two issues related to this dispersion tensor. First, we demonstrate that the definition of D * γ is erroneous and derive a corrected version, D * c γ . With this modification, the approach of Valdès-Parada and Alvarez-Ramirez becomes strictly equivalent to the one devised by Moyne [Adv. Water Res. 20, 63 (1997)]. Second, we show that the term "frequency-dependent dispersion" is misleading because D * γ and D * c γ do not depend on the process operating frequency, χ . The study carried out by Valdès-Parada and Alvarez-Ramirez represents a spectral analysis of the relaxation of D * γ towards its steady-state, independent of any periodic operation or excitation. DOI: 10.1103/PhysRevE.86.013201

I. INTRODUCTION

The investigation of dynamic dispersion in porous media has a long history. It was first explored by addressing issues with the early time regime and unsteady flows in Taylor's tube problem [1]. One of the simplest models that was proposed, e.g., in Ref. [2], is an advection-dispersion equation with a time-dependent longitudinal dispersion coefficient,

D * s γ (t), ∂ t c Aγ γ + v γ γ ∂ x c Aγ γ = D * s γ (t)∂ 2 x c Aγ γ , (1)
where • γ is the cross-sectional average over the fluid phase (γ ). Here, and throughout this publication, volume fractions have been assumed constant and disappear from the analysis. This approach was criticized by a number of authors, including Sir Geoffrey Taylor himself. As he pointed out in Ref. [3], and as discussed later on in Ref. [4], "it seems therefore that no physical meaning can be attached to the use of equations in which the coefficient of diffusion varies with the time of diffusion, even though the formulae produced by their use do represent adequately the concentrations in particular cases." To circumvent this problem, a delay-diffusion description was developed (see, for instance, Refs. [4,5]),

∂ t c Aγ γ + v γ γ ∂ x c Aγ γ = t 0 ∂ τ D * c γ (τ )∂ 2 x c Aγ γ (t -τ )dτ = ∂ t D * c γ ⋆ ∂ 2 x c Aγ γ (t), (2)
based on the introduction of a memory function, i.e., a time convolution, denoted here by ⋆. In Eq. ( 2), the time derivative used in the integrand is fundamental because it ensures that D * c γ (t) conforms with essential requirements associated with a notion of dynamic dispersion. One of these requirements is that Eq. ( 2) should degenerate into Taylor's dispersion equation in the limit of long times, i.e., when macroscopic times are significantly larger than characteristic times associated with the relaxation of D * c γ (t) towards Taylor's dispersion coefficient, D * c γ (∞). Roughly speaking, this asymptotic behavior corresponds to passing D * c γ (t) to the limit u(t)D * c γ (∞) in the convolution product, where u(t) is the unit step function. The result of this operation leads to the following expression for the right-hand side of Eq. (2):

t 0 D * c γ (∞)∂ τ u(τ )∂ 2 x c Aγ γ (t -τ )dτ = D * c γ (∞) t 0 δ(τ )∂ 2 x c Aγ γ (t -τ )dτ = D * c γ (∞)∂ 2 x c Aγ γ (t), (3)
where δ(t) is the Dirac distribution. Here, we see that the time derivative is indispensable because it yields the correct asymptotic result, Eq. ( 3), obtained by Taylor in Ref. [1]. Note that a rigorous analysis of convergence, although an interesting problem, is beyond the scope of this Comment. By formulating their model in the Laplace and frequency domains rather than in the time domain, Valdès-Parada and Alvarez-Ramirez [6] obscure physical interpretation and comparison with previous works. The term dynamic dispersion, as used in Ref. [6], suggests a notion similar to D * s γ . However, applying an inverse Laplace transform to Eq. ( 14) in Ref. [6] yields

∂ t c Aγ γ + ∇ • ( v γ γ c Aγ γ ) = ∇ • t 0 D * γ (τ ) • ∇ c Aγ γ (t -τ )dτ = ∇ • [D * γ • ⋆∇ c Aγ γ (t)], (4)
which hints at a connection with the convolution formulation, Eq. ( 2), and D * c γ (t). In this expression, the tensor, D * γ (t), corresponding to Eq. (15) in Ref. [6], can be written in the time domain as

D * γ (t) = D γ Iδ(t) + 1 V γ A γ κ n γ κ b γ (r,t)dA -ṽγ b γ (r,t) γ , (5)
where b γ solves

∂ t b γ (r,t) + v γ • ∇b γ (r,t) + ṽγ δ(t) = D γ ∇ 2 b γ (r,t), in the phase (γ ), (6)
with

-n γ κ • ∇b γ (r,t) = n γ κ δ(t), on A γ κ . (7)
To ensure uniqueness of the solution (see details in [6]), we prescribe the zero initial condition, b γ (r,t < 0) = 0, the average constraint, b γ (r,t) γ = 0, and local periodicity. Equations ( 4) and ( 5) are not wrong and can be used to describe solute transport. However, D * γ (t), Eq. ( 5), cannot be interpreted as a dispersion tensor because Eq. ( 4) neglects the time derivative used with the convolution in Eq. ( 2). Therefore, it exhibits features that are inconsistent with the notion of dispersion:

(1)

D * γ ,ij have dimensions of [(length) 2 × (time) -2 ], instead of [(length) 2 × (time) -1 ].
(2) D * γ does not yield the correct asymptotic behavior. Considering Eq. ( 5), we remark that D * γ may be approximated by D * c γ (∞)δ(t) in the long-time limit, but not by

D * c γ (∞)u(t). (3) D *
γ ,ij are distributions, not functions, and D * γ is not necessarily positive-semidefinite. Indeed, the identity tensor on the right-hand side of Eq. ( 5) is weighted by the Dirac distribution, δ(t). Therefore, diagonal components D * γ ,ii will be negative in the early times of the diffusive regime, when the tensor describing tortuosity effects, 1

V γ A γ κ n γ κ b γ (r,t)dA, is dominant.
It follows that a three-dimensional analog of Eq. ( 2) should be used instead of Eq. ( 4), and reads

∂ t c Aγ γ + ∇ • ( v γ γ c Aγ γ ) = ∇ • ∂ t D * c γ • ⋆∇ c Aγ γ (t) , (8)
where D * c γ (t) is the correct transient dispersion tensor. This idea was used by Moyne [7] to develop a two-equation model of transient dispersion. Note that all these models are based on the assumption that spatial memory effects can be neglected, which may be inaccurate if the nonlocal spatial and temporal effects are strongly coupled. To model such effects, a variety of techniques may be used, including nonlocal formulations involving spatial convolutions (see Ref. [8]), direct numerical computation of the transport equations at the pore scale, and higher-order theories.

In addition to this problem in the definition of the dispersion tensor, there is an issue related to the notion of frequency used in Ref. [6]. In theory, D * c γ (t) and D * γ (t) may depend on the frequency, χ , of external periodic operations. For example, Smith in Ref. [5] considered the case of an oscillatory flow with a frequency-dependent velocity, v γ (t,χ ). In this case, the dispersion coefficient, D * c γ (t,χ ), depends on the frequency of the excitation signal, v γ (t,χ ). More generally, D * c γ (t) will exhibit frequency dependence if at least one of the parameters oscillates in the initial boundary value problem given by Eqs. (13) in Ref. [6] and Eqs. ( 6) and ( 7) herein. In such cases, either the velocity field, v γ , the molecular diffusion, D γ , or the position of the interface, A γ κ , would need to vary in time following a periodic pattern.

Such frequency dependence is incompatible with the hypotheses made in Ref. [6]. Indeed, D γ is a constant scalar; A γ κ is static; and the flow is implicitly steady. This is obvious in Eq. (3) in Ref. [6] where the Laplace transform does not apply to the velocity field. Consequently, the model is not as general as suggested in the Introduction of [6] and is in fact limited to the description of periodic discharges of solute at the macroscopic level. In this case, D * c γ (t) has been implicitly decoupled from macroscale source terms during upscaling and is not frequency dependent.

In our opinion, this is the result of a misinterpretation in the frequency analysis. In Eq (8), D * c γ (t) is a transient parameter and its relaxation can be decomposed into a spectrum of frequencies, ω, via Fourier or Laplace transforms. However, the result of this analysis is independent of the frequency of the solute discharge, which will affect the behavior of the average concentration c Aγ γ only through macroscale boundary conditions. Hence, Figs. 4 and6 in Ref. [6] must be understood as the spectral decomposition of D * γ (t) relaxing towards its nonperiodic steady state, not as the frequency analysis of the response of the dispersion tensor to periodic excitations. In addition, Eqs. ( 6) and ( 14) in Ref. [6] need to be treated with great care because they describe spatial variations for a fixed value of Fourier's frequency, ω, as illustrated in Ref. [6], Sec. VI. Many problems would involve timedependent boundary conditions characterized by a spectrum of frequencies for which the impact of the convolution would be emphasized.

II. CORRECTION TO THE DISPERSION TENSOR IN THE CASE OF PERIODIC SOLUTE DISCHARGE

In this section, we show that, in the case of periodic macroscale solute discharge, Eq. ( 8) and D * c γ (t) can be readily obtained using the results in Ref. [6]. Our analysis is based on the following relationship between D * c γ (t) and D * γ (t) [see Eqs. ( 4) and ( 8)]:

D * γ (t) = ∂ t D * c γ (t). (9)
Further, consider the unilateral Laplace transform defined by cAγ (s) = ∞ 0 e -st c Aγ dt. Following [6], we simplify expressions in the Laplace domain by imposing zero initial conditions. With this constraint, we have

D * c γ (s) = 1 s D * γ (s). ( 10
)
Applying the Laplace transform to Eq. ( 5) and then using Eq. (10) yields

D * c γ (s) = D γ I 1 s + 1 V γ A γ κ n γ κ bγ (r,s) s dA -ṽγ bγ (r,s) s γ . (11)
Further, we define Bγ by Bγ (r,s) = bγ (r,s)

s . (12)
Using Eqs. (13) in Ref. [6] leads to the following differential equation for Bγ (r,s):

s Bγ (r,s) + v γ • ∇ Bγ (r,s) + 1 s ṽγ = D γ ∇ 2 Bγ (r,s), in the phase (γ ), (13)
with the boundary condition

-n γ κ • ∇ Bγ (r,s) = 1 s n γ κ , on A γ κ , (14)
and local periodicity. We also have the average constraint Bγ γ = 0. Returning to the time domain, the so-called closure given by Eq. ( 12) in Ref. [6] becomes

cAγ = ∂ t B γ (r,t) • ⋆∇ c Aγ γ = ∂ t B γ ,i * ∂ i c Aγ γ , (15)
which is reminiscent of the closure proposed in Ref. [7] for the two-equation heat transfer problem. Here, B γ (r,t) solves the following initial boundary value problem:

∂ t B γ (r,t) + v γ • ∇B γ (r,t) + ṽγ u(t) = D γ ∇ 2 B γ (r,t), in the phase (γ ), (16)
with the boundary condition

-n γ κ • ∇B γ (r,t) = n γ κ u(t), on A γ κ , (17)
and local periodicity. We also have the initial condition, B γ (r,t < 0) = 0, and the average constraint, B γ γ = 0. Again, we emphasize that the solution of this problem does not depend on the frequency of any source term associated with c Aγ γ , and that B γ (r,t), solution of an inhomogeneous linear advection-diffusion equation, will relax towards a nonperiodic steady-state field B γ (r,∞) in the asymptotic regime.

In the time domain, the dispersion tensor, D * c γ (t), reads

D * c γ (t) = D γ Iu(t) + 1 V γ A γ κ n γ κ B γ (r,t)dA -ṽγ B γ (r,t) γ . (18)
The traditional steady-state dispersion tensor can be expressed as

D * c γ (∞) = D γ I+ 1 V γ A γ κ n γ κ B γ (r,∞)dA -ṽγ B γ (r,∞) γ . (19)

III. NUMERICAL RESULTS

To illustrate the temporal behavior of this transient dispersion tensor, we use COMSOL MULTIPHYSICS 4.2 to solve numerically the following nondimensionalized closure problem for the periodic unit cell described in [6] with ε γ = 0.56:

∂ τ B ′ γ + v ′ γ • ∇ r ′ B ′ γ + ṽ′ γ = 1 Pe ∇ 2 r ′ B ′ γ , in the phase (γ ), (20)
with

B ′ γ = B γ /(l γ -l κ ), r ′ = r/(l γ -l κ ), τ = v γ γ • v γ γ t/(l γ -l κ ), Pe = v γ γ • v γ γ (l γ -l κ )/D γ ,
′ γ = v γ / v γ γ • v γ γ . Boundary conditions are -n γ κ • ∇ r ′ B ′ γ = n γ κ u(τ ), on A γ κ , (21)
and local periodicity. We also have the initial condition, B ′ γ (r ′ ,τ < 0) = 0, and the average constraint, B ′ γ γ = 0. Similarly, the flow was obtained by imposing a pressure gradient and solving periodic Stokes equations. The longitudinal dispersion coefficient, D * c γ ,xx (t)/D γ , was computed using Eq. (18). Results for different values of the Péclet number, Pe, are plotted in Fig. 1. The dispersion coefficient clearly relaxes towards its steady state, D * c γ ,xx (∞). Figure 6(a) in Ref. [6] shows a very similar behavior for the longitudinal dispersion with a reflection symmetry that indicates the time-frequency relationship ω ∼ t -1 . This shows that the analysis carried out in Ref. [6] describes the relaxation of D * γ (t) in the frequency domain.

This application also highlights that time-dependent problems must be treated with care. In general, formulations similar to Eq. ( 8) should be used, especially when boundary conditions are characterized by a single relatively large frequency or by a spectrum involving large frequencies, or when small-time relaxation phenomena are of interest. On the other hand, if relevant time-scale constraints are satisfied, the asymptotic version of Eq. ( 8) may be used.

1 FIG. 1 .

 11 FIG. 1. Logarithmic plots illustrating the temporal behavior of D * c γ ,xx /D γ [implicitly weighted by u(τ )] for the unit cell presented in Ref. [6] and ε γ = 0.56. Results were computed using COMSOL MULTIPHYSICS 4.2. In the short-time regime, D * c γ ,xx /D γ tends towards unity because we have assumed zero initial conditions for B ′ γ (r,t). In the long-time regime, D * c γ ,xx /D γ < 1 when tortuosity effects dominate dispersion effects and D * c γ ,xx /D γ > 1 when dispersion effects dominate tortuosity effects.

ACKNOWLEDGMENTS

The authors would like to acknowledge the many valuable suggestions made by Helen Byrne. This publication was based on work supported in part by Award No. KUK-C1-013-04 made by King Abdullah University of Science and Technology (KAUST).