proteus.Viewers module
Some simple modules for doing runtime visualization
- class proteus.Viewers.V_base(p=None, n=None, s=None)[source]
Bases:
object- stepProcessPlot(mlvt, tsim)[source]
plot desired quantities for a single step
- Parameters:
mlvt (multilevel vector transport that holds the quantities to measure)
tsim (simulation time)
assumes this is the correct time to plot
- stepPlotExact(mlvt, tsim)[source]
plot ‘exact’ value of desired quantities for a single step
- Parameters:
mlvt (multilevel vector transport that holds the quantities to measure)
tsim (simulation time)
assumes this is the correct time to plot and plotOffSet is set correctly
- stepPlotElementQuantities(mlvt, tsim)[source]
sort through desired quantities in quadrature dictionaries like m, dm, to plot:
p --- problem definition n --- numerics definition mlvt --- multilevel vector transport that holds the quantities to measure tsim --- simulation time
assumes this is the correct time to plot and plotOffSet is set correctly
- plotScalarElementQuantity(ckey, mlvt, tsim)[source]
plotting routine to look at scalar quantity stored in element quad dictionary q
- Parameters:
ckey (what should be plotted)
mlvt (multilevel vector transport that holds the quantities to measure)
tsim (simulation time)
assumes this is the correct time to plot and plotOffSet is set correctly
- plotVectorGlobalElementBoundaryQuantity(ckey, mlvt, tsim)[source]
plotting routine to look at vector quantity stored in global elementBoundary quad dictionary ebq_global
- Parameters:
ckey (what should be plotted)
mlvt (multilevel vector transport that holds the quantities to measure)
tsim (simulation time)
assumes this is the correct time to plot and plotOffSet is set correctly
- plotVectorElementQuantity(ckey, mlvt, tsim, nVectorPlotPointsPerElement=1)[source]
plotting routine to look at vector quantity stored in global element quad dictionary q
input:
ckey --- what should be plotted p --- problem definition n --- numerics definition mlvt --- multilevel vector transport that holds the quantities to measure tsim --- simulation time
assumes this is the correct time to plot and plotOffSet is set correctly
- class proteus.Viewers.MatlabWriter(nxgrid=50, nygrid=50, nzgrid=10, verbose=0)[source]
Bases:
objectcollect functionality for generating visualation data and commands in matlab .. todo:
C0P2 in 3d DG monomials
- viewScalarPointData(cmdFile, nSpace, q, ckey, name=None, storeMeshData=True, useLocal=True, figureNumber=1, title=None)[source]
wrapper for visualling element quadrature points, can try to use a local representation or build a global one depending on useLocal.
If useLocal and nPoints_elemnet < nSpace+1 calls global routine
- viewVectorPointData(cmdFile, nSpace, q, ckey, name=None, storeMeshData=True, useLocal=True, figureNumber=1, title=None)[source]
wrapper for visualling element quadrature points, can try to use a local representation or build a global one depending on useLocal. TODO: implement local view for vectors
If useLocal and nPoints_elemnet < nSpace+1 calls global routine
- viewGlobalScalarPointData(cmdFile, nSpace, q, ckey, name=None, storeMeshData=True, figureNumber=1, title=None)[source]
input scalar variable and coordinates stored in dictionary q[‘x’], q[ckey] respectively, generate global continuous interpolant should work for q, ebq_global, and ebqe quadrature dictionaries
uses delaunay triangulation in 2d and 3d
scalar data is stored in name_q
if storeMeshData = True, writes out name_x_q (point data) and tri_name_q (Delaunay representation, 2d/3d)
returns number of figures actually plotted
- viewGlobalVectorPointData(cmdFile, nSpace, q, ckey, name=None, storeMeshData=True, figureNumber=1, title=None)[source]
input vector variable and coordinates stored in dictionary q[‘x’], q[ckey] respectively, generate global continuous interpolant should work for q, ebq_global, and ebqe quadrature dictionaries
uses delaunay triangulation in 2d and 3d
vector data is stored in name_q
if storeMeshData = True, writes out name_x_q (point data) and tri_name_q (Delaunay representation, 2d/3d)
returns number of figures actually generated
- viewLocalScalarPointData(cmdFile, nSpace, q, ckey, name=None, storeMeshData=True, figureNumber=1, title=None)[source]
input scalar variable and coordinates stored in dictionary q[‘x’], q[ckey] respectively, generate local interpolant that is element-wise continuous should work for q, ebq_global, and ebqe quadrature dictionaries
uses delaunay triangulation in 2d and 3d on each element (stored in cell array)
scalar data is stored in name_q
if storeMeshData = True, writes out name_x_q (point data) and tri_name_q (Delaunay representation, 2d/3d)
returns number of figures actually plotted
- viewScalarAnalyticalFunction(cmdFile, nSpace, f, t, x, elementNodesConnectivity=None, name='exact', storeMeshData=True, figureNumber=1, title=None)[source]
input scalar analytical function f(x,t) and array of points
respectively, generate global continuous interpolant
uses delaunay triangulation in 2d and 3d if element - node triangulation not already defined
- scalar data is stored in
name_ex
- if storeMeshData = True, writes out
name_x_ex – point data tri_name_ex – element-node representation (2d,3d)
returns number of figures actually plotted
- viewVectorAnalyticalFunction(cmdFile, nSpace, f, t, x, elementNodesConnectivity=None, name='exact', storeMeshData=True, figureNumber=1, title=None)[source]
input vector analytical function f(x,t) and array of points
respectively, generate global continuous interpolant
uses delaunay triangulation in 2d and 3d if element - node triangulation not already defined
- vector data is stored in
name_ex
- if storeMeshData = True, writes out
name_x_ex – point data tri_name_ex – element-node representation (2d,3d)
returns number of figures actually plotted
- viewScalar_LagrangeC0P1(cmdFile, nSpace, nodeArray, elementNodesArray, u_dof, name='u', storeMeshData=True, figureNumber=1, title=None)[source]
- viewVector_LagrangeC0P1(cmdFile, nSpace, nodeArray, elementNodesArray, u_dof, v_dof=None, w_dof=None, name='velocity', storeMeshData=True, figureNumber=1, title=None)[source]
- viewScalar_LagrangeC0P2(cmdFile, nSpace, lagrangeNodesArray, elementNodesArray, l2g, u_dof, name='u', storeMeshData=True, figureNumber=1, title=None)[source]
- viewVector_LagrangeC0P2(cmdFile, nSpace, lagrangeNodesArray, elementNodesArray, l2g, u_dof, v_dof=None, w_dof=None, name='velocity', storeMeshData=True, figureNumber=1, title=None)[source]
- viewScalar_DGP0(cmdFile, nSpace, nodeArray, elementNodesArray, l2g, u_dof, name='u', storeMeshData=True, figureNumber=1, title=None)[source]
- viewScalar_LagrangeDGP1(cmdFile, nSpace, nodeArray, elementNodesArray, l2g, u_dof, name='u', storeMeshData=True, figureNumber=1, title=None)[source]
- viewScalar_LagrangeDGP2(cmdFile, nSpace, nodeArray, elementNodesArray, midNodesArray, l2g, cg_l2g, u_dof, name='u', storeMeshData=True, figureNumber=1, title=None)[source]