ASPECT
Classes | Namespaces | Macros | Functions
simulator_signals.h File Reference
Include dependency graph for simulator_signals.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  aspect::Assemblers::Manager< dim >
 
class  aspect::Assemblers::Interface< dim >
 
struct  aspect::SimulatorSignals< dim >
 

Namespaces

 aspect
 
 aspect::Assemblers
 
 aspect::internals
 
 aspect::internals::SimulatorSignals
 

Macros

#define ASPECT_REGISTER_SIGNALS_CONNECTOR(connector_function_2d, connector_function_3d)
 
#define ASPECT_REGISTER_SIGNALS_PARAMETER_CONNECTOR(connector_function)
 

Functions

void aspect::internals::SimulatorSignals::register_connector_function_2d (const std::function< void(aspect::SimulatorSignals< 2 > &)> &connector)
 
void aspect::internals::SimulatorSignals::register_connector_function_3d (const std::function< void(aspect::SimulatorSignals< 3 > &)> &connector)
 
template<int dim>
void aspect::internals::SimulatorSignals::call_connector_functions (aspect::SimulatorSignals< dim > &signals)
 

Macro Definition Documentation

§ ASPECT_REGISTER_SIGNALS_CONNECTOR

#define ASPECT_REGISTER_SIGNALS_CONNECTOR (   connector_function_2d,
  connector_function_3d 
)
Value:
{ \
int dummy_do_register () \
{ \
return /* anything will do = */42; \
} \
\
const int dummy_variable = dummy_do_register (); \
}
void register_connector_function_2d(const std::function< void(aspect::SimulatorSignals< 2 > &)> &connector)
void register_connector_function_3d(const std::function< void(aspect::SimulatorSignals< 3 > &)> &connector)
#define ASPECT_REGISTER_SIGNALS_CONNECTOR(connector_function_2d, connector_function_3d)

A macro that is used in user-provided plugins to register a function that is called at the beginning of a simulation by a Simulator object. When called, the provided function will receive a SimulatorSignals object that contains signals to which one can subscribe.

For technical reasons, the macro takes two arguments denoting functions for the 2d and 3d cases. These can, for example, be the names of 2d and 3d instantiations of the same template function.

Definition at line 302 of file simulator_signals.h.

§ ASPECT_REGISTER_SIGNALS_PARAMETER_CONNECTOR

#define ASPECT_REGISTER_SIGNALS_PARAMETER_CONNECTOR (   connector_function)
Value:
namespace ASPECT_REGISTER_SIGNALS_PARAMETER_CONNECTOR_ ## connector_function \
{ \
int dummy_do_register_ ## connector_function () \
{ \
connector_function (); \
return /* anything will do = */42; \
} \
\
const int dummy_variable_ ## classname = dummy_do_register_ ## connector_function (); \
}

A macro that is used to register a function that can be used to connect user extension functions to the parameter-related signals declared in SimulatorSignals.

In essence, this function simply registers a (global) function that is called at the beginning of the program and that can be used to connect parameter declaration and parsing functions to the signals listed above.

Definition at line 324 of file simulator_signals.h.