Ejemplo n.º 1
0
void quicksort(int *tab, int p, int r) {
  int q;
  if (p < r) {
    q = partitioning(tab, p, r);
    quicksort(tab, p, q);
    quicksort(tab, q + 1, r);
  }
}
Ejemplo n.º 2
0
InputParameters validParams<LibmeshPartitioner>()
{
  InputParameters params = validParams<MoosePartitioner>();
  MooseEnum partitioning("metis=-2 parmetis=-1 linear=0 centroid hilbert_sfc morton_sfc");
  params.addRequiredParam<MooseEnum>("partitioner", partitioning, "Specifies a mesh partitioner to use when splitting the mesh for a parallel computation.");
  MooseEnum direction("x y z radial");
  params.addParam<MooseEnum>("centroid_partitioner_direction", direction, "Specifies the sort direction if using the centroid partitioner. Available options: x, y, z, radial");
  return params;
}
Ejemplo n.º 3
0
void
CADReader::componentassembly (DOMElement* element)
throw(CADReadException)
{
	std::string element_name;
	DOMNode* child = element->getFirstChild();
	while (child != 0)
	{
		if (child->getNodeType() == DOMNode::ELEMENT_NODE)
		{
			element_name = XMLString::transcode(child->getNodeName());

			//
			// description
			//
			if (element_name == "description")
			{
				description((DOMElement*)(child));
			}

			//
			// componentfiles
			//
			else if (element_name == "componentfiles")
			{
				componentfiles((DOMElement*)(child));
			}

			//
			// partitioning
			//
			else if (element_name == "partitioning")
			{
				partitioning((DOMElement*)(child));
			}

			//
			// connections
			//
			else if (element_name == "connections")
			{
				connections((DOMElement*)(child));
			}

			//
			// extension
			//
			else if (element_name == "extension")
			{
				extension((DOMElement*)(child));
			}
		}

        // get next child
	    child = child->getNextSibling();
	}
}
Ejemplo n.º 4
0
InputParameters
validParams<LibmeshPartitioner>()
{
  InputParameters params = validParams<MoosePartitioner>();
  MooseEnum partitioning(
      "metis=-2 parmetis=-1 linear=0 centroid hilbert_sfc morton_sfc subdomain_partitioner");
  params.addRequiredParam<MooseEnum>(
      "partitioner",
      partitioning,
      "Specifies a mesh partitioner to use when splitting the mesh for a parallel computation.");
  MooseEnum direction("x y z radial");
  params.addParam<MooseEnum>("centroid_partitioner_direction",
                             direction,
                             "Specifies the sort direction if using the centroid partitioner. "
                             "Available options: x, y, z, radial");
  params.addParam<std::vector<std::vector<SubdomainName>>>(
      "blocks", "Block is seperated by ;, and partition mesh block by block. ");
  return params;
}