2

I am working on a plotter for Finite Element Method solutions. I decided to use the Plotly library because of the carpet plots. I have my data to plot and this is my result: Flow over NACA0012

Each element is represented as a Carpet, and for each carpet the solution is shown as a Countourcarpet. Everything is in place, but the rendering is too slow and the interactive interface is therefore nearly useless. Is there a way to enhance the performance of the rendering? I have read about different renderers in Plotly, but the plot just does not open. Is there a a way to speed up the rendering? Surely I will have to manage larger dataset. In this example I am using 740 carpets.
These are the Contourcarpet settings:

fig.add_trace(go.Contourcarpet(
    a = a,
    b = b,
    z = u,                       # Sution correspondent at (a,b) parametric location
    showlegend = showLegendFlag,
    name = "Density",
    legendgroup = "Density",
    autocolorscale = False,
    colorscale = "Inferno",
    autocontour = False,
    carpet = str(e),             # The carpet on which to plot the solution is
                                 # referenced as a string number
    contours = dict(
        start = start1,          # Min value
        end = end1,              # Max value
        size = abs(end1-start1) / countour_number, # Plot colour discretization
        showlines = False
    ),
    line = dict(
        smoothing = 0
    ),
    colorbar = dict(
    len = 0.4,
        y = 0.25
    )
    )) 

And these are the layout settings:

fig.update_layout(
    plot_bgcolor="#FFF",
    yaxis = dict(
      zeroline = False,
      range = [-1.800,1.800],
      showgrid = False
    ),
    dragmode = "pan",
    height = 700,
    xaxis = dict(
      zeroline = False,
      scaleratio = 1,
      scaleanchor = 'y',
      range = [-3.800,3.800],
      showgrid = False
    ),
    title = "Flow over NACA 0012",
    hovermode = "closest",
    margin = dict(
      r = 80,
      b = 40,
      l = 40,
      t = 80
    ),
    width = 900
)

fig.show()

0 Answers0