123456789101112131415161718192021222324252627282930313233343536 |
- import numpy as np
- from vedo import Grid, settings, show
- from vedo.pyplot import histogram
- settings.default_font = "FiraMonoMedium"
- grid = Grid(res=[50,50])
- grid.wireframe(False).lw(0)
- values = np.zeros(grid.npoints)
- values[int(grid.npoints/2)] = 1
- values[int(grid.npoints/5)] = 1
- grid.pointdata["scalars"] = values
- grid.cmap("Set1_r").add_scalarbar()
- grid2 = grid.clone()
- grid2.smooth_data(niter=750, relaxation_factor=0.1, strategy=1)
- grid2.cmap("Set1_r").add_scalarbar()
- his = histogram(
- grid2.pointdata["scalars"],
- c='k4',
- xtitle="Concentration",
- ytitle="Frequency",
- axes=dict(htitle="", axes_linewidth=2, xyframe_line=0),
- )
- his = his.clone2d() # anchor it to screen coords
- print("integrated over domain:", grid2.integrate_data())
- show([
- ["Initial state", grid],
- ["After diffusion", grid2, his]],
- N=2, axes=1,
- ).close()
|