Method and apparatus for computer generation of the time evolution of horizontal elevation fields containing fluid and particulate matter.
By modeling water-sand systems with layered phases and asynchronous updates, the method addresses the computational challenges of simulating multiphase mixtures, achieving real-time performance in resource-constrained environments for immersive applications.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TENCENT AMERICA LLC
- Filing Date
- 2023-09-25
- Publication Date
- 2026-04-10
AI Technical Summary
Computer simulations of multiphase mixtures of fluids and particulate matter, such as water and sand, require excessive computational resources and memory, making real-time or near-real-time simulations challenging, especially in environments with limited computational and networking resources.
Model the dynamics of a water-sand system as multiple layers with distinct phases across a given topography, using separate but coupled physical models for water and sand, and perform time updates asynchronously to improve efficiency, employing a shallow water assumption and operator partitioning for stable and computationally efficient time integrals.
The method enables real-time simulation of large-scale fluid-particulate scenarios with balanced fidelity and performance, suitable for immersive applications like video games and virtual reality, by reducing complexity and resource requirements.
Smart Images

Figure 2026510883000001_ABST
Abstract
Description
Technical Field
[0001] Cross-reference This PCT international patent application claims the benefit of priority based on U.S. non-provisional patent application Ser. No. 18 / 192,127, filed Mar. 29, 2023, the entire disclosure of which is incorporated herein by reference.
[0002] The present disclosure generally relates to computer-generated graphics, and more particularly to real-time simulation of the hydrodynamics of a multiphase mixture of a fluid and particulate matter.
Background Art
[0003] Computer simulations of the hydrodynamics of mixtures of heterogeneous materials in the form of fluids and particulate matter, such as water and sand, typically involve complex modeling, excessive computational resources, and large memory space utilization. In applications where real-time or near-real-time simulation is required in an environment limited by computational and networking resources, a simple yet realistic physical model combined with an efficient computational procedure may be important. Such applications include, but are not limited to, real-time generation of graphics in video games, virtual reality, augmented reality, and other immersive interactive applications.
Summary of the Invention
Problems to be Solved by the Invention
[0004] The present disclosure relates to computer-generated graphics, and more particularly to real-time simulation of the hydrodynamics of large masses of heterogeneous materials, such as a multiphase mixture of a fluid and particulate matter including, but not limited to, water and sand. In the following disclosure, the terms "water" and "sand" may be understood to be used to broadly refer to any fluid and particulate matter, respectively.
Means for Solving the Problems
[0005] Specifically, in this disclosure, the dynamics of such a water-sand system are modeled as having multiple layers having distinct phases across a given topography. The multiple phases may include, for example, a water phase, a water-sand mixed phase, and a solid sand phase. The topography may be divided into multiple grid-like horizontal cells. Each horizontal cell may be associated with horizontal coordinates x and y. The dynamics of each of the multiple phases and the water-sand mixture are tracked in each of the multiple horizontal cells using separate but coupled physical models for water and sand, based on the conservation of water and sand mass from cell to cell, and may be driven by various intra- and inter-cell forces between the various phases, as well as external forces such as gravity and friction from the topography. One or more of the multiple phases may be present vertically within each horizontal cell, forming stacked columns or layers of different phases. The depth of a layer (or phase) as a function of the horizontal cells may be referred to as the elevation field of that phase. Each layer and / or phase may be associated with a corresponding elevation field. The physical model is further based on a shallow water assumption where vertical velocity in the water-sand system is considered negligible. Therefore, each of the different phase layers or columns within each horizontal cell can be described not only by its depth (height) but also by the horizontal velocity representing its flow. Thus, the velocities of the layers in all cells form the velocity field of that layer. The height and velocity fields of each phase can be used as the basis for generating a graphical representation of the fluid dynamics of the water-sand system. The physical model includes depth integral governing equations that can model the elastoplastic behavior of wet sand, as well as sand-water flow and mixing phenomena such as mass conservation, friction, diffusion, saturation, and momentum exchange. These phenomena are represented as various continuity and force operators (representing acceleration). Various operator decompositions are employed when performing the time evolution dynamics of the water-sand system in each of a series of time steps, providing stable and computationally efficient time integrals in real time under a reasonable time step size. In addition, time updates of the water and sand phases can be performed asynchronously. In particular, time updates of the sand phase can be performed more frequently than time updates of the water phase. In this way, the efficiency of simulations can be improved without significantly degrading simulation performance.The disclosed approach can run at real-time frame rates, striking a desirable balance between fidelity and performance for immersive experiences in interactive applications.
[0006] In an exemplary implementation, a method for computer-generated time evolution of a horizontal elevation field including fluid and granular materials is disclosed. The method may include: dividing the horizontal elevation field in each of a plurality of horizontal cells over a given static terrain into one or more of the following: a fluid layer of fluid material, a mixed layer of a mixture of fluid and granular materials, and a solid layer of granular material; modeling the time evolution of at least one set of first depth and first horizontal velocity of the fluid layer, second depth and second horizontal velocity of the fluid material in the mixed layer, and third depth and third horizontal velocity of the granular material in each horizontal cell, under a shallow fluid approximation, using a plurality of mass and momentum conservation operators, and employing a partitioning discretization scheme for the plurality of mass and momentum conservation operators, first depth, second depth, and third depth that form the horizontal elevation field; and generating a visual representation of the time evolution of at least one of the horizontal elevation field, first horizontal velocity, second horizontal velocity, and third horizontal velocity for display on a graphical user interface.
[0007] In the exemplary implementation described above, modeling the time evolution of at least one set of first depth and first horizontal velocity, second depth and second horizontal velocity, and third depth and third horizontal velocity within each horizontal cell is done by: modeling the first depth and first horizontal velocity of the fluid layer within each horizontal cell with a first set of dynamic equations based on a continuity operator and a first momentum exchange force operator; modeling the second depth and second horizontal velocity of the fluid material in the mixed layer within each horizontal cell using a second set of dynamic equations based on a continuity operator, a diffusion mass transfer operator, a gravity operator, a diffusion force operator, and a second momentum exchange force operator; and a continuity operator, a gravity operator, an elastoplastic force operator, a third momentum exchange force operator, and a predetermined This may include modeling a third depth and third horizontal velocity of particulate matter using a third set of dynamic equations based on a friction force operator due to static terrain, and generating the time evolution of at least one set of first depth and first horizontal velocity, second depth and second horizontal velocity, and third depth and third horizontal velocity in each of a plurality of consecutive time steps using a partitioning discretization scheme with respect to at least two of the continuity operator, diffusion mass transport operator, gravity operator, diffusion force operator, momentum exchange force operator, elastoplastic force operator, and friction force operator in each of a plurality of consecutive time steps.
[0008] In any one of the exemplary implementations described above, the partitioning discretization scheme at each time step for updating the first depth, first horizontal velocity, second depth, and second horizontal velocity may include sequentially updating the first depth and first horizontal velocity using a first set of dynamic equations and considering only the diffusion mass transfer operator and the diffusion force operator; integrating the first depth and second depth using a first set of dynamic equations and a second set of dynamic equations, respectively, and considering only the continuity operator; and integrating the first horizontal velocity and second horizontal velocity using a first set of dynamic equations and a second set of dynamic equations, respectively, and considering only the gravity operator and the second momentum exchange force operator.
[0009] In any one of the exemplary implementations described above, the partition discretization scheme in each of several consecutive time steps for updating the third depth and the third horizontal velocity may include, in one or more sub-time steps, iteratively performing: updating the third depth using a third set of dynamic equations and considering only the continuity operator; performing the deformation gradient evolution of the third horizontal velocity using a third set of dynamic equations and considering only the elastoplastic force operator; integrating the third horizontal velocity using a third set of dynamic equations and considering only the gravity operator and the third momentum exchange force operator; updating the third horizontal velocity using a third set of dynamic equations considering only the friction force operator; and integrating the first and second horizontal velocities using a first set of dynamic equations and a second set of dynamic equations considering only the gravity operator and the second momentum exchange force operator.
[0010] In any one of the exemplary implementations described above, the partitioning discretization scheme may include updating the time evolution of the fluid and particulate materials asynchronously with the time evolution of the particulate material, which is updated more frequently.
[0011] In several other exemplary implementations, an electronic device is disclosed. This electronic device may include a memory for storing computer instructions and a processor for executing computer instructions in order to perform any one of the methods described above.
[0012] In some other exemplary implementations, a computer-readable non-temporary storage medium is disclosed. The storage medium may be configured to store computer instructions. The computer instructions may be configured, when executed by the processor of the electronic device, to cause the electronic device to perform one of the methods described above.
[0013] To better understand the present invention, please refer to the following description and accompanying drawings. [Brief explanation of the drawing]
[0014] [Figure 1] This figure shows four exemplary phases in the geometric setup for a high-field simulation of a multiphase mixture of material systems containing fluids and particulate matter.
[0015] [Figure 2] An exemplary piecewise linear model of sand cohesive force as a function of water saturation level is presented.
[0016] [Figure 3] An exemplary horizontal cell grid is shown to simulate the dynamics of a water-sand mixing system on a terrain.
[0017] [Figure 4a] The simulated sand deposits with different water saturation levels are shown, demonstrating that the cohesive force holding the sand together initially increases at higher saturation levels, then decreases as the sand becomes oversaturated, and that the external frictional force continues to decrease as a result of the increasing buoyancy. [Figure 4b] The simulated sand deposits with different water saturation levels are shown, demonstrating that the cohesive force holding the sand together initially increases at higher saturation levels, then decreases as the sand becomes oversaturated, and that the external frictional force continues to decrease as a result of the increasing buoyancy. [Figure 4c] The simulated sand deposits with different water saturation levels are shown, demonstrating that the cohesive force holding the sand together initially increases at higher saturation levels, then decreases as the sand becomes oversaturated, and that the external frictional force continues to decrease as a result of the increasing buoyancy. [Figure 4d] The simulated sand deposits with different water saturation levels are shown, demonstrating that the cohesive force holding the sand together initially increases at higher saturation levels, then decreases as the sand becomes oversaturated, and that the external frictional force continues to decrease as a result of the increasing buoyancy. [Figure 4e]The simulated sand deposits with different water saturation levels are shown, demonstrating that the cohesive force holding the sand together initially increases at higher saturation levels, then decreases as the sand becomes oversaturated, and that the external frictional force continues to decrease as a result of the increasing buoyancy. [Figure 4f] The simulated sand deposits with different water saturation levels are shown, demonstrating that the cohesive force holding the sand together initially increases at higher saturation levels, then decreases as the sand becomes oversaturated, and that the external frictional force continues to decrease as a result of the increasing buoyancy. [Figure 4g] The simulated sand deposits with different water saturation levels are shown, demonstrating that the cohesive force holding the sand together initially increases at higher saturation levels, then decreases as the sand becomes oversaturated, and that the external frictional force continues to decrease as a result of the increasing buoyancy. [Figure 4h] The simulated sand deposits with different water saturation levels are shown, demonstrating that the cohesive force holding the sand together initially increases at higher saturation levels, then decreases as the sand becomes oversaturated, and that the external frictional force continues to decrease as a result of the increasing buoyancy.
[0018] [Figure 5a] This shows an exemplary simulation of a sandcastle, demonstrating that it can be pushed forward while largely maintaining its shape. [Figure 5b] This shows an exemplary simulation of a sandcastle, demonstrating that it can be pushed forward while largely maintaining its shape. [Figure 5c] This shows an exemplary simulation of a sandcastle, demonstrating that it can be pushed forward while largely maintaining its shape.
[0019] [Figure 6] This shows the performance and memory usage for simulating sediment control dam collapse at different horizontal simulation grid resolutions.
[0020] [Figure 7a]This provides an illustrative simulation of a water well flow from a central source, displacing the surrounding sand at different sand / water time update ratios. [Figure 7b] This provides an illustrative simulation of a water well flow from a central source, displacing the surrounding sand at different sand / water time update ratios. [Figure 7c] This provides an illustrative simulation of a water well flow from a central source, displacing the surrounding sand at different sand / water time update ratios. [Figure 7d] This provides an illustrative simulation of a water well flow from a central source, displacing the surrounding sand at different sand / water time update ratios.
[0021] [Figure 8] This shows log-log plots of the L2 norm versus the number of iterations of the velocity residual when simulating a water well containing sand at various horizontal cell grid resolutions.
[0022] [Figure 9a] This shows simulation examples of dam failure at different development times when water from the right slowly erodes the dam. [Figure 9b] This shows simulation examples of dam failure at different development times when water from the right slowly erodes the dam. [Figure 9c] This shows simulation examples of dam failure at different development times when water from the right slowly erodes the dam. [Figure 9d] This shows simulation examples of dam failure at different development times when water from the right slowly erodes the dam.
[0023] [Figure 10a] This shows a simulation example of the pattern after the initial pattern carved with sand (Figure 10a) has been washed away with water (Figure 10b). [Figure 10b] This shows a simulation example of the pattern after the initial pattern carved with sand (Figure 10a) has been washed away with water (Figure 10b).
[0024] [Figure 11a] This figure shows an illustrative simulation of a sand canyon being washed away by water. [Figure 11b] This figure shows an illustrative simulation of a sand canyon being washed away by water. [Figure 11c] This figure shows an illustrative simulation of a sand canyon being washed away by water. [Figure 11d] This figure shows an illustrative simulation of a sand canyon being washed away by water.
[0025] [Figure 12] This document presents an exemplary computing system for implementing the simulation and graphical representation of dynamics in fluid and particulate matter systems. [Modes for carrying out the invention]
[0026] Application of simulations for fluid dynamics in dissimilar material systems Computer simulations of the flow of mixtures of dissimilar materials in the form of fluids and particulate matter, such as water and sand, typically involve complex modeling, excessive computational resources, and the use of large memory spaces. In applications requiring real-time or near-real-time simulation in environments limited by computational and networking resources, simple yet realistic physical models combined with efficient computational procedures can be crucial. Such applications include, but are not limited to, real-time graphics generation in video games, virtual reality, augmented reality, and other immersive interactive applications.
[0027] The dissimilar materials in such a mixture may include combinations of these materials or substances in various forms or phases. In the example of a water-sand mixture, for example, the various phases may include a fluid phase containing only water, a mixed phase containing both water and wet sand at various water saturation levels, and a solid phase containing only granular sand. The fluid dynamics involve the movement of each part of these phases in the dissimilar material system and the exchange of mass between the phases driven by various external and internal forces.
[0028] In some exemplary implementations, meshless methods for tracking a large number of particles to represent materials with different attributes or phases, such as smoothed particle hydrodynamics (SPH), discrete element methods (DEM), and hybrid SPH-DEM, may be used to simulate the dynamics of these heterogeneous material systems. However, these methods can become unmanageable when the amount of inter-particle interaction becomes excessive in large-scale 3D scenarios. In some other exemplary implementations, more efficient methods such as hybrid Euler / Lagrangian methods and material point methods (MPM) may be employed to reduce computational costs by handling inter-particle interactions on a coarse Euler grid while tracking dynamics in Lagrangian space using particles. However, handling large-scale scenarios with MPM still requires a large number of particles, making them almost unmanageable for real-time applications.
[0029] In applications such as video games and other interactive environments (immersive applications, virtual reality, augmented reality at video frame rates, etc.), it may be necessary to strike a balance between simulation fidelity and performance, especially to adapt the calculations to low-end desktop or mobile devices.
[0030] In the following disclosure, the dynamics of such a water-sand system are modeled as having multiple layers having distinct phases on a given terrain. The multiple phases may include, for example, a water phase, a water-sand mixed phase, and a solid sand phase. The terrain may be divided into multiple grid-like horizontal cells. Each horizontal cell may be associated with horizontal coordinates x and y. The dynamics of each of the multiple phases and water-sand mixtures are tracked in each of the multiple horizontal cells using separate but coupled physical models for water and sand, based on the conservation of water and sand mass from cell to cell, and may be driven by various intra- and inter-cell forces between the various phases, as well as external forces such as gravity and friction from the terrain. One or more of the multiple phases may be present vertically within each horizontal cell, forming stacked columns or layers of different phases. The depth of a layer (or phase) as a function of the horizontal cells may be referred to as the elevation field of that phase. Each layer and / or phase may be associated with a corresponding elevation field. The physical model is further based on a shallow water assumption where vertical velocity in the water-sand system is considered negligible. Therefore, each of the different phase layers or columns within each horizontal cell can be described not only by its depth (height) but also by the horizontal velocity representing its flow. Thus, the velocities of the layers in all cells form the velocity field of that layer. The height and velocity fields of each phase can be used as the basis for generating a graphical representation of the fluid dynamics of the water-sand system. The physical model includes depth integral governing equations that can model the elastoplastic behavior of wet sand, as well as sand-water flow and mixing phenomena such as mass conservation, friction, diffusion, saturation, and momentum exchange. These phenomena are represented as various continuity and force operators (representing acceleration). Various operator decompositions are employed when performing the time evolution dynamics of the water-sand system in each of a series of time steps, providing stable and computationally efficient time integrals in real time under a reasonable time step size. In addition, time updates of the water and sand phases can be performed asynchronously. In particular, time updates of the sand phase can be performed more frequently than time updates of the water phase. In this way, the efficiency of simulations can be improved without significantly degrading simulation performance.The disclosed approach can run at real-time frame rates, striking a desirable balance between fidelity and performance for immersive experiences in interactive applications.
[0031] Therefore, under shallow water assumptions, the depth integral governing equations for various phases, traced using spatiotemporal partitioning operator integrals, provide an effective dimensionality reduction from 3D to 2.5D calculations for a mixture system of fluid and particulate matter. The exemplary implementation disclosed below enables the modeling of the elastoplastic behavior of wet sand, as well as the sand-water mixing phenomenon, on a shallow water framework. This includes a spatiotemporal discretization scheme for the governing equations and the use of operator partitioning to handle each force term, including water diffusion, external friction, internal elastoplastic forces, and momentum exchange between phases and cells. To simulate elastoplastic forces, a piecewise linear function is defined that describes the relationship between sand cohesive forces and water saturation. Fixed-point iterations are further employed to address the problem of instability due to rigid elastoplastic forces. Asynchronous update routines are used to improve performance. As a result, the implementation disclosed below enables the simulation of large-scale sand-water scenarios in a computationally resource-efficient manner at real-time frame rates, with the following main features: • 2.5D governing equations for fluid-particulate mixtures. • Grid-based elastoplastic formulation for granular materials. A piecewise linear function that defines how the elastoplastic force changes with respect to the saturation level of the sand. • Semiimplicit operator partitioning and spatiotemporal discretization scheme. • Asynchronous update scheme for fluids and particulate matter.
[0032] The disclosed implementation is rooted in computer technology itself, improving computational efficiency through data structures specifically designed with respect to the computation process using operator discretization and partitioning. The output of such specially configured computation can be used to generate certain digital graphics that would otherwise be impossible.
[0033] Physical model of a water-sand mixture system: Hierarchical high-field representation In the following disclosures, the terms “water” and “sand” may be understood to broadly refer to “fluid” and “particulate matter,” respectively, and to be used interchangeably.
[0034] For the purpose of real-time simulation of mixtures of fluids and granular materials, such as water-sand mixtures, a shallow fluid assumption or approximation can be used as the first component to improve simulation efficiency.
[0035] Specifically, in the shallow fluid approximation, the vertical scale along the z-axis is negligible compared to the horizontal scale, so all governing equations for the dynamics of the fluid and particulate matter can be integrated to depth to eliminate the vertical velocity. The symbols h and v are used to represent the altitude field and velocity field, respectively. Thus, h*(x,y) and v*(x,y) are used to represent the height and velocity at position x=(x,y), where x and y represent the components in the direction of the horizontal axis. The superscript "*" is used to represent different phases of the water-sand mixture, as will be explained in more detail below.
[0036] In the following various exemplary implementations, a layered elevation field model is used to unify the representation of different water-sand phases, as shown in Figure 1. Various layers of water-sand mixtures can be placed on a given terrain 102. The various layers may include a fluid layer 104 containing only water, a mixed layer 106 containing a water-sand mixture, and a solid layer 108 containing only sand. The fluid (water) can flow freely over the mixed water-sand layer or terrain (terrain areas without wet sand), but its movement is hindered by particles when it is in the sand. Due to the significantly different dynamics between the pure phase and the mixed phase, the water column is divided into pure water and mixed water with sand (if both are present). In the case of sand, the entire sand column is modeled together without considering vertical fluctuations with respect to mixing with water. External frictional forces between the sand column and the terrain are assumed to act on the entire sand column.
[0037] Therefore, the following framework can be designed to model four altitude fields. · Terrain altitude field H, the underlying stationary ground. · Sand altitude field h s , including both solid sand and sand mixed with water · Altitude field h of pure water w , the wet sand or the water portion on the terrain. · Mixed water h w- , the portion of water that has sunk beneath the sand. In other words, the superscripts s, w, and w - are used to indicate the sand, pure water, and mixed water phases, respectively.
[0038] To achieve real-time performance and simplify the calculations, the following assumptions can also be made. · First, sand and mixed water can be immediately positioned on the terrain. · Second, pure water can be positioned on the terrain or on the mixed water-sand rather than on dry sand. Both sand and water may be provided at a constant density across the simulation area, i.e., ρ s of sand and ρ w of water are provided as constants. Thus, not all four altitude fields exist at every (x,y) position or cell. For example, as explicitly shown in Figure 1 or as can be derived in other ways from Figure 1, at some (x,y) positions, only water exists on the terrain. At various (x,y) positions, these combinations of altitude fields from top to bottom, i.e., terrain after water, water / sand mixture after water, terrain after that, terrain after water / sand mixture, water / sand mixture after solid sand, terrain after that, and terrain after solid sand, may be possible. · Third, different phases such as sand, pure water, and mixed water can have different velocities. · Mixed water is assumed to be precisely the portion of water that has sunk beneath the sand. For example, h w- = min(h w- + h w , h s ), where h w- + hw This represents the total height of the water column.
[0039] Physical model of a water-sand mixture system: Two-layer shallow hydrological equation In the case of the two shallow layers described above, where water is separated into pure water and mixed water, the governing equations based on the conservation of mass of the pure water and mixed water and various mass exchanges can be constructed separately as follows.
number
[0040] Therefore, the above altitude field of pure water is based on the conservation of mass as a result of flow (first term -h) w ∇·v w (where represents the continuity operator indicating the net increase or decrease of water due to the horizontal net water flow in and out of the pure water column), while the governing equations for the mixed water height field are the conservation of both masses as a result of the flow (first term -h w- ∇·v w- (This represents a continuity operator indicating a net increase or loss of water due to a horizontal net flow of water entering and leaving the mixed water column), and mass exchange as a result of the diffusion of mixed water into the wet sand (term c). d ∇·∇h w- It is based on both (which is called the diffusion mass exchange operator).
[0041] In some exemplary implementations, the velocity vw of pure water and the velocity vw of mixed water - The governing equations can be constructed as follows:
number
number
number
[0042] The first term in each of the governing equations above is sometimes called the gravity operator and represents the acceleration included in the horizontal gravity component. The horizontal gravity component acting on the pure water column comes from the gravity of the pure water itself, while the horizontal gravity component acting on the mixed water comes from both water columns. Momentum exchange force operator
number
number
[0043] Physical models for water-sand mixture systems: governing equations for sand In some exemplary implementations, the dynamics of a sand column can be modeled by conservation of mass, momentum exchange forces, elastoplastic forces, and external friction from the terrain. For example, the governing equations for a sand column can be constructed as follows:
number
[0044] In the above equations governing sand, the sand height field dynamics are determined by the horizontal continuity operator. The horizontal acceleration of the sand is determined by the gravity operator (the first term in Equation 6) and the internal elastoplastic force operator between sand grains.
number
number
number
number
number
number
[0045] External frictional force and elastoplastic internal force on sand During the sand deposition process, relative motion may exist between the sand and the underlying terrain, so the friction described above must be taken into consideration. In some exemplary implementations, such external friction between the sand and terrain is a vertical contact force f between the sand and terrain, opposite to the direction of movement. C It can be modeled as a force proportional to f. Correspondingly, such an external frictional force f E This can be modeled as follows: f E= -μgf C v^, f C =ρ s h s -ρ w h w- (7) Here, v^ represents the velocity direction (unit horizontal velocity vector), μ represents the coefficient of friction, and f C The second term arises from buoyancy as a lifting force from the water that reduces the normal force on the terrain.
[0046] The elastoplastic forces included in the governing equations for the dynamics of the sand phase are included to model the internal frictional forces between sand grains. In some implementations, the shear stress and normal stress of the sand may be modeled as being related as a continuum. For example, the stresses within the sand can be expressed as follows:
number
number
number
[0047] Assuming the sand is shallow, the vertical velocity of the sand can be ignored. Therefore, the horizontal deformation gradient field F ∈ [R 2×2 This needs to be tracked. Such horizontal deformation gradients can develop over time according to the following equation.
number
[0048] Furthermore, the depth-integrated elastoplastic internal force f I It can take the following forms:
number
[0049] The momentum contributions from external frictional forces and elastoplastic internal forces (the frictional force operator and elastoplastic force operator in the above sand governing equations) can be averaged across the entire sand column as follows:
number
[0050] Saturation state of wet sand for modeling elastoplastic forces As mentioned above, the elastoplastic force is the sand cohesive force c c It can depend on the following. Next, the cohesive force of sand can depend on the water saturation level in the sand. For example, dry sand may have a specific angle of repose, but adding a small amount of water makes the sand harder. However, adding a large amount of water may cause the sand grains to disintegrate instead of cohesive. Microscopically, as the water content increases, the morphology of the aqueous phase in the sand can be classified into suspension zones, cord-like zones, and capillary zones.
[0051] In the suspension region (typically with a saturation level of less than 10%), isolated water bridges can form between particles, generating attractive forces that significantly enhance the sand cohesive force. As water content increases, these water bridges begin to coalesce, forming liquid clusters and slightly reducing the capillary force. This is offset by the extension of the rupture distance, resulting in a constant capillary cohesive force. Upon reaching the capillary region where sand and water are fully saturated, the cohesive force decreases to nearly zero. For a simplified model and more efficient simulation, this cohesive phenomenon can be modeled using a piecewise linear function of the water saturation level, as shown in Figure 2. Cohesive force c cThe functional relationship between and the water saturation φ can be expressed by assuming that the cohesive force of the sand first grows rapidly with increasing saturation to a certain value c1, as shown by 202 in Figure 2, and then slowly approaches its maximum value c2, as shown by 204 in Figure 2.
number
[0052] The bonding of sand and fluid: diffusion and momentum exchange. The bonding between sand and water can be modeled as diffusion and momentum exchange, as used in the exemplary governing equations above.
[0053] For example, water can diffuse from one space to an adjacent space within wet sand, resulting in effective mass and velocity exchange. As mentioned above, mass diffusion is represented by term c in Equation 1. d ∇·∇h w- It is modeled by the following. Similarly, the acceleration caused by depth integral velocity diffusion in porous sand can be described as follows.
number
[0054] In addition, the first type of momentum exchange can occur when water and sand flow through each other, adding an additional acceleration term to the momentum conservation equation for sand (Equation 6).
number
number
[0055] The second type of momentum exchange can occur as a result of the shallow water assumption. w- The inductive variable is the height of the sand, h s Because the properties change, some of the mixed water can become pure water, and vice versa. Since the two water phases have different velocities, the momentum exchange between them can be modeled, which can be formulated as follows.
number
[0056] The accelerations caused by momentum exchange (the various momentum exchange operators described above) can be the averaged momentum exchange across the entire columns of sand, pure water, and mixed water, respectively, as follows:
number
[0057] Numerical update processes: asynchronous nature, as well as spatial-temporal discretization and operator partitioning. In some exemplary implementations, spatial and temporal discretization schemes may be employed for numerical simulations based on the various governing equations described above. The simulation domain can be divided into multiple horizontal cells. These horizontal cells may be arranged in a grid. Specifically, a marker-and-cell (MAC) grid may be designed to store each altitude field. For example, the height and deformation gradient may be stored at the center of the cell, and the velocity v*total(u * ,v *The subscripts i and j are used to indicate the i-th and j-th cell centers, and fractional indices indicate the face centers, i.e., i+1 / 2,j may be used to indicate the east face center of the i-th and j-th horizontal cell. The symbols Δx and Δt are used to indicate the cell size and time step size, respectively. An exemplary horizontal cell is shown as 300 in Figure 3 and includes cell center 302 and face centers 304, 306, 308, and 310.
[0058] As just one example, a spatial and temporal discretization scheme by operator decomposition may be implemented based on the governing equations for water and sand, following these update steps of the elevation fields and horizontal velocities of water and sand at each of a plurality of consecutive time points having a time step Δt. TIFF2026510883000027.tif63166
[0059] Algorithm 1 above uses the same time step size to update the altitude field and the velocities of water and sand. The steps in Algorithm 1 above can be performed in each of a plurality of progressive successive time periods having a time step Δt in each time step. The update in each time step starts from the altitude field and velocity values of the previous time step. The final updated altitude field and velocity at the end of all time steps constitute a description of the time evolution of the altitude field and velocity.
[0060] In some other exemplary implementations, the time steps for updating the altitude field and velocity may differ between water and sand. Such algorithms are sometimes referred to as asynchronous update algorithms. An example is shown below as Algorithm 2. TIFF2026510883000028.tif74166
[0061] The above steps in Algorithm 2 are also performed in each of several progressive successive time steps, and the final updated altitude field and velocity at the end of all time steps constitute a description of the time evolution of the altitude field and velocity. The above for loop in Algorithm 2 is implemented to introduce asynchronous operation between the fluid (water) simulation and the sand simulation. Specifically, each simulation time step of water Δt can be divided into multiple (T) finer sub-time steps of the sand simulation, as shown by the above for loop in Algorithm 2, in order to achieve the desired simulation performance. Thus, due to this asynchronous operation, the simulation time step for sand is 1 / T of the fluid (water) simulation in this example, i.e., Δt / T.
[0062] At least one reason for introducing asynchronous operation in algorithm 2 above may be the stiffness of the internal force T of the sand, which may require smaller time steps to advance the sand simulation. The asynchronous fluid and sand simulation described above is configured to achieve acceptable real-time performance for the sand simulation while avoiding unnecessarily updating the fluid height field and velocity at a higher frequency than necessary.
[0063] In some exemplary implementations, the appropriate time step size for water renewal and the time step size for sand renewal may be determined first. For example, the computational complexity applied to each simulated material may be determined adaptively. More specifically, Δt w The time step size of water, as shown, can be calculated based on the CFL conditions. Then, assuming the absence of sand, the chemical species of water can be simulated alone. Typically, the CFL number of water is significantly larger than that of sand, and therefore Δt w This involves updating the sand height field and velocity in smaller steps Δt s It can be further divided into. In the exemplary algorithm 2 above, Δt w is Δt s It could be T times that.
[0064] These exemplary update steps in Algorithm 2, for example, which involve splitting the updates of various operators, are described in more detail below.
[0065] Step 1: Updating the mixed water height field and velocity through diffusion. In step 1, at a specific time, the mixed water elevation field in each horizontal cell from the previous time can be updated based on equations 2 and 4, considering only the operators related to mixed water diffusion. This step is sometimes referred to as the diffusion step.
[0066] Specifically, the diffusion step considers only the following discrete terms that exchange both mass and momentum across adjacent cells.
number
[0067] Such discrete mass diffusion (Equation 9) can be solved to update the mixed water height field via an explicit Euler time integrator, as follows.
number
[0068] For cells adjacent to the domain boundary, the von Neumann boundary condition ∇ n h w- =0 can be used, where the subscript n indicates the normal direction at the boundary and h outside the boundary. w- Set it to be equal to its nearest neighbor value. The above scheme is also designed to conserve mass.
[0069] Since momentum (Equation 10) does not need to be precisely conserved, the face-center height and cell-center velocity of the mixed water can be approximated by bilinear interpolation. Using discrete diffusion of momentum, one horizontal component u of the mixed water velocity w- This can be updated as follows:
number
[0070] Step 2: Integrate the heights of water and mixed water using the continuity operator. Next, in step 2, the water and mixed water heights can be further updated based on previous or updated velocity values using the mass conservation (or continuity) part of the equation governing the water or mixed water height.
number
[0071] Using a predictor-corrector scheme, height h w and hw - These can be integrated as separate phases (predictors). In particular, a saved upwinding advection scheme can be used, which can be defined as follows:
number
[0072] The upwinding selector U(h) is,
number
[0073] Momentum exchange occurs when the predicted mixed water height min(h) w- +h w ,h s ) and the current mixed water height h w- Based on the difference between the two, the following modifier may be calculated:
number
number
[0074] M w→w- After calculating, the actual mixed water height is h w- ←min(h w- +h w ,h s ) can be recovered via h w- This is because it is implicitly a induced variable defined by the levels of sand and water.
[0075] Step 3: Integrating the velocity of water and mixed water Once the momentum exchange between the two water phases is calculated as described above in step 2, the velocities of the water and the mixed water can be updated in step 3, taking into account the gravity operator and momentum exchange operator as follows.
number
[0076] In some exemplary implementations, to further discretize the updates, the velocity is first updated using an unconditionally stable semi-Lagrangian advection scheme, and then the height gradient of the water or mixed water is updated.
number
number
[0077] Step 4: Integrating the sand height field In some exemplary implementations, for each time update of the sand height field and velocity, T finer sub-time steps may be literally performed, as shown by the for loop in Algorithm 1 above. Similar to the fluid (water) integration scheme above, the time integration of the sand height field and velocity may be based on a partitioned scheme consisting of four steps: sand height integration, sand velocity update from an elastoplastic force operator based on the deformation gradient, sand velocity integration, and application of external friction forces.
[0078] Step 4.1: Integrate the sand height field based on the conservation of mass (continuity operator). We begin by solving the following sand height integral equation using ??.
number
[0079] Step 4.2: Update the sand velocity using an elastoplastic force operator based on the deformation gradient. Since elastoplastic internal forces are far more rigid than other forces, semi-implicit integration can be performed to achieve stable integration under relatively large time step sizes, which is key to real-time simulations. For example, the deformation gradient F of sand may be integrated using a semi-implicit scheme. To account for the material derivative DF / Dt, a semi-Lagrangian advection scheme can be employed first. Then, the following backward Euler scheme can be considered to update vs and F together.
number
[0080] The above system of equations can be solved by formulating it as the following fixed-point iteration.
number
[0081] Step 4.3: Integrate the sand velocity from gravity and momentum exchange force operators and correct for the mixed water velocity. In step 4.3, the sand velocity can be solved in the same way as in the case of water.
number
number
[0082] The acceleration due to momentum exchange between mixed water and sand can be calculated using the following formula.
number
[0083] This corrects the velocity of the mixed water as follows:
number
number
number
[0084] Step 4.4: Update the sand velocity using the friction force operator. In some exemplary implementations, friction can be treated as an external force according to the principle of maximum dissipation. s and h w- Both are first interpolated on the center of each face of the horizontal cell, and then the sand velocity can be clamped via the following:
number
number
number
[0085] extrapolation The shallow fluid equation described above can be solved to obtain the velocity within the occupied region, but to accurately advect the target quantity using the semi-Lagrangian method and calculate the internal elastoplastic forces, the velocity and deformation gradient on the untracked side of the surface are required. For this purpose, in some exemplary implementations, the target data can be extrapolated by localizing the untracked horizontal cells and surface centers adjacent to the tracked cells. The average tracked value within a 3x3 neighborhood can be calculated and assigned to the untracked horizontal cells.
[0086] Simulation results The above sand and water mixture model is evaluated via a CUDA implementation, and the results are rendered in real time using OpenGL. All timings are measured on an NVIDIA GeForce RTX 4080 GPU with a 3.0GHz Intel Core i9-13900K CPU and 16GB of memory. A fixed number of fixed-point iterations are used for an efficient GPU implementation form to avoid checking residual values. Specifically, one iteration may be used. As described below, the necessity of each component (e.g., each force operator) is first tested using several examples, and then simulations of some complex examples are performed. It is assumed that the sand canyon wall collapses when saturated water is about half its height, corresponding to φ3 = 0.33. In some of the following simulations, φ1 = 0.2 and φ2 = 0.25 are selected.
[0087] Figures 4a to 4h illustrate the dynamics of sand at different water saturation levels, demonstrating that sand can behave quite differently depending on its saturation. At low saturation levels φ, dry sand is completely supported by external friction and forms an angle of repose. As saturation increases, forces from water bridges between particles become dominant, and the sand can maintain its shape under gravity. When the sand and water reach the capillary region of complete saturation, the cohesive forces decrease to almost zero, causing the sand to collapse.
[0088] Figures 5a to 5c show a simulated sandcastle demonstrating the necessity of the elastoplastic internal force described above. In particular, high frictional force fixes the castle in place and prevents deformation, while low external frictional force cannot maintain the castle's shape. Figures 5a to 5c show that, due to the presence of elastoplastic forces as modeled above, the castle can be pushed forward by water while largely maintaining its shape. Figures 5a to 5c are explained in the following table.
[0089] To test scalability, Figure 6 shows examples of "dam collapse" with different horizontal grid resolutions of 1282, 2562, 5122, and 10242, respectively. Figure 6 demonstrates that the method described above can easily scale to large scenes with low memory usage. More importantly, a high-resolution simulation at a 10242 grid takes only 1.63 ms per step, making this technique accessible for real-time applications.
[0090] To further evaluate the asynchronous updating method for water and sand described above, we run the same scene with different numbers of sand / water time step ratios, as shown in the “spring” example in Figure 7, and show the time step sizes required to obtain similar simulation performance at different asynchronous ratios. Figure 7 demonstrates that asynchronous updating can improve performance by 13%, 17%, and 21% for T=2, 3, and 4, respectively, at the expense of slight changes in the results.
[0091] The method described above employs a fixed-point iteration method to enable large time steps. We examine the convergence rate of the "spring" example described above. Figure 8 shows how the L2 norm of the velocity residual decreases with respect to the number of iterations. Using fixed-point iterations, a small number of residuals (approximately 10⁻²) can already be reached in one iteration, but adding another iteration increases the total computational cost by 20% due to the expensive deformation gradient projection within each iteration. Therefore, a balance between accuracy and efficiency can be struck using one iteration.
[0092] Figure 9 shows the simulation results, which indicate that water from the right-hand inlet slowly erodes the dam, and as water saturation increases, the sand transitions from dry to wet. As water infiltrates the sand, the cohesive force increases, and then rapidly decreases once it reaches a capillary state. Thus, the dam eventually fails due to internal seepage erosion, and the landslide creates an interesting texture within the debris flow.
[0093] Figure 10 shows a slope with the letters "SIGGRAPH" made of sand that will later be washed away by water, simulated according to the method described above. Figure 11 further shows an example of three sand dams in a canyon carried by a flow, where sand, water, and terrain are all represented as an elevation map. The real-time frame rate achieved using the method described above allows for interactive editing of the elevation map.
[0094] The above method can be easily parallelized on a GPU to achieve real-time frame rates. Table 0.1 lists the various parameters used in the above simulation. Table 0.2 provides the percentage of simulation time used for different operations, as well as the total computation time per step for the scenes tested in the paper. T indicates how many sand updates follow one water update step. More than 70% of the simulation time is spent on two operations: deformation gradient projection and boundary condition updates. Deformation gradient updates use multiple CUDA kernel passes to first extrapolate the deformation gradients and velocities at the boundary surface and center, then perform matrix SVD decomposition, and finally update and project the deformation gradient matrix. Boundary conditions are updated before almost every operation to determine the boundary type so that the following kernels can process them accordingly. [Table 1] [Table 2]
[0095] In summary, an exemplary real-time simulation framework for fluid and particulate matter mixtures is described in detail above. Such a framework may be based on modeling the altitude fields and horizontal velocities of different material phases, which may include sand, water, and mixed water in the context of a water-sand system. This framework balances simulation fidelity and performance and provides real-time calculations for interactive applications. The exemplary framework formulates external frictional and elastoplastic internal forces of sand based on a horizontal grid and further handles water / sand coupling through diffusion and momentum exchange. Time updates for the simulation are efficiently performed using a semi-implicit operator partitioning discretization scheme and an asynchronous scheme for fluid and particulate matter.
[0096] Hardware platform The above technology may be implemented using a specially designed processor and memory in any electronic device, or it may be implemented as computer software or firmware that uses computer-readable instructions and is physically stored on one or more computer-readable media. For example, Figure 12 shows a computer system (1200) suitable for implementing embodiments of the disclosed subject matter.
[0097] Computer software or firmware may be coded using any suitable machine code or computer language that is subject to assembly, compilation, linking, or similar mechanisms to create code that includes instructions that can be executed directly or via interpretation, microcode execution, etc., by one or more computer central processing units (CPUs), graphics processing units (GPUs), FPGAs, dedicated processing units, etc.
[0098] The instructions can be executed on various types of computers or their components, including, for example, personal computers, tablet computers, servers, smartphones, game consoles, and Internet of Things devices.
[0099] The components shown in Figure 12 for the computer system (1200) are essentially illustrative and are not intended to imply any limitation on the scope or functionality of computer software implementing embodiments of the present disclosure. The configuration of the components should not be construed as having any dependencies or requirements relating to any one or combination of components shown in the exemplary embodiments of the computer system (1200).
[0100] The computer system (1200) may include an input interface device. Such an input interface device may respond to input from one or more users via, for example, tactile input (e.g., keystrokes, swipes, data glove movements), audio input (e.g., voice, clapping), visual input (e.g., gestures), or olfactory input (not shown). The input interface device may also be used to capture certain media that are not necessarily directly related to conscious human input, such as audio (voices, music, ambient sounds, etc.), images (scanned images, photographic images acquired from still image cameras, etc.), and video (2D video, 3D video including stereoscopic video, etc.). The input interface may be used to input parameters and commands for interactively controlling various graphics for or generated based on the above-described sand-water simulation.
[0101] The input interface device may include one or more of the following (only one of each is shown): keyboard (1201), mouse (1202), trackpad (1203), touchscreen (1210), data glove (not shown), joystick (1205), microphone (1206), scanner (1207), and camera (1208).
[0102] The computer system (1200) may also include certain output interface devices. Such output interface devices may be configured to stimulate the user's senses through, for example, tactile output, sound, light, touch, smell / taste, etc. Such output interface devices may include tactile input and output combination devices (e.g., tactile feedback via a touchscreen (1210), data glove (not shown), or joystick (1205), although there may also be tactile feedback devices that do not function as input devices), audio output devices (e.g., speakers (1209), headphones (not shown)), visual output devices (display screens (1210), including but not limited to CRT display screens, LCD display screens, plasma display screens, OLED screens, and projection displays, each with or without touchscreen input functionality, each with or without tactile feedback functionality, some of which may be capable of outputting two-dimensional or three-dimensional output via means such as stereographic output, virtual reality glasses (not shown), holographic displays, and smoke tanks (not shown)). The output interface device may include other devices such as a two-dimensional or three-dimensional printer (not shown).
[0103] A computer system (1200) may also include non-temporary storage devices and their associated media, such as optical media including CD / DVD ROM / RW (1220) having media such as CD / DVD (1221), thumb drives (1222), removable hard drives or solid-state drives (1223), legacy magnetic media such as tapes and floppy disks (not shown), and dedicated ROM / ASIC / PLD-based devices such as security dongles (not shown). Those skilled in the art should also understand that the term “computer-readable media” as used in relation to the subject matter of this disclosure does not include transmission media, carriers, or other temporary signals.
[0104] The computer system (1200) may also include an interface (1254) to one or more communication networks (1255). The network may be, for example, wireless, wired, or optical. The network may further be local, wide-area, metropolitan, automotive, and industrial, real-time, or latency-tolerant. Examples of networks include local area networks such as Ethernet, cellular networks including wireless LAN, GSM, 3G, 4G / LTE, and 5G networks, wired or wireless wide-area digital networks including cable TV, satellite TV, and terrestrial broadcast TV, and automotive and industrial networks including CAN buses. The computer system (1200) may be connected to various external networks via network interface adapters attached to the general-purpose data ports or peripheral buses (1249) (e.g., USB ports) of the computer system (1200). Alternatively, the network interface may be integrated into the core of the computer system (1200) via a system bus, as described below (for example, an Ethernet interface or a cellular communication interface may be integrated into a PC computer system or a smartphone computer system). Using any of these communication networks, a computer system (1200) can communicate with other remote electronic devices. Such communication may be one-way (e.g., receive-only (e.g., broadcast television), or transmit-only (e.g., a CAN bus to a specific CAN bus device)) or two-way (e.g., receiving information from and transmitting information to other computer systems using a local or wide-area digital network). A set of protocols and protocol stacks may be used on each of these networks and network interfaces to achieve network communication.
[0105] The above-mentioned input and output interface devices, storage devices, and network interfaces can be mounted on the core (1240) of the computer system (1200).
[0106] A core (1240) may include one or more central processing units (CPUs) (1241), graphics processing units (GPUs) (1242), dedicated programmable processing units in the form of field-programmable gate areas (FPGAs) (1243), hardware accelerators for specific tasks (1244), graphics adapters (1250), and the like. These devices, along with read-only memory (ROM) (1245), random access memory (1246), and internal mass storage such as internal hard drives and SSDs (1247) that are not accessible to the user, may be connected via a system bus (1248). In some computer systems, the system bus (1248) may be accessible in the form of one or more physical connectors to allow expansion with additional CPUs, GPUs, etc. Peripheral devices may be connected directly to the core's system bus (1248) or via a peripheral data bus (1249). For example, a display screen (1210) may be connected to a graphics adapter (1250). The peripheral bus architecture may include, but is not limited to, PCI, USB, etc. The CPU (1241), GPU (1242), FPGA (1243), and accelerator (1244) can execute computer instructions as the computer code described above. Such computer code can be stored in ROM (1245) or RAM (1246). Intermediate processing data can also be stored in RAM (1246), while permanent data can be stored, for example, in internal mass storage (1247). By using cache memory, high-speed storage to and retrieval from any of the memory devices can be enabled. The cache memory may be integrated with one or more CPUs (1241), GPUs (1242), mass storage (1247), ROMs (1245), RAM (1246), etc., or may communicate directly with them.
[0107] A computer-readable medium may be configured to store computer code for performing various computer implementation operations. The medium and computer code may be specifically designed and constructed for the purposes of this disclosure, or they may be general-purpose.
[0108] As a non-limiting example, a computer system having an architecture (1200), specifically a core (1240), can provide functionality as a result of a processor(s) (including CPU, GPU, FPGA, accelerator, etc.) executing software embodied in one or more tangible computer-readable media. Such computer-readable media can be implemented as mass storage as described above, as well as specific storage of the non-transient nature of the core (1240), such as core internal mass storage (1247) or ROM (1245). Software for implementing various embodiments of the present disclosure can be stored in such devices and executed by the computer core (1240). The computer-readable media can include one or more memory devices or storage chips. By executing the software, the computer core (1240), specifically the processor (including CPU, GPU, FPGA, etc.) therein, can be caused to execute specific processes or specific parts of specific processes described herein, including defining data structures stored in RAM (1246) and modifying such data structures according to processes defined by the software. In addition, or as an alternative, a computer system (1200) may provide functionality as a result of logic wired to or otherwise embodied in circuits (e.g., accelerators (1244)) that can operate in place of or with software to perform specific processes or specific parts of specific processes described herein. References to software may, as necessary, include logic and vice versa. References to computer-readable media may, as necessary, include circuits for storing software for execution (such as integrated circuits (ICs)), circuits for embodying logic for execution, or both. This disclosure encompasses any preferred combination of hardware and software.
[0109] In general, terms can be understood at least partially from their use in their context. For example, terms such as “and,” “or,” or “and / or” as used herein may have various meanings that may at least partially depend on the context in which such terms are used. In general, when the term “or” is used to relate a list such as A, B, or C, it here means A, B, and C in an inclusive sense, and A, B, or C in an exclusive sense. Furthermore, the terms “one or more” or “at least one” as used herein may be used at least partially depending on the context to describe any feature, structure, or characteristic in a singular sense, or to describe a combination of features, structures, or characteristics in a plural sense. Similarly, terms such as “a,” “an,” or “the” may, in this case as well, be understood to convey either singular or plural use, at least partially depending on the context. Furthermore, the terms "based on" or "determined by" can be understood not necessarily as being intended to convey an exclusive set of factors, but rather, in this case as well, may allow for the presence of additional factors that are not necessarily explicitly stated, at least in part depending on the context.
[0110] While this disclosure has described several exemplary embodiments, there are many modifications, substitutions, and alternative equivalents that fall within the scope of this disclosure. Therefore, those skilled in the art will understand that numerous systems and methods, not expressly illustrated or described herein, could be devised to embody the principles of this disclosure and thus fall within its spirit and scope.
Claims
1. A method for computer-generated time evolution of a horizontal altitude field encompassing fluid and particulate matter, The horizontal elevation field in each of the multiple horizontal cells spanning a predetermined static terrain is divided into one or more of the following: a fluid layer of the fluid material, a mixed layer of the fluid material and the granular material, and a solid layer of the granular material. In a series of consecutive time steps, using multiple mass and momentum conservation operators, under the shallow fluid approximation, the time evolution of at least one set of the first depth and first horizontal velocity of the fluid layer in each horizontal cell, the second depth and second horizontal velocity of the fluid material in the mixed layer, and the third depth and third horizontal velocity of the granular material is modeled by employing a partitioning discretization scheme for the multiple mass and momentum conservation operators, the first depth, the second depth, and the third depth that form the horizontal height field. A method comprising generating a visual representation of the time evolution of at least one of the horizontal altitude field, the first horizontal velocity, the second horizontal velocity, and the third horizontal velocity for display on a graphical user interface.
2. Modeling the time evolution of at least one set of the first depth and first horizontal velocity, the second depth and second horizontal velocity, and the third depth and third horizontal velocity within each horizontal cell is: The first depth and first horizontal velocity of the fluid layer within each horizontal cell are modeled by a first set of dynamic equations based on a continuity operator and a first momentum exchange force operator, Using a second set of dynamic equations based on the continuity operator, diffusion mass transfer operator, gravity operator, diffusion force operator, and second momentum exchange force operator, the second depth and second horizontal velocity of the fluid material in the mixed layer within each horizontal cell are modeled. The third depth and third horizontal velocity of the granular material are modeled using a third set of dynamic equations based on the continuity operator, the gravity operator, the elastoplastic force operator, the third momentum exchange force operator, and the friction force operator due to the predetermined static terrain. The method according to claim 1, comprising generating the time evolution of at least one set of the first depth and first horizontal velocity, the second depth and second horizontal velocity, and the third depth and third horizontal velocity in each of the plurality of consecutive time steps, using the partitioning discretization scheme for at least two of the continuity operator, the diffusive mass transfer operator, the gravity operator, the diffusive force operator, the momentum exchange force operator, the elastoplastic force operator, and the friction force operator in each of the plurality of consecutive time steps, based on the first set of dynamical equations, the second set of dynamical equations, and the third set of dynamical equations.
3. The method according to claim 2, wherein the continuity operator is applied to dynamically model the first depth, the second depth, and the third depth, and is configured to take into account the mass changes resulting from the horizontal flow of the fluid material in the fluid layer, the fluid material in the mixed layer, and the particulate material, respectively.
4. The method according to claim 3, wherein the gravity operator is applied to dynamically model the first horizontal velocity, the second horizontal velocity, and the third horizontal velocity in order to account for the horizontal force component of gravity on each of the fluid layer, the fluid substance in the mixed layer, and the granular substance.
5. The method according to claim 4, wherein the first momentum exchange force operator is applied to dynamically model the first horizontal velocity of the fluid material in the fluid layer and is configured to consider the first momentum exchange from the mixing layer in an adjacent horizontal cell to the fluid material in the fluid layer of the current horizontal cell.
6. The method according to claim 4, wherein the diffusion material transfer operator is applied to dynamically model the second depth in the mixed layer in order to account for the diffusion of the fluid material to the granular material in the mixed layer.
7. The method according to claim 6, wherein the diffusion force operator is applied to dynamically model the second horizontal velocity of the fluid substance in the mixed layer in order to account for the diffusion force arising from the fluid substance diffusing with respect to the granular material in the mixed layer.
8. The method according to claim 7, wherein the second momentum exchange force operator is applied to dynamically model the second horizontal velocity of the fluid material in the mixed layer in order to account for a second momentum exchange of the current horizontal cell to the fluid material in the mixed layer, from a combination of the fluid material in the fluid layer and the granular material in the mixed layer and the solid layer in adjacent horizontal cells.
9. The method according to claim 4, wherein the elastoplastic force operator is applied to dynamically model the third horizontal velocity of the granular material in the mixed layer, and is derived from the deformation gradient and stress in the granular material corresponding to the elastic energy density in the granular material.
10. The method according to claim 9, wherein the stress is configured to be limited according to the cohesive forces between the particles of the granular material.
11. The method according to claim 10, wherein the cohesive force between particles of the granular material is modeled as a piecewise function of the saturation level of the fluid material mixed with the granular material.
12. The method according to claim 9, wherein the third momentum exchange force operator is applied to dynamically model the third horizontal velocity of the granular material in order to account for a third momentum exchange from the mixed layer in an adjacent horizontal cell to the mixed layer and the solid layer of the current horizontal cell.
13. The method according to claim 9, wherein the friction force operator is applied to dynamically model the third horizontal velocity of the granular material in order to account for the frictional resistance of the predetermined static terrain to the granular material.
14. The partitioning discretization scheme in each time step for updating the first depth, the first horizontal velocity, the second depth, and the second horizontal velocity is: Using the first set of dynamic equations, and considering only the diffusing mass transfer operator and the diffusing force operator, the first depth and the first horizontal velocity are updated. Using the first set of dynamic equations and the second set of dynamic equations, respectively, and considering only the continuity operator, integrate the first depth and the second depth, The method according to any one of claims 2 to 13, comprising sequentially performing the following steps: using the first set of dynamic equations and the second set of dynamic equations, respectively, and considering only the gravity operator and the second momentum exchange force operator, to integrate the first horizontal velocity and the second horizontal velocity.
15. The partitioning discretization scheme in each of the plurality of consecutive time steps for updating the third depth and the third horizontal velocity is: The third set of dynamic equations is used to update the third depth, considering only the continuity operator, Using the third set of dynamic equations, and considering only the elastoplastic force operators, the deformation gradient evolution of the third horizontal velocity is performed, Using the third set of dynamic equations, and considering only the gravity operator and the third momentum exchange force operator, the third horizontal velocity is integrated, The third horizontal velocity is updated using the third set of dynamic equations that consider only the friction force operator, The method according to claim 14, comprising iteratively performing in one or more sub-time steps the integration of the first horizontal velocity and the second horizontal velocity using the first set of dynamic equations and the second set of dynamic equations that consider only the gravity operator and the second momentum exchange force operator.
16. The method according to any one of claims 1 to 13, wherein the partitioning discretization scheme includes updating the time evolution of the fluid material and the time evolution of the granular material asynchronously with the time evolution of the granular material which is updated more frequently.
17. An apparatus for generating the time evolution of a horizontal altitude field encompassing fluid and particulate matter, the apparatus comprising a memory for storing computer instructions and an execution mechanism for executing the computer instructions. The horizontal altitude field in each of the multiple horizontal cells spanning a predetermined static terrain is divided into one or more of the following: a fluid layer of the fluid material, a mixed layer of the fluid material and the granular material, and a solid layer of the granular material. In a series of consecutive time steps, using multiple mass and momentum conservation operators, under the shallow fluid approximation, the time evolution of at least one set of the first depth and first horizontal velocity of the fluid layer in each horizontal cell, the second depth and second horizontal velocity of the fluid material in the mixed layer, and the third depth and third horizontal velocity of the granular material is modeled by employing a partitioning discretization scheme for the multiple mass and momentum conservation operators, the first depth, the second depth, and the third depth that form the horizontal height field. For display on a graphical user interface, a visual representation of the time evolution of at least one of the horizontal altitude field, the first horizontal velocity, the second horizontal velocity, and the third horizontal velocity is generated. A device equipped with a processor.
18. Modeling the time evolution of the first depth, first horizontal velocity, second depth, second horizontal velocity, third depth, and third horizontal velocity within each horizontal cell is: The first depth and first horizontal velocity of the fluid layer within each horizontal cell are modeled by a first set of dynamic equations based on a continuity operator and a first momentum exchange force operator, Using a second set of dynamic equations based on the continuity operator, diffusion mass transfer operator, gravity operator, diffusion force operator, and second momentum exchange force operator, the second depth and second horizontal velocity of the fluid material in the mixed layer within each horizontal cell are modeled. The third depth and third horizontal velocity of the granular material are modeled using a third set of dynamic equations based on the continuity operator, the gravity operator, the elastoplastic force operator, the third momentum exchange force operator, and the friction force operator due to the predetermined static terrain. The apparatus according to claim 17, comprising generating the time evolution of at least one set of the first depth and first horizontal velocity, the second depth and second horizontal velocity, and the third depth and third horizontal velocity in each of the plurality of consecutive time steps, using the partitioning discretization scheme with respect to at least two of the continuity operator, the diffusive mass transfer operator, the gravity operator, the diffusive force operator, the momentum exchange force operator, the elastoplastic force operator, and the friction force operator in each of the plurality of consecutive time steps.
19. The partition discretization scheme in each time step for updating the first depth, the first horizontal velocity, the second depth, and the second horizontal velocity is such that the processor executes the computer instructions. Using the first set of dynamic equations, and considering only the diffusing mass transfer operator and the diffusing force operator, update the first depth and the first horizontal velocity. Using the first set of dynamic equations and the second set of dynamic equations, respectively, and considering only the continuity operator, integrate the first depth and the second depth, The apparatus according to claim 18, comprising being configured to integrate the first horizontal velocity and the second horizontal velocity using the first set of dynamic equations and the second set of dynamic equations, respectively, and considering only the gravity operator and the second momentum exchange force operator.
20. The partition discretization scheme in each of the plurality of consecutive time steps for updating the third depth and the third horizontal velocity is such that the processor executes the computer instructions iteratively in one or more sub-time steps. Using the third set of dynamic equations, and considering only the continuity operator, update the third depth. Using the third set of dynamic equations, and considering only the elastoplastic force operators, perform the deformation gradient evolution of the third horizontal velocity. Using the third set of dynamic equations, and considering only the gravity operator and the third momentum exchange force operator, integrate the third horizontal velocity. The third horizontal velocity is updated using the third set of dynamic equations that consider only the friction force operator. The apparatus according to claim 19, comprising being configured to integrate the first horizontal velocity and the second horizontal velocity using the first set of dynamic equations and the second set of dynamic equations that take only the gravity operator and the second momentum exchange force operator.