Peridynamics (sometimes referred to herein as PD) is a nonlocal extension of classical continuum mechanics that has been used in modelling of fracture and damage. In contrast with classical (i.e., local) models described using spatial derivatives, governing equations in PD can replace spatial derivatives with integral operators. For example, in lieu of partial differential equations used in classical models, PD can use integro-differential equations. In PD, nonlocal interactions can be considered between points within a certain distance, replacing the usual spatial derivatives with integral operators. This can eliminate the usual requirements of continuity and smoothness for problem's solution function (e.g., displacement field), allowing the emergence and evolution of discontinuities, such as cracks and damage, to be modeled using PD as natural parts of the solution to the governing equations. However, numerical solutions to such nonlocal formulations are relatively expensive, due in part to the computation of volume integrals (or area integrals in 2D) performed at each node.
Nonlocal diffusion-type equations are frequently used to describe various phenomena such as swarm of organisms, flocking of birds, pedestrian traffic, delayed reaction-diffusion in biology, material dissolution and corrosion, etc. A peridynamic diffusion equation has been used a nonlocal formulation for modeling diffusion in domains with evolving discontinuities, such as heat diffusion in a cracking domain or mass-transfer in corrosion damage propagation.
Meshfree techniques based on one-point Gaussian quadrature are perhaps the most widely used numerical method for discretizing PD equations due to its benefits in modeling damage and fracture. Continuous and discontinuous Galerkin finite element methods (FEM) are other approaches used for discretizing PD equations. Continuous FEM models for PD formulations are rarely used in simulating fracture, while the discontinuous Galerkin-based discretizations of PD models have shown some difficulties in correctly predicting dynamic brittle fracture. When these discretization techniques are used, nonlocality increases the cost for a PD model, relative to the cost of numerically approximating local models. For a certain size of the nonlocal interaction region (sometimes referred to as the “horizon” size), the computational complexity of the meshfree and FEM approaches is O(N2) with N being the total number of nodes employed to discretize the domain. Thus, for largescale problems in 3D, the cost becomes prohibitive, even on massively parallel computers.
Various attempts have been made to reduce the cost of peridynamic simulations. For example, coupling the local theory with PD is one approach that uses a local model for parts of the domain, and uses the PD model only at locations near cracks/damage. This approach does not work well for problems in which damage/cracks are (or become) widely distributed throughout the domain, such as in problems like impact fragmentation, etc.
Accordingly, new systems, methods, and media for efficient peridynamic modeling with bounded domains are desirable.
In accordance with some embodiments of the disclosed subject matter, systems, methods, and media for efficient peridynamic modeling with bounded domains are provided.
In accordance with some embodiments of the disclosed subject matter, a method is provided, comprising receiving a plurality of parameters associated with a non-local model that has a convolutional structure to be used for one or more simulations, wherein the plurality of parameters includes a shape of a domain Ω, a horizon size δ, and one or more boundary constraints; drawing a periodic box that includes the domain Ω and a boundary layer Γ extending from the domain Ω; imposing the one or more boundary constraints on the boundary layer Γ; performing a simulation of a physical process using the non-local model and convolutional properties of Fourier transforms; and causing a result of the simulation to be presented.
In some embodiments, the non-local model comprises a peridynamic model.
In some embodiments, the plurality of parameters includes one or more initial conditions.
In some embodiments, performing the simulation comprises: discretizing the non-local model using one or more Fourier transforms, wherein integral operators associated with the model are expressed in terms of convolutions; and solving the discretized non-local model on T.
In some embodiments, the non-local model comprises a model of diffusion.
In some embodiments, the model of diffusion is non-linear.
In some embodiments, the non-local model comprises a model of deformation and fracture.
In some embodiments, the model of deformation and fracture is non-linear.
In some embodiments, the non-local model comprises a model of dissolution damage.
In some embodiments, the non-local model comprises a model of corrosion damage.
In some embodiments, the domain Ω comprises a three-dimensional (3D) shape.
In some embodiments, the time step size satisfies a constraint.
In some embodiments, the time step size Δ t satisfies Δt≤1/vβ, where v is a scalar diffusivity constant associated with the non-local model, and β corresponds to an integral of a kernel function associated with the non-local model over a region H_0 of the domain Ω, H_0 having a size based on the horizon size δ and the dimensionality of the domain Ω.
In some embodiments, causing the result of the simulation to be presented comprises: causing a visual representation of at least a portion of the non-local model at a particular time step to be presented.
In some embodiments, causing the result of the simulation to be presented comprises: causing a visual state of at least a portion of the non-local model at a particular load step to be presented.
In some embodiments, receiving the plurality of parameters associated with the peridynamic model to be simulated, comprises: receiving the plurality of parameters from a remote computing device over a wide area network (WAN).
In accordance with some embodiments of the disclosed subject matter, a system for peridynamic modeling is provided, the system comprising: at least one processor that is configured to: receive a plurality of parameters associated with a non-local model that has a convolutional structure to be used for one or more simulations, wherein the plurality of parameters includes a shape of a domain Ω, a horizon size δ, and one or more boundary constraints; draw a periodic box T that includes the domain Ω and a boundary layer Γ extending from the domain Ω; impose the one or more boundary constraints on the boundary layer Γ; perform a simulation of a physical process using the non-local model and convolutional properties of Fourier transforms; and cause a result of the simulation to be presented.
In accordance with some embodiments of the disclosed subject matter, a non-transitory computer readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for peridynamic modeling is provided, the method comprising: receiving a plurality of parameters associated with a non-local model that has a convolutional structure to be used for one or more simulations, including a shape of a domain Ω, a horizon size δ, and one or more boundary constraints; drawing a periodic box T that includes the domain Ω and a boundary layer Γ extending from the domain Ω; imposing the one or more boundary constraints on the boundary layer Γ; performing a simulation of a physical process using the non-local model and convolutional properties of Fourier transforms; and causing a result of the simulation to be presented.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
Various objects, features, and advantages of the disclosed subject matter can be more fully appreciated with reference to the following detailed description of the disclosed subject matter when considered in connection with the following drawings, in which like reference numerals identify like elements.
In accordance with various embodiments, mechanisms (which can, for example, include systems, methods, and media) for efficient peridynamic modeling with bounded domains are provided.
Reducing the computational cost for PD models can be achieved with Fourier-based techniques. For example, the PD operator in the PD diffusion equation can be expressed in terms of convolution integrals. Fourier-based techniques can be used to transform the convolution integral operator into a multiplication in the Fourier space. Such techniques can have a complexity of O(N log2 N), with the bulk of the computations used to compute the Fourier transform and its inverse (e.g., via fast Fourier transform (FFT)). However, Fourier-based techniques are normally only useable in periodic domains, limiting the use of such techniques to a small subset of problems to which PD can be applied.
For example, Fourier-based techniques can be used to solve the nonlocal Allen-Cahn equation, fractional-in-space reaction diffusion, and PD diffusion and wave equations with linear operators, over periodic domains. A certain class of PD models discretized with the FEM or meshfree approaches, are amenable to fast solutions using a Fourier-based approach.
As another example, Fourier-based techniques can be applied to certain non-periodic domains and arbitrary boundary conditions using a boundary adapted spectral method (BASM), which can also be referred to as a fast convolution-based method (FCBM) for 1D linear peridynamic diffusion problems, using a volume penalization (VP) technique. However, while such an approach can produce significant efficiency gains compared with meshfree discretization for PD diffusion in 1D, it was limited to 1D and linear problems.
In some embodiments, mechanisms described herein can utilize an embedded constraint(s) that can facilitate use of Fourier-based techniques for diffusion problems in multiple dimensions (e.g., in 2D and 3D problems), and in nonlinear PD diffusion problems. Note that mechanisms described herein can also be applied to problems with linear PD diffusion. Additionally, in some embodiments, mechanisms described herein can utilize an embedded constrain(s) that can facilitate enforcement of boundary conditions and use of Fourier-based techniques for at least elastic (linear or nonlinear) deformations, fracture and damage, corrosion, and dissolution.
In some embodiments, mechanisms described herein can be used to generate constitutive models and material models with convolutional structures that can facilitate efficient peridynamic modeling with bounded domains for a variety of problems. Additionally, mechanisms described herein can configure nonlinear problems, such as non-linear deformation, corrosion damage, and fracture (e.g., dynamic fracture in a brittle material), as a convolution structure amenable to modeling using techniques described herein. Note that mechanisms described herein can also be applied to classical local models. For example, mechanisms described herein can be used with the PD correspondence model that places the classical local model into a peridynamic framework.
In some embodiments, computing device 110 can execute at least a portion of peridynamic modeling system 104 to efficiently (e.g., more quickly, using less computational resources, etc.) simulating a problem with bounded or periodic domains and linear or non-linear behavior using mechanisms described herein.
Additionally or alternatively, in some embodiments, computing device 110 can communicate data received from model data source 102 to a server 120 over a communication network 108, which can execute at least a portion of peridynamic modeling system 104. In such embodiments, server 120 can return information to computing device 110 (and/or any other suitable computing device) indicative of an output of a peridynamic modeling process. In some embodiments, peridynamic modeling system 104 can execute one or more portions of process 600 described below in connection with
In some embodiments, computing device 110 and/or server 120 can be any suitable computing device or combination of devices, such as a desktop computer, a laptop computer, a smartphone, a tablet computer, a wearable computer, a server computer, a virtual machine being executed by a physical computing device, etc.
In some embodiments, model data source 102 can be any suitable source of model data (e.g., data related to one or more materials that can be used to perform peridynamic modeling, data related to one or more bodies that be used to perform peridynamic modeling) and/or other data that can be used to simulate a problem. In a more particular example, model data source 102 can include memory storing modeling data (e.g., local memory of computing device 110, local memory of server 120, cloud storage, portable memory connected to computing device 110, portable memory connected to server 120, etc.). In another more particular example, model data source 102 can include an application configured to generate model data (e.g., computer-aided design (CAD) software) being executed by computing device 110, server 120, and/or any other suitable computing device.
In some embodiments, model data source 102 can be local to computing device 110. For example, model data source 102 can be incorporated with computing device 110 (e.g., computing device 110 can include memory that stores model data, and/or can execute a program that generates model data). As another example, model data source 102 can be connected to computing device 110 by a cable, a direct wireless link, etc. Additionally or alternatively, in some embodiments, model data source 102 can be located locally and/or remotely from computing device 110, and can communicate model data to computing device 110 (and/or server 120) via a communication network (e.g., communication network 108).
In some embodiments, communication network 108 can be any suitable communication network or combination of communication networks. For example, communication network 108 can include a Wi-Fi network (which can include one or more wireless routers, one or more switches, etc.), a peer-to-peer network (e.g., a Bluetooth network), a cellular network (e.g., a 3G network, a 4G network, a 5G network, etc., complying with any suitable standard, such as CDMA, GSM, LTE, LTE Advanced, NR, etc.), a wired network, etc. In some embodiments, communication network 108 can be a local area network (LAN), a wide area network (WAN), a public network (e.g., the Internet), a private or semi-private network (e.g., a corporate or university intranet), any other suitable type of network, or any suitable combination of networks. Communications links shown in
In some embodiments, communications systems 208 can include any suitable hardware, firmware, and/or software for communicating information over communication network 108 and/or any other suitable communication networks. For example, communications systems 208 can include one or more transceivers, one or more communication chips and/or chip sets, etc. In a more particular example, communications systems 208 can include hardware, firmware and/or software that can be used to establish a Wi-Fi connection, a Bluetooth connection, a cellular connection, an Ethernet connection, etc.
In some embodiments, memory 210 can include any suitable storage device or devices that can be used to store instructions, values, etc., that can be used, for example, by processor 202 to perform a computer vision task, to present content using display 204, to communicate with server 120 via communications system(s) 208, etc. Memory 210 can include any suitable volatile memory, non-volatile memory, storage, or any suitable combination thereof. For example, memory 210 can include random access memory (RAM), read-only memory (ROM), electronically-erasable programmable read-only memory (EEPROM), one or more flash drives, one or more hard disks, one or more solid state drives, one or more optical drives, etc. In some embodiments, memory 210 can have encoded thereon a computer program for controlling operation of computing device 110. For example, in such embodiments, processor 202 can execute at least a portion of the computer program to transmit model data to server 120, receive model data from server 120, efficiently simulate a physical process (e.g., diffusion, fracture, etc.), generate results related to the simulation, receive results related to the simulation from server 120, and/or present results related to the simulation. As another example, processor 202 can execute at least a portion of the computer program to implement peridynamic modeling system 104. As yet another example, processor 202 can execute at least a portion of process 600 described below in connection with
In some embodiments, server 120 can include a processor 212, a display 214, one or more inputs 216, one or more communications systems 218, and/or memory 220. In some embodiments, processor 212 can be any suitable hardware processor or combination of processors, such as a CPU, a GPU, an ASIC, an FPGA, etc. In some embodiments, display 214 can include any suitable display devices, such as a computer monitor, a touchscreen, a television, etc. In some embodiments, inputs 216 can include any suitable input devices and/or sensors that can be used to receive user input, such as a keyboard, a mouse, a touchscreen, a microphone, etc.
In some embodiments, communications systems 218 can include any suitable hardware, firmware, and/or software for communicating information over communication network 108 and/or any other suitable communication networks. For example, communications systems 218 can include one or more transceivers, one or more communication chips and/or chip sets, etc. In a more particular example, communications systems 218 can include hardware, firmware and/or software that can be used to establish a Wi-Fi connection, a Bluetooth connection, a cellular connection, an Ethernet connection, etc.
In some embodiments, memory 220 can include any suitable storage device or devices that can be used to store instructions, values, etc., that can be used, for example, by processor 212 to present content using display 214, to communicate with one or more computing devices 110, etc. Memory 220 can include any suitable volatile memory, non-volatile memory, storage, or any suitable combination thereof. For example, memory 220 can include RAM, ROM, EEPROM, one or more flash drives, one or more hard disks, one or more solid state drives, one or more optical drives, etc. In some embodiments, memory 220 can have encoded thereon a server program for controlling operation of server 120. For example, in such embodiments, processor 212 can receive model data from computing device 110, transmit model data to computing device 110, efficiently simulate a physical process (e.g., diffusion, fracture, etc.), generate results related to the simulation, transmit results related to the simulation to computing device 110, and/or cause results related to the simulation to be presented (e.g., by computing device 110). As another example, processor 212 can execute at least a portion of the computer program to implement peridynamic modeling system 104. As yet another example, processor 212 can execute at least a portion of process 600 described below in connection with
3 (e.g., when domain Ω is specified in 3D). The spatial point x can interact with other points within a finite size region (sometimes referred to herein as a “neighborhood”) centered at X. Such a region can be any suitable shape, such as a disk in 2D, or a sphere in 3D. This neighborhood can referred to as a horizon region of x, which can be specified as
x, and the radius of the neighborhood can be referred to as the horizon size, or simply, the horizon, and can be specified as δ. Points located inside
x can be denoted by x′ and can be referred to as the family of x.
The general nonlinear anisotropic inhomogeneous case of the classical diffusion equation can be expressed as:
where u(x,t) is a function describing the diffusing quantity (e.g., concentration in mass transport, temperature in heat transfer, etc.) at point X and time t, r is a source term, ∇ is the gradient operator, the symbol (⋅) denotes inner (dot) product, and C is the second-order diffusivity tensor, which may depend on position and/or time. Nonlinearity in EQ. (1) can arise if C depends on u (e.g., concentration-dependent diffusivity, or temperature-dependent conductivity). If C is independent of u the equation is linear. In this case, for an isotropic and homogenous diffusion defined by ∇ as the scalar diffusivity constant, EQ. (1) can become:
where ∇2 denotes the classical Laplacian operator.
A general PD diffusion equation can be expressed as a nonlocal version of EQ. (1):
where the classical diffusion operator ∇·(C·∇) in EQ. (1) can be replaced with the PD diffusion operator γ:
In EQ. (4), the kernel γ can be assumed to be nonnegative and symmetric in the first two variables: γ(x,x′,t)=γ(x′,x,t). Kernel γ can define the nonlocal interaction between X and X′. PD diffusion can be nonlinear if γ depends on u(x,t) and/or u(x′,t), and otherwise can be linear.
For isotropic homogeneous diffusion with constant diffusivity, the peridynamic diffusion equation can be expressed as:
where μ is the PD Laplacian operator, a nonlocal version of the Laplacian in EQ. (2). The PD Laplacian can be expressed as:
where a kernel function μ is nonnegative and symmetric (e.g., μ(x)=μ(−x)).
In order to take advantage of increased efficiency facilitated by Fourier-based techniques for solving PD diffusion problems, the PD operator can be expressed in terms of convolutions. For example, the PD Laplacian given in EQ. (6) can be decomposed into a convolution integral term and a linear term:
Additionally, since μ(x-x′) is zero outside of x, EQ. (7) can be rewritten to:
μ
u(x,t)=[μ*u](x,t)−βu(x,t) (8)
where (*) denotes the convolution operator,
Note that for examples other than this linear case, a similar decomposition can be performed for certain classes of nonlinear problems for which such convolutional expressions exist. For example, for kernels of the form:
γ(x,x′,t)=σ(x,x′,u,u′,t)ω(x′−x,t) (11)
with Ω(X′x,t)=Ω(x−x′,t),σ(x,x′,u,u′,t)=σ(x′,x,u′,u,t) and σ being a linear combination of functions (or products of such functions) that depend on (x,u,t) or (x′,u′,t). The decomposition into convolutions for a specific example of such PD nonlinear diffusion operators is described below in connection with EQ. (12).
If the kernel γ in EQ. (4) is defined as:
where u′ denotes u(x′,t) for notation simplicity. Similarly, by denoting f′ and h′ for f(x′,u′,t) and h(x′,u′,t) respectively, the nonlinear diffusion PD operator becomes:
Note that EQ. (8), the linear case, can be recovered from EQ. (13) when f=h=1, and Ω=μ.
In some embodiments, mechanisms described herein can be generalized and can be applied to any integral operator with a convolutional structure. For example, as described in Appendix D, which is hereby incorporated by reference herein, mechanisms described herein can be applied to PD equations of motion (e.g., to model deformation, damage, fracture, etc.). Mechanisms described herein can be used with models that are elastic or inelastic, linear or non-linear, and dynamic or static. As another example, as described in Appendix E, which is hereby incorporated by reference herein, mechanisms described herein can be applied to dissolution problems and corrosion damage problems.
In connection with EQS. (14) to (34), the convolution form given in EQ. (8) for the linear case and in EQ. (13) for the non-linear case are used to describe a Fourier-based technique for peridynamic models of diffusion in 3D periodic domains. As described in Appendix D, similar techniques can be used to apply a Fourier-based technique for peridynamic models of deformation and/or fracture (e.g., based on peridynamic equations of motion).
As described above, EQ. (5) expresses the peridynamic diffusion equation for isotropic homogeneous PD diffusion. In order to apply Fourier-based techniques, mechanisms described herein can assume periodicity of the 3D domain in the Cartesian directions. If u(x,t) is a complex-valued scalar function defined over the periodic domain =[0, L1]×[0, L2]×[0, L3], 0 can be identified with L1, L2, and L3 in all three directions to create the assumed domain periodicity (techniques that can be used to extend this to arbitrary domains are described below in connection with
where k={k1,k2,k3} is the integer vector of Fourier modes, ζ=√{square root over (−1)}, and:
are the Fourier coefficients of U for different values of k. EQ. (15) can also be referred to as the Fourier transform of u while EQ. (14) can be referred to as the inverse Fourier transform of û. The kernel function μ (see EQ. (6)) can also be expressed using a similar Fourier series if it is assumed to be a periodic complex-valued scalar function defined over :
In this case, the PD Laplacian operator of u becomes:
μ
u(x,t)=[μu](x,t)−βu(x,t) (18)
Where () denotes the 3D circular (sometimes referred to as cyclic or periodic) convolution on
:
[μu](x,t)=
u(x−x′)u(x′,t)dx′ (19)
In the Fourier space, the circular convolution is transformed into multiplication of the convoluted functions:
{[μ
u](x,t)}=L3L2L1
(μ)
(u)=L3L2L1{circumflex over (μ)}(k)û(k,t) (20)
where denotes the Fourier transform operation.
Using the Discrete Fourier Transform (DFT) can facilitate simulation of a problem using mechanisms described herein. Accordingly, u and μ can be approximated using truncated (finite) Fourier series. For example, if N1, N2, and N3 are three integer numbers up to which the Fourier series are truncated in the three directions, then the truncated Fourier series can be represented as:
A uniform discretization of the spatial domain can be selected, with the same number of nodes as the Fourier modes in the truncations of EQS. (21) and (22) in each direction:
Thus, the DFT for u and μ can be represented as:
and the inverse discrete Fourier transform (iDFT) for ũ and {tilde over (μ)} can be represented as:
The PD Laplacian of uN on the discretized domain can be expressed via one-point Gaussian quadrature as:
Using the definitions for the truncated Fourier series representations and DFT operations described above, the circular convolution of μ and u can be represented as:
Using Fast Fourier Transform (FFT) algorithms to implement the DFT and iDFT, the cost for the DFT operation and its inverse is O(N log2 N), where N=N1N2N3 is the total number of nodes. Using a simplify notation uN (Xijl,t)=uijl,tN and μN(Xijl)=μijlN, the linear nonlocal operator in discrete form can be represented as:
where FFT and FFT−1 refer to the FFT and inverse FFT operations, respectively, and:
For singular kernels
e.g. the kernel used in the example described in connection with uN and βN become singular which make
in EQ. (28) appear to be undefined, but in fact it is defined. The canceling pairs of terms leads to canceling singularities in μNuN and βN, and leads to a value of zero for
at the singularity point (ijl=pqm in EQ. (28)). In the actual implementation described below, the value of was set to zero (e.g.,
For integrable kernels, β can be calculated analytically at the continuum level formulation in EQ. (18). When using the discretized formulation, however, the β integral can be computed using the same discretization as the convolution term μNuN. Otherwise, discretization inconsistency between μN
uN and βN can undermine the accuracy of the computed
Using rijl,t in place of r(xijl,t), the spatially-discretized PD diffusion equation with the Fourier-based technique can be represented as:
Using, for example, the forward Euler method in time for approximating the solution of the ordinary differential equation (ODE) in EQ. (32), yields:
Note that {tilde over (μ)}k
The procedure described above for the isotropic homogeneous linear PD diffusion given in EQ. (5) can be extended to nonlinear cases in which the nonlinear PD operator is decomposable into convolutional terms. For example, in the case of the nonlinear diffusion with the time dependent properties given by EQS. (4) and (13), Fourier-based techniques can leads to the following discretization:
Note that the only difference between the linear and nonlinear case is the discretized diffusion operator, because the nonlinear case utilizes more FFT and FFT−1 calculations. In the example described above, the nonlinear case costs four times more than the linear case. However, the complexity for the nonlinear case remains O(N log2 N).
In general, boundary conditions in PD nonlocal approaches are defined as volume constraints, defined over a δ thick volume layer on the domain exterior. For example,
According to nonlocal vector calculus, volume-constrained peridynamic problems can be defined analogous to boundary value problems with partial differential equations (PDEs) in the local theory. For example, a volume constrained peridynamic transient diffusion problem can be generally expressed as:
where G is a function that prescribes the constraints of u on Γ. A solution for a problem with such volume constraints is described below in connection with
In many engineering problems, measurements are taken at the surfaces of a body, not through a layer near the surface. A natural representation of such measurements can be implemented via local boundary conditions. Techniques for imposing local boundary conditions on peridynamic bodies have been proposed. One such technique is a fictitious layer/nodes technique (e.g., as described below in connection with
As described above, while domain periodicity is a requirement for Fourier-based techniques, modifications have been introduced for local theories to solve problems with non-periodic boundary conditions. For example, as described above, a volume penalization technique can be used to solve problems with non-periodic volume constraints in 1D peridynamic diffusion using a Fourier-based technique. In some embodiments, mechanisms described herein can be used to implement simpler, more general, and more efficient techniques to impose non-periodic boundary conditions in the solution of PD models.
Using a generic irregular domain (Ω) and its boundary layer (Γ) as an example, to utilize mechanisms described herein, for solving the following volume-constrained problem:
a periodic box () can be placed around the domain and boundary layer (e.g., Ω∪Γ), as shown in
\(Ω∪Γ)) can be denoted as Λ and is sometimes referred to herein as the gap region.
The volume-constrained problem in EQ. (36) can be replaced with the following periodic problem:
where χ denotes the mask function:
where g(x,t) is the volume constraint given by the original problem defined in EQ. (36), and z(x,t) is a function describing gap values.
Note that both classical (local) Dirichlet and Neumann boundary conditions can be handled by the volume-constrained problem description provided in EQ. (36). For example, certain profiles of g(x,t) can be chosen such that effectively a classical Dirichlet or a classical Neumann boundary condition is enforced at the domain boundary ∂Ω. The particular type of classical boundary conditions to be enforced can be specified by a proper choice of the g function in EQ. (36). Further examples of techniques that can be used to specify g for Dirichlet or Neumann boundary conditions are provided in Appendix A as EQS. (A.2) and (A.4).
Note that unlike the constraint g, gap values (z) do not directly interact with u on Ω, since Λ and Ω are more than a horizon size apart (e.g., as shown in
Having replaced the original volume-constrained problem with a periodic problem, the Fourier collocation techniques described above in connection with can be discretized according to the EQ. (23), then the problem of EQ. (37) can be defined as becomes the following initial value problem for a system of ordinary differential equations (ODEs):
γu|ijl,t is the discrete peridynamic Laplacian operator calculated via Fourier transform as described above in connection with γu|ijl,t can depend on the kernel inside the operator (see EQS. (30) and (34) as two examples).
Using EQ. (41), the system of ODEs in EQ. (40) can be rewritten as:
In some embodiments, the system of ODEs in EQ. (43) can be solved using an ODE solver (e.g., the forward Euler scheme was used). Knowing u=w on \Ω, EQ. (43) can be (approximately) solved using the following forward Euler scheme:
Additionally, EQ. (41) can be used to re-write EQ. (44) as:
In some embodiments, techniques for imposing volume constraints described above in connection with EQS. (40) to (45) can be referred to as “embedded constraint” techniques, as the constraints can be embedded into the governing integro-differential equation.
In some embodiments, when using the forward Euler scheme to solve the system of (time dependent) ODEs in EQ. (43), a time step restriction has to be imposed. For example, using a stability analysis described in Jafarzadeh, et al., “Efficient solutions for nonlocal diffusion problems via boundary-adapted spectral methods,” Journal of Peridynamics and Nonlocal Modeling, 2 (2020) 85-110, the stability condition in the absence of a penalization term for linear diffusion results in:
This condition implies that stability does not depend on the spatial discretization resolution, but depends on the horizon size (δ) and the kernel function. This condition is somewhat similar to the Courant-Friedrichs-Lew (CFL) condition in the meshfree method. In the volume penalization technique described in Jafarzadeh et al., (which is summarized in Appendix B, which is hereby incorporated herein by reference), higher accuracy may require a potentially larger penalization parameter which may shrink the maximum allowed time step, and consequently increase the computational cost. An advantage of embedded constraint techniques described herein compared with volume penalization is that the maximum time step size does not depend on a penalization parameter. Note that this is an example specific to the forward Euler scheme and explicit time integration for a time-dependent problem. Other approaches can be used in connection with different techniques for solving the system of ODEs and/or other types of problems, which may utilize a different time step restriction or no restriction. For example, a-stable time integration can be used without imposing a restriction on time step size. As another example, a time step restriction is not needed for problems that are not time dependent (e.g., steady state diffusion, static or quasi-static deformation, etc.). In such an example, a load step (e.g., of any suitable size) may be used. In a particular example, a peridynamic solution to a quasistatic deformation using FCBM techniques is described in Appendix D.
Another advantage of embedded constraint techniques described herein over volume penalization is that embedded constraint techniques can be applied directly to other PD equations (e.g., PD equations of motion), while the volume penalization technique cannot without modification. For example, the specifics of the volume penalization techniques depend on whether PDEs are solved with first-order or second-order partial derivatives in time.
In some embodiments, the parameters received at 602 can include any suitable parameters that can be used to specify characteristics of a simulation (e.g., characteristics of a problem to be solved), such as physical parameters, initial conditions, boundary conditions, number of nodes (e.g., in each dimension), and/or time step size
For example, the parameters can include a type of simulation to be performed (e.g., a simulation of diffusion, a simulation of brittle fracture, etc.). As another example, the parameters can include information identifying one or more materials to be modeled. As yet another example, the parameters can include a shape of a domain(s) to be modeled (e.g., a shape of the domain Ω). As still another example, the parameters can include initial conditions associated with a problem to be solved (e.g., u0=u(x, t=0)).
As a further example, the parameters can include boundary conditions to be applied (e.g., ub=u(Ω,t)|∂Ω
As yet another further example, the parameters can include information indicative of a function that can be used to simulate interactions between different portions of a model. In a more particular example, the parameters can include a kernel(s) associated with the material(s) to be modeled, such as γ(x) or μ(x), as described above in connection with EQS. (4), (6), (11), and (12)). As another more particular example, the parameters can include a kernel(s) associated with models of deformation and/or fracture, such as C(x) or a(x), as described in Appendix D.
As still another further example, the parameters can include any other suitable physical parameters, such as a scalar diffusivity constant (e.g., ν), a horizon size (e.g., δ), the maximum time of the simulation (e.g., tmax), and/or any other suitable physical parameters. In some embodiments, process 600 can derive additional parameters (e.g., β, an integral of a kernel function) from the received parameters.
At 604, process 600 can retrieve a convolutional function(s) and/or a bias term(s) that can be used to simulate interactions between different portions of a peridynamic model. For example, based on the type of simulation to be performed, one or more material(s) included in a body to be modeled, etc., process 600 can retrieve one or more appropriate kernel functions that can be used to simulate interactions between different portions of the model. In some embodiments, kernel functions that can be used to model various different problems (e.g., involving different materials, involving different processes, etc.) can be developed and made accessible to a device executing process 600 (e.g., as part of a software package that executes process 600, from a server via an API, etc.).
As another example, based on the type of simulation to be performed, one or more material(s) included in a body to be modeled, etc., process 600 can retrieve one or more bias terms (e.g., a source term r(x,t), an external body force density term b(x,t), etc.) that can be used to simulate interactions between an environment and the model. In some embodiments, bias terms that can be used to model various different problems (e.g., involving different materials, involving different processes, etc.) can be developed and made accessible to a device executing process 600 (e.g., as part of a software package that executes process 600, from a server via an API, etc.).
At 606, process 600 can draw a periodic box around the peridynamic model and a boundary region (e.g., Γ) using any suitable technique or combination of techniques. For example, as described above in connection with around the peridynamic model.
Additionally, in some embodiments, process 600 can initialize the peridynamic model using any suitable technique or combination of techniques. For example, process 600 can calculate grid spacing (e.g., for a 3D model, process 600 can calculate grid spacing long three axes as:
where Nn is the number of nodes along an axis, and Ln is a length of the periodic box along the axis). Process 600 can discretize the box
: xijl={xi, xj, xi} where xi=x10+(i−1)Δx1 and i=1, 2, . . . , N1, xj=x20+(j−1)Δx2 and j=1, 2, . . . , N2, and xl=x30+(l−1)Δx3 and l=1, 2, . . . , N3. Process 600 can Discretize the kernel function μijl=μ(xijl). Process 600 can set μijl|x
k
k
Process 600 can initialize a step counter to n=0. Process 600 can initialize a current time to tn=0.
At 608, process 600 can generate periodic boundary conditions based on the parameters received at 602 using any suitable technique or combination of techniques. For example, process 600 can generate volume constraints based on received local boundary conditions using techniques described above in connection with EQS. (36) to (39), and in Appendix A. In a more particular example, process 600 can construct the variable containing volume constraints and gap values (w), for example, by allocating wijl=0, calculating and assigning volume constraints on F based on given boundary conditions and techniques described in Appendix A: wijl|Γ,t=0, and calculating and assign values on the gap (if Λ≠Ø): wijl|Λ,t=0.
At 610, process 600 can perform a peridynamic simulation of the model based on parameters received at 602, the kernel(s) received at 602 and/or retrieved at 604, and the periodic boundary conditions generated at 608. For example, as described above in connection with EQS. (14) to (34), process 600 can use Fourier-based techniques to perform a peridynamic simulation from an initial time to a final time (e.g., advancing a time step Δt).
In a more particular example, process 600 can update a current time based on the time step, and update a solution for the new time until the time has reached the maximum time (e.g., tn+1=tn+Δt) Process 600 can update a solution to the peridynamic equation at the new time (e.g., in the 3D example described below in connection with
At 612, process 600 can present results of the peridynamic analysis using any suitable technique, and/or cause results of the peridynamic analysis to be presented. For example, process 600 can present a static state of the simulation at a particular time step or time steps. As another example, process 600 can present a series of states of the simulation at a series of time steps (e.g., as an animation). In some embodiments, process 600 can cause the results to be presented by a computing device executing process 600 (e.g., if computing device 16 is executing process 600, process 600 can cause the results to be presented by a display device associated with computing device 16). Additionally or alternatively, in some embodiments, process 600 can cause the results to be presented by another computing device (e.g., that is not executing process 600, or is executing only a portion of process 600). For example, if server 120 is executing process 600, process 600 can cause the results to be presented by computing device 16.
Described below in connection with
To evaluate the performance of mechanisms described herein in terms of accuracy and convergence, mechanisms described herein were used to solve a PD problem for which the analytical solution is known (based on the method of manufactured solutions). Consider the following 1D PD linear diffusion problem on the bounded domain
with the initial condition:
and subjected to Dirichlet boundary conditions:
The exact analytical solution to the above problem is:
In order to use mechanisms described herein the bounded domain
is extended by a length δ on both ends to create the boundary volumes (Γ). In the extended domain
volume constraints should be specified on
as the left and the right boundary layers. In this example, =Ω∪Γ is considered to be periodic; therefore no gap region is included (i.e., Λ=Ø). There are multiple alternatives for applying the local boundary conditions given in EQS. (51) and (52). For example, the exact volume constraints can be used (because the exact, manufactured solution for the nonlocal problem is known). As another example, a technique for constructing volume constraints based on the given local boundary conditions (e.g., as described in Appendix A). In order to compare with the results generated using the volume penalization technique described in Jafarzadeh et al., the second approach was used. This example also demonstrates how local boundary conditions can be applied to a general peridynamic problem, even when the nonlocal analytical solution is not known.
In this example, L=2, ν=0.2, δ=0.2, the total diffusion time tmax=15, and the expression =[−1.2, 1.2) can describe the periodic extended domain with −1.2 identified with 1.2. Additionally N=29 total nodes were used with Δt=1.67×10−2 as the maximum time step allowed by EQ. (46).
A convergence test was performed on this example to study the influence of spatial and temporal resolutions on the maximum relative error:
In peridynamics the ratio
is usually referred to as “m factor” which is a measure for family node density. For convergence tests in terms of spatial discretization, the spatial discretization is refined while keeping the horizon size fixed. This is sometimes referred to as “m-convergence”. The number of nodes was varied from N=26 to 213 (m varied from 5.3 to 682.7 accordingly). Results are presented in
Comparing results in
Note that in most cases, Fourier-based techniques described herein show spectral accuracy for smooth functions. From the convergence study shown in
As expected, the complexity of meshfree method with direct quadrature was O(N2) (e.g., as shown in
The method of manufactured solutions was used to construct a 2D nonlinear volume-constrained peridynamic transient diffusion problem. Consider the following function:
u(x,t)=e−0.2t(1−x12)(1−x22),x={x1,x2}∈2 and t≥0 (54)
EQ. (54) is the analytical solution to the following nonlinear problem:
Note that this is a special case of EQ. (13) where f=h=u. If U is temperature for example, with this kernel, EQ. (55) is a nonlinear PD problem with temperature dependent diffusivity. In EQ. (55):
Assuming δ=0.4, consider Ω∪Γ=[−1.4,1.4]2 can be the 2D periodic box to solve the problem using mechanisms described herein. Note that for this example there is also no gap region (i.e., Λ=Ø). The domain is discretized with uniform grid spacing in both directions: N1=N2=27 which results in an m factor of 36.6. The numerical solution using techniques described herein is calculated from:
u
ij,t+Δt
N=χij[uij,tN+Δt(γu|ij,t+rijl,t)]+(1−χij)wij,t+Δt (60)
where
γ
u|
ij,t=0.2Δx2Δx1{uij,tNFFT−1[FFT(ωij,tN)FFT((uij,tN)2)]−(uij,tN)2FFT−1[FFT(ωij,tN)FFT(uij,tN)]} (61)
EQ. (61) was obtained when substituting f and h with U in EQ. (34). EQ. (61) was computed to solve this nonlinear transient problem up to t=15 with Δt=0.01. Simulation results for three snapshots at t=1, 5 and 15 are shown in the left column of
This example shows that mechanisms described herein are capable of solving nonlinear volume-constrained PD diffusion problems in higher dimensions.
A spatial and temporal convergence study for the nonlinear 2D example described above in connection with
Similar to the 1D example, the convergence rate is quadratic in terms of Δx and linear in terms of Δt (due to the Forward Euler time integrator) for this 2D nonlinear example.
In this example, mechanisms described herein and the meshfree (one-point Gaussian integration) spatial discretization were used to solve a 3D PD transient diffusion example with non-periodic local boundary conditions in a domain with a non-trivial geometry. The performance of the two approaches was compared for discretization sizes ranging from 2 million (m-factor of 5.8) to more than 1 billion nodes (m-factor of 46.5), in 3D. Note that in practical problems, there is rarely a reason for using m-factor values larger than 5-10. However, when high accuracy is required, or for problems where nonlocality is relatively large compared to the sample's size, larger m-values (such as the values used for this example) may be needed. The quadratic convergence rate for the spatial discretization discussed in connection with
The example in this section is a 3D PD diffusion in a 2×2×2 cube with a cutout, having fixed (but different) U values imposed on the top and bottom surfaces (Dirichlet boundary conditions), and zero flux conditions imposed on all four sides of the cube (Neumann boundary conditions). As shown in
on Ω=[−1,1]3 with the kernel function:
subjected to the initial condition:
u(x,0)=0, (65)
and the local boundary conditions:
EQS. (66)(a) and (b) are the top and bottom Dirichlet boundary conditions, (c) to (f) are zero flux conditions on the cube sides, and (g), (h), and (i) are the zero-flux boundary conditions on the cutout surfaces. For this example, the cutout radius is 0.7, and δ=0.1. Similar to the 1D example in
Since the extended domain (Ω∪Γ) is already a cube, similar to the 1D example in can be defined to be Ω∪Γ without any gap (i.e., Λ=Ø).
Note that here, the boundary condition in EQ. (66)(i) in the PD model was not enforced, because, given the non-convex characteristics of the geometry, it would overlap regions of fictitious nodes associated with the boundary conditions of EQS. (66) (g), (h), and (i). That would create difficulties in the Fourier space because different points in the domain would be linked to values at the same fictitious node. The cutout thickness of 2δ was chosen to avoid this complication for the domain extension corresponding to the top and bottom surfaces of the cutout. Note that this issue may not appear when using a different method to enforce the local boundary conditions. Here, for simplicity the fictitious nodes method was used. However, as described below in connection with
For discretization, N1=N2=N3=27 was used first, resulting in m-factor of 5.8 and N=221 as the total number of nodes. The time step used was Δt=5.5×10−5 to satisfy the stability condition in EQ. (46). A general algorithm for 3D diffusion using mechanisms described herein is described in Appendix C, which is hereby incorporated by reference herein.
The temperature/concentration distributions in
As shown in
on the displayed cross-sectional plane.
Note that there is a small discrepancy between the two solutions near the sides of the rectangular obstacle. This is likely due to not enforcing the exact insulated condition on the short lateral sides of the cutout. For the Abaqus solution, all boundary conditions in EQ. (66) were enforced.
In order to demonstrate the superior efficiency that can be achieved using mechanisms described herein, the same example was solved via the conventional meshfree method with one-point Gaussian quadrature, and the computational times for these approaches was compared for various spatial resolutions. Both approaches were implemented in MATLAB R2014b. Simulations were performed on a supercomputer machine in Holland Computing Center of the University of Nebraska-Lincoln, with Intel Xeon E5-2670 2.60 GHz CPUs, up to 512 GB RAM per CPU and a Tesla V100 GPU with 32 GB memory. MATLAB's built-in parallel FFT solvers use multithreading and GPU computations, and this was used in the computational tests. TABLE 1 shows the computational time for the 3D example above using the meshfree with Gaussian quadrature on a single CPU versus using mechanisms described herein on a single CPU, on 8 or 16 CPUs, and on a GPU, for four spatial discretizations. The time steps are identical for all simulations since the stability condition is independent of the discretization size (it only depends on ν, μ and δ, which are the same for all tests). TABLE 1 shows computational time for solving the 3D example up to t=1, using mechanisms described herein (labeled FCBM-EC) and the meshfree method with Gaussian quadrature (GQ).
As observed the diffusion example with over 1 billion nodes is solved in a few days using mechanisms described herein, while the same computation is intractable with the meshfree method using one-point Gaussian quadrature.
Note that the computational time for the meshfree method in the cases with m=11.6, 23.3, and 46.5 (N=224, 227, and 230) are estimated based on the assumption that it scales as O(N2). Although the computational time for the meshfree method in the case with m=11.6 (N=224) would be reasonable (several days), the available memory was not sufficient to perform this test. The simulations performed using mechanisms described herein, in contrast, did not run out of memory even for 1 billion nodes. A reason is likely due to peridynamic meshfree solvers storing family nodes for each node at the beginning to increase efficiency when doing the Gaussian quadrature for the convolution integral. However, there is no need to store family nodes when using mechanisms described herein, as the convolution integrals are replaced by multiplication of the Fourier coefficients, which do not require the family nodes for each node. Note that while the meshfree method can also be performed without storing nodal families, the computational time increases substantially when one needs to re-compute them at every time step.
The results in TABLE 1 show efficiency gains that can be realized using mechanisms described herein versus the meshfree discretization. Notice also the correlation of the gains with the m-factor value. The reason for the larger gains at higher m-values is related to the same point mentioned above: the convolution integrals are replaced by multiplication of the Fourier coefficients, which do not require the family nodes for each node. In other words, a nonlocal computation in the physical space can be transformed into a local computation in Fourier space.
Efficiency gains (computed using EQ. (67)) and speedup (computed using EQ. (68)) are plotted versus the problem size (degrees of freedom) and m-factor values in
These computational experiments (via Matlab's parallel FFT functions) show that little was gained from using more than 8 CPUs with multi-threading. They also show that GPU computations using Matlab's intrinsic functions was superior to Matlab's multi-threading for problems with higher spatial resolution (here when the N>224≅16.8×106), as long as GPU computations are feasible from the memory point of view.
The FE and FCBM-EC simulations shown in
Implementation examples are described in the following numbered clauses:
1. A method comprising: receiving a plurality of parameters associated with a non-local model that has a convolutional structure to be used for one or more simulations, wherein the plurality of parameters includes a shape of a domain Ω, a horizon size δ, and one or more boundary constraints; drawing a periodic box T that includes the domain Ω and a boundary layer Γ extending from the domain Ω; imposing the one or more boundary constraints on the boundary layer Γ; performing a simulation of a physical process using the non-local model and convolutional properties of Fourier transforms; and causing a result of the simulation to be presented.
2. The method of clause 1, wherein the non-local model comprises a peridynamic model.
3. The method of any one of clauses 1 or 2, wherein the plurality of parameters includes one or more initial conditions.
4. The method of any one of clauses 1 to 3, wherein performing the simulation comprises: discretizing the non-local model using one or more Fourier transforms, wherein integral operators associated with the model are expressed in terms of convolutions; and solving the discretized non-local model on T.
5. The method of any one of clauses 1 to 4, wherein the non-local model comprises a model of diffusion.
6. The method of clause 5, wherein the model of diffusion is non-linear.
7. The method of any one of clauses 1 to 4, wherein the non-local model comprises a model of deformation and fracture.
8. The method of clause 7, wherein the model of deformation and fracture is non-linear.
9. The method of any one of clauses 1 to 4, wherein the non-local model comprises a model of dissolution damage.
10. The method of any one of clauses 1 to 4, wherein the non-local model comprises a model of corrosion damage.
11. The method of any one of clauses 1 to 10, wherein the domain Ω comprises a three-dimensional (3D) shape.
12. The method of any one of clauses 1 to 11, further comprising, receiving a time step size Δt, wherein the time step size satisfies a constraint.
13. The method of clause 12, wherein the time step size Δt satisfies Δt≤1/vβ, where v is a scalar diffusivity constant associated with the non-local model, and β corresponds to an integral of a kernel function associated with the non-local model over a region H_0 of the domain Ω, H_0 having a size based on the horizon size δ and the dimensionality of the domain Ω.
14. The method of any one of clauses 1 to 13, further comprising, receiving a number of nodes N, in each dimension.
15. The method of any one of clauses 1 to 14, wherein causing the result of the simulation to be presented comprises: causing a visual representation of at least a portion of the non-local model at a particular time step to be presented.
16. The method of any one of clauses 1 to 12 or 14, wherein causing the result of the simulation to be presented comprises: causing a visual state of at least a portion of the non-local model at a particular load step to be presented.
17. The method of any one of clauses 1 to 16, wherein receiving the plurality of parameters associated with the peridynamic model to be simulated, comprises: receiving the plurality of parameters from a remote computing device over a wide area network (WAN).
18. A system for peridynamic modeling, the system comprising: at least one processor that is configured to: receive a plurality of parameters associated with a non-local model that has a convolutional structure to be used for one or more simulations, wherein the plurality of parameters includes a shape of a domain Ω, a horizon size δ, and one or more boundary constraints; draw a periodic box T that includes the domain Ω and a boundary layer Γ extending from the domain Ω; impose the one or more boundary constraints on the boundary layer Γ; perform a simulation of a physical process using the non-local model and convolutional properties of Fourier transforms; and cause a result of the simulation to be presented.
19. A non-transitory computer readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for peridynamic modeling, the method comprising: receiving a plurality of parameters associated with a non-local model that has a convolutional structure to be used for one or more simulations, including a shape of a domain Ω, a horizon size δ, and one or more boundary constraints; drawing a periodic box T that includes the domain Ω and a boundary layer Γ extending from the domain Ω; imposing the one or more boundary constraints on the boundary layer Γ; performing a simulation of a physical process using the non-local model and convolutional properties of Fourier transforms; and causing a result of the simulation to be presented.
20. A system comprising: at least one hardware processor that is configured to: perform a method of any one of clauses 1 to 17.
21. A non-transitory computer readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method of any one of clauses 1 to 17.
In some embodiments, any suitable computer readable media can be used for storing instructions for performing the functions and/or processes described herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as magnetic media (such as hard disks, floppy disks, etc.), optical media (such as compact discs, digital video discs, Blu-ray discs, etc.), semiconductor media (such as RAM, Flash memory, electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, or any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.
It should be noted that, as used herein, the term mechanism can encompass hardware, software, firmware, or any suitable combination thereof.
It should be understood that the above-described steps of the processes of
Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is limited only by the claims that follow. Features of the disclosed embodiments can be combined and rearranged in various ways.
This application is based on, claims the benefit of, and claims priority to U.S. Provisional Application No. 63/230,402, filed Aug. 6, 2021, which is hereby incorporated herein by reference in its entirety for all purposes.
This invention was made with government support under CMMI1953346 awarded by the National Science Foundation. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
63230402 | Aug 2021 | US |