Installation of ctl-ports on Marenostrum supercomputer

  1. Download ctl-ports-mn zip file from here: http://dryad.csc.kth.se/attachments/download/51/ctl-ports-mn-v0.2.1.zip
  2. Uncompress the file in your home folder
  3. Launch the script build.sh
  4. Be patient. Give it some time to install. It should take about 30 minutes or more.

Batch Visualization on Marenostrum supercomputer

Basic instructions

To send headless jobs to the Marenostrum supercomputer we have to create/modify a script that will contain all the information about the system.

Script

#!/bin/bash

#BSUB -n 16
#BSUB -oo output.out
#BSUB -eo output.err

#The job will allocate full nodes:
#BSUB -R"span[ptile=16]" 
#BSUB -J unicorn
#BSUB -W 00:10
#BSUB -q debug

#Choose parallel environment through 
module load intel
module load openmpi
module load lapack
module load mkl
module load gsl

#For OpenMPI 
/gpfs/apps/MN3/PARAVIEW/4.0.1_osmesa/lib/paraview-4.0/mpiexec -np 16 
/gpfs/apps/MN3/PARAVIEW/4.0.1_osmesa/bin/pvbatch wing.py

Example python file: wing.py

try: paraview.simple
except: from paraview.simple import *
paraview.simple._DisableFirstRenderCameraReset()

primal_solution000003_vtu = XMLUnstructuredGridReader( FileName=['primal_solution000003.vtu'] )

primal_solution000003_vtu.PointArrayStatus = ['Velocity', 'Pressure']
primal_solution000003_vtu.CellArrayStatus = []

RenderView1 = GetRenderView()
DataRepresentation2 = Show()
DataRepresentation2.ScaleFactor = 0.532
DataRepresentation2.ScalarOpacityUnitDistance = 0.0657865064795365
DataRepresentation2.SelectionPointFieldDataArrayName = 'Pressure'
DataRepresentation2.EdgeColor = [0.0, 0.0, 0.5000076295109483]

Slice1 = Slice( SliceType="Plane" )

RenderView1.CameraFocalPoint = [1.14, 0.0, 0.0]
RenderView1.CameraClippingRange = [8.242648508800242, 18.229961118182736]
RenderView1.CameraPosition = [3.536681999070784, 3.529643377430362, 11.909526798911186]

Slice1.SliceOffsetValues = [0.0]
Slice1.SliceType.Origin = [1.14, 0.0, 0.0]
Slice1.SliceType = "Plane" 

active_objects.source.SMProxy.InvokeEvent('UserEvent', 'ShowWidget')

RenderView1.CameraClippingRange = [5.867599221182185, 21.21965884565923]

active_objects.source.SMProxy.InvokeEvent('UserEvent', 'HideWidget')

DataRepresentation3 = Show()
DataRepresentation3.ScaleFactor = 0.532
DataRepresentation3.SelectionPointFieldDataArrayName = 'Pressure'
DataRepresentation3.EdgeColor = [0.0, 0.0, 0.5000076295109483]

RenderView1.CameraClippingRange = [8.242648508800242, 18.229961118182736]

DataRepresentation2.Visibility = 0

Slice1.SliceType.Normal = [0.0, 0.0, 1.0]

a3_Velocity_PVLookupTable = GetLookupTableForArray( "Velocity", 3, RGBPoints=[0.003259448916773087, 0.23, 0.299, 0.754, 1.1708514379288888, 0.706, 0.016, 0.15], VectorMode='Magnitude', N
anColor=[0.25, 0.0, 0.0], ColorSpace='Diverging', ScalarRangeInitialized=1.0, AllowDuplicateScalars=1 )

a3_Velocity_PiecewiseFunction = CreatePiecewiseFunction( Points=[0.0, 0.0, 0.5, 0.0, 1.0, 1.0, 0.5, 0.0] )

RenderView1.CameraViewUp = [0.0, 1.0, 0.0]
RenderView1.CameraPosition = [0.6323084505839629, -0.02820508607866845, 4.1503623915107]
RenderView1.CameraClippingRange = [4.108858767595593, 4.212617827383361]
RenderView1.CameraFocalPoint = [0.6323084505839629, -0.02820508607866845, -7.374942166864943]
RenderView1.CameraParallelScale = 2.982968320314515
RenderView1.CenterOfRotation = [1.14, 0.0, -5.21772295508649e-19]

DataRepresentation3.ColorArrayName = ('POINT_DATA', 'Velocity')
DataRepresentation3.LookupTable = a3_Velocity_PVLookupTable

a3_Velocity_PVLookupTable.ScalarOpacityFunction = a3_Velocity_PiecewiseFunction

WriteImage('wing.png')

Render()