import matplotlib.pyplot as plt import cases L = 20000 ds = 100 x = np.linspace(0, L, int(L / ds) + 1) y = 250 * np.exp((1.0 / L) * x) * np.cos((x / L) * 16 * np.pi) / (np.exp( (x - 0.75 * L) / (0.025 * L)) + 1) / (np.exp( (x - 0.75 * L) / (0.025 * L)) + 1) z = np.tan(5.0 * np.pi / 180) / (2 * L) * (x**2 + L * (L - 2 * x)) events_a = [ mp.ChannelEvent(nit=150, saved_ts=25, Cf=0.02, mode='INCISION', kv=0.0033 * 12, dep_props=lambda x: (0, 0.85, 0.15)), mp.ChannelEvent(nit=50, saved_ts=10, Cf=0.02, mode='AGGRADATION', aggr_factor=1, kv=0.0033 * 15, aggr_props=lambda x: (0.4, 0.6, 0.0), dep_props=lambda x: (0.6, 0.3, 0.1)), mp.ChannelEvent(nit=50, saved_ts=10, Cf=0.02, mode='AGGRADATION', aggr_factor=1,
import matplotlib.pyplot as plt ONE_YEAR = 365 * 24 * 60 * 60.0 L = 20000 ds = 100 x = np.linspace(0, L, int(L / ds) + 1) y = 500 * np.exp((1.0 / L) * x) * np.cos((x / L) * 16 * np.pi) / (np.exp( (x - 0.75 * L) / (0.025 * L)) + 1) z = np.tan(5.0 * np.pi / 180) / (2 * L) * (x**2 + L * (L - 2 * x)) events = [ mp.ChannelEvent(nit=100, saved_ts=25, mode='INCISION', kv=0.0033 / ONE_YEAR), mp.ChannelEvent(nit=100, saved_ts=25, mode='AGGREGATION', aggr_factor=2, kv=0.002 / ONE_YEAR) ] channel = mp.Channel(x, y) basin = mp.Basin(x, z) belt = mp.ChannelBelt(channel, basin) for event in events: belt.simulate(event)
ONE_YEAR = 365*24*60*60.0 L = 20000 ds = 100 x = np.linspace(0, L, int(L/ds) + 1) y = 500 * np.exp(( 1.0 / L) * x) * np.cos(((x) / L) * 16 * np.pi) / (np.exp((x - 0.75 * L) / (0.025 * L)) + 1) z = np.tan(5.0 * np.pi / 180) / (2 * L) * (x ** 2 + L * ( L - 2 * x ) ) ch_depth = lambda slope: 6 * slope ** 2 dep_height = lambda slope: 4 * slope ** 2 dep_props = lambda slope: (0.1, 0.8, 0.1) aggr_props = lambda slope: (0.1, 0.8, 0.1) events = [ mp.ChannelEvent(nit = 100, saved_ts = 25, mode='INCISION', ch_depth = ch_depth, dep_height = dep_height, dep_props = dep_props, aggr_props = aggr_props, kv = 0.0033 / ONE_YEAR), mp.ChannelEvent(nit = 100, saved_ts = 25, mode='AGGREGATION', ch_depth = ch_depth, dep_height = dep_height, dep_props = dep_props, aggr_props = aggr_props, aggr_factor=2, kv = 0.002 / ONE_YEAR), mp.ChannelEvent(nit = 100, saved_ts = 25, mode='INCISION', ch_depth = ch_depth, dep_height = dep_height, dep_props = dep_props, aggr_props = aggr_props, kv = 0.0033 / ONE_YEAR), mp.ChannelEvent(nit = 100, saved_ts = 25, mode='AGGREGATION', ch_depth = ch_depth, dep_height = dep_height, dep_props = dep_props, aggr_props = aggr_props, aggr_factor=2, kv = 0.002 / ONE_YEAR), mp.ChannelEvent(nit = 100, saved_ts = 25, mode='INCISION', ch_depth = ch_depth, dep_height = dep_height, dep_props = dep_props, aggr_props = aggr_props, kv = 0.002 / ONE_YEAR), mp.ChannelEvent(nit = 100, saved_ts = 25, mode='AGGREGATION', ch_depth = ch_depth, dep_height = dep_height, dep_props = dep_props, aggr_props = aggr_props, aggr_factor=2, kv = 0.0033 / ONE_YEAR), mp.ChannelEvent(nit = 100, saved_ts = 25, mode='INCISION', ch_depth = ch_depth, dep_height = dep_height, dep_props = dep_props, aggr_props = aggr_props, kv = 0.002 / ONE_YEAR), mp.ChannelEvent(nit = 100, saved_ts = 25, mode='AGGREGATION', ch_depth = ch_depth, dep_height = dep_height, dep_props = dep_props, aggr_props = aggr_props, aggr_factor=2, kv = 0.0033 / ONE_YEAR) ] channel = mp.Channel(x, y) basin = mp.Basin(x, z) belt = mp.ChannelBelt(channel, basin) for event in events: belt.simulate(event)
import cases L = 20000 ds = 100 x = np.linspace(0, L, int(L / ds) + 1) y = 250 * np.exp((1.0 / L) * x) * np.cos((x / L) * 16 * np.pi) / (np.exp( (x - 0.75 * L) / (0.025 * L)) + 1) / (np.exp( (x - 0.75 * L) / (0.025 * L)) + 1) z = np.tan(5.0 * np.pi / 180) / (2 * L) * (x**2 + L * (L - 2 * x)) events = [ mp.ChannelEvent(nit=250, saved_ts=25, Cf=0.02, mode='INCISION', kv=0.0033 * 5), mp.ChannelEvent(nit=250, saved_ts=25, Cf=0.02, mode='AGGRADATION', aggr_factor=2, kv=0.002 * 3), ] #events[0].plot_ch_width();plt.show() #events[0].plot_all_relations();plt.show() channel = mp.Channel(x, y) basin = mp.Basin(x, z)
import cases L = 5000 ds = 100 x = np.linspace(0, L, int(L / ds) + 1) y = 250 * np.exp((1.0 / L) * x) * np.cos((x / L) * 16 * np.pi) / (np.exp( (x - 0.75 * L) / (0.025 * L)) + 1) / (np.exp( (x - 0.75 * L) / (0.025 * L)) + 1) z = np.tan(2.0 * np.pi / 180) * (L - x) events = [ mp.ChannelEvent(nit=100, saved_ts=25, Cf=0.02, mode='INCISION', kv=0.0033 * 10, dep_props=lambda x: (0.9, 0, 0.1), aggr_props=lambda x: (0, 1, 0)), mp.ChannelEvent(nit=150, saved_ts=25, Cf=0.02, mode='AGGRADATION', kv=0, dep_props=lambda x: (0.9, 0, 0.1), aggr_props=lambda x: (0, 1, 0)), mp.ChannelEvent(nit=150, saved_ts=15, Cf=0.02, mode='AGGRADATION', aggr_factor=2,
x = np.linspace(0, L, int(L/ds) + 1) y = 250 * np.exp(( 1.0 / L) * x) * np.cos((x / L) * 16 * np.pi) / (np.exp((x - 0.75 * L) / (0.025 * L)) + 1) / (np.exp((x - 0.75 * L) / (0.025 * L)) + 1) z = np.tan(5.0 * np.pi / 180) / (2 * L) * (x ** 2 + L * ( L - 2 * x ) ) x = np.linspace(0, L, int(L/ds) + 1) def dep_props(slope): p = slope / -5 # 1 - > 0 return (0.3, (2 - p) * 0.5, p * 0.2) def aggr_props(slope): p = slope / -5 # 1 - > 0 return (0.1, (2 - p) * 0.2, (p)* 0.7) events = [ mp.ChannelEvent(nit = 100, saved_ts = 25, Cf = 0.02, mode='INCISION', kv = 0.0033, dep_props = dep_props, aggr_props=aggr_props), mp.ChannelEvent(nit = 100, saved_ts = 25, Cf = 0.02, mode='AGGRADATION', aggr_factor=1, kv = 0.0033, dep_props = dep_props, aggr_props=aggr_props), mp.ChannelEvent(nit = 100, saved_ts = 25, Cf = 0.02, mode='INCISION', kv = 0.0033, dep_props = dep_props, aggr_props=aggr_props), mp.ChannelEvent(nit = 100, saved_ts = 25, Cf = 0.02, mode='AGGRADATION', aggr_factor=1, kv = 0.0033, dep_props = dep_props, aggr_props=aggr_props), mp.ChannelEvent(nit = 100, saved_ts = 25, Cf = 0.02, mode='INCISION', kv = 0.0033, dep_props = dep_props, aggr_props=aggr_props), mp.ChannelEvent(nit = 100, saved_ts = 25, Cf = 0.02, mode='AGGRADATION', aggr_factor=1, kv = 0.0033, dep_props = dep_props, aggr_props=aggr_props), mp.ChannelEvent(nit = 100, saved_ts = 25, Cf = 0.02, mode='INCISION', kv = 0.0033, dep_props = dep_props, aggr_props=aggr_props), mp.ChannelEvent(nit = 100, saved_ts = 25, Cf = 0.02, mode='AGGRADATION', aggr_factor=1, kv = 0.0033, dep_props = dep_props, aggr_props=aggr_props) ] channel = mp.Channel(x, y) basin = mp.Basin(x, z) belt = mp.ChannelBelt(channel, basin) for evt in events: belt.simulate(evt)