#include <Coupling.h>
Public Member Functions | |
Coupling (const char *coupl_name, const char *name, Control_parameters *p, const RocmanControl_parameters *mp) | |
Constructor. Derived class will add actions for the coupling scheme. More... | |
Coupling (const char *coupl_name, const char *fluidname, const char *solidname, Control_parameters *p, const RocmanControl_parameters *mp) | |
Coupling (const char *coupl_name, const char *fluidname, const char *solidname, const char *burnname, Control_parameters *p, const RocmanControl_parameters *mp) | |
virtual | ~Coupling () |
Destructor. More... | |
const char * | name () |
Agent * | add_agent (Agent *) |
Add new agent. More... | |
void | schedule () |
Schedule the top-level actions of the coupling scheme and the actions of the agents. More... | |
void | init (double t, double dt, int reinit=0) |
Invoke initialization of the actions in the scheduler and the agents. More... | |
void | initialize (int reinit=0) |
void | finalize () |
Invoke finalization of the actions in the scheduler and the agents. More... | |
double | run (double t, double dt, int iPredCorr, double zoom) |
Invoke the scheduler. More... | |
void | run_initactions (double t, double dt) |
void | input (double t) |
Invoke input functions of the agents. More... | |
int | get_ipc () const |
int | get_max_ipc () const |
int | initial_start () const |
int | in_restart () const |
int | initial_remeshed () const |
true if in initialization step and remeshed is true More... | |
int | new_start (double t) const |
void | init_convergence (int iPredCorr) |
int | check_convergence () |
virtual void | update_integrals (double currentTime) |
virtual void | update_distances (double currentTime) |
void | output_restart_files (double t) |
void | output_visualization_files (double t) |
const Control_parameters * | get_control_param () |
const RocmanControl_parameters * | get_rocmancontrol_param () |
void | read_restart_info () |
void | write_restart_info (double CurrentTime, int iStep) |
void | restart_at_time (double t, int step) |
virtual void | reload_rocface (const RocmanControl_parameters *param) |
void | print (const char *fname) |
void | Interrupt (int *, const char *) |
int | ProcessInterrupt () |
Protected Member Functions | |
void | callMethod (Scheduler_voidfn1_t fn, double t) |
std::string | normalize_modname (const char *mod) |
Protected Attributes | |
std::string | coupling_name |
vector< std::string > | modules |
AgentList | agents |
UserScheduler | scheduler |
UserScheduler | init_scheduler |
int | comm_rank |
int | init_started |
int | restarting |
int | init_remeshed |
int | iPredCorr |
int | maxPredCorr |
Control_parameters * | param |
const RocmanControl_parameters * | rocmanparam |
std::string | restartInfo |
int | overwrite_integ |
std::string | integFname |
int | overwrite_dist |
std::string | distFname |
Private Member Functions | |
void | baseInit () |
Definition at line 97 of file Coupling.h.
Coupling | ( | const char * | coupl_name, |
const char * | name, | ||
Control_parameters * | p, | ||
const RocmanControl_parameters * | mp | ||
) |
Constructor. Derived class will add actions for the coupling scheme.
Definition at line 130 of file Coupling.C.
References baseInit(), and modules.
Coupling | ( | const char * | coupl_name, |
const char * | fluidname, | ||
const char * | solidname, | ||
Control_parameters * | p, | ||
const RocmanControl_parameters * | mp | ||
) |
Definition at line 139 of file Coupling.C.
References baseInit(), and modules.
Coupling | ( | const char * | coupl_name, |
const char * | fluidname, | ||
const char * | solidname, | ||
const char * | burnname, | ||
Control_parameters * | p, | ||
const RocmanControl_parameters * | mp | ||
) |
Definition at line 150 of file Coupling.C.
References baseInit(), and modules.
|
virtual |
Add new agent.
Definition at line 174 of file Coupling.C.
References agents.
Referenced by FluidAlone::FluidAlone(), and FluidBurnAlone::FluidBurnAlone().
|
private |
Definition at line 93 of file Coupling.C.
References COM_INT, COM_new_attribute(), COM_new_window(), COM_RAWDATA, COM_set_member_function(), COM_set_object(), COM_STRING, COM_VOID, comm_rank, COMMPI_Comm_rank(), Control_parameters::communicator, Control_parameters::current_time, distFname, cimg_library::cimg::fopen(), init_remeshed, init_started, integFname, Interrupt(), iPredCorr, overwrite_dist, overwrite_integ, param, RocmanControl_parameters::remeshed, restartInfo, restarting, and rocmanparam.
Referenced by Coupling().
|
protected |
Definition at line 217 of file Coupling.C.
References agents, i, init_scheduler, n, and scheduler.
Referenced by init().
int check_convergence | ( | ) |
Definition at line 284 of file Coupling.C.
References agents, i, maxPredCorr, n, param, Control_parameters::tolerMass, Control_parameters::tolerTract, and Control_parameters::tolerVelo.
Referenced by rocstar_driver().
void finalize | ( | ) |
Invoke finalization of the actions in the scheduler and the agents.
Definition at line 230 of file Coupling.C.
References agents, Scheduler::finalize_actions(), i, init_scheduler, n, and scheduler.
Referenced by Interrupt(), restart_at_time(), and rocstar_driver().
|
inline |
Definition at line 183 of file Coupling.h.
Referenced by _load_rocface(), Agent::Agent(), BurnAgent::BurnAgent(), FluidBurnAlone::FluidBurnAlone(), restart_at_time(), and CopyBflagFromBurn::run().
|
inline |
Definition at line 160 of file Coupling.h.
Referenced by Extrapolate_Linear::run(), Extrapolate_Central::run(), and PhysicsAction::run().
|
inline |
Definition at line 161 of file Coupling.h.
Referenced by BurnAgent::create_buffer_all(), FluidAgent::create_buffer_all(), SolidAgent::create_buffer_all(), FluidAgent::finalize(), BurnAgent::finalize(), and SolidAgent::finalize().
|
inline |
Definition at line 184 of file Coupling.h.
Referenced by ComputeFluidLoad_ALE::ComputeFluidLoad_ALE(), SolidAgent::create_buffer_all(), declare_solid_actions(), LoadTransfer_FS::init(), LoadTransfer_FSc_ALE::init(), LoadTransferOnly_FSc_ALE::init(), SurfDiver::init(), MeshMotionTransfer_SF::init(), DeformationVelTransfer_SF::init(), MeshMotionTransferISS::init(), TransferSolidDensity::init(), FluidPropagateSurface::init(), TransferBurnRate_FS_ALE::init(), MassTransfer_SF_ALE::init(), TemperatureTransfer_SF::init(), HeatTransfer_FS::init(), RemeshInit::init(), ComputePconn::init(), SolidPropagateSurface_ALE::init(), LoadTransfer_FS::LoadTransfer_FS(), LoadTransfer_FSc_ALE::LoadTransfer_FSc_ALE(), LoadTransferOnly_FSc_ALE::LoadTransferOnly_FSc_ALE(), Extrapolate_Linear::run(), Extrapolate_Central::run(), LoadTransfer_FSc_ALE::run(), Interpolate_Linear::run(), Interpolate_Central::run(), GetDeformedMesh_ALE::run(), ComputeFluidLoad_ALE::run(), FluidPropagateSurface::run(), Agent::write_control_file(), and Agent::write_data_files().
|
inline |
Definition at line 164 of file Coupling.h.
Referenced by BurnAgent::unload_module(), FluidAgent::unload_module(), and SolidAgent::unload_module().
void init | ( | double | t, |
double | dt, | ||
int | reinit = 0 |
||
) |
Invoke initialization of the actions in the scheduler and the agents.
Definition at line 191 of file Coupling.C.
References agents, callMethod(), i, Scheduler::init_actions(), FluidAgent::init_module(), n, and Scheduler::restarting().
Referenced by initialize().
void init_convergence | ( | int | iPredCorr | ) |
Definition at line 275 of file Coupling.C.
References agents, i, maxPredCorr, and n.
Referenced by rocstar_driver().
|
inline |
|
inline |
Definition at line 163 of file Coupling.h.
Referenced by FluidBurnAlone::FluidBurnAlone(), BurnAgent::init_module(), MeshMotionTransfer_SF::run(), TransferSolidDensity::run(), CopyBflagFromBurn::run(), and SolidPropagateSurface_ALE::run().
void initialize | ( | int | reinit = 0 | ) |
Definition at line 355 of file Coupling.C.
References Control_parameters::current_time, init(), input(), param, reload_rocface(), rocmanparam, run_initactions(), and Control_parameters::time_step.
Referenced by restart_at_time(), and rocstar_driver().
void input | ( | double | t | ) |
Invoke input functions of the agents.
Definition at line 269 of file Coupling.C.
Referenced by initialize().
void Interrupt | ( | int * | act, |
const char * | message | ||
) |
Definition at line 480 of file Coupling.C.
References Agent::action, Control_parameters::cur_step, Control_parameters::current_time, finalize(), Control_parameters::InterruptFlag, Control_parameters::LastOutputStep, Control_parameters::LastOutputTime, MAN_DEBUG, Control_parameters::myRank, output_restart_files(), param, RocstarShutdown(), and write_restart_info().
Referenced by baseInit(), and check_for_interrupt().
|
inline |
Definition at line 135 of file Coupling.h.
Referenced by run_initactions().
int new_start | ( | double | t | ) | const |
Definition at line 170 of file Coupling.C.
References Control_parameters::init_time, param, RocmanControl_parameters::remeshed, and rocmanparam.
Referenced by Extrapolate_Linear::run(), Extrapolate_Central::run(), Interpolate_Linear::run(), and Interpolate_Central::run().
|
protected |
Definition at line 464 of file Coupling.C.
References cimg_library::cimg::mod().
void output_restart_files | ( | double | t | ) |
Definition at line 299 of file Coupling.C.
Referenced by Interrupt(), and rocstar_driver().
void output_visualization_files | ( | double | t | ) |
Definition at line 306 of file Coupling.C.
Referenced by rocstar_driver().
void print | ( | const char * | fname | ) |
Definition at line 436 of file Coupling.C.
References agents, cimg_library::cimg::fclose(), cimg_library::cimg::fopen(), Agent::get_agent_name(), and i.
int ProcessInterrupt | ( | ) |
Definition at line 572 of file Coupling.C.
References Agent::action, agents, Control_parameters::cur_step, Control_parameters::current_time, i, Control_parameters::InterruptFlag, Control_parameters::LastOutputStep, Control_parameters::LastOutputTime, Control_parameters::maxNumTimeSteps, MPI_COMM_WORLD, Control_parameters::myRank, n, Control_parameters::outputIntervalTime, param, restart_at_time(), RocstarShutdown(), and x.
Referenced by rocstar_driver().
void read_restart_info | ( | ) |
Definition at line 313 of file Coupling.C.
References comm_rank, Control_parameters::current_time, cimg_library::cimg::fclose(), cimg_library::cimg::fopen(), MAN_DEBUG, MPI_COMM_WORLD, param, restartInfo, and Control_parameters::update_start_time().
Referenced by rocstar_driver().
|
inlinevirtual |
Reimplemented in FullyCoupling.
Definition at line 190 of file Coupling.h.
Referenced by initialize().
void restart_at_time | ( | double | t, |
int | step | ||
) |
Definition at line 372 of file Coupling.C.
References agents, COM_get_window_handle(), COM_UNLOAD_MODULE_STATIC_DYNAMIC, comm_rank, Agent::communicator, finalize(), get_control_param(), i, initialize(), MAN_DEBUG, n, param, restarting, cimg_library::cimg::system(), and Control_parameters::update_start_time().
Referenced by ProcessInterrupt(), and rocstar_driver().
double run | ( | double | t, |
double | dt, | ||
int | iPredCorr, | ||
double | zoom | ||
) |
Invoke the scheduler.
Definition at line 238 of file Coupling.C.
References agents, comm_rank, i, iPredCorr, MAN_DEBUG, Agent::max_timestep(), min(), n, Scheduler::run_actions(), and scheduler.
Referenced by rocstar_driver().
void run_initactions | ( | double | t, |
double | dt | ||
) |
Definition at line 258 of file Coupling.C.
References comm_rank, init_remeshed, init_scheduler, init_started, MAN_DEBUG, name(), Scheduler::run_actions(), and Scheduler::set_alpha().
Referenced by initialize().
void schedule | ( | ) |
Schedule the top-level actions of the coupling scheme and the actions of the agents.
Definition at line 181 of file Coupling.C.
References agents, i, init_scheduler, n, UserScheduler::schedule(), and scheduler.
Referenced by rocstar_driver().
|
inlinevirtual |
Reimplemented in FullyCoupling.
Definition at line 175 of file Coupling.h.
Referenced by rocstar_driver().
|
inlinevirtual |
Reimplemented in FullyCoupling.
Definition at line 174 of file Coupling.h.
Referenced by rocstar_driver().
void write_restart_info | ( | double | CurrentTime, |
int | iStep | ||
) |
Definition at line 337 of file Coupling.C.
References comm_rank, cimg_library::cimg::fclose(), cimg_library::cimg::fopen(), MPI_COMM_WORLD, and restartInfo.
Referenced by Interrupt(), and rocstar_driver().
|
protected |
Definition at line 102 of file Coupling.h.
Referenced by add_agent(), callMethod(), check_convergence(), finalize(), init(), init_convergence(), input(), output_restart_files(), output_visualization_files(), print(), ProcessInterrupt(), restart_at_time(), run(), schedule(), FullyCoupling::update_integrals(), and ~Coupling().
|
protected |
Definition at line 105 of file Coupling.h.
Referenced by baseInit(), read_restart_info(), restart_at_time(), run(), run_initactions(), FullyCoupling::update_distances(), FullyCoupling::update_integrals(), and write_restart_info().
|
protected |
Definition at line 100 of file Coupling.h.
|
protected |
Definition at line 123 of file Coupling.h.
Referenced by baseInit(), and FullyCoupling::update_distances().
|
protected |
Definition at line 108 of file Coupling.h.
Referenced by baseInit(), and run_initactions().
|
protected |
Definition at line 104 of file Coupling.h.
Referenced by callMethod(), finalize(), FluidBurnAlone::FluidBurnAlone(), run_initactions(), and schedule().
|
protected |
Definition at line 106 of file Coupling.h.
Referenced by baseInit(), and run_initactions().
|
protected |
Definition at line 120 of file Coupling.h.
Referenced by baseInit(), and FullyCoupling::update_integrals().
|
protected |
Definition at line 110 of file Coupling.h.
Referenced by baseInit(), and run().
|
protected |
Definition at line 111 of file Coupling.h.
Referenced by check_convergence(), FluidAlone::FluidAlone(), FluidBurnAlone::FluidBurnAlone(), and init_convergence().
|
protected |
Definition at line 101 of file Coupling.h.
Referenced by Coupling().
|
protected |
Definition at line 122 of file Coupling.h.
Referenced by baseInit(), and FullyCoupling::update_distances().
|
protected |
Definition at line 119 of file Coupling.h.
Referenced by baseInit(), and FullyCoupling::update_integrals().
|
protected |
Definition at line 113 of file Coupling.h.
Referenced by baseInit(), check_convergence(), initialize(), Interrupt(), new_start(), ProcessInterrupt(), read_restart_info(), and restart_at_time().
|
protected |
Definition at line 116 of file Coupling.h.
Referenced by baseInit(), read_restart_info(), and write_restart_info().
|
protected |
Definition at line 107 of file Coupling.h.
Referenced by baseInit(), and restart_at_time().
|
protected |
Definition at line 114 of file Coupling.h.
Referenced by baseInit(), initialize(), and new_start().
|
protected |
Definition at line 103 of file Coupling.h.
Referenced by callMethod(), finalize(), FluidAlone::FluidAlone(), FluidBurnAlone::FluidBurnAlone(), run(), and schedule().