TURTLE
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
direct_numerical_simulation Class Referenceabstract

#include <direct_numerical_simulation.hpp>

Inheritance diagram for direct_numerical_simulation:
Inheritance graph
[legend]
Collaboration diagram for direct_numerical_simulation:
Collaboration graph
[legend]

Public Member Functions

 direct_numerical_simulation (const MPI_Comm COMMUNICATOR, const std::string &simulation_name)
 
virtual ~direct_numerical_simulation () noexcept(false)
 
virtual int read_parameters (void)
 
virtual int write_checkpoint (void)=0
 
virtual int initialize (void)=0
 Initialize DNS.
 
virtual int step (void)=0
 
virtual int do_stats (void)=0
 
virtual int finalize (void)=0
 
int main_loop (void)
 
int read_iteration (void)
 
int write_iteration (void)
 
int grow_file_datasets (void)
 
int update_checkpoint (void)
 Basic computation of current checkpoint.
 
const std::string get_current_fname ()
 
- Public Member Functions inherited from code_base
 code_base (const MPI_Comm COMMUNICATOR, const std::string &simulation_name)
 
virtual ~code_base () noexcept(false)
 
int check_stopping_condition (void)
 
int start_simple_timer (void)
 
int print_simple_timer (const std::string operation_name)
 
MPI_Comm get_communicator () const
 
int get_nx () const
 
int get_ny () const
 
int get_nz () const
 

Data Fields

std::string name
 
int checkpoint
 
int checkpoints_per_file
 
int niter_out
 
int niter_stat
 
int niter_todo
 
hid_t stat_file
 
- Data Fields inherited from code_base
int myrank
 
int nprocs
 
MPI_Comm comm
 
std::string simname
 
int iteration
 
bool stop_code_now
 
int nx
 
int ny
 
int nz
 
int dealias_type
 
double dkx
 
double dky
 
double dkz
 

Constructor & Destructor Documentation

◆ direct_numerical_simulation()

direct_numerical_simulation::direct_numerical_simulation ( const MPI_Comm COMMUNICATOR,
const std::string & simulation_name )
inline

◆ ~direct_numerical_simulation()

virtual direct_numerical_simulation::~direct_numerical_simulation ( )
inlinevirtual

Member Function Documentation

◆ do_stats()

virtual int direct_numerical_simulation::do_stats ( void )
pure virtual

◆ finalize()

virtual int direct_numerical_simulation::finalize ( void )
pure virtual

◆ get_current_fname()

const std::string direct_numerical_simulation::get_current_fname ( )
inline

◆ grow_file_datasets()

int direct_numerical_simulation::grow_file_datasets ( void )

◆ initialize()

virtual int direct_numerical_simulation::initialize ( void )
pure virtual

◆ main_loop()

int direct_numerical_simulation::main_loop ( void )
virtual

Implements code_base.

◆ read_iteration()

int direct_numerical_simulation::read_iteration ( void )

◆ read_parameters()

int direct_numerical_simulation::read_parameters ( void )
virtual

Reads parameters

Warning
This method should ensure the parameter file is closed by all MPI processes when finished. One solution is to open the file in sequential mode, read-only, and then call MPI_Barrier.

Reimplemented from code_base.

Reimplemented in kraichnan_field< rnumber >, NSE< rnumber >, NSVE< rnumber >, NSVE_Stokes_particles< rnumber >, NSVEcomplex_particles< rnumber >, NSVEp_extra_sampling< rnumber >, NSVEparticles< rnumber >, and static_field< rnumber >.

◆ step()

virtual int direct_numerical_simulation::step ( void )
pure virtual

◆ update_checkpoint()

int direct_numerical_simulation::update_checkpoint ( void )

Basic computation of current checkpoint.

This will fail if the values of niter_out, niter_todo, or checkpoints_per_file are changed.

◆ write_checkpoint()

virtual int direct_numerical_simulation::write_checkpoint ( void )
pure virtual

◆ write_iteration()

int direct_numerical_simulation::write_iteration ( void )

Field Documentation

◆ checkpoint

int direct_numerical_simulation::checkpoint

◆ checkpoints_per_file

int direct_numerical_simulation::checkpoints_per_file

◆ name

std::string direct_numerical_simulation::name

◆ niter_out

int direct_numerical_simulation::niter_out

◆ niter_stat

int direct_numerical_simulation::niter_stat

◆ niter_todo

int direct_numerical_simulation::niter_todo

◆ stat_file

hid_t direct_numerical_simulation::stat_file

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