Skip to content

Commit

Permalink
Add viscoelastic material model tests
Browse files Browse the repository at this point in the history
  • Loading branch information
naliboff committed Feb 7, 2018
1 parent c9c9b69 commit a088779
Show file tree
Hide file tree
Showing 6 changed files with 531 additions and 0 deletions.
132 changes: 132 additions & 0 deletions tests/viscoelastic_fixed_elastic_time_step.prm
@@ -0,0 +1,132 @@
# Global parameters
set Dimension = 2
set Start time = 0
set End time = 1e3
set Use years in output instead of seconds = true
set Linear solver tolerance = 1e-7
set Nonlinear solver scheme = IMPES
set Number of cheap Stokes solver steps = 500
set CFL number = 0.5
set Maximum time step = 1000
set Output directory = viscoelastic_fixed_elastic_time_step
set Timing output frequency = 1
set Pressure normalization = surface
set Surface pressure = 0.

# Model geometry (100x100 km, 5 km spacing)
subsection Geometry model
set Model name = box

subsection Box
set X repetitions = 20
set Y repetitions = 20
set X extent = 100e3
set Y extent = 100e3
end
end

# Mesh refinement specifications
subsection Mesh refinement
set Initial adaptive refinement = 0
set Initial global refinement = 0
set Time steps between mesh refinement = 0
end

# Boundary classifications
subsection Model settings
set Fixed composition boundary indicators = bottom, top, left, right
set Fixed temperature boundary indicators = bottom, top, left, right
set Prescribed velocity boundary indicators = bottom y:function, right x:function
set Free surface boundary indicators =
set Tangential velocity boundary indicators = top, left
set Zero velocity boundary indicators =
set Enable elasticity = true
end

subsection Boundary velocity model
subsection Function
set Variable names = x,y
set Function constants = cm=0.01, year=1, vel=3.154
set Function expression = if (x>50e3 , vel*cm/year, 0.); if (y<50e3 , vel*cm/year, 0.);
end
end

# Number and name of compositional fields
subsection Compositional fields
set Number of fields = 3
set Names of fields = s11, s22, s12
end

# Spatial domain of different compositional fields
subsection Initial composition model
set Model name = function
subsection Function
set Variable names = x,y
set Function constants =
set Function expression = 0; 0; 0;
end
end

# Composition boundary conditions
subsection Boundary composition model
set Model name = initial composition
end

# Temperature boundary and initial conditions
subsection Boundary temperature model
set Model name = box
subsection Box
set Bottom temperature = 293
set Left temperature = 293
set Right temperature = 293
set Top temperature = 293
end
end
subsection Initial temperature model
set Model name = function
subsection Function
set Function expression = 293
end
end

# Material model
subsection Material model

set Model name = viscoelastic

subsection Viscoelastic
set Densities = 2800
set Viscosities = 1.e21
set Elastic shear moduli = 1.e10
set Use fixed elastic time step = true
set Fixed elastic time step = 1e3
set Use stress averaging = false
set Viscosity averaging scheme = harmonic
end

end

# Gravity model
subsection Gravity model
set Model name = vertical
subsection Vertical
set Magnitude = 0.
end
end

# Element types
subsection Discretization
set Composition polynomial degree = 2
set Stokes velocity polynomial degree = 2
set Temperature polynomial degree = 1
end

# Post processing
subsection Postprocess
set List of postprocessors = velocity statistics
end

# Termination criteria
subsection Termination criteria
set Termination criteria = end time
end
45 changes: 45 additions & 0 deletions tests/viscoelastic_fixed_elastic_time_step/screen-output
@@ -0,0 +1,45 @@

Number of active cells: 400 (on 1 levels)
Number of degrees of freedom: 9,287 (3,362+441+441+1,681+1,681+1,681)

*** Timestep 0: t=0 years
Solving temperature system... 0 iterations.
Skipping s11 composition solve because RHS is zero.
Skipping s22 composition solve because RHS is zero.
Skipping s12 composition solve because RHS is zero.
Rebuilding Stokes preconditioner...
Solving Stokes system... 27+0 iterations.

Postprocessing:
RMS, max velocity: 0.0258 m/year, 0.0444 m/year



+---------------------------------------------+------------+------------+
+---------------------------------+-----------+------------+------------+
+---------------------------------+-----------+------------+------------+

*** Timestep 1: t=1000 years
Solving temperature system... 0 iterations.
Solving s11 system ... 11 iterations.
Solving s22 system ... 11 iterations.
Solving s12 system ... 12 iterations.
Rebuilding Stokes preconditioner...
Solving Stokes system... 17+0 iterations.

Postprocessing:
RMS, max velocity: 0.0258 m/year, 0.0444 m/year



+---------------------------------------------+------------+------------+
+---------------------------------+-----------+------------+------------+
+---------------------------------+-----------+------------+------------+

Termination requested by criterion: end time


+---------------------------------------------+------------+------------+
+---------------------------------+-----------+------------+------------+
+---------------------------------+-----------+------------+------------+

132 changes: 132 additions & 0 deletions tests/viscoelastic_numerical_elastic_time_step.prm
@@ -0,0 +1,132 @@
# Global parameters
set Dimension = 2
set Start time = 0
set End time = 1e3
set Use years in output instead of seconds = true
set Linear solver tolerance = 1e-7
set Nonlinear solver scheme = IMPES
set Number of cheap Stokes solver steps = 500
set CFL number = 0.5
set Maximum time step = 1000
set Output directory = viscoelastic_numerical_elastic_time_step
set Timing output frequency = 1
set Pressure normalization = surface
set Surface pressure = 0.

# Model geometry (100x100 km, 5 km spacing)
subsection Geometry model
set Model name = box

subsection Box
set X repetitions = 20
set Y repetitions = 20
set X extent = 100e3
set Y extent = 100e3
end
end

# Mesh refinement specifications
subsection Mesh refinement
set Initial adaptive refinement = 0
set Initial global refinement = 0
set Time steps between mesh refinement = 0
end

# Boundary classifications
subsection Model settings
set Fixed composition boundary indicators = bottom, top, left, right
set Fixed temperature boundary indicators = bottom, top, left, right
set Prescribed velocity boundary indicators = bottom y:function, right x:function
set Free surface boundary indicators =
set Tangential velocity boundary indicators = top, left
set Zero velocity boundary indicators =
set Enable elasticity = true
end

subsection Boundary velocity model
subsection Function
set Variable names = x,y
set Function constants = cm=0.01, year=1, vel=3.154
set Function expression = if (x>50e3 , vel*cm/year, 0.); if (y<50e3 , vel*cm/year, 0.);
end
end

# Number and name of compositional fields
subsection Compositional fields
set Number of fields = 3
set Names of fields = s11, s22, s12
end

# Spatial domain of different compositional fields
subsection Initial composition model
set Model name = function
subsection Function
set Variable names = x,y
set Function constants =
set Function expression = 0; 0; 0;
end
end

# Composition boundary conditions
subsection Boundary composition model
set Model name = initial composition
end

# Temperature boundary and initial conditions
subsection Boundary temperature model
set Model name = box
subsection Box
set Bottom temperature = 293
set Left temperature = 293
set Right temperature = 293
set Top temperature = 293
end
end
subsection Initial temperature model
set Model name = function
subsection Function
set Function expression = 293
end
end

# Material model
subsection Material model

set Model name = viscoelastic

subsection Viscoelastic
set Densities = 2800
set Viscosities = 1.e21
set Elastic shear moduli = 1.e10
set Use fixed elastic time step = false
set Fixed elastic time step = 1e3
set Use stress averaging = false
set Viscosity averaging scheme = harmonic
end

end

# Gravity model
subsection Gravity model
set Model name = vertical
subsection Vertical
set Magnitude = 0.
end
end

# Element types
subsection Discretization
set Composition polynomial degree = 2
set Stokes velocity polynomial degree = 2
set Temperature polynomial degree = 1
end

# Post processing
subsection Postprocess
set List of postprocessors = velocity statistics
end

# Termination criteria
subsection Termination criteria
set Termination criteria = end time
end
45 changes: 45 additions & 0 deletions tests/viscoelastic_numerical_elastic_time_step/screen-output
@@ -0,0 +1,45 @@

Number of active cells: 400 (on 1 levels)
Number of degrees of freedom: 9,287 (3,362+441+441+1,681+1,681+1,681)

*** Timestep 0: t=0 years
Solving temperature system... 0 iterations.
Skipping s11 composition solve because RHS is zero.
Skipping s22 composition solve because RHS is zero.
Skipping s12 composition solve because RHS is zero.
Rebuilding Stokes preconditioner...
Solving Stokes system... 27+0 iterations.

Postprocessing:
RMS, max velocity: 0.0258 m/year, 0.0444 m/year



+---------------------------------------------+------------+------------+
+---------------------------------+-----------+------------+------------+
+---------------------------------+-----------+------------+------------+

*** Timestep 1: t=1000 years
Solving temperature system... 0 iterations.
Solving s11 system ... 11 iterations.
Solving s22 system ... 11 iterations.
Solving s12 system ... 12 iterations.
Rebuilding Stokes preconditioner...
Solving Stokes system... 17+0 iterations.

Postprocessing:
RMS, max velocity: 0.0258 m/year, 0.0444 m/year



+---------------------------------------------+------------+------------+
+---------------------------------+-----------+------------+------------+
+---------------------------------+-----------+------------+------------+

Termination requested by criterion: end time


+---------------------------------------------+------------+------------+
+---------------------------------+-----------+------------+------------+
+---------------------------------+-----------+------------+------------+

0 comments on commit a088779

Please sign in to comment.