当前位置: 首页>>代码示例>>C++>>正文


C++ SystemBase类代码示例

本文整理汇总了C++中SystemBase的典型用法代码示例。如果您正苦于以下问题:C++ SystemBase类的具体用法?C++ SystemBase怎么用?C++ SystemBase使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了SystemBase类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

std::set<SubdomainID>
BlockRestrictable::variableSubdomainIDs(const InputParameters & parameters) const
{
  // This method may be called before initializing the object. It doesn't use
  // any information from the class state.

  // Return an empty set if _sys is not defined
  if (!parameters.isParamValid("_sys"))
    return std::set<SubdomainID>();

  // Get the SystemBase and the thread id
  SystemBase* sys = parameters.get<SystemBase *>("_sys");
  THREAD_ID tid = parameters.get<THREAD_ID>("_tid");

  // Pointer to MooseVariable
  MooseVariable * var = NULL;

  // Get the variable based on the type
  if (parameters.have_parameter<NonlinearVariableName>("variable"))
    var = &_blk_feproblem->getVariable(tid, parameters.get<NonlinearVariableName>("variable"));
  else if (parameters.have_parameter<AuxVariableName>("variable"))
    var = &_blk_feproblem->getVariable(tid, parameters.get<AuxVariableName>("variable"));
  else
    mooseError("Unknown variable.");

  // Return the block ids for the variable
  return sys->getSubdomainsForVar(var->number());
}
开发者ID:garvct,项目名称:Moose,代码行数:28,代码来源:BlockRestrictable.C

示例2: extraSparsity

/// Free function used for a libMesh callback
void extraSparsity(SparsityPattern::Graph & sparsity,
                   std::vector<dof_id_type> & n_nz,
                   std::vector<dof_id_type> & n_oz,
                   void * context)
{
  SystemBase * sys = static_cast<SystemBase *>(context);
  sys->augmentSparsity(sparsity, n_nz, n_oz);
}
开发者ID:amccaskey,项目名称:moose,代码行数:9,代码来源:SystemBase.C

示例3:

MooseVariableBase::MooseVariableBase(unsigned int var_num, SystemBase & sys, Assembly & assembly, Moose::VarKindType var_kind) :
    _var_num(var_num),
    _var_kind(var_kind),
    _subproblem(sys.subproblem()),
    _sys(sys),
    _variable(sys.system().variable(_var_num)),
    _assembly(assembly),
    _dof_map(sys.dofMap()),
    _scaling_factor(1.0)
{
}
开发者ID:AhmedAly83,项目名称:moose,代码行数:11,代码来源:MooseVariableBase.C

示例4: dataLoad

void
dataLoad(std::istream & stream, SystemBase & system_base, void * context)
{
  System & libmesh_system = system_base.system();

  NumericVector<Real> & solution = *(libmesh_system.solution.get());

  dataLoad(stream, solution, context);

  for (System::vectors_iterator it = libmesh_system.vectors_begin();
       it != libmesh_system.vectors_end();
       it++)
    dataLoad(stream, *(it->second), context);

  system_base.update();
}
开发者ID:amccaskey,项目名称:moose,代码行数:16,代码来源:SystemBase.C

示例5:

MooseVariableBase::MooseVariableBase(unsigned int var_num,
                                     const FEType & fe_type,
                                     SystemBase & sys,
                                     Moose::VarKindType var_kind,
                                     THREAD_ID tid)
  : _var_num(var_num),
    _fe_type(fe_type),
    _var_kind(var_kind),
    _subproblem(sys.subproblem()),
    _sys(sys),
    _variable(sys.system().variable(_var_num)),
    _dof_map(sys.dofMap()),
    _mesh(_subproblem.mesh()),
    _scaling_factor(1.0),
    _computing_jacobian(false),
    _tid(tid)
{
}
开发者ID:aashiquear,项目名称:moose,代码行数:18,代码来源:MooseVariableBase.C

示例6: getFE

Assembly::Assembly(SystemBase & sys, CouplingMatrix * & cm, THREAD_ID tid) :
    _sys(sys),
    _cm(cm),
    _dof_map(_sys.dofMap()),
    _tid(tid),
    _mesh(sys.mesh()),
    _mesh_dimension(_mesh.dimension()),
    _current_qrule(NULL),
    _current_qrule_volume(NULL),
    _current_qrule_arbitrary(NULL),
    _current_qrule_face(NULL),
    _current_qface_arbitrary(NULL),
    _current_qrule_neighbor(NULL),

    _current_elem(NULL),
    _current_side(0),
    _current_side_elem(NULL),
    _current_neighbor_elem(NULL),
    _current_neighbor_side(0),
    _current_node(NULL),
    _current_neighbor_node(NULL),

    _should_use_fe_cache(false),
    _currently_fe_caching(true),

    _cached_residual_values(2), // The 2 is for TIME and NONTIME
    _cached_residual_rows(2), // The 2 is for TIME and NONTIME

    _max_cached_residuals(0),
    _max_cached_jacobians(0),
    _block_diagonal_matrix(false)
{
  // Build fe's for the helpers
  getFE(FEType(FIRST, LAGRANGE));
  getFEFace(FEType(FIRST, LAGRANGE));

  // Build an FE helper object for this type for each dimension up to the dimension of the current mesh
  for(unsigned int dim=1; dim<=_mesh_dimension; dim++)
  {
    _holder_fe_helper[dim] = &_fe[dim][FEType(FIRST, LAGRANGE)];
    (*_holder_fe_helper[dim])->get_phi();
    (*_holder_fe_helper[dim])->get_dphi();
    (*_holder_fe_helper[dim])->get_xyz();
    (*_holder_fe_helper[dim])->get_JxW();

    _holder_fe_face_helper[dim] = &_fe_face[dim][FEType(FIRST, LAGRANGE)];
    (*_holder_fe_face_helper[dim])->get_phi();
    (*_holder_fe_face_helper[dim])->get_dphi();
    (*_holder_fe_face_helper[dim])->get_xyz();
    (*_holder_fe_face_helper[dim])->get_JxW();
    (*_holder_fe_face_helper[dim])->get_normals();
  }
}
开发者ID:Jieun2,项目名称:moose,代码行数:53,代码来源:Assembly.C

示例7:

void
CopyNodalVarsAction::act()
{
  if (isParamValid("initial_from_file_var"))
  {
    SystemBase * system;

    if (_current_task == "check_copy_nodal_vars")
      _app.setFileRestart() = true;
    else
    {
      // Is this a NonlinearSystem variable or an AuxiliarySystem variable?
      if (_current_task == "copy_nodal_vars")
        system = &_problem->getNonlinearSystem();
      else
        system = &_problem->getAuxiliarySystem();

      system->addVariableToCopy(getShortName(), getParam<std::string>("initial_from_file_var"), getParam<int>("initial_from_file_timestep"));
    }
  }
}
开发者ID:ChaliZhg,项目名称:moose,代码行数:21,代码来源:CopyNodalVarsAction.C

示例8:

ComputeUserObjectsThread::ComputeUserObjectsThread(
    FEProblemBase & problem,
    SystemBase & sys,
    const MooseObjectWarehouse<ElementUserObject> & elemental_user_objects,
    const MooseObjectWarehouse<SideUserObject> & side_user_objects,
    const MooseObjectWarehouse<InternalSideUserObject> & internal_side_user_objects)
  : ThreadedElementLoop<ConstElemRange>(problem),
    _soln(*sys.currentSolution()),
    _elemental_user_objects(elemental_user_objects),
    _side_user_objects(side_user_objects),
    _internal_side_user_objects(internal_side_user_objects)
{
}
开发者ID:mangerij,项目名称:moose,代码行数:13,代码来源:ComputeUserObjectsThread.C

示例9: ComponentMakeupChanged

		void SystemBase::ComponentMakeupChanged(Entity *e, uint64 oldFlags, uint64 newFlags)
		{
			const uint32 count = systems.size();
			for(uint32 i = 0; i < count; i++) {
				SystemBase *s = systems[i];
				if(s->CompatibleWith(newFlags)) {
					if(!s->CompatibleWith(oldFlags)) {
						// Became compatible
						s->Add(e);
					}
				} else {
					if(s->CompatibleWith(oldFlags)) {
						// Became incompatible
						s->Remove(e);
					}
				}
			}
		}
开发者ID:ericroy,项目名称:maki-engine,代码行数:18,代码来源:MakiSystem.cpp

示例10: extraSendList

/// Free function used for a libMesh callback
void extraSendList(std::vector<dof_id_type> & send_list, void * context)
{
  SystemBase * sys = static_cast<SystemBase *>(context);
  sys->augmentSendList(send_list);
}
开发者ID:amccaskey,项目名称:moose,代码行数:6,代码来源:SystemBase.C


注:本文中的SystemBase类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。