3 from .scenario
import Scenario
8 sys.path.insert(0, os.path.abspath(
"../equations"))
9 from equations
import Elastic
14 Scenario reproduced from Dumbser & Käser, https://doi.org/10.1111/j.1365-246X.2006.03120.x (Chapter 5, p. 328)
30 constexpr double mu = 4.0;
31 constexpr double lambda = -4.0;
33 // Constant auxiliary parameters
34 constexpr double rho = 1.0;
35 constexpr double cp = 2.0;
36 constexpr double cs = 2.0;
38 const double val_x = cos( -std::numbers::pi*x[0]);
39 const double val_y = cos( -std::numbers::pi*x[1]);
42 const double val_z = cos( -std::numbers::pi*x[2]);
45 Q[3] = val_x*(lambda+2*mu) + val_y*lambda + val_z*lambda; //xx
46 Q[4] = val_x*lambda + val_y*(lambda+2*mu) + val_z*lambda; //yy
47 Q[5] = val_x*lambda + val_y*lambda + val_z*(lambda+2*mu); //zz
53 Q[0] = val_x*cp + val_z*cs; //vx
54 Q[1] = val_y*cp + val_x*cs; //vy
55 Q[2] = val_z*cp + val_y*cs; //vz
57 // Auxiliary variables
65 Q[2] = val_x*(lambda+2*mu) + val_y*lambda; //xx
66 Q[3] = val_x*lambda + val_y*(lambda+2*mu); //yy
67 Q[4] = val_x*mu + val_y*mu; //xy
70 Q[0] = val_x*cp + val_y*cs; //vx
71 Q[1] = val_y*cp + val_x*cs; //vy
73 // Auxiliary variables
83 constexpr double mu = 4.0;
84 constexpr double lambda = -4.0;
86 // Constant auxiliary parameters
87 constexpr double rho = 1.0;
88 constexpr double cp = 2.0;
89 constexpr double cs = 2.0;
91 constexpr double w = -2*M_PI;
93 const double val_x = cos( w*t -std::numbers::pi*x[0]);
94 const double val_y = 0.0;//cos( w*t -std::numbers::pi*x[1]);
97 const double val_z = cos( -std::numbers::pi*x[2]);
100 solution[3] = val_x*(lambda+2*mu) + val_y*lambda + val_z*lambda; //xx
101 solution[4] = val_x*lambda + val_y*(lambda+2*mu) + val_z*lambda; //yy
102 solution[5] = val_x*lambda + val_y*lambda + val_z*(lambda+2*mu); //zz
103 solution[6] = val_x*mu; //xy
104 solution[7] = val_z*mu; //xz
105 solution[8] = val_y*mu; //yz
108 solution[0] = val_x*cp + val_z*cs; //vx
109 solution[1] = val_y*cp + val_x*cs; //vy
110 solution[2] = val_z*cp + val_y*cs; //vz
115 solution[2] = val_x*(lambda+2*mu) + val_y*lambda; //xx
116 solution[3] = val_x*lambda + val_y*(lambda+2*mu); //yy
117 solution[4] = val_x*mu + val_y*mu; //xy
120 solution[0] = val_x*cp + val_y*cs; //vx
121 solution[1] = val_y*cp + val_x*cs; //vy
Scenario reproduced from Dumbser & Käser, https://doi.org/10.1111/j.1365-246X.2006....
def analytical_solution(self)
def __init__(self, dimensions, iterations=2)
def initial_conditions(self)