#include <iostream>
#include <fstream>
#include "felix_driver.H"
#include "Albany_CismSTKMeshStruct.hpp"
#include "Teuchos_ParameterList.hpp"
#include "Teuchos_RCP.hpp"
#include "Albany_Utils.hpp"
#include "Albany_SolverFactory.hpp"
#include "Teuchos_XMLParameterListHelpers.hpp"
#include <stk_mesh/base/FieldData.hpp>
#include "Piro_PerformSolve.hpp"
#include <stk_io/IossBridge.hpp>
#include <stk_io/MeshReadWriteUtils.hpp>
#include <stk_mesh/base/GetEntities.hpp>
#include <Ionit_Initializer.h>
#include "Albany_OrdinarySTKFieldContainer.hpp"
#include "Thyra_EpetraThyraWrappers.hpp"
Go to the source code of this file.
Functions | |
Teuchos::RCP< const Epetra_Vector > | epetraVectorFromThyra (const Teuchos::RCP< const Epetra_Comm > &comm, const Teuchos::RCP< const Thyra::VectorBase< double > > &thyra) |
Teuchos::RCP< const Epetra_MultiVector > | epetraMultiVectorFromThyra (const Teuchos::RCP< const Epetra_Comm > &comm, const Teuchos::RCP< const Thyra::MultiVectorBase< double > > &thyra) |
void | epetraFromThyra (const Teuchos::RCP< const Epetra_Comm > &comm, const Teuchos::Array< Teuchos::RCP< const Thyra::VectorBase< double > > > &thyraResponses, const Teuchos::Array< Teuchos::Array< Teuchos::RCP< const Thyra::MultiVectorBase< double > > > > &thyraSensitivities, Teuchos::Array< Teuchos::RCP< const Epetra_Vector > > &responses, Teuchos::Array< Teuchos::Array< Teuchos::RCP< const Epetra_MultiVector > > > &sensitivities) |
void | felix_driver_ () |
void | felix_driver_init (int argc, int exec_mode, FelixToGlimmer *ftg_ptr, const char *input_fname) |
void | felix_driver_run (FelixToGlimmer *ftg_ptr, double &cur_time_yr, double time_inc_yr) |
void | felix_driver_finalize (int amr_obj_index) |
Variables | |
Teuchos::RCP < Albany::CismSTKMeshStruct > | meshStruct |
Teuchos::RCP< const Epetra_Comm > | mpiComm |
Teuchos::RCP < Teuchos::ParameterList > | appParams |
Teuchos::RCP < Teuchos::ParameterList > | discParams |
Teuchos::RCP < Albany::SolverFactory > | slvrfctry |
Teuchos::RCP < Thyra::ModelEvaluator < double > > | solver |
MPI_Comm | comm |
MPI_Comm | reducedComm |
bool | interleavedOrdering |
int | nNodes2D |
int | nNodesProc2D |
std::vector< int > | cismToAlbanyNodeNumberMap |
int | rank |
int | number_procs |
long | cism_communicator |
int | cism_process_count |
int | my_cism_rank |
double | dew |
double | dns |
long * | dimInfo |
int * | dimInfoGeom |
long | ewlb |
long | ewub |
long | nslb |
long | nsub |
long | ewn |
long | nsn |
long | upn |
long | nhalo |
long | global_ewn |
long | global_nsn |
double * | seconds_per_year_ptr |
double * | gravity_ptr |
double * | rho_ice_ptr |
double * | rho_seawater_ptr |
double * | thicknessDataPtr |
double * | topographyDataPtr |
double * | upperSurfaceDataPtr |
double * | lowerSurfaceDataPtr |
double * | floating_maskDataPtr |
double * | ice_maskDataPtr |
double * | lower_cell_locDataPtr |
long | nCellsActive |
int | nNodes |
int | nElementsActive |
double * | xyz_at_nodes_Ptr |
double * | surf_height_at_nodes_Ptr |
double * | beta_at_nodes_Ptr |
double * | flwa_at_active_elements_Ptr |
int * | global_node_id_owned_map_Ptr |
int * | global_element_conn_active_Ptr |
int * | global_element_id_active_owned_map_Ptr |
int * | global_basal_face_conn_active_Ptr |
int * | global_basal_face_id_active_owned_map_Ptr |
double * | uVel_ptr |
double * | vVel_ptr |
bool | first_time_step = true |
Teuchos::RCP< Epetra_Map > | node_map |
Teuchos::RCP<const Epetra_Vector> epetraVectorFromThyra | ( | const Teuchos::RCP< const Epetra_Comm > & | comm, | |
const Teuchos::RCP< const Thyra::VectorBase< double > > & | thyra | |||
) |
Definition at line 73 of file felix_driver.cpp.
Teuchos::RCP<const Epetra_MultiVector> epetraMultiVectorFromThyra | ( | const Teuchos::RCP< const Epetra_Comm > & | comm, | |
const Teuchos::RCP< const Thyra::MultiVectorBase< double > > & | thyra | |||
) |
Definition at line 86 of file felix_driver.cpp.
void epetraFromThyra | ( | const Teuchos::RCP< const Epetra_Comm > & | comm, | |
const Teuchos::Array< Teuchos::RCP< const Thyra::VectorBase< double > > > & | thyraResponses, | |||
const Teuchos::Array< Teuchos::Array< Teuchos::RCP< const Thyra::MultiVectorBase< double > > > > & | thyraSensitivities, | |||
Teuchos::Array< Teuchos::RCP< const Epetra_Vector > > & | responses, | |||
Teuchos::Array< Teuchos::Array< Teuchos::RCP< const Epetra_MultiVector > > > & | sensitivities | |||
) |
Definition at line 98 of file felix_driver.cpp.
void felix_driver_ | ( | ) |
void felix_driver_init | ( | int | argc, | |
int | exec_mode, | |||
FelixToGlimmer * | ftg_ptr, | |||
const char * | input_fname | |||
) |
Definition at line 141 of file felix_driver.cpp.
void felix_driver_run | ( | FelixToGlimmer * | ftg_ptr, | |
double & | cur_time_yr, | |||
double | time_inc_yr | |||
) |
Definition at line 358 of file felix_driver.cpp.
void felix_driver_finalize | ( | int | amr_obj_index | ) |
Definition at line 562 of file felix_driver.cpp.
Teuchos::RCP<Albany::CismSTKMeshStruct> meshStruct |
Definition at line 29 of file felix_driver.cpp.
Teuchos::RCP<const Epetra_Comm> mpiComm |
Definition at line 30 of file felix_driver.cpp.
Teuchos::RCP<Teuchos::ParameterList> appParams |
Definition at line 31 of file felix_driver.cpp.
Teuchos::RCP<Teuchos::ParameterList> discParams |
Definition at line 32 of file felix_driver.cpp.
Teuchos::RCP<Albany::SolverFactory> slvrfctry |
Definition at line 33 of file felix_driver.cpp.
Teuchos::RCP<Thyra::ModelEvaluator<double> > solver |
Definition at line 34 of file felix_driver.cpp.
MPI_Comm comm |
Definition at line 36 of file felix_driver.cpp.
MPI_Comm reducedComm |
Definition at line 36 of file felix_driver.cpp.
bool interleavedOrdering |
Definition at line 37 of file felix_driver.cpp.
int nNodes2D |
Definition at line 38 of file felix_driver.cpp.
int nNodesProc2D |
Definition at line 39 of file felix_driver.cpp.
std::vector<int> cismToAlbanyNodeNumberMap |
Definition at line 41 of file felix_driver.cpp.
int rank |
Definition at line 44 of file felix_driver.cpp.
int number_procs |
Definition at line 44 of file felix_driver.cpp.
long cism_communicator |
Definition at line 45 of file felix_driver.cpp.
Definition at line 46 of file felix_driver.cpp.
int my_cism_rank |
Definition at line 46 of file felix_driver.cpp.
double dew |
Definition at line 47 of file felix_driver.cpp.
double dns |
Definition at line 47 of file felix_driver.cpp.
long* dimInfo |
Definition at line 48 of file felix_driver.cpp.
int* dimInfoGeom |
Definition at line 49 of file felix_driver.cpp.
long ewlb |
Definition at line 50 of file felix_driver.cpp.
long ewub |
Definition at line 50 of file felix_driver.cpp.
long nslb |
Definition at line 50 of file felix_driver.cpp.
long nsub |
Definition at line 50 of file felix_driver.cpp.
long ewn |
Definition at line 51 of file felix_driver.cpp.
long nsn |
Definition at line 51 of file felix_driver.cpp.
long upn |
Definition at line 51 of file felix_driver.cpp.
long nhalo |
Definition at line 51 of file felix_driver.cpp.
long global_ewn |
Definition at line 52 of file felix_driver.cpp.
long global_nsn |
Definition at line 52 of file felix_driver.cpp.
double* seconds_per_year_ptr |
Definition at line 53 of file felix_driver.cpp.
double * gravity_ptr |
Definition at line 53 of file felix_driver.cpp.
double * rho_ice_ptr |
Definition at line 53 of file felix_driver.cpp.
double * rho_seawater_ptr |
Definition at line 53 of file felix_driver.cpp.
double* thicknessDataPtr |
Definition at line 54 of file felix_driver.cpp.
double * topographyDataPtr |
Definition at line 54 of file felix_driver.cpp.
double* upperSurfaceDataPtr |
Definition at line 55 of file felix_driver.cpp.
double * lowerSurfaceDataPtr |
Definition at line 55 of file felix_driver.cpp.
double* floating_maskDataPtr |
Definition at line 56 of file felix_driver.cpp.
double * ice_maskDataPtr |
Definition at line 56 of file felix_driver.cpp.
double * lower_cell_locDataPtr |
Definition at line 56 of file felix_driver.cpp.
long nCellsActive |
Definition at line 57 of file felix_driver.cpp.
int nNodes |
Definition at line 58 of file felix_driver.cpp.
int nElementsActive |
Definition at line 58 of file felix_driver.cpp.
double* xyz_at_nodes_Ptr |
Definition at line 59 of file felix_driver.cpp.
double * surf_height_at_nodes_Ptr |
Definition at line 59 of file felix_driver.cpp.
double * beta_at_nodes_Ptr |
Definition at line 59 of file felix_driver.cpp.
double* flwa_at_active_elements_Ptr |
Definition at line 60 of file felix_driver.cpp.
Definition at line 61 of file felix_driver.cpp.
Definition at line 62 of file felix_driver.cpp.
Definition at line 63 of file felix_driver.cpp.
Definition at line 64 of file felix_driver.cpp.
Definition at line 65 of file felix_driver.cpp.
double* uVel_ptr |
Definition at line 66 of file felix_driver.cpp.
double* vVel_ptr |
Definition at line 67 of file felix_driver.cpp.
bool first_time_step = true |
Definition at line 68 of file felix_driver.cpp.
Teuchos::RCP<Epetra_Map> node_map |
Definition at line 69 of file felix_driver.cpp.