[pylithapp] # ---------------------------------------------------------------------- # PROBLEM DESCRIPTION # ---------------------------------------------------------------------- # # This simulation involves coseismic slip between the continental # crust and top of the subducting oceanic crust. The slip also # extends down into the top of the mantle below the continental # crust. # # ---------------------------------------------------------------------- # RUNNING THE SIMULATON # ---------------------------------------------------------------------- # # This is not a self-contained simulation configuration file. This # file specifies only the boundary conditions and earthquake # parameters for the simulation. The general quasi-static and mesh # parameters are specificed in the pylithapp.cfg file which PyLith # reads by default. # # To run the simulation: # pylith step01.cfg # # Output will be directed to directory output. # ---------------------------------------------------------------------- # problem # ---------------------------------------------------------------------- [pylithapp.timedependent.implicit] # Change time stepping algorithm from uniform time step, to adaptive # time stepping. time_step = pylith.problems.TimeStepAdapt # Change the total simulation time to 200 years, and set the maximum time # step size to 10 years. [pylithapp.timedependent.implicit.time_step] total_time = 0.0*year max_dt = 10.0*year stability_factor = 1.0 ; use time step equal to stable value #[pylithapp.timedependent.formulation.time_step] #total_time = 200.0*year #dt = 5*year # ---------------------------------------------------------------------- # boundary conditions # ---------------------------------------------------------------------- [pylithapp.timedependent] # Set bc to an array of 3 boundary conditions: # 'boundary_east' # 'boundary_west' # 'boundary_bottom' bc = [boundary_east,boundary_west,boundary_bottom] # For all boundaries, we fix the displacement normal to the boundary # (roller boundary condition) by retaining the default ZeroDispDB, # which specifies a zero value. # # The label corresponds to the name of the nodeset in CUBIT. # East boundary [pylithapp.timedependent.bc.boundary_east] bc_dof = [0, 1] label = face_xpos db_initial = spatialdata.spatialdb.UniformDB db_initial.label = Dirichlet BC on east boundary db_initial.values = [displacement-x,displacement-y] db_initial.data = [-0.0*m,-0.0*m] #db_initial = spatialdata.spatialdb.SimpleDB #db_initial.label = Dirichlet BC on east boundary #db_initial.iohandler.filename = spatialdb/ini_displ_east.spatialdb #db_initial.query_type = linear # West boundary [pylithapp.timedependent.bc.boundary_west] bc_dof = [0, 1] label = face_xneg db_initial = spatialdata.spatialdb.UniformDB db_initial.label = Dirichlet BC on west boundary db_initial.values = [displacement-x,displacement-y] db_initial.data = [0.0*m,0.0*m] #db_initial = spatialdata.spatialdb.SimpleDB #db_initial.label = Dirichlet BC on west boundary #db_initial.iohandler.filename = spatialdb/ini_displ_west.spatialdb #db_initial.query_type = linear # Bottom boundary [pylithapp.timedependent.bc.boundary_bottom] bc_dof = [2] label = face_zneg_nofault db_initial.label = Dirichlet BC on bottom boundary # ---------------------------------------------------------------------- # faults # ---------------------------------------------------------------------- [pylithapp.timedependent] interfaces = [fault] # Set the type of fault interface condition. [pylithapp.timedependent.interfaces] #fault = pylith.faults.FaultCohesiveDyn fault = pylith.faults.FaultCohesiveKin # Set the parameters for the fault interface condition. [pylithapp.timedependent.interfaces.fault] # The label corresponds to the name of the nodeset in CUBIT. label = fault # We must define the quadrature information for fault cells. # The fault cells are 2D (plane). # For square cells #quadrature.cell = pylith.feassemble.FIATLagrange # For triangular cells quadrature.cell = pylith.feassemble.FIATSimplex quadrature.cell.dimension = 2 # Following for pylith.faults.FaultCohesiveDyn # Specify zero tolerance for detecting slip. Must be larger than the # KSP absolute tolerance. #zero_tolerance = 1.0e-9 # Following for pylith.faults.FaultCohesiveKin # The slip time and final slip are defined in spatial databases. [pylithapp.timedependent.interfaces.fault.eq_srcs.rupture.slip_function] slip.iohandler.filename = spatialdb/fault_slip_coseismic_zero.spatialdb #slip.iohandler.filename = spatialdb/fault_slip_coseismic_constant.spatialdb slip.query_type = linear slip.label = Final slip ## Slip time is uniform, so use UniformDB for convenience slip_time = spatialdata.spatialdb.UniformDB slip_time.label = Slip time slip_time.values = [slip-time] slip_time.data = [0.0*year] # Initial tractions #traction_perturbation = pylith.faults.TractPerturbation #[pylithapp.timedependent.interfaces.fault.traction_perturbation] #db_initial = spatialdata.spatialdb.SimpleDB #db_initial.label = Initial fault tractions #db_initial.iohandler.filename = spatialdb/afterslip_tractions_BGonly.spatialdb #db_initial.query_type = linear # ---------------------------------------------------------------------- # material initial conditions # ---------------------------------------------------------------------- [pylithapp.timedependent.materials.upper_crust] db_initial_stress = spatialdata.spatialdb.SimpleDB db_initial_stress.label = Initial stress in upper crust db_initial_stress.iohandler.filename = spatialdb/afterslip_stress_uppercrust.spatialdb db_initial_stress.query_type = nearest #db_initial_state = spatialdata.spatialdb.SimpleDB #db_initial_state.label = Initial strain in upper crust #db_initial_state.iohandler.filename = spatialdb/afterslip_strain_uppercrust.spatialdb #db_initial_state.query_type = nearest [pylithapp.timedependent.materials.lower_crust] db_initial_stress = spatialdata.spatialdb.SimpleDB db_initial_stress.label = Initial stress in lower crust db_initial_stress.iohandler.filename = spatialdb/afterslip_stress_lowercrust.spatialdb db_initial_stress.query_type = nearest #db_initial_state = spatialdata.spatialdb.SimpleDB #db_initial_state.label = Initial strain in lower crust #db_initial_state.iohandler.filename = spatialdb/afterslip_strain_lowercrust.spatialdb #db_initial_state.query_type = nearest # ---------------------------------------------------------------------- # output # ---------------------------------------------------------------------- # Domain [pylithapp.problem.formulation.output.domain] writer.filename = output/step2Kin.h5 # Ground surface [pylithapp.problem.formulation.output.subdomain] writer.filename = output/step2Kin-groundsurf.h5 # Fault [pylithapp.problem.interfaces.fault.output] writer = pylith.meshio.DataWriterHDF5SubSubMesh writer.filename = output/step2Kin-fault.h5 # Materials [pylithapp.timedependent.materials.upper_crust.output] writer.filename = output/step2Kin-uppercrust.h5 [pylithapp.timedependent.materials.lower_crust.output] writer.filename = output/step2Kin-lowercrust.h5 # End of file