const VariableGradient & NeighborCoupleable::coupledNeighborGradientOld(const std::string & var_name, unsigned int comp) { if (_neighbor_nodal) mooseError("Nodal variables do not have gradients"); validateExecutionerType(var_name, "coupledNeighborGradientOld"); MooseVariable * var = getVar(var_name, comp); return (_c_is_implicit) ? var->gradSlnOldNeighbor() : var->gradSlnOlderNeighbor(); }
const VariableGradient & NeighborCoupleable::coupledNeighborGradientOlder(const std::string & var_name, unsigned int comp) { if (_neighbor_nodal) mooseError("Nodal variables do not have gradients"); validateExecutionerType(var_name, "coupledNeighborGradientOlder"); MooseVariable * var = getVar(var_name, comp); if (_c_is_implicit) return var->gradSlnOlderNeighbor(); else mooseError("Older values not available for explicit schemes"); }
const VariableGradient & Coupleable::coupledGradientOld(const std::string & var_name, unsigned int comp) { if (!isCoupled(var_name)) // Return default 0 return _default_gradient; coupledCallback(var_name, true); if (_nodal) mooseError("Nodal variables do not have gradients"); validateExecutionerType(var_name); MooseVariable * var = getVar(var_name, comp); if (!_coupleable_neighbor) return (_c_is_implicit) ? var->gradSlnOld() : var->gradSlnOlder(); else return (_c_is_implicit) ? var->gradSlnOldNeighbor() : var->gradSlnOlderNeighbor(); }