Skip to content
Snippets Groups Projects
Commit efecda40 authored by Elias Pipping's avatar Elias Pipping Committed by Elias Pipping
Browse files

Prescribe density rather than normal stress

parent 3fe863f7
No related branches found
No related tags found
No related merge requests found
...@@ -179,8 +179,6 @@ int main(int argc, char *argv[]) { ...@@ -179,8 +179,6 @@ int main(int argc, char *argv[]) {
OperatorAssembler<P1Basis, P1Basis>(p1Basis, p1Basis) OperatorAssembler<P1Basis, P1Basis>(p1Basis, p1Basis)
.assemble(localMass, massMatrix); .assemble(localMass, massMatrix);
// We have volume*gravity*density/area = normalstress (V*g*rho/A =
// sigma_n)
double volume = 1.0; double volume = 1.0;
for (int i = 0; i < dim; ++i) for (int i = 0; i < dim; ++i)
volume *= (upperRight[i] - lowerLeft[i]); volume *= (upperRight[i] - lowerLeft[i]);
...@@ -191,11 +189,12 @@ int main(int argc, char *argv[]) { ...@@ -191,11 +189,12 @@ int main(int argc, char *argv[]) {
area *= (upperRight[i] - lowerLeft[i]); area *= (upperRight[i] - lowerLeft[i]);
double const gravity = 9.81; double const gravity = 9.81;
normalStress = parset.get<double>("boundary.friction.normalstress"); double const density = parset.get<double>("body.density");
// rho = sigma * A / V / g // volume * gravity * density / area = normal stress
// kg/m^d = N/m^(d-1) * m^(d-1) / m^d / (N/kg) // V * g * rho / A = sigma_n
double const density = normalStress * area / volume / gravity; // m^d * N/kg * kg/m^d / m^(d-1) = N/m^(d-1)
normalStress = volume * gravity * density / area;
massMatrix *= density; massMatrix *= density;
if (parset.get<bool>("enableTimer")) if (parset.get<bool>("enableTimer"))
......
...@@ -21,6 +21,7 @@ refinements = 4 ...@@ -21,6 +21,7 @@ refinements = 4
[body] [body]
E = 5e7 E = 5e7
nu = 0.3 # The closer we get to 0.5, the more wiggly everything gets nu = 0.3 # The closer we get to 0.5, the more wiggly everything gets
density = 5000
[solver] [solver]
tolerance = 1e-10 tolerance = 1e-10
...@@ -49,7 +50,6 @@ acceptFactor = 1.0 ...@@ -49,7 +50,6 @@ acceptFactor = 1.0
requiredResidual = 1e-12 requiredResidual = 1e-12
[boundary.friction] [boundary.friction]
normalstress = 50000
# "mu_0 is the nominal coefficient of friction that has values near 0.6" # "mu_0 is the nominal coefficient of friction that has values near 0.6"
# -- James H. Dieterich and Brian Kilgore: Implications of fault # -- James H. Dieterich and Brian Kilgore: Implications of fault
# constitutive properties for earthquake prediction # constitutive properties for earthquake prediction
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment