adamantine
Macros | Functions
adamantine.cc File Reference
#include "adamantine.hh"
#include <MaterialStates.hh>
#include <instantiation.hh>
#include <utils.hh>
#include <validate_input_database.hh>
#include <boost/program_options.hpp>
#include <boost/property_tree/info_parser.hpp>
#include <boost/property_tree/json_parser.hpp>
#include <Kokkos_Core.hpp>
#include <filesystem>
#include <tuple>

Go to the source code of this file.

Macros

#define RUN_ENSEMBLE_SOLID_HOST_IF(z, SEQ)
 
#define RUN_ENSEMBLE_SOLID_HOST(TUPLE)
 
#define RUN_ENSEMBLE_SOLID_LIQUID_HOST_IF(z, SEQ)
 
#define RUN_ENSEMBLE_SOLID_LIQUID_HOST(TUPLE)
 
#define RUN_ENSEMBLE_SOLID_LIQUID_POWDER_HOST_IF(z, SEQ)
 
#define RUN_ENSEMBLE_SOLID_LIQUID_POWDER_HOST(TUPLE)
 
#define RUN_SOLID_HOST_IF(z, SEQ)
 
#define RUN_SOLID_HOST(TUPLE)
 
#define RUN_SOLID_LIQUID_HOST_IF(z, SEQ)
 
#define RUN_SOLID_LIQUID_HOST(TUPLE)
 
#define RUN_SOLID_LIQUID_POWDER_HOST_IF(z, SEQ)
 
#define RUN_SOLID_LIQUID_POWDER_HOST(TUPLE)
 
#define RUN_SOLID_DEV_IF(z, SEQ)
 
#define RUN_SOLID_DEVICE(TUPLE)
 
#define RUN_SOLID_LIQUID_DEV_IF(z, SEQ)
 
#define RUN_SOLID_LIQUID_DEVICE(TUPLE)
 
#define RUN_SOLID_LIQUID_POWDER_DEV_IF(z, SEQ)
 
#define RUN_SOLID_LIQUID_POWDER_DEVICE(TUPLE)
 

Functions

std::tuple< int, int, int > get_material_template_parameters (boost::property_tree::ptree &database)
 
int main (int argc, char *argv[])
 

Macro Definition Documentation

◆ RUN_ENSEMBLE_SOLID_HOST

#define RUN_ENSEMBLE_SOLID_HOST (   TUPLE)
Value:
BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
#define RUN_ENSEMBLE_SOLID_HOST_IF(z, SEQ)
Definition: adamantine.cc:30
#define ADAMANTINE_N_MATERIALS
#define ADAMANTINE_P_ORDER
#define ADAMANTINE_DIM
Definition: instantiation.hh:8

Definition at line 39 of file adamantine.cc.

◆ RUN_ENSEMBLE_SOLID_HOST_IF

#define RUN_ENSEMBLE_SOLID_HOST_IF (   z,
  SEQ 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, SEQ) == \
std::tuple<int, int, int>(BOOST_PP_SEQ_ELEM(1, SEQ), \
BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ))) \
run_ensemble<BOOST_PP_SEQ_ELEM(1, SEQ), BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ), adamantine::Solid, \
dealii::MemorySpace::Host>(communicator, database, timers);

Definition at line 30 of file adamantine.cc.

◆ RUN_ENSEMBLE_SOLID_LIQUID_HOST

#define RUN_ENSEMBLE_SOLID_LIQUID_HOST (   TUPLE)
Value:
BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
#define RUN_ENSEMBLE_SOLID_LIQUID_HOST_IF(z, SEQ)
Definition: adamantine.cc:44

Definition at line 53 of file adamantine.cc.

◆ RUN_ENSEMBLE_SOLID_LIQUID_HOST_IF

#define RUN_ENSEMBLE_SOLID_LIQUID_HOST_IF (   z,
  SEQ 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, SEQ) == \
std::tuple<int, int, int>(BOOST_PP_SEQ_ELEM(1, SEQ), \
BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ))) \
run_ensemble<BOOST_PP_SEQ_ELEM(1, SEQ), BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ), adamantine::SolidLiquid, \
dealii::MemorySpace::Host>(communicator, database, timers);

Definition at line 44 of file adamantine.cc.

◆ RUN_ENSEMBLE_SOLID_LIQUID_POWDER_HOST

#define RUN_ENSEMBLE_SOLID_LIQUID_POWDER_HOST (   TUPLE)
Value:
BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
#define RUN_ENSEMBLE_SOLID_LIQUID_POWDER_HOST_IF(z, SEQ)
Definition: adamantine.cc:58

Definition at line 67 of file adamantine.cc.

◆ RUN_ENSEMBLE_SOLID_LIQUID_POWDER_HOST_IF

#define RUN_ENSEMBLE_SOLID_LIQUID_POWDER_HOST_IF (   z,
  SEQ 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, SEQ) == \
std::tuple<int, int, int>(BOOST_PP_SEQ_ELEM(1, SEQ), \
BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ))) \
run_ensemble<BOOST_PP_SEQ_ELEM(1, SEQ), BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ), adamantine::SolidLiquidPowder, \
dealii::MemorySpace::Host>(communicator, database, timers);

Definition at line 58 of file adamantine.cc.

◆ RUN_SOLID_DEV_IF

#define RUN_SOLID_DEV_IF (   z,
  SEQ 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, SEQ) == \
std::tuple<int, int, int>(BOOST_PP_SEQ_ELEM(1, SEQ), \
BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ))) \
run<BOOST_PP_SEQ_ELEM(1, SEQ), BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ), adamantine::Solid, \
dealii::MemorySpace::Default>(communicator, database, timers);

Definition at line 114 of file adamantine.cc.

◆ RUN_SOLID_DEVICE

#define RUN_SOLID_DEVICE (   TUPLE)
Value:
BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
#define RUN_SOLID_DEV_IF(z, SEQ)
Definition: adamantine.cc:114

Definition at line 123 of file adamantine.cc.

◆ RUN_SOLID_HOST

#define RUN_SOLID_HOST (   TUPLE)
Value:
BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
#define RUN_SOLID_HOST_IF(z, SEQ)
Definition: adamantine.cc:72

Definition at line 81 of file adamantine.cc.

◆ RUN_SOLID_HOST_IF

#define RUN_SOLID_HOST_IF (   z,
  SEQ 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, SEQ) == \
std::tuple<int, int, int>(BOOST_PP_SEQ_ELEM(1, SEQ), \
BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ))) \
run<BOOST_PP_SEQ_ELEM(1, SEQ), BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ), adamantine::Solid, \
dealii::MemorySpace::Host>(communicator, database, timers);

Definition at line 72 of file adamantine.cc.

◆ RUN_SOLID_LIQUID_DEV_IF

#define RUN_SOLID_LIQUID_DEV_IF (   z,
  SEQ 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, SEQ) == \
std::tuple<int, int, int>(BOOST_PP_SEQ_ELEM(1, SEQ), \
BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ))) \
run<BOOST_PP_SEQ_ELEM(1, SEQ), BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ), adamantine::SolidLiquid, \
dealii::MemorySpace::Default>(communicator, database, timers);

Definition at line 128 of file adamantine.cc.

◆ RUN_SOLID_LIQUID_DEVICE

#define RUN_SOLID_LIQUID_DEVICE (   TUPLE)
Value:
BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
#define RUN_SOLID_LIQUID_DEV_IF(z, SEQ)
Definition: adamantine.cc:128

Definition at line 137 of file adamantine.cc.

◆ RUN_SOLID_LIQUID_HOST

#define RUN_SOLID_LIQUID_HOST (   TUPLE)
Value:
BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
#define RUN_SOLID_LIQUID_HOST_IF(z, SEQ)
Definition: adamantine.cc:86

Definition at line 95 of file adamantine.cc.

◆ RUN_SOLID_LIQUID_HOST_IF

#define RUN_SOLID_LIQUID_HOST_IF (   z,
  SEQ 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, SEQ) == \
std::tuple<int, int, int>(BOOST_PP_SEQ_ELEM(1, SEQ), \
BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ))) \
run<BOOST_PP_SEQ_ELEM(1, SEQ), BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ), adamantine::SolidLiquid, \
dealii::MemorySpace::Host>(communicator, database, timers);

Definition at line 86 of file adamantine.cc.

◆ RUN_SOLID_LIQUID_POWDER_DEV_IF

#define RUN_SOLID_LIQUID_POWDER_DEV_IF (   z,
  SEQ 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, SEQ) == \
std::tuple<int, int, int>(BOOST_PP_SEQ_ELEM(1, SEQ), \
BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ))) \
run<BOOST_PP_SEQ_ELEM(1, SEQ), BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ), adamantine::SolidLiquidPowder, \
dealii::MemorySpace::Default>(communicator, database, timers);

Definition at line 142 of file adamantine.cc.

◆ RUN_SOLID_LIQUID_POWDER_DEVICE

#define RUN_SOLID_LIQUID_POWDER_DEVICE (   TUPLE)
Value:
BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
#define RUN_SOLID_LIQUID_POWDER_DEV_IF(z, SEQ)
Definition: adamantine.cc:142

Definition at line 151 of file adamantine.cc.

◆ RUN_SOLID_LIQUID_POWDER_HOST

#define RUN_SOLID_LIQUID_POWDER_HOST (   TUPLE)
Value:
BOOST_PP_SEQ_FOR_EACH_PRODUCT( \
#define RUN_SOLID_LIQUID_POWDER_HOST_IF(z, SEQ)
Definition: adamantine.cc:100

Definition at line 109 of file adamantine.cc.

◆ RUN_SOLID_LIQUID_POWDER_HOST_IF

#define RUN_SOLID_LIQUID_POWDER_HOST_IF (   z,
  SEQ 
)
Value:
if (BOOST_PP_SEQ_ELEM(0, SEQ) == \
std::tuple<int, int, int>(BOOST_PP_SEQ_ELEM(1, SEQ), \
BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ))) \
run<BOOST_PP_SEQ_ELEM(1, SEQ), BOOST_PP_SEQ_ELEM(2, SEQ), \
BOOST_PP_SEQ_ELEM(3, SEQ), adamantine::SolidLiquidPowder, \
dealii::MemorySpace::Host>(communicator, database, timers);

Definition at line 100 of file adamantine.cc.

Function Documentation

◆ get_material_template_parameters()

std::tuple<int, int, int> get_material_template_parameters ( boost::property_tree::ptree &  database)

Definition at line 157 of file adamantine.cc.

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 243 of file adamantine.cc.