www.mooseframework.org
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
MultiAppMeshFunctionTransfer Class Reference

Transfers a vector of variables. More...

#include <MultiAppMeshFunctionTransfer.h>

Inheritance diagram for MultiAppMeshFunctionTransfer:
[legend]

Public Types

enum  DIRECTION { TO_MULTIAPP, FROM_MULTIAPP }
 

Public Member Functions

 MultiAppMeshFunctionTransfer (const InputParameters &parameters)
 
virtual void initialSetup () override
 Method called at the beginning of the simulation for checking integrity or doing one-time setup. More...
 
virtual void execute () override
 Execute the transfer. More...
 
int direction ()
 The direction this Transfer is going in. More...
 
void variableIntegrityCheck (const AuxVariableName &var_name) const
 Utility to verify that the vEariable in the destination system exists. More...
 
const std::shared_ptr< MultiAppgetMultiApp () const
 Return the MultiApp that this transfer belongs to. More...
 
virtual const std::vector< ExecFlagType > & execFlags () const
 Return the execution flags, handling "same_as_multiapp". More...
 
const std::string & name () const
 Get the name of the object. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
MooseAppgetMooseApp ()
 Get the MooseApp this object is associated with. More...
 
virtual bool enabled ()
 Return the enabled status of the object. More...
 
template<typename... Args>
void mooseError (Args &&...args) const
 
template<typename... Args>
void mooseWarning (Args &&...args) const
 
template<typename... Args>
void mooseDeprecated (Args &&...args) const
 
template<typename... Args>
void mooseInfo (Args &&...args) const
 
virtual void timestepSetup ()
 Gets called at the beginning of the timestep before this object is asked to do its job. More...
 
virtual void jacobianSetup ()
 Gets called just before the Jacobian is computed and before this object is asked to do its job. More...
 
virtual void residualSetup ()
 Gets called just before the residual is computed and before this object is asked to do its job. More...
 
virtual void subdomainSetup ()
 Gets called when the subdomain changes (i.e. More...
 
ExecFlagType execBitFlags () const
 Build and return the execution flags as a bitfield. More...
 

Static Public Member Functions

static MooseEnum directions ()
 Used to construct InputParameters. More...
 
static System * find_sys (EquationSystems &es, const std::string &var_name)
 Small helper function for finding the system containing the variable. More...
 
static MultiMooseEnum getExecuteOptions ()
 Returns the available options for the 'execute_on' input parameters. More...
 

Public Attributes

const ConsoleStream _console
 An instance of helper class to write streams to the Console objects. More...
 

Static Public Attributes

static const Number OutOfMeshValue = -999999
 

Protected Member Functions

void getAppInfo ()
 This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.) More...
 
std::vector< BoundingBox > getFromBoundingBoxes ()
 Return the bounding boxes of all the "from" domains, including all the domains not local to this processor. More...
 
std::vector< unsigned int > getFromsPerProc ()
 Return the number of "from" domains that each processor owns. More...
 
NumericVector< Real > & getTransferVector (unsigned int i_local, std::string var_name)
 If we are transferring to a multiapp, return the appropriate solution vector. More...
 
template<typename T >
T & declareRestartableData (std::string data_name)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableData (std::string data_name, const T &init_value)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, void *context)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, const T &init_value, void *context)
 Declare a piece of data as "restartable" and initialize it. More...
 

Protected Attributes

std::vector< AuxVariableName > _to_var_name
 The vector of variables to transfer to. More...
 
std::vector< VariableName > _from_var_name
 The vector of variables to transfer from. More...
 
unsigned int _var_size
 The number of variables to transfer. More...
 
bool _error_on_miss
 
std::shared_ptr< MultiApp_multi_app
 The MultiApp this Transfer is transferring data to or from. More...
 
MooseEnum _direction
 Whether we're transferring to or from the MultiApp. More...
 
std::vector< FEProblemBase * > _to_problems
 
std::vector< FEProblemBase * > _from_problems
 
std::vector< EquationSystems * > _to_es
 
std::vector< EquationSystems * > _from_es
 
std::vector< MooseMesh * > _to_meshes
 
std::vector< MooseMesh * > _from_meshes
 
std::vector< Point > _to_positions
 
std::vector< Point > _from_positions
 
bool _displaced_source_mesh
 
bool _displaced_target_mesh
 
std::vector< unsigned int > _local2global_map
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
THREAD_ID _tid
 
MooseApp_app
 The MooseApp this object is associated with. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
const std::string & _name
 The name of this object, reference to value stored in InputParameters. More...
 
const bool & _enabled
 Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects. More...
 
std::vector< ExecFlagType_exec_flags
 execution flag (when is the object executed/evaluated) More...
 
const ExecFlagType_current_execute_flag
 Reference to FEProblemBase. More...
 

Private Member Functions

void transferVariable (unsigned int i)
 Performs the transfer for the variable of index i. More...
 

Private Attributes

std::vector< std::vector< Parallel::Request > > _send_points
 To send points to other processors. More...
 
std::vector< std::vector< Parallel::Request > > _send_evals
 To send values to other processors. More...
 
std::vector< std::vector< Parallel::Request > > _send_ids
 To send app ids to other processors. More...
 

Detailed Description

Transfers a vector of variables.

For each individual one, samples the variable's value in the Master domain at the point where the MultiApp is. Copies that value into a postprocessor in the MultiApp. The source and destination vectors (of variables) should be ordered consistently.

Definition at line 32 of file MultiAppMeshFunctionTransfer.h.

Member Enumeration Documentation

Enumerator
TO_MULTIAPP 
FROM_MULTIAPP 

Definition at line 46 of file MultiAppTransfer.h.

Constructor & Destructor Documentation

MultiAppMeshFunctionTransfer::MultiAppMeshFunctionTransfer ( const InputParameters parameters)

Definition at line 52 of file MultiAppMeshFunctionTransfer.C.

53  : MultiAppTransfer(parameters),
54  _to_var_name(getParam<std::vector<AuxVariableName>>("variable")),
55  _from_var_name(getParam<std::vector<VariableName>>("source_variable")),
56  _error_on_miss(getParam<bool>("error_on_miss"))
57 {
58  _displaced_source_mesh = getParam<bool>("displaced_source_mesh");
59  _displaced_target_mesh = getParam<bool>("displaced_target_mesh");
60 
61  if (_to_var_name.size() == _from_var_name.size())
62  _var_size = _to_var_name.size();
63  else
64  mooseError("The number of variables to transfer to and from should be equal");
65 }
unsigned int _var_size
The number of variables to transfer.
MultiAppTransfer(const InputParameters &parameters)
Here we need to remove the special option that indicates to the user that this object will follow it&#39;...
std::vector< AuxVariableName > _to_var_name
The vector of variables to transfer to.
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseObject.h:122
std::vector< VariableName > _from_var_name
The vector of variables to transfer from.
void mooseError(Args &&...args) const
Definition: MooseObject.h:80

Member Function Documentation

template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)

Definition at line 224 of file Restartable.h.

225 {
226  return declareRestartableDataWithContext<T>(data_name, NULL);
227 }
template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name,
const T &  init_value 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data

Definition at line 231 of file Restartable.h.

232 {
233  return declareRestartableDataWithContext<T>(data_name, init_value, NULL);
234 }
template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
contextContext pointer that will be passed to the load and store functions

Definition at line 238 of file Restartable.h.

239 {
241  mooseError("No valid SubProblem found for ", _restartable_system_name, "/", _restartable_name);
242 
243  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
244  RestartableData<T> * data_ptr = new RestartableData<T>(full_name, context);
245 
247 
248  return data_ptr->get();
249 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:202
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::string _restartable_name
The name of the object.
Definition: Restartable.h:196
void registerRestartableDataOnSubProblem(std::string name, RestartableDataValue *data, THREAD_ID tid)
Helper function so we don&#39;t have to include SubProblem in the header.
Definition: Restartable.C:49
Concrete definition of a parameter value for a specified type.
SubProblem * _restartable_subproblem
Pointer to the SubProblem class.
Definition: Restartable.h:208
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:205
template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
const T &  init_value,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data
contextContext pointer that will be passed to the load and store functions

Definition at line 253 of file Restartable.h.

256 {
258  mooseError("No valid SubProblem found for ", _restartable_system_name, "/", _restartable_name);
259 
260  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
261  RestartableData<T> * data_ptr = new RestartableData<T>(full_name, context);
262 
263  data_ptr->set() = init_value;
264 
266 
267  return data_ptr->get();
268 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:202
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
std::string _restartable_name
The name of the object.
Definition: Restartable.h:196
void registerRestartableDataOnSubProblem(std::string name, RestartableDataValue *data, THREAD_ID tid)
Helper function so we don&#39;t have to include SubProblem in the header.
Definition: Restartable.C:49
Concrete definition of a parameter value for a specified type.
SubProblem * _restartable_subproblem
Pointer to the SubProblem class.
Definition: Restartable.h:208
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:205
int MultiAppTransfer::direction ( )
inlineinherited

The direction this Transfer is going in.

Definition at line 56 of file MultiAppTransfer.h.

56 { return _direction; }
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
static MooseEnum MultiAppTransfer::directions ( )
inlinestaticinherited

Used to construct InputParameters.

Definition at line 53 of file MultiAppTransfer.h.

Referenced by validParams< MultiAppTransfer >().

53 { return MooseEnum("to_multiapp from_multiapp"); }
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:37
virtual bool MooseObject::enabled ( )
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 77 of file MooseObject.h.

Referenced by EigenKernel::enabled().

77 { return _enabled; }
const bool & _enabled
Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.
Definition: MooseObject.h:117
ExecFlagType SetupInterface::execBitFlags ( ) const
inherited

Build and return the execution flags as a bitfield.

Definition at line 100 of file SetupInterface.C.

Referenced by EigenExecutionerBase::init().

101 {
102  unsigned int exec_bit_field = EXEC_NONE;
103  for (unsigned int i = 0; i < _exec_flags.size(); ++i)
104  exec_bit_field |= _exec_flags[i];
105 
106  return static_cast<ExecFlagType>(exec_bit_field);
107 }
std::vector< ExecFlagType > _exec_flags
execution flag (when is the object executed/evaluated)
ExecFlagType
Execution flags - when is the object executed/evaluated.
Definition: MooseTypes.h:90
const std::vector< ExecFlagType > & MultiAppTransfer::execFlags ( ) const
virtualinherited

Return the execution flags, handling "same_as_multiapp".

Reimplemented from SetupInterface.

Definition at line 97 of file MultiAppTransfer.C.

Referenced by MultiAppTransfer::getMultiApp(), and MultiAppTransfer::MultiAppTransfer().

98 {
99  if (Transfer::execFlags().empty())
100  return _multi_app->execFlags();
101  else
102  return Transfer::execFlags();
103 }
virtual const std::vector< ExecFlagType > & execFlags() const
Get the execution flag for the object.
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
void MultiAppMeshFunctionTransfer::execute ( )
overridevirtual

Execute the transfer.

Implements Transfer.

Definition at line 78 of file MultiAppMeshFunctionTransfer.C.

79 {
80  Moose::out << "Beginning MeshFunctionTransfer " << name() << std::endl;
81 
82  getAppInfo();
83 
84  _send_points.resize(_var_size);
85  _send_evals.resize(_var_size);
86  _send_ids.resize(_var_size);
87  // loop over the vector of variables and make the transfer one by one
88  for (unsigned int i = 0; i < _var_size; ++i)
90 
91  // Make sure all our sends succeeded.
92  for (unsigned int i = 0; i < _var_size; ++i)
93  for (processor_id_type i_proc = 0; i_proc < n_processors(); ++i_proc)
94  {
95  if (i_proc == processor_id())
96  continue;
97  _send_points[i][i_proc].wait();
98  _send_evals[i][i_proc].wait();
100  _send_ids[i][i_proc].wait();
101  }
102 
103  _console << "Finished MeshFunctionTransfer " << name() << std::endl;
104 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
void transferVariable(unsigned int i)
Performs the transfer for the variable of index i.
std::vector< std::vector< Parallel::Request > > _send_ids
To send app ids to other processors.
unsigned int _var_size
The number of variables to transfer.
std::vector< std::vector< Parallel::Request > > _send_points
To send points to other processors.
std::vector< std::vector< Parallel::Request > > _send_evals
To send values to other processors.
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
void getAppInfo()
This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.)
System * Transfer::find_sys ( EquationSystems &  es,
const std::string &  var_name 
)
staticinherited

Small helper function for finding the system containing the variable.

Note that this implies that variable names are unique across all systems!

Parameters
esThe EquationSystems object to be searched.
var_nameThe name of the variable you are looking for.

Note that this implies that variable names are unique across all systems!

Definition at line 70 of file Transfer.C.

Referenced by MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppDTKInterpolationTransfer::execute(), DTKInterpolationAdapter::get_values_to_fill(), DTKInterpolationAdapter::get_variable_evaluator(), transferVariable(), DTKInterpolationAdapter::update_variable_values(), and MultiAppTransfer::variableIntegrityCheck().

71 {
72  // Find the system this variable is from
73  for (unsigned int i = 0; i < es.n_systems(); i++)
74  if (es.get_system(i).has_variable(var_name))
75  return &es.get_system(i);
76 
77  ::mooseError("Unable to find variable " + var_name + " in any system.");
78 
79  // Unreachable
80  return &es.get_system(0);
81 }
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
void MultiAppTransfer::getAppInfo ( )
protectedinherited

This method will fill information into the convenience member variables (_to_problems, _from_meshes, etc.)

Definition at line 106 of file MultiAppTransfer.C.

Referenced by MultiAppNearestNodeTransfer::execute(), execute(), MultiAppProjectionTransfer::execute(), and MultiAppProjectionTransfer::initialSetup().

107 {
108  // I would like to do all of this in initialSetup, but it will fail with
109  // multiapps that reset. A reset deletes and rebuilds the FEProblems so all
110  // of the pointers will be broken.
111 
112  // Clear the vectors since we've probably built them up from a previous call
113  _from_problems.clear();
114  _to_problems.clear();
115  _from_es.clear();
116  _to_es.clear();
117  _from_meshes.clear();
118  _to_meshes.clear();
119  _to_positions.clear();
120  _from_positions.clear();
121 
122  // Build the vectors for to problems, from problems, and subapps positions.
123  switch (_direction)
124  {
125  case TO_MULTIAPP:
126  _from_problems.push_back(&_multi_app->problemBase());
127  _from_positions.push_back(Point(0., 0., 0.));
128  for (unsigned int i_app = 0; i_app < _multi_app->numGlobalApps(); i_app++)
129  {
130  if (!_multi_app->hasLocalApp(i_app))
131  continue;
132  _local2global_map.push_back(i_app);
133  _to_problems.push_back(&_multi_app->appProblemBase(i_app));
134  _to_positions.push_back(_multi_app->position(i_app));
135  }
136  break;
137 
138  case FROM_MULTIAPP:
139  _to_problems.push_back(&_multi_app->problemBase());
140  _to_positions.push_back(Point(0., 0., 0.));
141  for (unsigned int i_app = 0; i_app < _multi_app->numGlobalApps(); i_app++)
142  {
143  if (!_multi_app->hasLocalApp(i_app))
144  continue;
145  _local2global_map.push_back(i_app);
146  _from_problems.push_back(&_multi_app->appProblemBase(i_app));
147  _from_positions.push_back(_multi_app->position(i_app));
148  }
149  break;
150  }
151 
152  // Build the from and to equation systems and mesh vectors.
153  for (unsigned int i = 0; i < _to_problems.size(); i++)
154  {
155  // TODO: Do I actually want es or displaced es?
156  _to_es.push_back(&_to_problems[i]->es());
157  if (_displaced_target_mesh && _to_problems[i]->getDisplacedProblem())
158  _to_meshes.push_back(&_to_problems[i]->getDisplacedProblem()->mesh());
159  else
160  _to_meshes.push_back(&_to_problems[i]->mesh());
161  }
162  for (unsigned int i = 0; i < _from_problems.size(); i++)
163  {
164  _from_es.push_back(&_from_problems[i]->es());
165  if (_displaced_source_mesh && _from_problems[i]->getDisplacedProblem())
166  _from_meshes.push_back(&_from_problems[i]->getDisplacedProblem()->mesh());
167  else
168  _from_meshes.push_back(&_from_problems[i]->mesh());
169  }
170 }
std::vector< EquationSystems * > _to_es
std::vector< FEProblemBase * > _to_problems
std::vector< Point > _from_positions
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
std::vector< MooseMesh * > _from_meshes
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
std::vector< unsigned int > _local2global_map
std::vector< Point > _to_positions
std::vector< EquationSystems * > _from_es
std::vector< FEProblemBase * > _from_problems
std::vector< MooseMesh * > _to_meshes
MultiMooseEnum SetupInterface::getExecuteOptions ( )
staticinherited

Returns the available options for the 'execute_on' input parameters.

Returns
A MooseEnum with the available 'execute_on' options, the default is 'residual'

Definition at line 110 of file SetupInterface.C.

Referenced by AddNodalNormalsAction::act(), AdvancedOutput::addValidParams(), AdvancedOutput::initExecutionTypes(), OutputOnWarehouse::OutputOnWarehouse(), validParams< CommonOutputAction >(), validParams< Output >(), and validParams< SetupInterface >().

111 {
112  return MultiMooseEnum("none=0x00 initial=0x01 linear=0x02 nonlinear=0x04 timestep_end=0x08 "
113  "timestep_begin=0x10 final=0x20 custom=0x100",
114  "linear");
115 }
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
std::vector< BoundingBox > MultiAppTransfer::getFromBoundingBoxes ( )
protectedinherited

Return the bounding boxes of all the "from" domains, including all the domains not local to this processor.

Definition at line 173 of file MultiAppTransfer.C.

Referenced by MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), and transferVariable().

174 {
175  std::vector<std::pair<Point, Point>> bb_points(_from_meshes.size());
176  for (unsigned int i = 0; i < _from_meshes.size(); i++)
177  {
178  // Get a bounding box around the mesh elements that are local to the current
179  // processor.
180  BoundingBox bbox = MeshTools::create_local_bounding_box(*_from_meshes[i]);
181 
182  // Translate the bounding box to the from domain's position.
183  bbox.first += _from_positions[i];
184  bbox.second += _from_positions[i];
185 
186  // Cast the bounding box into a pair of points (so it can be put through
187  // MPI communication).
188  bb_points[i] = static_cast<std::pair<Point, Point>>(bbox);
189  }
190 
191  // Serialize the bounding box points.
192  _communicator.allgather(bb_points);
193 
194  // Recast the points back into bounding boxes and return.
195  std::vector<BoundingBox> bboxes(bb_points.size());
196  for (unsigned int i = 0; i < bb_points.size(); i++)
197  bboxes[i] = static_cast<BoundingBox>(bb_points[i]);
198 
199  return bboxes;
200 }
std::vector< Point > _from_positions
std::vector< MooseMesh * > _from_meshes
std::vector< unsigned int > MultiAppTransfer::getFromsPerProc ( )
protectedinherited

Return the number of "from" domains that each processor owns.

Definition at line 203 of file MultiAppTransfer.C.

Referenced by MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), and transferVariable().

204 {
205  std::vector<unsigned int> froms_per_proc;
206  switch (_direction)
207  {
208  case TO_MULTIAPP:
209  froms_per_proc.resize(n_processors(), 1);
210  break;
211  case FROM_MULTIAPP:
212  froms_per_proc.resize(n_processors());
213  _communicator.allgather(_multi_app->numLocalApps(), froms_per_proc);
214  break;
215  }
216  return froms_per_proc;
217 }
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
MooseApp& MooseObject::getMooseApp ( )
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 72 of file MooseObject.h.

Referenced by RestartableDataIO::createBackup(), RestartableDataIO::deserializeRestartableData(), Resurrector::restartRestartableData(), and RestartableDataIO::restoreBackup().

72 { return _app; }
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
const std::shared_ptr<MultiApp> MultiAppTransfer::getMultiApp ( ) const
inlineinherited

Return the MultiApp that this transfer belongs to.

Definition at line 64 of file MultiAppTransfer.h.

64 { return _multi_app; }
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
template<typename T >
const T & MooseObject::getParam ( const std::string &  name) const
inherited

Retrieve a parameter for the object.

Parameters
nameThe name of the parameter
Returns
The value of the parameter

Definition at line 122 of file MooseObject.h.

Referenced by FEProblemBase::addMaterial(), ConstraintWarehouse::addObject(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromXandY(), EigenKernel::EigenKernel(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), GenericConstantRankTwoTensor::GenericConstantRankTwoTensor(), TimeSequenceStepper::init(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), AdvancedOutput::initialSetup(), SideSetsBetweenSubdomains::modify(), MeshExtruder::modify(), AddExtraNodeset::modify(), SideSetsAroundSubdomain::modify(), RenameBlock::modify(), MooseObject::parameters(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), and VectorOfPostprocessors::VectorOfPostprocessors().

123 {
124  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
125 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
NumericVector< Real > & MultiAppTransfer::getTransferVector ( unsigned int  i_local,
std::string  var_name 
)
protectedinherited

If we are transferring to a multiapp, return the appropriate solution vector.

Definition at line 220 of file MultiAppTransfer.C.

Referenced by MultiAppNearestNodeTransfer::execute(), and transferVariable().

221 {
222  mooseAssert(_direction == TO_MULTIAPP, "getTransferVector only works for transfers to multiapps");
223 
224  return _multi_app->appTransferVector(_local2global_map[i_local], var_name);
225 }
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
std::vector< unsigned int > _local2global_map
void MultiAppMeshFunctionTransfer::initialSetup ( )
overridevirtual

Method called at the beginning of the simulation for checking integrity or doing one-time setup.

Reimplemented from Transfer.

Definition at line 68 of file MultiAppMeshFunctionTransfer.C.

69 {
70  for (unsigned int i = 0; i < _var_size; ++i)
71  if (_direction == TO_MULTIAPP)
73  else
75 }
void variableIntegrityCheck(const AuxVariableName &var_name) const
Utility to verify that the vEariable in the destination system exists.
unsigned int _var_size
The number of variables to transfer.
std::vector< AuxVariableName > _to_var_name
The vector of variables to transfer to.
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
std::vector< VariableName > _from_var_name
The vector of variables to transfer from.
bool MooseObject::isParamValid ( const std::string &  name) const
inlineinherited

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 67 of file MooseObject.h.

Referenced by BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), GeneratedMesh::buildMesh(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CSVReader::CSVReader(), MultiAppNearestNodeTransfer::execute(), FileOutput::FileOutput(), MultiApp::fillPositions(), MultiAppNearestNodeTransfer::getLocalNodes(), MultiAppNearestNodeTransfer::getNearestNode(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), MooseMesh::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionAux::initialSetup(), MooseParsedVectorFunction::initialSetup(), Console::initialSetup(), Receiver::initialSetup(), SolutionFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), AdvancedOutput::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), BreakBoundaryOnSubdomain::modify(), MeshExtruder::modify(), MeshSideSet::modify(), AssignElementSubdomainID::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), SubdomainBoundingBox::modify(), EigenExecutionerBase::normalizeSolution(), Output::Output(), Exodus::outputSetup(), PetscOutput::PetscOutput(), Piecewise::Piecewise(), SolutionUserObject::readExodusII(), RenameBlock::RenameBlock(), Piecewise::setData(), SolutionUserObject::SolutionUserObject(), and TimePeriod::TimePeriod().

67 { return _pars.isParamValid(name); }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
void SetupInterface::jacobianSetup ( )
virtualinherited

Gets called just before the Jacobian is computed and before this object is asked to do its job.

Definition at line 79 of file SetupInterface.C.

80 {
81 }
template<typename... Args>
void MooseObject::mooseDeprecated ( Args &&...  args) const
inlineinherited
template<typename... Args>
void MooseObject::mooseError ( Args &&...  args) const
inlineinherited

Definition at line 80 of file MooseObject.h.

Referenced by FEProblemBase::addInitialCondition(), DiracKernel::addPointWithValidId(), FEProblemBase::addPostprocessor(), MooseMesh::addQuadratureNode(), FEProblemBase::addVectorPostprocessor(), Output::advancedExecuteOn(), AnnularMesh::AnnularMesh(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BicubicSplineFunction::BicubicSplineFunction(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BoundsAux::BoundsAux(), MooseMesh::buildCoarseningMap(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), Piecewise::buildFromXY(), TiledMesh::buildMesh(), GeneratedMesh::buildMesh(), ImageMesh::buildMesh3D(), MooseMesh::buildRefinementMap(), EigenExecutionerBase::chebyshev(), FEProblemBase::checkCoordinateSystems(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), Material::checkExecutionStage(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), SubProblem::checkMatProps(), FEProblemBase::checkProblemIntegrity(), Material::checkStatefulSanity(), FEProblemBase::checkUserObjects(), LibmeshPartitioner::clone(), CompositeFunction::CompositeFunction(), ElementLpNormAux::compute(), ElementH1ErrorFunctionAux::compute(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), FEProblemBase::computeResidual(), Material::computeSubdomainProperties(), PenetrationAux::computeValue(), TimeStepper::constrainStep(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), DebugResidualAux::DebugResidualAux(), BicubicSplineFunction::derivative(), DGKernel::DGKernel(), SolutionUserObject::discontinuousPointValue(), SolutionUserObject::discontinuousPointValueGradient(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), MooseMesh::errorIfDistributedMesh(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), PerflogDumper::execute(), NodalValueSampler::execute(), MultiAppPostprocessorTransfer::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), FindValueOnLine::execute(), MultiAppInterpolationTransfer::execute(), TimeExtremeValue::execute(), LeastSquaresFit::execute(), FEProblemBase::executeControls(), FileOutput::FileOutput(), MultiApp::fillPositions(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::finalize(), DiscreteElementUserObject::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), Transfer::find_sys(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FunctionDT::FunctionDT(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), GapValueAux::GapValueAux(), GeneratedMesh::GeneratedMesh(), GenericConstantMaterial::GenericConstantMaterial(), GenericFunctionMaterial::GenericFunctionMaterial(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), MooseMesh::getCoarseningMap(), FEProblemBase::getCoordSystem(), PiecewiseConstant::getDirection(), FEProblemBase::getDistribution(), MultiApp::getExecutioner(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), AuxKernel::getMaterialProperty(), AuxKernel::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOlder(), GeneratedMesh::getMaxInDimension(), AnnularMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMaxShapeFunctions(), GeneratedMesh::getMinInDimension(), AnnularMesh::getMinInDimension(), MooseMesh::getMortarInterface(), MooseMesh::getMortarInterfaceByName(), MooseMesh::getNodeBlockIds(), MooseMesh::getNodeList(), FEProblemBase::getNonlinearSystem(), MooseMesh::getPairedBoundaryMapping(), ImageMesh::GetPixelInfo(), MaterialStdVectorAux::getRealValue(), MooseMesh::getRefinementMap(), FEProblemBase::getSampler(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), MooseMesh::getSubdomainBoundaryIds(), MooseMesh::getSubdomainID(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), FEProblemBase::getUserObjectBase(), NumVars::getValue(), PerformanceData::getValue(), Residual::getValue(), FindValueOnLine::getValueAtPoint(), DisplacedProblem::getVariable(), FEProblemBase::getVariable(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), AdvancedOutput::hasOutputHelper(), CSVTimeSequenceStepper::init(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), MooseMesh::init(), FEProblemBase::init(), NumPicardIterations::initialize(), FullSolveMultiApp::initialSetup(), SolutionAux::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), SolutionFunction::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Material::initStatefulProperties(), Function::integral(), IntegratedBC::IntegratedBC(), InterfaceKernel::InterfaceKernel(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), KernelBase::KernelBase(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LinearCombinationFunction::LinearCombinationFunction(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< T >::LineMaterialSamplerBase(), MaterialRealTensorValueAux::MaterialRealTensorValueAux(), MaterialRealVectorValueAux::MaterialRealVectorValueAux(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), SubProblem::meshChanged(), MeshExtruder::MeshExtruder(), SideSetsFromPoints::modify(), SideSetsFromNormals::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), AssignElementSubdomainID::modify(), AddAllSideSetsByNormals::modify(), ElementDeleterBase::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), ImageSubdomain::modify(), BoundingBoxNodeSet::modify(), OrientedSubdomainBoundingBox::modify(), AddSideSetsFromBoundingBox::modify(), SubdomainBoundingBox::modify(), MultiAppMeshFunctionTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), NodalBC::NodalBC(), NodalConstraint::NodalConstraint(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalVariableValue::NodalVariableValue(), NumDOFs::NumDOFs(), NumNonlinearIterations::NumNonlinearIterations(), XDA::output(), VTKOutput::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), PiecewiseBilinear::parse(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PatternedMesh::PatternedMesh(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), Piecewise::Piecewise(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMultilinear::PiecewiseMultilinear(), SolutionUserObject::pointValueGradientWrapper(), SolutionUserObject::pointValueWrapper(), LStableDirk2::postStep(), LStableDirk3::postStep(), ImplicitMidpoint::postStep(), ExplicitTVDRK2::postStep(), AStableDirk4::postStep(), LStableDirk4::postStep(), ExplicitRK2::postStep(), Predictor::Predictor(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RenameBlock::RenameBlock(), ScalarComponentIC::ScalarComponentIC(), BicubicSplineFunction::secondDerivative(), FEProblemBase::setCoordSystem(), Piecewise::setData(), EigenProblem::setEigenproblemType(), Sampler::setNumberOfRequiedRandomSeeds(), Split::setup(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), SideSetsFromNormals::SideSetsFromNormals(), SideSetsFromPoints::SideSetsFromPoints(), SolutionUserObject::SolutionUserObject(), FullSolveMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), StitchedMesh::StitchedMesh(), NodalUserObject::subdomainSetup(), GeneralUserObject::subdomainSetup(), Constraint::subdomainSetup(), Console::systemInfoFlags(), Terminator::Terminator(), TestSetupPostprocessorDataActionFunction::TestSetupPostprocessorDataActionFunction(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), Function::timeDerivative(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), MultiAppCopyTransfer::transfer(), transferVariable(), Transient::Transient(), TransientMultiApp::TransientMultiApp(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObject::updateExodusBracketingTimeIndices(), Axisymmetric2D3DSolutionFunction::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), MultiAppTransfer::variableIntegrityCheck(), VariableResidual::VariableResidual(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), VectorOfPostprocessors::VectorOfPostprocessors(), VectorPostprocessorFunction::VectorPostprocessorFunction(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), and VolumeHistogram::VolumeHistogram().

81  {
82  std::ostringstream oss;
83  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
84  std::string msg = oss.str();
85  callMooseErrorRaw(msg, &_app);
86  }
void mooseStreamAll(std::ostringstream &ss)
Definition: MooseError.C:78
void callMooseErrorRaw(std::string &msg, MooseApp *app)
Definition: MooseObject.C:45
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
template<typename... Args>
void MooseObject::mooseInfo ( Args &&...  args) const
inlineinherited

Definition at line 101 of file MooseObject.h.

102  {
103  moose::internal::mooseInfoStream(_console, std::forward<Args>(args)...);
104  }
void mooseInfoStream(S &oss, Args &&...args)
Definition: MooseError.h:145
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
template<typename... Args>
void MooseObject::mooseWarning ( Args &&...  args) const
inlineinherited
const std::string& MooseObject::name ( ) const
inlineinherited

Get the name of the object.

Returns
The name of the object

Definition at line 47 of file MooseObject.h.

Referenced by FEProblemBase::addDistribution(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), FEProblemBase::addInitialCondition(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), MooseMesh::addMortarInterface(), FEProblemBase::addMultiApp(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), Output::advancedExecuteOn(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), AStableDirk4::AStableDirk4(), Function::average(), FEProblemBase::checkDependMaterialsHelper(), Damper::checkMinDamping(), Material::checkStatefulSanity(), CompositeFunction::CompositeFunction(), Material::computeSubdomainProperties(), AuxKernel::coupledCallback(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), MultiApp::createApp(), DGKernel::DGKernel(), AB2PredictorCorrector::estimateTimeError(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppCopyTransfer::execute(), FileOutput::FileOutput(), MultiApp::fillPositions(), PointSamplerBase::finalize(), GeneralUserObject::GeneralUserObject(), MultiApp::getBoundingBox(), Control::getControllableParameterHelper(), Control::getControllableValue(), AuxKernel::getDependObjects(), MultiApp::getExecutioner(), OutputWarehouse::getFileNumbers(), SolutionUserObject::getLocalVarIndex(), AuxKernel::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), AuxKernel::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOlder(), OutputWarehouse::getOutput(), Transient::getTimeStepperName(), InitialCondition::getUserObject(), AuxKernel::getUserObject(), InitialCondition::getUserObjectByName(), AuxKernel::getUserObjectByName(), AdvancedOutput::hasOutputHelper(), FEProblemBase::init(), CSVReader::initialize(), MultiAppProjectionTransfer::initialSetup(), InitialCondition::initialSetup(), SolutionUserObject::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), Material::initStatefulProperties(), Function::integral(), IntegratedBC::IntegratedBC(), InterfaceKernel::InterfaceKernel(), KernelBase::KernelBase(), LinearCombinationFunction::LinearCombinationFunction(), Marker::Marker(), MaterialDerivativeTestKernelBase< T >::MaterialDerivativeTestKernelBase(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), ElementDeleterBase::modify(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalValueSampler::NodalValueSampler(), NodalVariableValue::NodalVariableValue(), DOFMapOutput::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), ConsoleUtils::outputOutputInformation(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), MooseObject::parameters(), Executioner::parentOutputPositionChanged(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PointSamplerBase::PointSamplerBase(), SubProblem::registerRecoverableData(), SubProblem::registerRestartableData(), Material::resetQpProperties(), Sampler::Sampler(), ScalarComponentIC::ScalarComponentIC(), MooseMesh::setBoundaryName(), Control::setControllableValue(), OutputWarehouse::setFileNumbers(), MooseMesh::setSubdomainName(), Split::setup(), TransientMultiApp::setupApp(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), StitchedMesh::StitchedMesh(), Function::timeDerivative(), TransientMultiApp::TransientMultiApp(), MultiAppTransfer::variableIntegrityCheck(), VariableResidual::VariableResidual(), and AdvancedOutput::wantOutput().

47 { return _name; }
const std::string & _name
The name of this object, reference to value stored in InputParameters.
Definition: MooseObject.h:114
const InputParameters& MooseObject::parameters ( ) const
inlineinherited
void SetupInterface::residualSetup ( )
virtualinherited

Gets called just before the residual is computed and before this object is asked to do its job.

Definition at line 84 of file SetupInterface.C.

85 {
86 }
void SetupInterface::subdomainSetup ( )
virtualinherited

Gets called when the subdomain changes (i.e.

in a Jacobian or residual loop) and before this object is asked to do its job

Reimplemented in Material, Constraint, GeneralUserObject, and NodalUserObject.

Definition at line 89 of file SetupInterface.C.

90 {
91 }
void SetupInterface::timestepSetup ( )
virtualinherited

Gets called at the beginning of the timestep before this object is asked to do its job.

Reimplemented in SolutionUserObject, NumNonlinearIterations, and MemoryUsage.

Definition at line 74 of file SetupInterface.C.

75 {
76 }
void MultiAppMeshFunctionTransfer::transferVariable ( unsigned int  i)
private

Performs the transfer for the variable of index i.

For every combination of global "from" problem and local "to" problem, find which "from" bounding boxes overlap with which "to" elements. Keep track of which processors own bounding boxes that overlap with which elements. Build vectors of node locations/element centroids to send to other processors for mesh function evaluations.

Request point evaluations from other processors and handle requests sent to this processor.

Gather all of the evaluations, pick out the best ones for each point, and apply them to the solution vector. When we are transferring from multiapps, there may be multiple overlapping apps for a particular point. In that case, we'll try to use the value from the app with the lowest id.

Definition at line 107 of file MultiAppMeshFunctionTransfer.C.

Referenced by execute().

108 {
109  mooseAssert(i < _var_size, "The variable of index " << i << " does not exist");
110 
119  // Get the bounding boxes for the "from" domains.
120  std::vector<BoundingBox> bboxes = getFromBoundingBoxes();
121 
122  // Figure out how many "from" domains each processor owns.
123  std::vector<unsigned int> froms_per_proc = getFromsPerProc();
124 
125  std::vector<std::vector<Point>> outgoing_points(n_processors());
126  std::vector<std::map<std::pair<unsigned int, unsigned int>, unsigned int>> point_index_map(
127  n_processors());
128  // point_index_map[i_to, element_id] = index
129  // outgoing_points[index] is the first quadrature point in element
130 
131  for (unsigned int i_to = 0; i_to < _to_problems.size(); ++i_to)
132  {
133  System * to_sys = find_sys(*_to_es[i_to], _to_var_name[i]);
134  unsigned int sys_num = to_sys->number();
135  unsigned int var_num = to_sys->variable_number(_to_var_name[i]);
136  MeshBase * to_mesh = &_to_meshes[i_to]->getMesh();
137  bool is_nodal = to_sys->variable_type(var_num).family == LAGRANGE;
138 
139  if (is_nodal)
140  {
141  MeshBase::const_node_iterator node_it = to_mesh->local_nodes_begin();
142  MeshBase::const_node_iterator node_end = to_mesh->local_nodes_end();
143 
144  for (; node_it != node_end; ++node_it)
145  {
146  Node * node = *node_it;
147 
148  // Skip this node if the variable has no dofs at it.
149  if (node->n_dofs(sys_num, var_num) < 1)
150  continue;
151 
152  // Loop over the "froms" on processor i_proc. If the node is found in
153  // any of the "froms", add that node to the vector that will be sent to
154  // i_proc.
155  unsigned int from0 = 0;
156  for (processor_id_type i_proc = 0; i_proc < n_processors();
157  from0 += froms_per_proc[i_proc], ++i_proc)
158  {
159  bool point_found = false;
160  for (unsigned int i_from = from0; i_from < from0 + froms_per_proc[i_proc] && !point_found;
161  ++i_from)
162  {
163  if (bboxes[i_from].contains_point(*node + _to_positions[i_to]))
164  {
165  std::pair<unsigned int, unsigned int> key(i_to, node->id());
166  point_index_map[i_proc][key] = outgoing_points[i_proc].size();
167  outgoing_points[i_proc].push_back(*node + _to_positions[i_to]);
168  point_found = true;
169  }
170  }
171  }
172  }
173  }
174  else // Elemental
175  {
176  MeshBase::const_element_iterator elem_it = to_mesh->local_elements_begin();
177  MeshBase::const_element_iterator elem_end = to_mesh->local_elements_end();
178 
179  for (; elem_it != elem_end; ++elem_it)
180  {
181  Elem * elem = *elem_it;
182 
183  Point centroid = elem->centroid();
184 
185  // Skip this element if the variable has no dofs at it.
186  if (elem->n_dofs(sys_num, var_num) < 1)
187  continue;
188 
189  // Loop over the "froms" on processor i_proc. If the elem is found in
190  // any of the "froms", add that elem to the vector that will be sent to
191  // i_proc.
192  unsigned int from0 = 0;
193  for (processor_id_type i_proc = 0; i_proc < n_processors();
194  from0 += froms_per_proc[i_proc], ++i_proc)
195  {
196  bool point_found = false;
197  for (unsigned int i_from = from0; i_from < from0 + froms_per_proc[i_proc] && !point_found;
198  ++i_from)
199  {
200  if (bboxes[i_from].contains_point(centroid + _to_positions[i_to]))
201  {
202  std::pair<unsigned int, unsigned int> key(i_to, elem->id());
203  point_index_map[i_proc][key] = outgoing_points[i_proc].size();
204  outgoing_points[i_proc].push_back(centroid + _to_positions[i_to]);
205  point_found = true;
206  }
207  }
208  }
209  }
210  }
211  }
212 
218  // Get the local bounding boxes.
219  std::vector<BoundingBox> local_bboxes(froms_per_proc[processor_id()]);
220  {
221  // Find the index to the first of this processor's local bounding boxes.
222  unsigned int local_start = 0;
223  for (processor_id_type i_proc = 0; i_proc < n_processors() && i_proc != processor_id();
224  ++i_proc)
225  {
226  local_start += froms_per_proc[i_proc];
227  }
228 
229  // Extract the local bounding boxes.
230  for (unsigned int i_from = 0; i_from < froms_per_proc[processor_id()]; ++i_from)
231  {
232  local_bboxes[i_from] = bboxes[local_start + i_from];
233  }
234  }
235 
236  // Setup the local mesh functions.
237  std::vector<std::shared_ptr<MeshFunction>> local_meshfuns;
238  for (unsigned int i_from = 0; i_from < _from_problems.size(); ++i_from)
239  {
240  FEProblemBase & from_problem = *_from_problems[i_from];
241  MooseVariable & from_var = from_problem.getVariable(0, _from_var_name[i]);
242  System & from_sys = from_var.sys().system();
243  unsigned int from_var_num = from_sys.variable_number(from_var.name());
244 
245  std::shared_ptr<MeshFunction> from_func;
246  // TODO: make MultiAppTransfer give me the right es
247  if (_displaced_source_mesh && from_problem.getDisplacedProblem())
248  from_func.reset(new MeshFunction(from_problem.getDisplacedProblem()->es(),
249  *from_sys.current_local_solution,
250  from_sys.get_dof_map(),
251  from_var_num));
252  else
253  from_func.reset(new MeshFunction(from_problem.es(),
254  *from_sys.current_local_solution,
255  from_sys.get_dof_map(),
256  from_var_num));
257  from_func->init(Trees::ELEMENTS);
258  from_func->enable_out_of_mesh_mode(OutOfMeshValue);
259  local_meshfuns.push_back(from_func);
260  }
261 
262  // Send points to other processors.
263  std::vector<std::vector<Real>> incoming_evals(n_processors());
264  std::vector<std::vector<unsigned int>> incoming_app_ids(n_processors());
265  _send_points[i].resize(n_processors());
266  for (processor_id_type i_proc = 0; i_proc < n_processors(); ++i_proc)
267  {
268  if (i_proc == processor_id())
269  continue;
270  _communicator.send(i_proc, outgoing_points[i_proc], _send_points[i][i_proc]);
271  }
272 
273  // Receive points from other processors, evaluate mesh functions at those
274  // points, and send the values back.
275  _send_evals[i].resize(n_processors());
276  _send_ids[i].resize(n_processors());
277 
278  // Create these here so that they live the entire life of this function
279  // and are NOT reused per processor.
280  std::vector<std::vector<Real>> processor_outgoing_evals(n_processors());
281 
282  for (processor_id_type i_proc = 0; i_proc < n_processors(); ++i_proc)
283  {
284  std::vector<Point> incoming_points;
285  if (i_proc == processor_id())
286  incoming_points = outgoing_points[i_proc];
287  else
288  _communicator.receive(i_proc, incoming_points);
289 
290  std::vector<Real> & outgoing_evals = processor_outgoing_evals[i_proc];
291  outgoing_evals.resize(incoming_points.size(), OutOfMeshValue);
292 
293  std::vector<unsigned int> outgoing_ids(incoming_points.size(), -1); // -1 = largest unsigned int
294  for (unsigned int i_pt = 0; i_pt < incoming_points.size(); ++i_pt)
295  {
296  Point pt = incoming_points[i_pt];
297 
298  // Loop until we've found the lowest-ranked app that actually contains
299  // the quadrature point.
300  for (unsigned int i_from = 0;
301  i_from < _from_problems.size() && outgoing_evals[i_pt] == OutOfMeshValue;
302  ++i_from)
303  {
304  if (local_bboxes[i_from].contains_point(pt))
305  {
306  outgoing_evals[i_pt] = (*local_meshfuns[i_from])(pt - _from_positions[i_from]);
307  if (_direction == FROM_MULTIAPP)
308  outgoing_ids[i_pt] = _local2global_map[i_from];
309  }
310  }
311  }
312 
313  if (i_proc == processor_id())
314  {
315  incoming_evals[i_proc] = outgoing_evals;
316  if (_direction == FROM_MULTIAPP)
317  incoming_app_ids[i_proc] = outgoing_ids;
318  }
319  else
320  {
321  _communicator.send(i_proc, outgoing_evals, _send_evals[i][i_proc]);
322  if (_direction == FROM_MULTIAPP)
323  _communicator.send(i_proc, outgoing_ids, _send_ids[i][i_proc]);
324  }
325  }
326 
334  for (processor_id_type i_proc = 0; i_proc < n_processors(); ++i_proc)
335  {
336  if (i_proc == processor_id())
337  continue;
338 
339  _communicator.receive(i_proc, incoming_evals[i_proc]);
340  if (_direction == FROM_MULTIAPP)
341  _communicator.receive(i_proc, incoming_app_ids[i_proc]);
342  }
343 
344  for (unsigned int i_to = 0; i_to < _to_problems.size(); ++i_to)
345  {
346  System * to_sys = find_sys(*_to_es[i_to], _to_var_name[i]);
347 
348  unsigned int sys_num = to_sys->number();
349  unsigned int var_num = to_sys->variable_number(_to_var_name[i]);
350 
351  NumericVector<Real> * solution = nullptr;
352  switch (_direction)
353  {
354  case TO_MULTIAPP:
355  solution = &getTransferVector(i_to, _to_var_name[i]);
356  break;
357  case FROM_MULTIAPP:
358  solution = to_sys->solution.get();
359  break;
360  default:
361  mooseError("Unknown direction");
362  }
363 
364  MeshBase * to_mesh = &_to_meshes[i_to]->getMesh();
365 
366  bool is_nodal = to_sys->variable_type(var_num).family == LAGRANGE;
367 
368  if (is_nodal)
369  {
370  MeshBase::const_node_iterator node_it = to_mesh->local_nodes_begin();
371  MeshBase::const_node_iterator node_end = to_mesh->local_nodes_end();
372 
373  for (; node_it != node_end; ++node_it)
374  {
375  Node * node = *node_it;
376 
377  // Skip this node if the variable has no dofs at it.
378  if (node->n_dofs(sys_num, var_num) < 1)
379  continue;
380 
381  unsigned int lowest_app_rank = libMesh::invalid_uint;
382  Real best_val = 0.;
383  bool point_found = false;
384  for (unsigned int i_proc = 0; i_proc < incoming_evals.size(); ++i_proc)
385  {
386  // Skip this proc if the node wasn't in it's bounding boxes.
387  std::pair<unsigned int, unsigned int> key(i_to, node->id());
388  if (point_index_map[i_proc].find(key) == point_index_map[i_proc].end())
389  continue;
390  unsigned int i_pt = point_index_map[i_proc][key];
391 
392  // Ignore this proc if it's app has a higher rank than the
393  // previously found lowest app rank.
394  if (_direction == FROM_MULTIAPP)
395  {
396  if (incoming_app_ids[i_proc][i_pt] >= lowest_app_rank)
397  continue;
398  }
399 
400  // Ignore this proc if the point was actually outside its meshes.
401  if (incoming_evals[i_proc][i_pt] == OutOfMeshValue)
402  continue;
403 
404  best_val = incoming_evals[i_proc][i_pt];
405  point_found = true;
406  }
407 
408  if (_error_on_miss && !point_found)
409  mooseError("Point not found! ", *node + _to_positions[i_to]);
410 
411  dof_id_type dof = node->dof_number(sys_num, var_num, 0);
412  solution->set(dof, best_val);
413  }
414  }
415  else // Elemental
416  {
417  MeshBase::const_element_iterator elem_it = to_mesh->local_elements_begin();
418  MeshBase::const_element_iterator elem_end = to_mesh->local_elements_end();
419 
420  for (; elem_it != elem_end; ++elem_it)
421  {
422  Elem * elem = *elem_it;
423 
424  // Skip this element if the variable has no dofs at it.
425  if (elem->n_dofs(sys_num, var_num) < 1)
426  continue;
427 
428  unsigned int lowest_app_rank = libMesh::invalid_uint;
429  Real best_val = 0;
430  bool point_found = false;
431  for (unsigned int i_proc = 0; i_proc < incoming_evals.size(); ++i_proc)
432  {
433  // Skip this proc if the elem wasn't in it's bounding boxes.
434  std::pair<unsigned int, unsigned int> key(i_to, elem->id());
435  if (point_index_map[i_proc].find(key) == point_index_map[i_proc].end())
436  continue;
437  unsigned int i_pt = point_index_map[i_proc][key];
438 
439  // Ignore this proc if it's app has a higher rank than the
440  // previously found lowest app rank.
441  if (_direction == FROM_MULTIAPP)
442  {
443  if (incoming_app_ids[i_proc][i_pt] >= lowest_app_rank)
444  continue;
445  }
446 
447  // Ignore this proc if the point was actually outside its meshes.
448  if (incoming_evals[i_proc][i_pt] == OutOfMeshValue)
449  continue;
450 
451  best_val = incoming_evals[i_proc][i_pt];
452  point_found = true;
453  }
454 
455  if (_error_on_miss && !point_found)
456  mooseError("Point not found! ", elem->centroid() + _to_positions[i_to]);
457 
458  dof_id_type dof = elem->dof_number(sys_num, var_num, 0);
459  solution->set(dof, best_val);
460  }
461  }
462  solution->close();
463  to_sys->update();
464  }
465 }
NumericVector< Real > & getTransferVector(unsigned int i_local, std::string var_name)
If we are transferring to a multiapp, return the appropriate solution vector.
std::vector< std::vector< Parallel::Request > > _send_ids
To send app ids to other processors.
unsigned int _var_size
The number of variables to transfer.
Class for stuff related to variables.
Definition: MooseVariable.h:43
std::vector< std::vector< Parallel::Request > > _send_points
To send points to other processors.
std::vector< EquationSystems * > _to_es
std::vector< BoundingBox > getFromBoundingBoxes()
Return the bounding boxes of all the "from" domains, including all the domains not local to this proc...
std::vector< FEProblemBase * > _to_problems
std::vector< Point > _from_positions
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
const std::string & name() const
Get the variable name.
virtual EquationSystems & es() override
std::vector< std::vector< Parallel::Request > > _send_evals
To send values to other processors.
std::vector< AuxVariableName > _to_var_name
The vector of variables to transfer to.
virtual std::shared_ptr< DisplacedProblem > getDisplacedProblem()
MooseEnum _direction
Whether we&#39;re transferring to or from the MultiApp.
std::vector< unsigned int > getFromsPerProc()
Return the number of "from" domains that each processor owns.
virtual System & system()=0
Get the reference to the libMesh system.
std::vector< unsigned int > _local2global_map
static const Number OutOfMeshValue
Definition: Transfer.h:81
std::vector< VariableName > _from_var_name
The vector of variables to transfer from.
std::vector< Point > _to_positions
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
static System * find_sys(EquationSystems &es, const std::string &var_name)
Small helper function for finding the system containing the variable.
Definition: Transfer.C:70
SystemBase & sys()
Get the system this variable is part of.
virtual MooseVariable & getVariable(THREAD_ID tid, const std::string &var_name) override
Returns the variable reference for requested variable which may be in any system. ...
std::vector< FEProblemBase * > _from_problems
std::vector< MooseMesh * > _to_meshes
void MultiAppTransfer::variableIntegrityCheck ( const AuxVariableName &  var_name) const
inherited

Utility to verify that the vEariable in the destination system exists.

Definition at line 89 of file MultiAppTransfer.C.

Referenced by MultiAppTransfer::direction(), MultiAppNearestNodeTransfer::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), initialSetup(), MultiAppInterpolationTransfer::initialSetup(), MultiAppUserObjectTransfer::initialSetup(), and MultiAppCopyTransfer::initialSetup().

90 {
91  for (unsigned int i = 0; i < _multi_app->numGlobalApps(); i++)
92  if (_multi_app->hasLocalApp(i) && !find_sys(_multi_app->appProblemBase(i).es(), var_name))
93  mooseError("Cannot find variable ", var_name, " for ", name(), " Transfer");
94 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
static System * find_sys(EquationSystems &es, const std::string &var_name)
Small helper function for finding the system containing the variable.
Definition: Transfer.C:70

Member Data Documentation

MooseApp& MooseObject::_app
protectedinherited

The MooseApp this object is associated with.

Definition at line 108 of file MooseObject.h.

Referenced by AB2PredictorCorrector::AB2PredictorCorrector(), Executioner::addAttributeReporter(), FEProblemBase::addMaterial(), FEProblemBase::addMultiApp(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), FileMesh::buildMesh(), FEProblemBase::checkNonlinearConvergence(), OversampleOutput::cloneMesh(), FEProblemBase::computeJacobian(), FEProblemBase::computeResidualType(), Console::Console(), TimeStepper::constrainStep(), MultiApp::createApp(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), InversePowerMethod::execute(), NonlinearEigen::execute(), Transient::execute(), Steady::execute(), FileOutput::FileOutput(), FEProblemBase::forceOutput(), MooseObject::getMooseApp(), InversePowerMethod::init(), NonlinearEigen::init(), Transient::init(), Steady::init(), MooseMesh::init(), NumPicardIterations::initialize(), TimePeriod::initialSetup(), Console::initialSetup(), MultiApp::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPetscOutput(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), InversePowerMethod::InversePowerMethod(), MooseObject::mooseError(), MooseMesh::MooseMesh(), NonlinearEigen::NonlinearEigen(), Tecplot::output(), Exodus::output(), Nemesis::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::outputNodalVariables(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), Console::outputSystemInformation(), MultiApp::parentOutputPositionChanged(), PerformanceData::PerformanceData(), PetscOutput::petscLinearOutput(), PetscOutput::petscNonlinearOutput(), SubProblem::registerRecoverableData(), SubProblem::registerRestartableData(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), FEProblemBase::timestepSetup(), Transient::Transient(), and Console::write().

const ConsoleStream ConsoleStreamInterface::_console
inherited

An instance of helper class to write streams to the Console objects.

Definition at line 37 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), CreateProblemAction::act(), SetupRecoverFileBaseAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), FEProblemBase::advanceMultiApps(), SimplePredictor::apply(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualType(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), AB2PredictorCorrector::converged(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppInterpolationTransfer::execute(), execute(), MultiAppProjectionTransfer::execute(), MultiAppCopyTransfer::execute(), Steady::execute(), MultiAppDTKUserObjectTransfer::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), MultiApp::globalAppToLocal(), InversePowerMethod::init(), NonlinearEigen::init(), Steady::init(), FEProblemBase::initialAdaptMesh(), FEProblemBase::initialSetup(), EigenExecutionerBase::inversePowerIteration(), Transient::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseObject::mooseDeprecated(), MooseObject::mooseInfo(), MooseObject::mooseWarning(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), NonlinearSystem::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), AStableDirk4::solve(), LStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), Transient::solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), FEProblemBase::useFECache(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

const ExecFlagType& SetupInterface::_current_execute_flag
protectedinherited

Reference to FEProblemBase.

Definition at line 85 of file SetupInterface.h.

MooseEnum MultiAppTransfer::_direction
protectedinherited
bool MultiAppTransfer::_displaced_source_mesh
protectedinherited
bool MultiAppTransfer::_displaced_target_mesh
protectedinherited
const bool& MooseObject::_enabled
protectedinherited

Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.

Definition at line 117 of file MooseObject.h.

Referenced by MooseObject::enabled().

bool MultiAppMeshFunctionTransfer::_error_on_miss
protected

Definition at line 48 of file MultiAppMeshFunctionTransfer.h.

Referenced by transferVariable().

std::vector<ExecFlagType> SetupInterface::_exec_flags
protectedinherited

execution flag (when is the object executed/evaluated)

Definition at line 82 of file SetupInterface.h.

Referenced by SetupInterface::execBitFlags(), SetupInterface::execFlags(), and SetupInterface::SetupInterface().

FEProblemBase& Transfer::_fe_problem
protectedinherited
std::vector<EquationSystems *> MultiAppTransfer::_from_es
protectedinherited

Definition at line 85 of file MultiAppTransfer.h.

Referenced by MultiAppTransfer::getAppInfo().

std::vector<MooseMesh *> MultiAppTransfer::_from_meshes
protectedinherited
std::vector<Point> MultiAppTransfer::_from_positions
protectedinherited
std::vector<FEProblemBase *> MultiAppTransfer::_from_problems
protectedinherited
std::vector<VariableName> MultiAppMeshFunctionTransfer::_from_var_name
protected

The vector of variables to transfer from.

Definition at line 45 of file MultiAppMeshFunctionTransfer.h.

Referenced by initialSetup(), MultiAppMeshFunctionTransfer(), and transferVariable().

std::vector<unsigned int> MultiAppTransfer::_local2global_map
protectedinherited
std::shared_ptr<MultiApp> MultiAppTransfer::_multi_app
protectedinherited
const std::string& MooseObject::_name
protectedinherited
const InputParameters& MooseObject::_pars
protectedinherited
std::vector<std::vector<Parallel::Request> > MultiAppMeshFunctionTransfer::_send_evals
private

To send values to other processors.

Definition at line 59 of file MultiAppMeshFunctionTransfer.h.

Referenced by execute(), and transferVariable().

std::vector<std::vector<Parallel::Request> > MultiAppMeshFunctionTransfer::_send_ids
private

To send app ids to other processors.

Definition at line 61 of file MultiAppMeshFunctionTransfer.h.

Referenced by execute(), and transferVariable().

std::vector<std::vector<Parallel::Request> > MultiAppMeshFunctionTransfer::_send_points
private

To send points to other processors.

Definition at line 57 of file MultiAppMeshFunctionTransfer.h.

Referenced by execute(), and transferVariable().

SubProblem& Transfer::_subproblem
protectedinherited

Definition at line 74 of file Transfer.h.

SystemBase& Transfer::_sys
protectedinherited

Definition at line 76 of file Transfer.h.

THREAD_ID Transfer::_tid
protectedinherited
std::vector<EquationSystems *> MultiAppTransfer::_to_es
protectedinherited
std::vector<MooseMesh *> MultiAppTransfer::_to_meshes
protectedinherited
std::vector<Point> MultiAppTransfer::_to_positions
protectedinherited
std::vector<FEProblemBase *> MultiAppTransfer::_to_problems
protectedinherited
std::vector<AuxVariableName> MultiAppMeshFunctionTransfer::_to_var_name
protected

The vector of variables to transfer to.

Definition at line 43 of file MultiAppMeshFunctionTransfer.h.

Referenced by initialSetup(), MultiAppMeshFunctionTransfer(), and transferVariable().

unsigned int MultiAppMeshFunctionTransfer::_var_size
protected

The number of variables to transfer.

Definition at line 47 of file MultiAppMeshFunctionTransfer.h.

Referenced by execute(), initialSetup(), MultiAppMeshFunctionTransfer(), and transferVariable().

const Number Transfer::OutOfMeshValue = -999999
staticinherited

Definition at line 81 of file Transfer.h.

Referenced by MultiAppProjectionTransfer::execute(), and transferVariable().


The documentation for this class was generated from the following files: