Peano
Loading...
Searching...
No Matches
applications::exahype2::euler::selfgravitation::Poisson Class Reference

#include <Poisson.h>

Inheritance diagram for applications::exahype2::euler::selfgravitation::Poisson:
Collaboration diagram for applications::exahype2::euler::selfgravitation::Poisson:

Public Member Functions

 Poisson ()
 
void startTimeStep (double globalMinTimeStamp, double globalMaxTimeStamp, double globalMinTimeStepSize, double globalMaxTimeStepSize) override
 
void reportGradientDelta (double delta)
 
double getAdmissibleTimeStepSize () const override
 overwritten
 
void initialCondition (double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &volumeCentre, const tarch::la::Vector< Dimensions, double > &volumeH, bool gridIsConstructed) override
 
virtual void boundaryConditions (const double *__restrict__ Qinside, double *__restrict__ Qoutside, const tarch::la::Vector< Dimensions, double > &faceCentre, const tarch::la::Vector< Dimensions, double > &volumeH, double t, int normal) override
 
void sourceTerm (const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &volumeCentre, const tarch::la::Vector< Dimensions, double > &volumeH, double t, double dt, double *__restrict__ S) override
 
virtual double maxEigenvalue (const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &faceCentre, const tarch::la::Vector< Dimensions, double > &volumeH, double t, double dt, int normal) override
 Determine max eigenvalue over Jacobian in a given point with solution values (states) Q.
 
virtual void flux (const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &faceCentre, const tarch::la::Vector< Dimensions, double > &volumeH, double t, double dt, int normal, double *__restrict__ F) override
 

Private Attributes

double _currentMaxGradientDelta
 
double _previousMaxGradientDelta
 

Static Private Attributes

static tarch::logging::Log _log
 
static tarch::multicore::BooleanSemaphore _maxGradientDeltaSemaphore
 

Detailed Description

Definition at line 11 of file Poisson.h.

Constructor & Destructor Documentation

◆ Poisson()

applications::exahype2::euler::selfgravitation::Poisson::Poisson ( )

Member Function Documentation

◆ boundaryConditions()

virtual void applications::exahype2::euler::selfgravitation::Poisson::boundaryConditions ( const double *__restrict__  Qinside,
double *__restrict__  Qoutside,
const tarch::la::Vector< Dimensions, double > &  faceCentre,
const tarch::la::Vector< Dimensions, double > &  volumeH,
double  t,
int  normal 
)
overridevirtual

◆ flux()

virtual void applications::exahype2::euler::selfgravitation::Poisson::flux ( const double *__restrict__  Q,
const tarch::la::Vector< Dimensions, double > &  faceCentre,
const tarch::la::Vector< Dimensions, double > &  volumeH,
double  t,
double  dt,
int  normal,
double *__restrict__  F 
)
overridevirtual

◆ getAdmissibleTimeStepSize()

double applications::exahype2::euler::selfgravitation::Poisson::getAdmissibleTimeStepSize ( ) const
override

overwritten

◆ initialCondition()

void applications::exahype2::euler::selfgravitation::Poisson::initialCondition ( double *__restrict__  Q,
const tarch::la::Vector< Dimensions, double > &  volumeCentre,
const tarch::la::Vector< Dimensions, double > &  volumeH,
bool  gridIsConstructed 
)
override

◆ maxEigenvalue()

virtual double applications::exahype2::euler::selfgravitation::Poisson::maxEigenvalue ( const double *__restrict__  Q,
const tarch::la::Vector< Dimensions, double > &  faceCentre,
const tarch::la::Vector< Dimensions, double > &  volumeH,
double  t,
double  dt,
int  normal 
)
overridevirtual

Determine max eigenvalue over Jacobian in a given point with solution values (states) Q.

All parameters are in.

Returns
Max eigenvalue. Result has to be positive, so we are actually speaking about the maximum absolute eigenvalue.

◆ reportGradientDelta()

void applications::exahype2::euler::selfgravitation::Poisson::reportGradientDelta ( double  delta)

◆ sourceTerm()

void applications::exahype2::euler::selfgravitation::Poisson::sourceTerm ( const double *__restrict__  Q,
const tarch::la::Vector< Dimensions, double > &  volumeCentre,
const tarch::la::Vector< Dimensions, double > &  volumeH,
double  t,
double  dt,
double *__restrict__  S 
)
override

◆ startTimeStep()

void applications::exahype2::euler::selfgravitation::Poisson::startTimeStep ( double  globalMinTimeStamp,
double  globalMaxTimeStamp,
double  globalMinTimeStepSize,
double  globalMaxTimeStepSize 
)
override

Field Documentation

◆ _currentMaxGradientDelta

double applications::exahype2::euler::selfgravitation::Poisson::_currentMaxGradientDelta
private

Definition at line 17 of file Poisson.h.

◆ _log

tarch::logging::Log applications::exahype2::euler::selfgravitation::Poisson::_log
staticprivate

Definition at line 13 of file Poisson.h.

◆ _maxGradientDeltaSemaphore

tarch::multicore::BooleanSemaphore applications::exahype2::euler::selfgravitation::Poisson::_maxGradientDeltaSemaphore
staticprivate

Definition at line 15 of file Poisson.h.

◆ _previousMaxGradientDelta

double applications::exahype2::euler::selfgravitation::Poisson::_previousMaxGradientDelta
private

Definition at line 18 of file Poisson.h.


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