examples/femaxx_post3d.hh File Reference

#include <stdlib.h>
#include <iostream>
#include <ostream>
#include <vector>
#include <string>
#include <Epetra_Comm.h>
#include <Epetra_MpiComm.h>
#include <Epetra_Map.h>
#include <Epetra_Vector.h>
#include <Epetra_MultiVector.h>
#include <Epetra_SerialDenseVector.h>
#include <Epetra_Export.h>
#include <Teuchos_ParameterList.hpp>
#include <boost/program_options.hpp>
#include "mpi.h"
#include "hdf5.h"
#include "pbe.h"
#include "fmxxtopology.h"
#include "nonsciconst.h"

Include dependency graph for femaxx_post3d.hh:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int h5_read_point (std::string filename, std::string groupname, int &npoint, double **&coord3d)
 Postprocesses and visualizes computational results from femaXX.
int h5_read_tetvertid (std::string filename, std::string groupname, int &ntet, id_t **&tetvertid)
int h5_read_sloc (std::string filename, std::string groupname, int &npoint, double **&coord3d)
int h5_read_sampledefield (std::string filename, std::string groupname, int &nsample, double **&efield, int mthmode)
int h5_read_sampledhfield (std::string filename, std::string groupname, int &nsample, double **&hfield, int mthmode)
int h5_read_eigenvalues (std::string filename, std::string groupname, double *&lambda)
int vtk_write_mesh (std::string vtklffname, int npoint, double **coord3d, int ntet, id_t **tetvertid)
int vtk_write_field (std::string vtklffname, int npoint, double **coord3d, int ntet, id_t **tetvertid, double ***efield, double ***hfield, int nmode)
int scf_write_efield (std::string scfname, int npoint, double **sloc, double ***efield, int nmode)
int scf_write_hfield (std::string scfname, int npoint, double **sloc, double ***hfield, int nmode)


Function Documentation

int h5_read_eigenvalues ( std::string  filename,
std::string  groupname,
double *&  lambdafreqquality 
)

Read eigenvalues lambda and return number of eigenmodes present in the HDF5 file

Declare variables related to HDF5 operations

First, read point coordinates from HDF5 file

Read coordinates from file using the hyperslab concept; select hyperslab structure in the file

Corresponds to the number of modes

Define hyperslab file space

Define hyperslab structure in memory space

Define memory hyperslab

allocate memory to store eigenvalues

Read data from hyperslab in the file into the hyperslab in memory

Close operations for specific dataset

Delete dynamically allocated memory if any

Definition at line 927 of file femaxx_post3d.cpp.

References H5_NAME_FEMAX_EIGENVALUE().

Referenced by main().

Here is the call graph for this function:

int h5_read_point ( std::string  filename,
std::string  groupname,
int &  npoint,
double **&  coord3d 
)

Postprocesses and visualizes computational results from femaXX.

Read tetrahedral point coordinates from HDF5 file

Standard loop indices

Declare variables related to HDF5 operations

First, read point coordinates from HDF5 file

Read coordinates from file using the hyperslab concept; select hyperslab structure in the file

Corresponds to the number of coordinate triples in the file

Define hyperslab file space

Define hyperslab structure in memory space

Define memory hyperslab

allocate memory to store point coordinates

Read data from hyperslab in the file into the hyperslab in memory

__DEBUG__VERBOSE__

Close operations for specific dataset

Delete dynamically allocated memory if any

Definition at line 394 of file femaxx_post3d.cpp.

References H5_NAME_FEMAX_POINTS(), NREALCOORD3D, OKCODE, and TAB_STRING().

Referenced by main().

Here is the call graph for this function:

int h5_read_sampledefield ( std::string  filename,
std::string  groupname,
int &  nsample,
double **&  efield,
int  mthmode 
)

Read sampled electric field vectors from HDF5 file

Standard loop indices

Declare variables related to HDF5 operations

Third, read sampled electric field from HDF5 file

Read sampled electric field using the hyperslab concept; select hyperslab structure in the file

Corresponds to the number of sampled electric field vectors

Define hyperslab file space

Define hyperslab structure in memory space

Define memory hyperslab

allocate memory to store sampled electric field cartesian components

Read data from hyperslab in the file into the hyperslab in memory

__DEBUG__VERBOSE__

Transfer sampled electric field in 2d array

Delete dynamically allocated variables if any

Close operations for specific dataset

Definition at line 715 of file femaxx_post3d.cpp.

References H5_GROUP_FEMAX_EIGENMODES(), H5_NAME_FEMAX_EIGENFIELD(), and OKCODE.

Referenced by main().

Here is the call graph for this function:

int h5_read_sampledhfield ( std::string  filename,
std::string  groupname,
int &  nsample,
double **&  hfield,
int  mthmode 
)

Read sampled magnetic field vectors from HDF5 file

Standard loop indices

Declare variables related to HDF5 operations

Third, read sampled electric field from HDF5 file

Read sampled magnetic field using the hyperslab concept; select hyperslab structure in the file

Corresponds to the number of sampled electric field vectors

Define hyperslab file space

Define hyperslab structure in memory space

Define memory hyperslab

allocate memory to store sampled electric field cartesian components

Read data from hyperslab in the file into the hyperslab in memory

__DEBUG__VERBOSE__

Transfer sampled electric field in 2d array

Delete dynamically allocated variables if any

Close operations for specific dataset

Definition at line 821 of file femaxx_post3d.cpp.

References H5_GROUP_FEMAX_EIGENMODES(), H5_NAME_FEMAX_EIGENCURL(), and OKCODE.

Referenced by main().

Here is the call graph for this function:

int h5_read_sloc ( std::string  filename,
std::string  groupname,
int &  npoint,
double **&  coord3d 
)

Read field sampling locations coordinates from HDF5 file

Standard loop indices

Declare variables related to HDF5 operations

First, read point coordinates from HDF5 file

Read coordinates from file using the hyperslab concept; select hyperslab structure in the file

Corresponds to the number of coordinate triples in the file

Define hyperslab file space

Define hyperslab structure in memory space

Define memory hyperslab

allocate memory to store point coordinates

Read data from hyperslab in the file into the hyperslab in memory

__DEBUG__VERBOSE__

Close operations for specific dataset

Delete dynamically allocated memory if any

Definition at line 607 of file femaxx_post3d.cpp.

References H5_GROUP_FEMAX_EIGENMODES(), H5_NAME_FEMAX_SLOCBASENAME(), NREALCOORD3D, OKCODE, and TAB_STRING().

Referenced by main().

Here is the call graph for this function:

int h5_read_tetvertid ( std::string  filename,
std::string  groupname,
int &  ntet,
id_t **&  tetvertid 
)

Read tetrahedral vertex id's from HDF5 file

Standard loop indices

Declare variables related to HDF5 operations

Second, read tetrahedral vertex id's from HDF5 file

Read tetrahedral vertex id's from file using the hyperslab concept; select hyperslab structure in the file

Corresponds to the number of coordinate triples in the file

Define hyperslab file space

Define hyperslab structure in memory space

Define memory hyperslab

allocate memory to store point coordinates

Read data from hyperslab in the file into the hyperslab in memory

Transfer tetrahedral vertex id's into 2d array

__DEBUG__VERBOSE__

Delete dynamically allocated variables if any

Close operations for specific dataset

Definition at line 499 of file femaxx_post3d.cpp.

References H5_NAME_FEMAX_TETVID(), NCORNERTET, and OKCODE.

Referenced by main().

Here is the call graph for this function:

int scf_write_efield ( std::string  scfname,
int  npoint,
double **  sloc,
double ***  efield,
int  nmode 
)

Write sampled electric field into simple column format (SCF) for Markus Bopp

Standard loop indices

Export the mesh in VTK legacy file format

Set numeric precision

Write file header

Close the output file

Definition at line 1261 of file femaxx_post3d.cpp.

References DEFAULT_FLOAT_PRECISION, NREALCOORD3D, OKCODE, SCF_EXTENSION(), and TAB_STRING().

Referenced by main().

Here is the call graph for this function:

int scf_write_hfield ( std::string  scfname,
int  npoint,
double **  sloc,
double ***  hfield,
int  nmode 
)

Write sampled magnetic field into simple column format (SCF) for Markus Bopp

Standard loop indices

Export the mesh in VTK legacy file format

Set numeric precision

Write file header

Close the output file

Definition at line 1338 of file femaxx_post3d.cpp.

References DEFAULT_FLOAT_PRECISION, NREALCOORD3D, OKCODE, SCF_EXTENSION(), and TAB_STRING().

Referenced by main().

Here is the call graph for this function:

int vtk_write_field ( std::string  vtklffname,
int  npoint,
double **  coord3d,
int  ntet,
id_t **  tetvertid,
double ***  efield,
double ***  hfield,
int  nmode 
)

Write sampled electric field into VTK legacy file format

Standard loop indices

Export the mesh in VTK legacy file format

Set numeric precision

Write file header

We store a tetrahedral mesh

Now, write data associated with cells

loop over all modal electric fields and write vectors associated with 3d coordinate points into the file

loop over all modal magnetic fields and write vectors associated with 3d coordinate points into the file

Close the output file

Definition at line 1096 of file femaxx_post3d.cpp.

References DEFAULT_FLOAT_PRECISION, NCORNERTET, NREALCOORD3D, OKCODE, SINGLE_SPACE(), TAB_STRING(), VTK_LFF_EXTENSION(), and VTK_LFF_TETRAHEDRON_CODE.

Referenced by main().

Here is the call graph for this function:

int vtk_write_mesh ( std::string  vtklffname,
int  npoint,
double **  coord3d,
int  ntet,
id_t **  tetvertid 
)

Write mesh into VTK legacy file format

Standard loop indices

Export the mesh in VTK legacy file format

Set numeric precision

Write file header

We store a tetrahedral mesh

At present the process responsible for the tetrahedron is stored in the 4th column of tetvertid

Close the output file

Definition at line 1015 of file femaxx_post3d.cpp.

References DEFAULT_FLOAT_PRECISION, NCORNERTET, NREALCOORD3D, OKCODE, SINGLE_SPACE(), TAB_STRING(), VTK_LFF_EXTENSION(), and VTK_LFF_TETRAHEDRON_CODE.

Referenced by main().

Here is the call graph for this function:


Generated on Fri Oct 26 13:35:13 2007 for FEMAXX (Finite Element Maxwell Eigensolver) by  doxygen 1.4.7