# simulation properties simulProp = SimulationProperties() simulProp.finalTime = 145. # the time at which the simulation stops simulProp.bckColor = 'sigma0' # setting the parameter according to which the mesh is colored simulProp.set_outputFolder( "./Data/height_contained") # set the directory to save the simulation simulProp.tmStpPrefactor = 1.0 # decreasing the size of time step simulProp.plotVar = ['footprint'] # plotting footprint simulProp.set_mesh_extension_direction( ['horizontal']) # allow the mesh to extend horizontally simulProp.set_mesh_extension_factor(1.35) # setting the mesh extension factor simulProp.useBlockToeplizCompression = True # use the Toepliz elasticity to save memory # initializing fracture Fr_geometry = Geometry(shape='radial', radius=1.) init_param = InitializationParameters(Fr_geometry, regime='M') # creating fracture object Fr = Fracture(Mesh, init_param, Solid, Fluid, Injection, simulProp) # create a Controller controller = Controller(Fr, Solid, Fluid, Injection, simulProp) # run the simulation controller.run() #################### # plotting results # ####################
Mprime = 2**(n + 1) * (2 * n + 1)**n / n**n * Fluid.k Vel = 2 * (n + 1) / (n + 2) / 3 * gamma * (Eprime * Q0 ** (n + 2) / Mprime ) ** (1 / (3 * n + 6)) / t ** ((n + 4) / (3 * n + 6)) eps = (Mprime / Eprime / t**n) ** (1 / (n + 2)) L = (Eprime * Q0**(n + 2) * t**(2 * n + 2) / Mprime) ** (1 / (3 * n + 6)) # interpolating width on cell centers f = interpolate.interp1d(gamma * L * xw[:, 0], L * eps * xw[:, 1], bounds_error=False, fill_value='extrapolate') w = f(Mesh.distCenter) w[w < 0] = 0. # initialization parameters Fr_geometry = Geometry('radial', radius=gamma * L) from elasticity import load_isotropic_elasticity_matrix C = load_isotropic_elasticity_matrix(Mesh, Eprime) init_param = InitializationParameters(Fr_geometry, regime='static', width=w, elasticity_matrix=C, tip_velocity=Vel) # creating fracture object Fr = Fracture(Mesh, init_param, Solid, Fluid, Injection,
# simulation properties simulProp = SimulationProperties() simulProp.finalTime = 1e2 # the time at which the simulation stops simulProp.set_tipAsymptote( 'K' ) # the tip asymptote is evaluated with the toughness dominated assumption simulProp.set_volumeControl( True ) # use the inviscid fluid solver(toughness dominated), imposing volume balance simulProp.set_outputFolder( "./Data/K_radial_symmetric") # the disk address where the files are saved simulProp.symmetric = True # assume fracture geometry to be symmetric (only available for volume control) simulProp.plotTSJump = 10 # plotting every 10 time steps # initializing fracture Fr_geometry = Geometry('radial', radius=0.15) init_param = InitializationParameters(Fr_geometry, regime='K') # creating fracture object Fr = Fracture(Mesh, init_param, Solid, Fluid, Injection, simulProp) # create a Controller controller = Controller(Fr, Solid, Fluid, Injection, simulProp) # run the simulation controller.run() #################### # plotting results # ####################
Injection = InjectionProperties(Q0, Mesh) # fluid properties viscosity = 0.001 / 12 # mu' =0.001 Fluid = FluidProperties(viscosity=viscosity) # simulation properties simulProp = SimulationProperties() simulProp.finalTime = 1e7 # the time at which the simulation stops simulProp.saveTSJump, simulProp.plotTSJump = 5, 5 # save and plot after every 5 time steps simulProp.set_outputFolder( "./Data/MtoK_leakoff") # the disk address where the files are saved simulProp.frontAdvancing = 'explicit' # setting up explicit front advancing # initializing fracture Fr_geometry = Geometry('radial') init_param = InitializationParameters(Fr_geometry, regime='M', time=0.5) # creating fracture object Fr = Fracture(Mesh, init_param, Solid, Fluid, Injection, simulProp) # create a Controller controller = Controller(Fr, Solid, Fluid, Injection, simulProp) # run the simulation controller.run() #################### # plotting results # ####################
simulProp.tolFractFront = 3e-3 # increase the tolerance for fracture # front iteration simulProp.plotTSJump = 4 # plot every fourth time step simulProp.saveTSJump = 2 # save every second time step simulProp.maxSolverItrs = 200 # increase the Anderson iteration limit for the # elastohydrodynamic solver simulProp.tmStpPrefactor = np.asarray([[0, 80000], [0.5, 0.1]]) # set up the time step prefactor simulProp.timeStepLimit = 5000 # time step limit simulProp.plotVar = ['w', 'v'] # plot fracture width and fracture front velocity simulProp.set_mesh_extension_direction(['top', 'horizontal']) # allow the fracture to extend in positive y and x simulProp.set_mesh_extension_factor(1.2) # set the extension factor to 1.4 simulProp.useBlockToeplizCompression = True # use the Toepliz elasticity matrix to save memory # initializing a static fracture C = load_isotropic_elasticity_matrix_toepliz(Mesh, Solid.Eprime) Fr_geometry = Geometry('radial', radius=300) init_param = InitializationParameters(Fr_geometry, regime='static', net_pressure=0.5e6, elasticity_matrix=C) Fr = Fracture(Mesh, init_param, Solid, Fluid, Injection, simulProp) # create a controller controller = Controller(Fr, Solid,
Fluid = FluidProperties(viscosity=1.1e-3) # toughness dominated solution # simulation properties simulProp = SimulationProperties() simulProp.finalTime = 4000 # the time at which the simulation stops simulProp.set_volumeControl(True) # to set up the solver in volume control mode (inviscid fluid) simulProp.tolFractFront = 4e-3 # increase tolerance for the anisotropic case simulProp.set_outputFolder("./Data/toughness_jump") # the disk address where the files are saved simulProp.set_simulation_name('anisotropic_toughness_jump') simulProp.symmetric = True # set the fracture to symmetric simulProp.projMethod = 'ILSA_orig' simulProp.set_tipAsymptote('U') # initializing fracture gamma = (K1c_func(np.pi/2) / K1c_func(0))**2 # gamma = (Kc1/Kc3)**2 Fr_geometry = Geometry('elliptical', minor_axis=15., gamma=gamma) init_param = InitializationParameters(Fr_geometry, regime='E_K') # creating fracture object Fr = Fracture(Mesh, init_param, Solid, Fluid, Injection, simulProp) # create a Controller controller = Controller(Fr, Solid, Fluid, Injection,