I have a linear elastic wave propagation code and an elastoplastic wave propagation code based on FEniCS. For now, I keep the 2D mesh (100, 100) fineness unit square and give a source wave of $\sin(40 \pi t)$ in form of Dirichlet BC on one edge of square. For Newmark time discretization method, using $\beta = 0.25$ gives a constant acceleration method. For the linear code, in Paraview, I observe a fast propagating symmetrically distributed wave while for the elastoplastic code, I see much slower propagation and not a symmetrical propagation. It looks like its going more in 1 direction than equally spreading out.The Young's modulus for both the simulations is 1 and so is the mass density. The Poisson's ratio is similar as well. The elastoplastic wave propagation has another parameter introduced from plasticity theory called 'the yield stress', i.e., after which the material experiences plastic deformation. My question is:- What would be a good way to verify the results of both the codes?Would it be a good idea to keep the yield stress abnormally high? If the yield stress is never exceeded, then the result should be similar to elastic wave propagation, right? Would the value of Young's modulus matter?Note: The purpose is to simulate seismic waves.
What would be a simple approach to validate a wave propagation code?
finite element;fenics;wave propagation;verification
I agree with the suggestion of starting with a simple problem andwith the elastic solution.Probably the simplest wave problem is the 1D, infinite bar/string.The analytical solution to this problem is well-known, e.g.http://mathworld.wolfram.com/dAlembertsSolution.htmlYou can model this with a strip of elements in the x-direction.You want zero-stress boundary conditions on all edges/faces.If you define an initial condition (displacement) as a pulse of some shape in thecenter of the bar, one wave will move to the right and one tothe left as time increases (as you can see from the analytical solution).Obviously you can't create an infinitely-long FE model. Rather, you wantstop the FE solution at a time before the two waves reach the ends of your model and reflect back toward the center. The FE solution beforethis time can be compared with the analytical one.For the linear, elastic case, the modulus you use doesn't reallymatter. For the plastic case, as you suggest, you should get theelastic solution if you define a high yield stress.