Canoe
Comprehensive Atmosphere N' Ocean Engine
|
#include <implicit_solver.hpp>
Public Member Functions | |
ImplicitSolver (MeshBlock *pmb, ParameterInput *pin) | |
~ImplicitSolver () | |
void | SetDirection (CoordinateDirection dir) |
int | GetImplicitFlag () |
void | FindNeighbors () |
int | CreateMPITag (int lid, int bufid, std::string phy) |
void | PartialCorrection (AthenaArray< Real > &du, AthenaArray< Real > const &w, Real dt) |
void | FullCorrection (AthenaArray< Real > &du, AthenaArray< Real > const &w, Real dt) |
template<typename T1 , typename T2 > | |
void | ForwardSweep (std::vector< T1 > &a, std::vector< T1 > &b, std::vector< T1 > &c, std::vector< T2 > &delta, std::vector< T2 > &corr, Real dt, int k, int j, int il, int iu) |
template<typename T1 , typename T2 > | |
void | BackwardSubstitution (std::vector< T1 > &a, std::vector< T2 > &delta, int kl, int ku, int jl, int ju, int il, int iu) |
template<typename T1 , typename T2 > | |
void | PeriodicForwardSweep (std::vector< T1 > &a, std::vector< T1 > &b, std::vector< T1 > &c, std::vector< T2 > &corr, Real dt, int k, int j, int il, int iu) |
template<typename T1 , typename T2 > | |
void | PeriodicBackwardSubstitution (std::vector< T1 > &a, std::vector< T1 > &c, std::vector< T2 > &delta, int kl, int ku, int jl, int ju, int il, int iu) |
template<typename T > | |
void | JacobianGravityCoriolis (T &jac, Real const prim[], int k, int j, int i) |
template<typename T > | |
void | SendBuffer (T const &a, int k, int j, NeighborBlock nb) |
template<typename T1 , typename T2 > | |
void | SendBuffer (T1 const &a, T2 const &b, int k, int j, NeighborBlock nb) |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > | |
void | SendBuffer (T1 const &a, T2 const &b, T3 const &c, T4 const &d, T5 const &e, T6 const &f, int k, int j, NeighborBlock ntop) |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > | |
void | SendBuffer (T1 const &a, T2 const &b, T3 const &c, T4 const &d, T5 const &e, T6 const &f, T7 const &g, int k, int j, NeighborBlock ntop) |
template<typename T > | |
void | RecvBuffer (T &a, int k, int j, NeighborBlock nb) |
template<typename T1 , typename T2 > | |
void | RecvBuffer (T1 &a, T2 &b, int k, int j, NeighborBlock nb) |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > | |
void | RecvBuffer (T1 &a, T2 &b, T3 &c, T4 &d, T5 &e, T6 &f, int k, int j, NeighborBlock nb) |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > | |
void | RecvBuffer (T1 &a, T2 &b, T3 &c, T4 &d, T5 &e, T6 &f, T7 &g, int k, int j, NeighborBlock nb) |
template<typename T1 , typename T2 > | |
void | SaveCoefficients (std::vector< T1 > &a, std::vector< T2 > &b, int k, int j, int il, int iu) |
template<typename T1 , typename T2 , typename T3 , typename T4 > | |
void | SaveCoefficients (std::vector< T1 > &a, std::vector< T2 > &b, std::vector< T3 > &c, std::vector< T4 > &d, int k, int j, int il, int iu) |
template<typename T1 , typename T2 > | |
void | LoadCoefficients (std::vector< T1 > &a, std::vector< T2 > &b, int k, int j, int il, int iu) |
template<typename T1 , typename T2 , typename T3 , typename T4 > | |
void | LoadCoefficients (std::vector< T1 > &a, std::vector< T2 > &b, std::vector< T3 > &c, std::vector< T4 > &d, int k, int j, int il, int iu) |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool | has_top_neighbor |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool | has_bot_neighbor |
bool | first_block |
bool | last_block |
bool | periodic_boundary |
bool | pole_at_bot |
bool | pole_at_top |
NeighborBlock | tblock |
NeighborBlock | bblock |
int | implicit_flag |
Private Attributes | |
MeshBlock const * | pmy_block_ |
CoordinateDirection | mydir_ |
Real *** | buffer_ |
AthenaArray< Real > | du_ |
AthenaArray< Real > | coefficients_ |
Eigen::Matrix< Real, 5, 5 > | p2_ |
Eigen::Matrix< Real, 5, 5 > | p3_ |
Friends | |
class | Hydro |
Definition at line 28 of file implicit_solver.hpp.
ImplicitSolver::ImplicitSolver | ( | MeshBlock * | pmb, |
ParameterInput * | pin | ||
) |
Definition at line 34 of file implicit_solver.cpp.
ImplicitSolver::~ImplicitSolver | ( | ) |
Definition at line 85 of file implicit_solver.cpp.
void ImplicitSolver::SetDirection | ( | CoordinateDirection | dir | ) |
Definition at line 106 of file implicit_solver.cpp.
|
inline |
Definition at line 45 of file implicit_solver.hpp.
void ImplicitSolver::FindNeighbors | ( | ) |
Definition at line 146 of file implicit_solver.cpp.
int ImplicitSolver::CreateMPITag | ( | int | lid, |
int | bufid, | ||
std::string | phy | ||
) |
Definition at line 306 of file implicit_solver.cpp.
void ImplicitSolver::PartialCorrection | ( | AthenaArray< Real > & | du, |
AthenaArray< Real > const & | w, | ||
Real | dt | ||
) |
Definition at line 26 of file partial_correction.cpp.
void ImplicitSolver::FullCorrection | ( | AthenaArray< Real > & | du, |
AthenaArray< Real > const & | w, | ||
Real | dt | ||
) |
Definition at line 32 of file full_correction.cpp.
void ImplicitSolver::ForwardSweep | ( | std::vector< T1 > & | a, |
std::vector< T1 > & | b, | ||
std::vector< T1 > & | c, | ||
std::vector< T2 > & | delta, | ||
std::vector< T2 > & | corr, | ||
Real | dt, | ||
int | k, | ||
int | j, | ||
int | il, | ||
int | iu | ||
) |
Definition at line 15 of file forward_backward.hpp.
void ImplicitSolver::BackwardSubstitution | ( | std::vector< T1 > & | a, |
std::vector< T2 > & | delta, | ||
int | kl, | ||
int | ku, | ||
int | jl, | ||
int | ju, | ||
int | il, | ||
int | iu | ||
) |
Definition at line 87 of file forward_backward.hpp.
void ImplicitSolver::PeriodicForwardSweep | ( | std::vector< T1 > & | a, |
std::vector< T1 > & | b, | ||
std::vector< T1 > & | c, | ||
std::vector< T2 > & | corr, | ||
Real | dt, | ||
int | k, | ||
int | j, | ||
int | il, | ||
int | iu | ||
) |
Definition at line 15 of file periodic_forward_backward.hpp.
void ImplicitSolver::PeriodicBackwardSubstitution | ( | std::vector< T1 > & | a, |
std::vector< T1 > & | c, | ||
std::vector< T2 > & | delta, | ||
int | kl, | ||
int | ku, | ||
int | jl, | ||
int | ju, | ||
int | il, | ||
int | iu | ||
) |
Definition at line 176 of file periodic_forward_backward.hpp.
void ImplicitSolver::JacobianGravityCoriolis | ( | T & | jac, |
Real const | prim[], | ||
int | k, | ||
int | j, | ||
int | i | ||
) |
Definition at line 14 of file forcing_jacobians.hpp.
void ImplicitSolver::SendBuffer | ( | T const & | a, |
int | k, | ||
int | j, | ||
NeighborBlock | nb | ||
) |
Definition at line 27 of file communication.hpp.
void ImplicitSolver::SendBuffer | ( | T1 const & | a, |
T2 const & | b, | ||
int | k, | ||
int | j, | ||
NeighborBlock | nb | ||
) |
Definition at line 48 of file communication.hpp.
void ImplicitSolver::SendBuffer | ( | T1 const & | a, |
T2 const & | b, | ||
T3 const & | c, | ||
T4 const & | d, | ||
T5 const & | e, | ||
T6 const & | f, | ||
int | k, | ||
int | j, | ||
NeighborBlock | ntop | ||
) |
Definition at line 72 of file communication.hpp.
void ImplicitSolver::SendBuffer | ( | T1 const & | a, |
T2 const & | b, | ||
T3 const & | c, | ||
T4 const & | d, | ||
T5 const & | e, | ||
T6 const & | f, | ||
T7 const & | g, | ||
int | k, | ||
int | j, | ||
NeighborBlock | ntop | ||
) |
Definition at line 110 of file communication.hpp.
void ImplicitSolver::RecvBuffer | ( | T & | a, |
int | k, | ||
int | j, | ||
NeighborBlock | nb | ||
) |
Definition at line 148 of file communication.hpp.
void ImplicitSolver::RecvBuffer | ( | T1 & | a, |
T2 & | b, | ||
int | k, | ||
int | j, | ||
NeighborBlock | nb | ||
) |
Definition at line 168 of file communication.hpp.
void ImplicitSolver::RecvBuffer | ( | T1 & | a, |
T2 & | b, | ||
T3 & | c, | ||
T4 & | d, | ||
T5 & | e, | ||
T6 & | f, | ||
int | k, | ||
int | j, | ||
NeighborBlock | nb | ||
) |
Definition at line 190 of file communication.hpp.
void ImplicitSolver::RecvBuffer | ( | T1 & | a, |
T2 & | b, | ||
T3 & | c, | ||
T4 & | d, | ||
T5 & | e, | ||
T6 & | f, | ||
T7 & | g, | ||
int | k, | ||
int | j, | ||
NeighborBlock | nb | ||
) |
Definition at line 226 of file communication.hpp.
void ImplicitSolver::SaveCoefficients | ( | std::vector< T1 > & | a, |
std::vector< T2 > & | b, | ||
int | k, | ||
int | j, | ||
int | il, | ||
int | iu | ||
) |
Definition at line 263 of file communication.hpp.
void ImplicitSolver::SaveCoefficients | ( | std::vector< T1 > & | a, |
std::vector< T2 > & | b, | ||
std::vector< T3 > & | c, | ||
std::vector< T4 > & | d, | ||
int | k, | ||
int | j, | ||
int | il, | ||
int | iu | ||
) |
Definition at line 273 of file communication.hpp.
void ImplicitSolver::LoadCoefficients | ( | std::vector< T1 > & | a, |
std::vector< T2 > & | b, | ||
int | k, | ||
int | j, | ||
int | il, | ||
int | iu | ||
) |
Definition at line 287 of file communication.hpp.
void ImplicitSolver::LoadCoefficients | ( | std::vector< T1 > & | a, |
std::vector< T2 > & | b, | ||
std::vector< T3 > & | c, | ||
std::vector< T4 > & | d, | ||
int | k, | ||
int | j, | ||
int | il, | ||
int | iu | ||
) |
Definition at line 297 of file communication.hpp.
|
friend |
Definition at line 29 of file implicit_solver.hpp.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool ImplicitSolver::has_top_neighbor |
Definition at line 34 of file implicit_solver.hpp.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool ImplicitSolver::has_bot_neighbor |
Definition at line 34 of file implicit_solver.hpp.
bool ImplicitSolver::first_block |
Definition at line 35 of file implicit_solver.hpp.
bool ImplicitSolver::last_block |
Definition at line 35 of file implicit_solver.hpp.
bool ImplicitSolver::periodic_boundary |
Definition at line 36 of file implicit_solver.hpp.
bool ImplicitSolver::pole_at_bot |
Definition at line 37 of file implicit_solver.hpp.
bool ImplicitSolver::pole_at_top |
Definition at line 37 of file implicit_solver.hpp.
NeighborBlock ImplicitSolver::tblock |
Definition at line 38 of file implicit_solver.hpp.
NeighborBlock ImplicitSolver::bblock |
Definition at line 38 of file implicit_solver.hpp.
int ImplicitSolver::implicit_flag |
Definition at line 39 of file implicit_solver.hpp.
|
private |
Definition at line 143 of file implicit_solver.hpp.
|
private |
Definition at line 145 of file implicit_solver.hpp.
|
private |
Definition at line 149 of file implicit_solver.hpp.
|
private |
Definition at line 151 of file implicit_solver.hpp.
|
private |
Definition at line 153 of file implicit_solver.hpp.
|
private |
Definition at line 155 of file implicit_solver.hpp.
|
private |
Definition at line 155 of file implicit_solver.hpp.