BlobID v2.2.2
Loading...
Searching...
No Matches
Functions
Solver

Functions

void BLOBID_SolverRun (const BLOBID_Data *data, const BLOBID_Settings *settings, const double *time, int **label, const int *t_num, const int *pad, const int *n, const MPI_Fint *comm_F)
 Run the BlobID solver.
 
void BLOBID_SolverRunSafe (const BLOBID_Data *data, const BLOBID_Settings *settings, const double *time, int **label, const int *t_num, const int *pad, const int *n, const MPI_Fint *comm_F)
 
void BLOBID_SolverMakeDirs (const BLOBID_Settings *settings)
 Create the directory ./[air path] where BLOBID_SolverRun() will write files.
 

Detailed Description

Domain Definition

The domain definitions values are set when calling BLOBID_SolverRun() and apply to the field label as well as Data Fields brought in by data. For each processor, the domain size is defined by the number of ghost cells in each direction ( \(n_{i-}\), \(n_{i+}\)) and the number of cell in the domain in each direction ( \(N_i\)). Below is a 2D example.

Example Processor Domain
Note
BlobID requires at least one ghost cell in each direction.

In addition to the local domain of a processor, the global domain is defines by MPI, supplied by comm_F

Output file

When BLOBID_SolverRun() is called and t_num>=0, an ASCII output files will be created with the labels and volumes of identified blobs.

Naming

The default file name is ./[air path]/blob_[t_num].dat.

[t_num] is padded to 6 digits. The naming can be changed with compiler flags (see config.h header).

Format

A header will be added specifying the time given by the argument in BLOBID_SolverRun(). This is in the format: ZONE T = " 0.000000E+00", F=POINT.

The will be followed a row for each blob identified, in order of the label

Label Volume
6i 18.7E

Function Documentation

◆ BLOBID_SolverRun()

void BLOBID_SolverRun ( const BLOBID_Data data,
const BLOBID_Settings settings,
const double *  time,
int **  label,
const int *  t_num,
const int *  pad,
const int *  n,
const MPI_Fint *  comm_F 
)

Run the BlobID solver.

Parameters
dataBLOBID_Data object containing Data Fields
settingsBLOBID_Settings object containing Runtime Settings
timeThe current time, \(t^{n}\)
labelThe label feild label[i][j][k] to be written to. Size \(\left(N_{i}+n_{i-}+n_{i+}\right)\times\left(N_{j}+n_{j-}+n_{j+}\right)\times \left(N_{k}+n_{k-}+n_{k+}\right)\)
t_numThe index of the current time, \(n\)
padThe number of ghost cells in each direction, \(\left[n_{i-},n_{i+},n_{j-},n_{j+},n_{k-},n_{k+}\right]\)
nThe number of (not ghost) cells in each direction, \(\left[N_{i},N_{j},N_{k}\right]\)
comm_FThe (FORTRAN) MPI communicator to use.
Warning
This will crash if t_num>=0 and the folder ./[air path] does not already exist. Call BLOBID_SolverMakeDirs() to create it.

◆ BLOBID_SolverRunSafe()

void BLOBID_SolverRunSafe ( const BLOBID_Data data,
const BLOBID_Settings settings,
const double *  time,
int **  label,
const int *  t_num,
const int *  pad,
const int *  n,
const MPI_Fint *  comm_F 
)

This wraps BLOBID_SolverRun() in exception handling. Exceptions are output to std::cerr in the form "BLOBID ERROR: [error message]"

◆ BLOBID_SolverMakeDirs()

void BLOBID_SolverMakeDirs ( const BLOBID_Settings settings)

Create the directory ./[air path] where BLOBID_SolverRun() will write files.

For more on [air path], see Air Path.

Exceptions are output to std::cerr in the form "BLOBID ERROR: [error message]"

Parameters
settingsBLOBID_Settings object containing Runtime Settings