Classes | Defines | Typedefs | Functions

Interface.hpp File Reference

#include <vector>
#include <mpi.h>
#include <list>
#include <iostream>
#include <limits>
#include <cmath>
Include dependency graph for Interface.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  exchange

Defines

#define velocity_solver_init_mpi   velocity_solver_init_mpi_
 Includes.
#define velocity_solver_finalize   velocity_solver_finalize_
#define velocity_solver_init_l1l2   velocity_solver_init_l1l2_
#define velocity_solver_solve_l1l2   velocity_solver_solve_l1l2_
#define velocity_solver_init_fo   velocity_solver_init_fo_
#define velocity_solver_solve_fo   velocity_solver_solve_fo_
#define velocity_solver_init_stokes   velocity_solver_init_stokes_
#define velocity_solver_solve_stokes   velocity_solver_solve_stokes_
#define velocity_solver_compute_2d_grid   velocity_solver_compute_2d_grid_
#define velocity_solver_set_grid_data   velocity_solver_set_grid_data_
#define velocity_solver_extrude_3d_grid   velocity_solver_extrude_3d_grid_
#define velocity_solver_export_l1l2_velocity   velocity_solver_export_l1l2_velocity_
#define velocity_solver_export_2d_data   velocity_solver_export_2d_data_
#define velocity_solver_export_fo_velocity   velocity_solver_export_fo_velocity_
#define velocity_solver_estimate_SS_SMB   velocity_solver_estimate_ss_smb_

Typedefs

typedef std::list< exchangeexchangeList_Type

Functions

int velocity_solver_init_mpi_ (int *fComm)
 Interface function.
void velocity_solver_finalize_ ()
void velocity_solver_init_l1l2_ (double const *levelsRatio)
void velocity_solver_init_fo_ (double const *levelsRatio)
void velocity_solver_solve_l1l2_ (double const *lowerSurface_F, double const *thickness_F, double const *beta_F, double const *temperature_F, double *u_normal_F=0, double *heatIntegral_F=0, double *viscosity_F=0)
void velocity_solver_solve_fo_ (double const *lowerSurface_F, double const *thickness_F, double const *beta_F, double const *temperature_F, double *u_normal_F=0, double *heatIntegral_F=0, double *viscosity_F=0)
void velocity_solver_compute_2d_grid_ (int const *verticesMask_F)
void velocity_solver_set_grid_data_ (int const *_nCells_F, int const *_nEdges_F, int const *_nVertices_F, int const *_nLayers, int const *_nCellsSolve_F, int const *_nEdgesSolve_F, int const *_nVerticesSolve_F, int const *_maxNEdgesOnCell_F, double const *radius_F, int const *_cellsOnEdge_F, int const *_cellsOnVertex_F, int const *_verticesOnCell_F, int const *_verticesOnEdge_F, int const *_edgesOnCell_F, int const *_nEdgesOnCells_F, int const *_indexToCellID_F, double const *_xCell_F, double const *_yCell_F, double const *_zCell_F, double const *_areaTriangle_F, int const *sendCellsArray_F, int const *recvCellsArray_F, int const *sendEdgesArray_F, int const *recvEdgesArray_F, int const *sendVerticesArray_F, int const *recvVerticesArray_F)
void velocity_solver_extrude_3d_grid_ (double const *levelsRatio_F, double const *lowerSurface_F, double const *thickness_F)
void velocity_solver_export_l1l2_velocity_ ()
void velocity_solver_export_fo_velocity_ ()
exchangeList_Type unpackMpiArray (int const *array)
bool isGhostTriangle (int i, double relTol=1e-1)
double signedTriangleArea (const double *x, const double *y)
double signedTriangleArea (const double *x, const double *y, const double *z)
void import2DFields (double const *lowerSurface_F, double const *thickness_F, double const *beta_F=0, double eps=0)
std::vector< int > extendMaskByOneLayer (int const *verticesMask_F)
void extendMaskByOneLayer (int const *verticesMask_F, std::vector< int > &extendedFVerticesMask)
void importP0Temperature (double const *temperature_F)
void get_tetraP1_velocity_on_FEdges (double *uNormal, const std::vector< double > &velocityOnVertices, const std::vector< int > &edgeToFEdge, const std::vector< int > &mpasIndexToVertexID)
void get_prism_velocity_on_FEdges (double *uNormal, const std::vector< double > &velocityOnVertices, const std::vector< int > &edgeToFEdge)
void createReverseCellsExchangeLists (exchangeList_Type &sendListReverse_F, exchangeList_Type &receiveListReverse_F, const std::vector< int > &fVertexToTriangleID, const std::vector< int > &fCellToVertexID)
void createReverseEdgesExchangeLists (exchangeList_Type &sendListReverse_F, exchangeList_Type &receiveListReverse_F, const std::vector< int > &fVertexToTriangleID, const std::vector< int > &fEdgeToEdgeID)
void mapCellsToVertices (const std::vector< double > &velocityOnCells, std::vector< double > &velocityOnVertices, int fieldDim, int numLayers, int ordering)
void mapVerticesToCells (const std::vector< double > &velocityOnVertices, double *velocityOnCells, int fieldDim, int numLayers, int ordering)
void createReducedMPI (int nLocalEntities, MPI_Comm &reduced_comm_id)
void computeLocalOffset (int nLocalEntities, int &localOffset, int &nGlobalEntities)
void getProcIds (std::vector< int > &field, int const *recvArray)
void getProcIds (std::vector< int > &field, exchangeList_Type const *recvList)
void allToAll (std::vector< int > &field, int const *sendArray, int const *recvArray, int fieldDim=1)
void allToAll (std::vector< int > &field, exchangeList_Type const *sendList, exchangeList_Type const *recvList, int fieldDim=1)
void allToAll (double *field, exchangeList_Type const *sendList, exchangeList_Type const *recvList, int fieldDim=1)
int initialize_iceProblem (int nTriangles)

Define Documentation

#define velocity_solver_init_mpi   velocity_solver_init_mpi_

Includes.

Definition at line 33 of file Interface.hpp.

#define velocity_solver_finalize   velocity_solver_finalize_

Definition at line 34 of file Interface.hpp.

#define velocity_solver_init_l1l2   velocity_solver_init_l1l2_

Definition at line 35 of file Interface.hpp.

#define velocity_solver_solve_l1l2   velocity_solver_solve_l1l2_

Definition at line 36 of file Interface.hpp.

#define velocity_solver_init_fo   velocity_solver_init_fo_

Definition at line 37 of file Interface.hpp.

#define velocity_solver_solve_fo   velocity_solver_solve_fo_

Definition at line 38 of file Interface.hpp.

#define velocity_solver_init_stokes   velocity_solver_init_stokes_

Definition at line 39 of file Interface.hpp.

#define velocity_solver_solve_stokes   velocity_solver_solve_stokes_

Definition at line 40 of file Interface.hpp.

#define velocity_solver_compute_2d_grid   velocity_solver_compute_2d_grid_

Definition at line 41 of file Interface.hpp.

#define velocity_solver_set_grid_data   velocity_solver_set_grid_data_

Definition at line 42 of file Interface.hpp.

#define velocity_solver_extrude_3d_grid   velocity_solver_extrude_3d_grid_

Definition at line 43 of file Interface.hpp.

#define velocity_solver_export_l1l2_velocity   velocity_solver_export_l1l2_velocity_

Definition at line 44 of file Interface.hpp.

#define velocity_solver_export_2d_data   velocity_solver_export_2d_data_

Definition at line 45 of file Interface.hpp.

#define velocity_solver_export_fo_velocity   velocity_solver_export_fo_velocity_

Definition at line 46 of file Interface.hpp.

#define velocity_solver_estimate_SS_SMB   velocity_solver_estimate_ss_smb_

Definition at line 47 of file Interface.hpp.


Typedef Documentation

typedef std::list<exchange> exchangeList_Type

Definition at line 126 of file Interface.hpp.


Function Documentation

int velocity_solver_init_mpi_ ( int *  fComm  ) 

Interface function.

Definition at line 184 of file Interface.cpp.

void velocity_solver_finalize_ (  ) 

Definition at line 532 of file Interface.cpp.

void velocity_solver_init_l1l2_ ( double const *  levelsRatio  ) 

Definition at line 252 of file Interface.cpp.

void velocity_solver_init_fo_ ( double const *  levelsRatio  ) 

Definition at line 337 of file Interface.cpp.

void velocity_solver_solve_l1l2_ ( double const *  lowerSurface_F,
double const *  thickness_F,
double const *  beta_F,
double const *  temperature_F,
double *  u_normal_F = 0,
double *  heatIntegral_F = 0,
double *  viscosity_F = 0 
)

Definition at line 296 of file Interface.cpp.

void velocity_solver_solve_fo_ ( double const *  lowerSurface_F,
double const *  thickness_F,
double const *  beta_F,
double const *  temperature_F,
double *  u_normal_F = 0,
double *  heatIntegral_F = 0,
double *  viscosity_F = 0 
)

Definition at line 357 of file Interface.cpp.

void velocity_solver_compute_2d_grid_ ( int const *  verticesMask_F  ) 

Definition at line 555 of file Interface.cpp.

void velocity_solver_set_grid_data_ ( int const *  _nCells_F,
int const *  _nEdges_F,
int const *  _nVertices_F,
int const *  _nLayers,
int const *  _nCellsSolve_F,
int const *  _nEdgesSolve_F,
int const *  _nVerticesSolve_F,
int const *  _maxNEdgesOnCell_F,
double const *  radius_F,
int const *  _cellsOnEdge_F,
int const *  _cellsOnVertex_F,
int const *  _verticesOnCell_F,
int const *  _verticesOnEdge_F,
int const *  _edgesOnCell_F,
int const *  _nEdgesOnCells_F,
int const *  _indexToCellID_F,
double const *  _xCell_F,
double const *  _yCell_F,
double const *  _zCell_F,
double const *  _areaTriangle_F,
int const *  sendCellsArray_F,
int const *  recvCellsArray_F,
int const *  sendEdgesArray_F,
int const *  recvEdgesArray_F,
int const *  sendVerticesArray_F,
int const *  recvVerticesArray_F 
)

Definition at line 194 of file Interface.cpp.

void velocity_solver_extrude_3d_grid_ ( double const *  levelsRatio_F,
double const *  lowerSurface_F,
double const *  thickness_F 
)

Definition at line 952 of file Interface.cpp.

void velocity_solver_export_l1l2_velocity_ (  ) 

Definition at line 304 of file Interface.cpp.

void velocity_solver_export_fo_velocity_ (  ) 

Definition at line 519 of file Interface.cpp.

exchangeList_Type unpackMpiArray ( int const *  array  ) 

Definition at line 1645 of file Interface.cpp.

bool isGhostTriangle ( int  i,
double  relTol = 1e-1 
)

Definition at line 1411 of file Interface.cpp.

double signedTriangleArea ( const double *  x,
const double *  y 
)

Definition at line 1426 of file Interface.cpp.

double signedTriangleArea ( const double *  x,
const double *  y,
const double *  z 
)
void import2DFields ( double const *  lowerSurface_F,
double const *  thickness_F,
double const *  beta_F = 0,
double  eps = 0 
)

Definition at line 1466 of file Interface.cpp.

std::vector<int> extendMaskByOneLayer ( int const *  verticesMask_F  ) 
void extendMaskByOneLayer ( int const *  verticesMask_F,
std::vector< int > &  extendedFVerticesMask 
)

Definition at line 1446 of file Interface.cpp.

void importP0Temperature ( double const *  temperature_F  ) 

Definition at line 1536 of file Interface.cpp.

void get_tetraP1_velocity_on_FEdges ( double *  uNormal,
const std::vector< double > &  velocityOnVertices,
const std::vector< int > &  edgeToFEdge,
const std::vector< int > &  mpasIndexToVertexID 
)

Definition at line 1011 of file Interface.cpp.

void get_prism_velocity_on_FEdges ( double *  uNormal,
const std::vector< double > &  velocityOnVertices,
const std::vector< int > &  edgeToFEdge 
)

Definition at line 1053 of file Interface.cpp.

void createReverseCellsExchangeLists ( exchangeList_Type sendListReverse_F,
exchangeList_Type receiveListReverse_F,
const std::vector< int > &  fVertexToTriangleID,
const std::vector< int > &  fCellToVertexID 
)

Definition at line 1124 of file Interface.cpp.

void createReverseEdgesExchangeLists ( exchangeList_Type sendListReverse_F,
exchangeList_Type receiveListReverse_F,
const std::vector< int > &  fVertexToTriangleID,
const std::vector< int > &  fEdgeToEdgeID 
)

Definition at line 1194 of file Interface.cpp.

void mapCellsToVertices ( const std::vector< double > &  velocityOnCells,
std::vector< double > &  velocityOnVertices,
int  fieldDim,
int  numLayers,
int  ordering 
)

Definition at line 1388 of file Interface.cpp.

void mapVerticesToCells ( const std::vector< double > &  velocityOnVertices,
double *  velocityOnCells,
int  fieldDim,
int  numLayers,
int  ordering 
)

Definition at line 1094 of file Interface.cpp.

void createReducedMPI ( int  nLocalEntities,
MPI_Comm &  reduced_comm_id 
)

Definition at line 1571 of file Interface.cpp.

void computeLocalOffset ( int  nLocalEntities,
int &  localOffset,
int &  nGlobalEntities 
)

Definition at line 1593 of file Interface.cpp.

void getProcIds ( std::vector< int > &  field,
int const *  recvArray 
)

Definition at line 1612 of file Interface.cpp.

void getProcIds ( std::vector< int > &  field,
exchangeList_Type const *  recvList 
)

Definition at line 1629 of file Interface.cpp.

void allToAll ( std::vector< int > &  field,
int const *  sendArray,
int const *  recvArray,
int  fieldDim = 1 
)

Definition at line 1658 of file Interface.cpp.

void allToAll ( std::vector< int > &  field,
exchangeList_Type const *  sendList,
exchangeList_Type const *  recvList,
int  fieldDim = 1 
)

Definition at line 1715 of file Interface.cpp.

void allToAll ( double *  field,
exchangeList_Type const *  sendList,
exchangeList_Type const *  recvList,
int  fieldDim = 1 
)

Definition at line 1756 of file Interface.cpp.

int initialize_iceProblem ( int  nTriangles  ) 

Definition at line 1797 of file Interface.cpp.