mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Put figure generation program with number generation programs
Since the data files are generated by the tutorials, it is natural to have the figure generation program also together with this source code; otherwise people may think that it have to be used for *all* figures
This commit is contained in:
parent
5f3b172d35
commit
7285f2bfd1
144
tutorials/generate_doc_figures.py
Executable file
144
tutorials/generate_doc_figures.py
Executable file
@ -0,0 +1,144 @@
|
|||||||
|
|
||||||
|
# This script generate the illustration pictures for the documentation.
|
||||||
|
#
|
||||||
|
# To run this script, you have to install paraview, see:
|
||||||
|
#
|
||||||
|
# http://www.paraview.org/paraview/resources/software.php
|
||||||
|
#
|
||||||
|
# Eventually, set up the paths (figure_path, tutorial_data_path) according to your own installation.
|
||||||
|
# (The default values should be ok.)
|
||||||
|
#
|
||||||
|
# Make sure that pvpython is in your path of executables.
|
||||||
|
#
|
||||||
|
# After all the tutorial programs have been executed, run the following
|
||||||
|
# command in the same directory:
|
||||||
|
#
|
||||||
|
# pvpython generate_doc_figures.py Documentation/Figure
|
||||||
|
#
|
||||||
|
|
||||||
|
from paraview.simple import *
|
||||||
|
from os import remove, mkdir, curdir
|
||||||
|
from os.path import join, isdir
|
||||||
|
from sys import argv, exit
|
||||||
|
|
||||||
|
# we need at least the output directory
|
||||||
|
if len(argv) <= 1:
|
||||||
|
exit('Synopsis: pvpython generate_doc_figures.py dest-dir [src-dir]')
|
||||||
|
|
||||||
|
figure_path = argv[1]
|
||||||
|
|
||||||
|
# default for the input directory is the current one
|
||||||
|
if len(argv) <= 2:
|
||||||
|
tutorial_data_path = curdir
|
||||||
|
else:
|
||||||
|
tutorial_data_path = argv[2]
|
||||||
|
|
||||||
|
collected_garbage_file = []
|
||||||
|
|
||||||
|
if not isdir(figure_path):
|
||||||
|
mkdir(figure_path)
|
||||||
|
|
||||||
|
|
||||||
|
# tutorial 1
|
||||||
|
data_file_name = join(tutorial_data_path, "tutorial1.vtu")
|
||||||
|
# grid = servermanager.sources.XMLUnstructuredGridReader(FileName = data_file_name)
|
||||||
|
grid = XMLUnstructuredGridReader(FileName = data_file_name)
|
||||||
|
collected_garbage_file.append(data_file_name)
|
||||||
|
grid.UpdatePipeline()
|
||||||
|
Show(grid)
|
||||||
|
dp = GetDisplayProperties(grid)
|
||||||
|
dp.Representation = 'Wireframe'
|
||||||
|
dp.LineWidth = 5
|
||||||
|
dp.AmbientColor = [1, 0, 0]
|
||||||
|
view = GetActiveView()
|
||||||
|
view.Background = [1, 1, 1]
|
||||||
|
camera = GetActiveCamera()
|
||||||
|
camera.SetPosition(4, -6, 5)
|
||||||
|
camera.SetViewUp(-0.19, 0.4, 0.9)
|
||||||
|
camera.SetViewAngle(30)
|
||||||
|
camera.SetFocalPoint(1.5, 1.5, 1)
|
||||||
|
Render()
|
||||||
|
WriteImage(join(figure_path, "tutorial1.png"))
|
||||||
|
Hide(grid)
|
||||||
|
|
||||||
|
# tutorial 2
|
||||||
|
data_file_name = join(tutorial_data_path, "tutorial2.vtu")
|
||||||
|
grid = XMLUnstructuredGridReader(FileName = data_file_name)
|
||||||
|
collected_garbage_file.append(data_file_name)
|
||||||
|
grid.UpdatePipeline()
|
||||||
|
Show(grid)
|
||||||
|
dp = GetDisplayProperties(grid)
|
||||||
|
dp.Representation = 'Surface'
|
||||||
|
dp.ColorArrayName = 'pressure'
|
||||||
|
pres = grid.CellData.GetArray(0)
|
||||||
|
pres_lookuptable = GetLookupTableForArray( "pressure", 1, RGBPoints=[pres.GetRange()[0], 1, 0, 0, pres.GetRange()[1], 0, 0, 1] )
|
||||||
|
dp.LookupTable = pres_lookuptable
|
||||||
|
view = GetActiveView()
|
||||||
|
view.Background = [1, 1, 1]
|
||||||
|
camera = GetActiveCamera()
|
||||||
|
camera.SetPosition(20, 20, 110)
|
||||||
|
camera.SetViewUp(0, 1, 0)
|
||||||
|
camera.SetViewAngle(30)
|
||||||
|
camera.SetFocalPoint(20, 20, 0.5)
|
||||||
|
Render()
|
||||||
|
WriteImage(join(figure_path, "tutorial2.png"))
|
||||||
|
Hide(grid)
|
||||||
|
|
||||||
|
# tutorial 3
|
||||||
|
for case in range(0,20):
|
||||||
|
data_file_name = join(tutorial_data_path, "tutorial3-"+"%(case)03d"%{"case": case}+".vtu")
|
||||||
|
collected_garbage_file.append(data_file_name)
|
||||||
|
|
||||||
|
cases = ["000", "005", "010", "015", "019"]
|
||||||
|
for case in cases:
|
||||||
|
data_file_name = join(tutorial_data_path, "tutorial3-"+case+".vtu")
|
||||||
|
grid = XMLUnstructuredGridReader(FileName = data_file_name)
|
||||||
|
grid.UpdatePipeline()
|
||||||
|
Show(grid)
|
||||||
|
dp = GetDisplayProperties(grid)
|
||||||
|
dp.Representation = 'Surface'
|
||||||
|
dp.ColorArrayName = 'saturation'
|
||||||
|
sat = grid.CellData.GetArray(1)
|
||||||
|
sat_lookuptable = GetLookupTableForArray( "saturation", 1, RGBPoints=[0, 1, 0, 0, 1, 0, 0, 1])
|
||||||
|
dp.LookupTable = sat_lookuptable
|
||||||
|
view.Background = [1, 1, 1]
|
||||||
|
camera = GetActiveCamera()
|
||||||
|
camera.SetPosition(100, 100, 550)
|
||||||
|
camera.SetViewUp(0, 1, 0)
|
||||||
|
camera.SetViewAngle(30)
|
||||||
|
camera.SetFocalPoint(100, 100, 5)
|
||||||
|
Render()
|
||||||
|
WriteImage(join(figure_path, "tutorial3-"+case+".png"))
|
||||||
|
Hide(grid)
|
||||||
|
|
||||||
|
# tutorial 4
|
||||||
|
for case in range(0,20):
|
||||||
|
data_file_name = join(tutorial_data_path, "tutorial4-"+"%(case)03d"%{"case": case}+".vtu")
|
||||||
|
collected_garbage_file.append(data_file_name)
|
||||||
|
|
||||||
|
cases = ["000", "005", "010", "015", "019"]
|
||||||
|
for case in cases:
|
||||||
|
data_file_name = join(tutorial_data_path, "tutorial4-"+case+".vtu")
|
||||||
|
grid = XMLUnstructuredGridReader(FileName = data_file_name)
|
||||||
|
grid.UpdatePipeline()
|
||||||
|
Show(grid)
|
||||||
|
dp = GetDisplayProperties(grid)
|
||||||
|
dp.Representation = 'Surface'
|
||||||
|
dp.ColorArrayName = 'saturation'
|
||||||
|
sat = grid.CellData.GetArray(1)
|
||||||
|
sat_lookuptable = GetLookupTableForArray( "saturation", 1, RGBPoints=[0, 1, 0, 0, 1, 0, 0, 1])
|
||||||
|
dp.LookupTable = sat_lookuptable
|
||||||
|
view.Background = [1, 1, 1]
|
||||||
|
camera = GetActiveCamera()
|
||||||
|
camera.SetPosition(100, 100, 550)
|
||||||
|
camera.SetViewUp(0, 1, 0)
|
||||||
|
camera.SetViewAngle(30)
|
||||||
|
camera.SetFocalPoint(100, 100, 5)
|
||||||
|
Render()
|
||||||
|
WriteImage(join(figure_path, "tutorial4-"+case+".png"))
|
||||||
|
Hide(grid)
|
||||||
|
|
||||||
|
# remove temporary files
|
||||||
|
for f in collected_garbage_file:
|
||||||
|
remove(f)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user