SENSEI
A frame work for generic in situ analytics
sensei::LibsimAnalysisAdaptor Class Reference

An implementation that invokes VisIt libsim. More...

#include <LibsimAnalysisAdaptor.h>

Inheritance diagram for sensei::LibsimAnalysisAdaptor:
[legend]
Collaboration diagram for sensei::LibsimAnalysisAdaptor:
[legend]

Public Member Functions

 senseiTypeMacro (LibsimAnalysisAdaptor, AnalysisAdaptor)
 
bool Execute (DataAdaptor *data, DataAdaptor **) override
 invoke in situ processing with VisIt Libsim More...
 
int Finalize () override
 shut down and cleanup VisIt Libsim. More...
 
Run time configuration
void SetTraceFile (const std::string &traceFile)
 Set the file to write libsim debugging info to. More...
 
void SetOptions (const std::string &options)
 Set libsim specific options. More...
 
void SetVisItDirectory (const std::string &dir)
 Set the path to the VisIt install. More...
 
void SetMode (const std::string &mode)
 Set the libsim mode. More...
 
void SetComputeNesting (int val)
 If set then the adaptor will generate the nesting information for VisIt. More...
 
void Initialize ()
 Initialize VisIt and Libsim after setting all desired run time configuration paramters. More...
 
bool AddRender (int frequency, const std::string &session, const std::string &plot, const std::string &plotVars, bool slice, bool project2d, const double origin[3], const double normal[3], const LibsimImageProperties &imgProps)
 Explicitly create VisIt plots and rendered output. More...
 
bool AddExport (int frequency, const std::string &session, const std::string &plot, const std::string &plotVars, bool slice, bool project2d, const double origin[3], const double normal[3], const std::string &filename)
 Explicitly create VisIt extract based output. More...
 
- Public Member Functions inherited from sensei::AnalysisAdaptor
 senseiBaseTypeMacro (AnalysisAdaptor, svtkObjectBase)
 
void PrintSelf (ostream &os, svtkIndent indent) override
 Prints the current state of the adaptor. More...
 
virtual int SetCommunicator (MPI_Comm comm)
 Set the MPI communicator to be used by the adaptor. More...
 
MPI_Comm GetCommunicator ()
 returns the MPI communicator to be used for all communication More...
 
virtual void SetVerbose (int val)
 Set the level of verbosity of console output. More...
 
virtual int GetVerbose ()
 Get the level of verbosity of console output. More...
 
virtual void SetAsynchronous (int val)
 When set the analysis should buffer the simulation data and run in the background returning to the simulation immediately. More...
 
virtual int GetAsynchronous ()
 Get asynchronous mode. More...
 
virtual void SetDeviceId (int val)
 Set the device that the analysis should run on. More...
 
virtual int GetDeviceId ()
 Get the device that the analysis should run on. More...
 
virtual void SetDevicesToUse (int val)
 Set the number of devices to use per node. More...
 
virtual int GetDevicesToUse ()
 Get the number of devices to use per node. More...
 
virtual void SetDeviceStart (int val)
 Set the first on node device to use in automatic device selection. More...
 
virtual int GetDeviceStart ()
 Get the first device to use. More...
 
virtual void SetDeviceStride (int val)
 Set the number of devices to skip in automatic device selection. More...
 
virtual int GetDeviceStride ()
 Get the number of devices to skip. More...
 

Static Public Member Functions

static LibsimAnalysisAdaptorNew ()
 Allocates an instance of LibsimAnalysisAdaptor. More...
 

Additional Inherited Members

- Public Types inherited from sensei::AnalysisAdaptor
enum  { DEVICE_HOST =-1, DEVICE_AUTO =-2 }
 values controling device selection More...
 
- Protected Member Functions inherited from sensei::AnalysisAdaptor
 AnalysisAdaptor (const AnalysisAdaptor &)=delete
 
void operator= (const AnalysisAdaptor &)=delete
 
- Protected Attributes inherited from sensei::AnalysisAdaptor
MPI_Comm Comm
 
int Verbose
 
int DeviceId
 
int DevicesPerNode
 
int DevicesToUse
 
int DeviceStart
 
int DeviceStride
 
int Asynchronous
 

Detailed Description

An implementation that invokes VisIt libsim.

Run time configuration is specified using a VisIt session file (see AddRenderer or AddExtract).

Member Function Documentation

◆ AddExport()

bool sensei::LibsimAnalysisAdaptor::AddExport ( int  frequency,
const std::string &  session,
const std::string &  plot,
const std::string &  plotVars,
bool  slice,
bool  project2d,
const double  origin[3],
const double  normal[3],
const std::string &  filename 
)

Explicitly create VisIt extract based output.

We recommend using a VisIt session file instead of explictly creating plots.

Parameters
[in]frequencysets how many steps in between libsim processing
[in]sessionthe path to a VisIt generated session file
[in]plotthe name of a VisIt plot (do not use with session)
[in]plotVarsthe name of the variable to plot (do not use with session)
[in]sliceif true a slice is taking (do not use with session)
[in]project2dif true the slice is projected in 2D (do not use with session)
[in]originthe point defining the slice plane (do not use with session)
[in]normalthe normal of the slice plane (no not use with session)
[in]filenamethe path to writre the data to

◆ AddRender()

bool sensei::LibsimAnalysisAdaptor::AddRender ( int  frequency,
const std::string &  session,
const std::string &  plot,
const std::string &  plotVars,
bool  slice,
bool  project2d,
const double  origin[3],
const double  normal[3],
const LibsimImageProperties &  imgProps 
)

Explicitly create VisIt plots and rendered output.

We recommend using a VisIt session file instead of explictly creating plots.

Parameters
[in]frequencysets how many steps in between libsim processing
[in]sessionthe path to a VisIt generated session file
[in]plotthe name of a VisIt plot (do not use with session)
[in]plotVarsthe name of the variable to plot (do not use with session)
[in]sliceif true a slice is taking (do not use with session)
[in]project2dif true the slice is projected in 2D (do not use with session)
[in]originthe point defining the slice plane (do not use with session)
[in]normalthe normal of the slice plane (do no not use with session)
[in]imgPropsdescibes the rendering parameters (do not use with session)

◆ Execute()

bool sensei::LibsimAnalysisAdaptor::Execute ( DataAdaptor data,
DataAdaptor **   
)
overridevirtual

invoke in situ processing with VisIt Libsim

Implements sensei::AnalysisAdaptor.

◆ Finalize()

int sensei::LibsimAnalysisAdaptor::Finalize ( )
overridevirtual

shut down and cleanup VisIt Libsim.

Reimplemented from sensei::AnalysisAdaptor.

◆ Initialize()

void sensei::LibsimAnalysisAdaptor::Initialize ( )

Initialize VisIt and Libsim after setting all desired run time configuration paramters.

◆ New()

static LibsimAnalysisAdaptor* sensei::LibsimAnalysisAdaptor::New ( )
static

Allocates an instance of LibsimAnalysisAdaptor.

◆ SetComputeNesting()

void sensei::LibsimAnalysisAdaptor::SetComputeNesting ( int  val)

If set then the adaptor will generate the nesting information for VisIt.

If one wants to do subsetting in VisIt, setting this flag will give VisIt the information it needs to re-generate ghost zones based on the selected blocks. It is off by default because if not doing subsetting this information is not needed, and this information takes up a good deal of space and the algorithm used here is O(N^2) in the number of blocks.

◆ SetMode()

void sensei::LibsimAnalysisAdaptor::SetMode ( const std::string &  mode)

Set the libsim mode.

◆ SetOptions()

void sensei::LibsimAnalysisAdaptor::SetOptions ( const std::string &  options)

Set libsim specific options.

◆ SetTraceFile()

void sensei::LibsimAnalysisAdaptor::SetTraceFile ( const std::string &  traceFile)

Set the file to write libsim debugging info to.

◆ SetVisItDirectory()

void sensei::LibsimAnalysisAdaptor::SetVisItDirectory ( const std::string &  dir)

Set the path to the VisIt install.

Note that it is recommened to set VisIt spoecific enviornment variables instead of SetVisItDirectory.


The documentation for this class was generated from the following file: