Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
builtin_couplings.C File Reference
#include "rocman.h"
#include "builtin_couplings.h"
#include "FluidAgent.h"
#include "SolidAgent.h"
#include "BurnAgent.h"
#include "basic_actions.h"
#include "transfer_actions.h"
#include "Interpolate.h"
Include dependency graph for builtin_couplings.C:

Go to the source code of this file.

Functions

static void declare_fluid_actions (FluidAgent *fluid_agent)
 
static void declare_solid_actions (SolidAgent *solid_agent)
 

Detailed Description

  • Contains the implementation of builtin coupling schemes.

Definition in file builtin_couplings.C.

Function Documentation

static void declare_fluid_actions ( FluidAgent fluid_agent)
static

Definition at line 45 of file builtin_couplings.C.

References Agent::add_bcaction(), Agent::add_gmaction(), Agent::add_icaction(), FluidAgent::fluidBufB, FluidAgent::fluidBufNB, FluidAgent::fluidBufNG, and FluidAgent::ifluid_i.

Referenced by FluidAlone::FluidAlone().

45  {
46  const std::string ifluid_i = fluid_agent->ifluid_i;
47  const std::string fluidBufB = fluid_agent->fluidBufB;
48  const std::string fluidBufNB = fluid_agent->fluidBufNB;
49  const std::string fluidBufNG = fluid_agent->fluidBufNG;
50 
51  // No action for initial call back routine
52  fluid_agent->add_icaction( new DummyAction());
53 
54  // UPDATE_INBUFF_BC_FLUID
55  // Level-1 boundary condition: Set bflag and Tflm_alp to 0
56  fluid_agent->add_bcaction( new SetZero( fluidBufB+".Tflm_alp"), 1);
57  //fluid_agent->add_bcaction( new SetZero( fluidBufNB+".Tb_alp"), 1);
58  // fluid_agent->add_bcaction( new SetZero( fluidBufB+".bflag"), 1);
59 
60  // Level-2 boundary condition: Set mdot and rhofvf to 0
61  fluid_agent->add_bcaction( new SetZero( fluidBufB+".mdot_alp"), 2);
62  fluid_agent->add_bcaction( new SetZero( fluidBufNG+".rhofvf_alp"), 2);
63 
64  // Set displacement to zero.
65  //fluid_agent->add_gmaction( new SetZero( fluidBufNG+".du_alp"));
66  fluid_agent->add_gmaction( new Reset_du_alp( fluid_agent));
67 }
std::string fluidBufB
Definition: FluidAgent.h:80
void add_bcaction(Action *act, int l=1)
Definition: Agent.C:393
std::string ifluid_i
Definition: FluidAgent.h:70
void add_gmaction(Action *act)
Definition: Agent.C:411
std::string fluidBufNG
Definition: FluidAgent.h:78
void add_icaction(Action *act)
Definition: Agent.C:381
std::string fluidBufNB
Definition: FluidAgent.h:81

Here is the call graph for this function:

Here is the caller graph for this function:

static void declare_solid_actions ( SolidAgent solid_agent)
static

Definition at line 90 of file builtin_couplings.C.

References Agent::add_bcaction(), Agent::add_bcinitaction(), Agent::add_icaction(), Agent::get_coupling(), Coupling::get_rocmancontrol_param(), RocmanControl_parameters::pressure, and SolidAgent::solidBuf.

90  {
91  std::string solidBuf = solid_agent->solidBuf;
92 
93  // No action for initial call back routine
94  solid_agent->add_icaction( new DummyAction());
95 
96  double pressure = solid_agent->get_coupling()->get_rocmancontrol_param()->pressure;
97 
98  // INIT_INBUFF_SOLID() in "solid_agent.f90"
99  solid_agent->add_bcinitaction( new SetValueDouble(solidBuf+".ts", pressure));
100 
101  // INIT_INTERP_HANDLES() in "solid_agent.f90"
102  solid_agent->add_bcaction( new Extrapolate_Linear(solid_agent, solid_agent,
103  solidBuf+".ts"));
104 }
void add_bcaction(Action *act, int l=1)
Definition: Agent.C:393
void add_bcinitaction(Action *act)
Definition: Agent.C:387
Coupling * get_coupling()
Definition: Agent.h:213
std::string solidBuf
Definition: SolidAgent.h:68
const RocmanControl_parameters * get_rocmancontrol_param()
Definition: Coupling.h:184
void add_icaction(Action *act)
Definition: Agent.C:381

Here is the call graph for this function: