Peano 4
Loading...
Searching...
No Matches
applications::exahype2::swe::adjoint::DimensionalSplitting Class Reference

#include <DimensionalSplitting.hpp>

Public Member Functions

 DimensionalSplitting (size_t l_nX, size_t l_nY, double l_dx, double l_dy, double *h, double *hu, double *hv, double *b)
 
 ~DimensionalSplitting ()
 
double compute_numerical_fluxes ()
 computes numerical fluxes for one time step of the simulation.
 

Private Member Functions

void update_unknowns_x_sweep (double dt)
 updates unknowns after x-sweep.
 
void update_unknowns_y_sweep (double dt)
 updates unknowns after y-sweep.
 

Private Attributes

size_t l_nX_ = 0
 
size_t l_nY_ = 0
 
double l_dx_ = 0.0
 
double l_dy_ = 0.0
 
double * h_ = nullptr
 
double * hu_ = nullptr
 
double * hv_ = nullptr
 
double * b_ = nullptr
 
double * h_net_updates_left_ = nullptr
 
double * h_net_updates_right_ = nullptr
 
double * h_net_updates_below_ = nullptr
 
double * h_net_updates_above_ = nullptr
 
double * hu_net_updates_left_ = nullptr
 
double * hu_net_updates_right_ = nullptr
 
double * hv_net_updates_below_ = nullptr
 
double * hv_net_updates_above_ = nullptr
 

Detailed Description

Definition at line 6 of file DimensionalSplitting.hpp.

Constructor & Destructor Documentation

◆ DimensionalSplitting()

applications::exahype2::swe::adjoint::DimensionalSplitting::DimensionalSplitting ( size_t l_nX,
size_t l_nY,
double l_dx,
double l_dy,
double * h,
double * hu,
double * hv,
double * b )

◆ ~DimensionalSplitting()

applications::exahype2::swe::adjoint::DimensionalSplitting::~DimensionalSplitting ( )

Definition at line 27 of file DimensionalSplitting.cpp.

Member Function Documentation

◆ compute_numerical_fluxes()

double applications::exahype2::swe::adjoint::DimensionalSplitting::compute_numerical_fluxes ( )

computes numerical fluxes for one time step of the simulation.

Definition at line 40 of file DimensionalSplitting.cpp.

References applications::exahype2::swe::adjoint::AdjointSolver::compute_net_updates(), tarch::la::greater(), and j.

Here is the call graph for this function:

◆ update_unknowns_x_sweep()

void applications::exahype2::swe::adjoint::DimensionalSplitting::update_unknowns_x_sweep ( double dt)
private

updates unknowns after x-sweep.

Updated values used for y-sweep.

Parameters
dtwidth of time step

Definition at line 108 of file DimensionalSplitting.cpp.

References j.

◆ update_unknowns_y_sweep()

void applications::exahype2::swe::adjoint::DimensionalSplitting::update_unknowns_y_sweep ( double dt)
private

updates unknowns after y-sweep.

These are the final values of the simulation time step.

Parameters
dtwidth of time step

Definition at line 128 of file DimensionalSplitting.cpp.

References j.

Field Documentation

◆ b_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::b_ = nullptr
private

Definition at line 18 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ h_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::h_ = nullptr
private

Definition at line 15 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ h_net_updates_above_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::h_net_updates_above_ = nullptr
private

Definition at line 23 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ h_net_updates_below_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::h_net_updates_below_ = nullptr
private

Definition at line 22 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ h_net_updates_left_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::h_net_updates_left_ = nullptr
private

Definition at line 20 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ h_net_updates_right_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::h_net_updates_right_ = nullptr
private

Definition at line 21 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ hu_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::hu_ = nullptr
private

Definition at line 16 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ hu_net_updates_left_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::hu_net_updates_left_ = nullptr
private

Definition at line 25 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ hu_net_updates_right_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::hu_net_updates_right_ = nullptr
private

Definition at line 26 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ hv_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::hv_ = nullptr
private

Definition at line 17 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ hv_net_updates_above_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::hv_net_updates_above_ = nullptr
private

Definition at line 28 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ hv_net_updates_below_

double* applications::exahype2::swe::adjoint::DimensionalSplitting::hv_net_updates_below_ = nullptr
private

Definition at line 27 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ l_dx_

double applications::exahype2::swe::adjoint::DimensionalSplitting::l_dx_ = 0.0
private

Definition at line 12 of file DimensionalSplitting.hpp.

◆ l_dy_

double applications::exahype2::swe::adjoint::DimensionalSplitting::l_dy_ = 0.0
private

Definition at line 13 of file DimensionalSplitting.hpp.

◆ l_nX_

size_t applications::exahype2::swe::adjoint::DimensionalSplitting::l_nX_ = 0
private

Definition at line 9 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().

◆ l_nY_

size_t applications::exahype2::swe::adjoint::DimensionalSplitting::l_nY_ = 0
private

Definition at line 10 of file DimensionalSplitting.hpp.

Referenced by DimensionalSplitting().


The documentation for this class was generated from the following files: