92 void update_communicator();
93 void update_start_time(
int step,
double t);
135 const char *
name() {
return coupling_name.c_str(); }
145 void init(
double t,
double dt,
int reinit=0);
147 void initialize(
int reinit=0);
153 double run(
double t,
double dt,
int iPredCorr,
double zoom);
154 void run_initactions(
double t,
double dt);
157 void input(
double t);
169 int new_start(
double t)
const;
171 void init_convergence(
int iPredCorr);
172 int check_convergence();
178 void output_restart_files(
double t);
181 void output_visualization_files(
double t);
186 void read_restart_info();
187 void write_restart_info(
double CurrentTime,
int iStep);
189 void restart_at_time(
double t,
int step);
193 void print(
const char *fname);
196 void Interrupt(
int *,
const char *);
197 int ProcessInterrupt();
201 std::string normalize_modname(
const char*
mod);
212 Coupling(coupl_name, fluidname, solidname, p, mp), burn_agent(NULL) {}
214 Coupling(coupl_name, fluidname, solidname, burnname, p, mp) {}
216 virtual void update_integrals(
double currentTime);
217 virtual void update_distances(
double currentTime);
222 #define DECLARE_NEW_FULLY_COUPLING_SCHEME( New_scheme) \
223 class New_scheme : public FullyCoupling { \
225 New_scheme(const char *, const char *, MPI_Comm com, Control_parameters *p, const RocmanControl_parameters *mp); \
226 New_scheme(const char *, const char *, const char*, MPI_Comm com, Control_parameters *p, const RocmanControl_parameters *mp); \
virtual void update_integrals(double currentTime)
FullyCoupling(const char *coupl_name, const char *fluidname, const char *solidname, Control_parameters *p, const RocmanControl_parameters *mp)
T mod(const T &x, const T &m)
Return the modulo of a number.
FullyCoupling(const char *coupl_name, const char *fluidname, const char *solidname, const char *burnname, Control_parameters *p, const RocmanControl_parameters *mp)
std::string coupling_name
int initial_remeshed() const
true if in initialization step and remeshed is true
const RocmanControl_parameters * rocmanparam
Control_parameters * param
virtual void update_distances(double currentTime)
vector< Agent * > AgentList
UserScheduler init_scheduler
void(Scheduler::* Scheduler_voidfn1_t)(double)
std::string timingDataFile
const RocmanControl_parameters * get_rocmancontrol_param()
void read(std::istream &is, T &t, const io_Read_write &)
virtual void reload_rocface(const RocmanControl_parameters *param)
const Control_parameters * get_control_param()
int initial_start() const
vector< std::string > modules
double outputIntervalTime