예제 #1
0
SystemBase::SystemBase(SubProblem & subproblem, const std::string & name) :
    libMesh::ParallelObject(subproblem),
    _subproblem(subproblem),
    _app(subproblem.getMooseApp()),
    _factory(_app.getFactory()),
    _mesh(subproblem.mesh()),
    _name(name),
    _currently_computing_jacobian(false),
    _vars(libMesh::n_threads()),
    _var_map()
{
}
예제 #2
0
NearestNodeLocator::NearestNodeLocator(SubProblem & subproblem,
                                       MooseMesh & mesh,
                                       BoundaryID boundary1,
                                       BoundaryID boundary2)
  : Restartable(subproblem.getMooseApp(),
                Moose::stringify(boundary1) + Moose::stringify(boundary2),
                "NearestNodeLocator",
                0),
    _subproblem(subproblem),
    _mesh(mesh),
    _slave_node_range(NULL),
    _boundary1(boundary1),
    _boundary2(boundary2),
    _first(true),
    _patch_update_strategy(_mesh.getPatchUpdateStrategy())
{
  /*
  //sanity check on boundary ids
  const std::set<BoundaryID>& bids=_mesh.getBoundaryIDs();
  std::set<BoundaryID>::const_iterator sit;
  sit=bids.find(_boundary1);
  if (sit == bids.end())
    mooseError("NearestNodeLocator being created for boundaries ", _boundary1, " and ", _boundary2,
  ", but boundary ", _boundary1, " does not exist");
  sit=bids.find(_boundary2);
  if (sit == bids.end())
    mooseError("NearestNodeLocator being created for boundaries ", _boundary1, " and ", _boundary2,
  ", but boundary ", _boundary2, " does not exist");
  */
}