コード例 #1
0
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,
コード例 #2
0
ファイル: main00.py プロジェクト: bfbechlin/meanderpy
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)
コード例 #3
0
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)
コード例 #4
0
ファイル: test_case_00.py プロジェクト: bfbechlin/meanderpy
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)
コード例 #5
0
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,
コード例 #6
0
ファイル: test_case_02.py プロジェクト: bfbechlin/meanderpy
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)