Boundary design mlb with multiple fluidic lanes adjacent to sidewalls

import matplotlib.pyplot as plt
import numpy as np

from mnflow.mfda.cad.dld.theme.block import DLD
dld = DLD(
    d_c=10.0,
    Np=40,
    # boundary
    boundary_treatment='mlb',
    dep_top_gap_deviation_nondim=[-0.5, -0.7, -0.9],
    acc_top_gap_deviation_nondim=[0.4, 0.8],
    #
    num_unit=2,
    #
    rotation_angle_deg_before_array=90,
    # image
    opt_save_image=True,
    img_dpu=2,
)
----------------------------------------
core.DLD___Np:40_Nw:8_gap_w:41.962_pitch_w:83.925_gap_a:41.962_pitch_a:83.925_height:167.850_boundary_treatment:mlb
block.DLD___num_unit:2_opt_mirror:False_array_counts:[1, 1]_opt_mirror_before_array:[False, False]
----------------------------------------
{'Np': 40,
 'Nw': 8,
 'area': 5673590.1096,
 'bb': [(-6672.028, -329.407), (41.962, 515.633)],
 'count of 1D arrays of core.DLD': 1,
 'd_c': 9.999999999999998,
 'lx': 6713.990000000001,
 'ly': 845.04,
 'performance': {'Flow rate @ 1 bar/area (micro-liter/min/mm-sq)': 1861.3715033124574,
                 'die area (mm-sq)': 5.6735901096,
                 'gap over crit. dia.': 4.1962442597075205,
                 'volumetric flow rate at 1 bar (micro-liter/min)': 10560.658951484842},
 'resistance (Pa.sec/m^3)': 568146365445.9169,
 'volumetric flow rate at 1 bar (m^3/sec)': 1.7601098252474735e-07,
 'volumetric flow rate at 1 bar (milli-liter/hr)': 633.6395370890905}

Output layout:

Layout

And, values of important parameters and variables:

Np=dld.Np
gap_a=dld.gap_a
gap_w=dld.gap_w
phi=dld.phi
boundary_gaps=dld.get_boundary_gaps()
/usr/bin/xdg-open: 882: www-browser: not found
/usr/bin/xdg-open: 882: links2: not found
/usr/bin/xdg-open: 882: elinks: not found
/usr/bin/xdg-open: 882: links: not found
print("Np: ", Np)
print("gap_w: ", gap_w)
print("phi: ", phi)
Np:  40
gap_w:  41.962442597075196
phi:  1
/usr/bin/xdg-open: 882: w3m: not found
xdg-open: no method available for opening '/tmp/tmpd28ra6y9.PNG'