# 2d model for melting and melt transport at a mid-ocean ridge. # As the flow at mid-ocean ridges can be assumed to be roughly symmetric # with respect to the ridge axis in the center, we only model one half # of the ridge. set Dimension = 2 set Adiabatic surface temperature = 1570 # Because our model includes melt transport, it is nonlinear and we have to # use an iterative solver scheme, that iterates between solving the temperature # composition and Stokes equations. set Nonlinear solver scheme = iterated Advection and Stokes set Output directory = output_mid_ocean_ridge # The end time of the simulation. We want to run the model until it reaches # steady state, which is after approximately 6 million years. set End time = 8e6 ##################### Melting and freezing ######################## # Because the model includes reactions that might be on a faster time scale # than the time step of the model (melting and the freezing of melt), we use # the operator splitting scheme. set Use operator splitting = true subsection Solver parameters subsection Operator splitting parameters # We choose the size of the reaction time step as 200 years, small enough # so that it can accurately model melting and freezing. set Reaction time step = 2e2 # Additionally, we always want to do at least 10 operator splitting time # steps in each model time step, to accurately compute the reactions. set Reaction time steps per advection step = 10 end # Because this model includes strong localized viscosity contrasts we # increase the robustness of the solver at the cost of memory consumption. subsection Stokes solver parameters set GMRES solver restart length = 200 end end # We use the melt simple material model that includes melting and freezing of # melt for an average mantle composition that is characteristic for a mid-ocean # ridge setting, and mainly use its default parameters. # In particular, we have to define how fast melting and freezing should be. # We assume that both reactions happen on a time scale of 200 years (or a rate # of 5e-3/year), which should be substantially shorter than the time step size, # so that the melt fraction will always be close to equilibrium. # As the model includes melting and freezing, we do not have to extract any melt. # We also slightly reduce the dependence of shear viscosity on the melt # fraction, because the model is relatively coarse and would otherwise develop # velocity oscillations in the region of highest melt content. subsection Material model set Model name = melt simple subsection Melt simple set Reference permeability = 1e-7 set Melt extraction depth = 0.0 set Freezing rate = 0.005 set Melting time scale for operator splitting = 2e2 set Exponential melt weakening factor = 20 end end ##################### Model geometry ######################## # Our model geometry is a box of 105x70 km. This guarantees that inflowing # material is solid, and will start to melt within the model domain. subsection Geometry model set Model name = box subsection Box set X extent = 105000 set Y extent = 70000 # To keep the aspect ratio of our elements close to one, we chose the # coarse mesh is such a way that it has more elements in X than in Y # direction, in the same ratio as the aspect ratio of the model. set X repetitions = 3 set Y repetitions = 2 end end # The gravity is constant and points downward. subsection Gravity model set Model name = vertical subsection Vertical set Magnitude = 10.0 end end ##################### Velocity ######################## # To model the divergent velocitiy field of a mid-ocean ridge, we prescribe # the plate velocity (pointing away from the ridge) at the top boundary. # We use a closed boundary with free slip conditions as the left boundary, which # marks the ridge axis and also acts as a center line for our model, so that # material can not cross this boundary. # We prescribe the velocity at the top boundary using a function: # At the ridge axis, the velocity is zero, at a distance of 10 km from the ridge # axis or more, the rigid plate uniformly moves away from the ridge with a constant # speed, and close to the ridge we interpolate between these two conditions. subsection Boundary velocity model set Prescribed velocity boundary indicators = top:function set Tangential velocity boundary indicators = left subsection Function # We choose a half-spreading rate of u0=3cm/yr. set Function constants = u0=0.03, x0=10000 set Variable names = x,z set Function expression = if(x