Skip to content

Commit

Permalink
Merge pull request #13242 from dschwen/linearized_gap_conductance_13221
Browse files Browse the repository at this point in the history
Linearized gap conductance
  • Loading branch information
permcody committed Apr 18, 2019
2 parents 24d3a9d + 1fafcdb commit 120425a
Show file tree
Hide file tree
Showing 65 changed files with 515 additions and 98 deletions.
@@ -0,0 +1,16 @@
# MeshCollectionGenerator

## Overview

The `MeshCollectionGenerator` creates a new mesh that is a collection of
submeshes (provides in the `inputs` parameter`), The submeshes are not linked in
any way and interaction between them only occurs due to contact or other
constraints.

## Further MeshCollectionGenerator Documentation

!syntax parameters /MeshGenerators/MeshCollectionGenerator

!syntax inputs /MeshGenerators/MeshCollectionGenerator

!syntax children /MeshGenerators/MeshCollectionGenerator
Expand Up @@ -2,7 +2,10 @@

## Overview

The `StitchedMeshGenerator` object allows for multiple mesh files to be "stitched" together to form a single mesh for use in a simulation.
The `StitchedMeshGenerator` object allows for multiple mesh files to be
"stitched" together to form a single mesh for use in a simulation. This
generator will combine overlapping nodes and turn overlapping external sides
into internal sides to form a connected mesh.

## Further StitchedMeshGenerator Documentation

Expand Down
Expand Up @@ -28,7 +28,7 @@ class AllSideSetsByNormalsGenerator : public SideSetsGeneratorBase
public:
AllSideSetsByNormalsGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
boundary_id_type getNextBoundaryID();
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/AnnularMeshGenerator.h
Expand Up @@ -26,7 +26,7 @@ class AnnularMeshGenerator : public MeshGenerator
public:
AnnularMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/// Number of elements in radial direction
Expand Down
Expand Up @@ -36,7 +36,7 @@ class BoundingBoxNodeSetGenerator : public MeshGenerator
public:
BoundingBoxNodeSetGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -26,7 +26,7 @@ class BreakBoundaryOnSubdomainGenerator : public MeshGenerator
public:
BreakBoundaryOnSubdomainGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -22,7 +22,7 @@ class BreakMeshByBlockGenerator : public BreakMeshByBlockGeneratorBase
public:
BreakMeshByBlockGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -26,7 +26,7 @@ class ConcentricCircleMeshGenerator : public MeshGenerator
public:
ConcentricCircleMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/// Number of sectors in one quadrant
Expand Down
Expand Up @@ -30,7 +30,7 @@ class ElementDeletionGeneratorBase : public MeshGenerator
public:
ElementDeletionGeneratorBase(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/ElementGenerator.h
Expand Up @@ -26,7 +26,7 @@ class ElementGenerator : public MeshGenerator
public:
ElementGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

Elem * getElemType(const std::string & type);

Expand Down
Expand Up @@ -26,7 +26,7 @@ class ElementSubdomainIDGenerator : public MeshGenerator
public:
ElementSubdomainIDGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/ExtraNodesetGenerator.h
Expand Up @@ -26,7 +26,7 @@ class ExtraNodesetGenerator : public MeshGenerator
public:
ExtraNodesetGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/FileMeshGenerator.h
Expand Up @@ -26,7 +26,7 @@ class FileMeshGenerator : public MeshGenerator
public:
FileMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
const MeshFileName & _file_name;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/GeneratedMeshGenerator.h
Expand Up @@ -27,7 +27,7 @@ class GeneratedMeshGenerator : public MeshGenerator
public:
GeneratedMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/// The dimension of the mesh
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/ImageMeshGenerator.h
Expand Up @@ -28,7 +28,7 @@ class ImageMeshGenerator : public GeneratedMeshGenerator, public FileRangeBuilde
public:
ImageMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/**
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/ImageSubdomainGenerator.h
Expand Up @@ -27,7 +27,7 @@ class ImageSubdomainGenerator : public MeshGenerator, public MeshBaseImageSample
public:
ImageSubdomainGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -26,7 +26,7 @@ class LowerDBlockFromSidesetGenerator : public MeshGenerator
public:
LowerDBlockFromSidesetGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
41 changes: 41 additions & 0 deletions framework/include/meshgenerators/MeshCollectionGenerator.h
@@ -0,0 +1,41 @@
//* This file is part of the MOOSE framework
//* https://www.mooseframework.org
//*
//* All rights reserved, see COPYRIGHT for full restrictions
//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
//*
//* Licensed under LGPL 2.1, please see LICENSE for details
//* https://www.gnu.org/licenses/lgpl-2.1.html

#ifndef MESHCOLLECTIONGENERATOR_H
#define MESHCOLLECTIONGENERATOR_H

#include "MeshGenerator.h"
#include "libmesh/replicated_mesh.h"
#include "MooseEnum.h"

// Forward declarations
class MeshCollectionGenerator;

template <>
InputParameters validParams<MeshCollectionGenerator>();

/**
* Collects multiple meshes into a single (unconnected) mesh
*/
class MeshCollectionGenerator : public MeshGenerator
{
public:
MeshCollectionGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate() override;

protected:
/// The mesh generators to read
const std::vector<MeshGeneratorName> & _input_names;

// Holds pointers to the mesh smart pointers (to be populated later).
std::vector<std::unique_ptr<MeshBase> *> _meshes;
};

#endif // MESHCOLLECTIONGENERATOR_H
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/MeshExtruderGenerator.h
Expand Up @@ -28,7 +28,7 @@ class MeshExtruderGenerator : public MeshGenerator
public:
MeshExtruderGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/// Mesh that comes from another generator
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/MeshSideSetGenerator.h
Expand Up @@ -26,7 +26,7 @@ class MeshSideSetGenerator : public MeshGenerator
public:
MeshSideSetGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -29,7 +29,7 @@ class OrientedSubdomainBoundingBoxGenerator : public MeshGenerator, public Orien
public:
OrientedSubdomainBoundingBoxGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/ParsedGenerateSideset.h
Expand Up @@ -30,7 +30,7 @@ class ParsedGenerateSideset : public SideSetsGeneratorBase, public FunctionParse
public:
ParsedGenerateSideset(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -27,7 +27,7 @@ class ParsedSubdomainMeshGenerator : public MeshGenerator, public FunctionParser
public:
ParsedSubdomainMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/PatternedMeshGenerator.h
Expand Up @@ -34,7 +34,7 @@ class PatternedMeshGenerator : public MeshGenerator
public:
PatternedMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/// The mesh generators to read
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/RenameBlockGenerator.h
Expand Up @@ -26,7 +26,7 @@ class RenameBlockGenerator : public MeshGenerator
public:
RenameBlockGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/RenameBoundaryGenerator.h
Expand Up @@ -26,7 +26,7 @@ class RenameBoundaryGenerator : public MeshGenerator
public:
RenameBoundaryGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/RinglebMeshGenerator.h
Expand Up @@ -29,7 +29,7 @@ class RinglebMeshGenerator : public MeshGenerator
// No copy
RinglebMeshGenerator & operator=(const RinglebMeshGenerator & other_mesh) = delete;

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

// This function computes the different parameters a, rho, p and J
std::vector<Real> arhopj(const Real & gamma, const std::vector<Real> & q, const int & index);
Expand Down
Expand Up @@ -31,7 +31,7 @@ class SideSetsAroundSubdomainGenerator : public SideSetsGeneratorBase
public:
SideSetsAroundSubdomainGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -26,7 +26,7 @@ class SideSetsBetweenSubdomainsGenerator : public MeshGenerator
public:
SideSetsBetweenSubdomainsGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -28,7 +28,7 @@ class SideSetsFromBoundingBoxGenerator : public MeshGenerator
public:
SideSetsFromBoundingBoxGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -26,7 +26,7 @@ class SideSetsFromNormalsGenerator : public SideSetsGeneratorBase
public:
SideSetsFromNormalsGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
Expand Up @@ -26,7 +26,7 @@ class SideSetsFromPointsGenerator : public SideSetsGeneratorBase
public:
SideSetsFromPointsGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/SmoothMeshGenerator.h
Expand Up @@ -26,7 +26,7 @@ class SmoothMeshGenerator : public MeshGenerator
public:
SmoothMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/// Mesh that possibly comes from another generator
Expand Down
Expand Up @@ -29,7 +29,7 @@ class SpiralAnnularMeshGenerator : public MeshGenerator
// No copy
SpiralAnnularMeshGenerator & operator=(const SpiralAnnularMeshGenerator & other_mesh) = delete;

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/// Radius of the inner circle
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/StitchedMeshGenerator.h
Expand Up @@ -28,7 +28,7 @@ class StitchedMeshGenerator : public MeshGenerator
public:
StitchedMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/// The mesh files to read
Expand Down
Expand Up @@ -34,7 +34,7 @@ class SubdomainBoundingBoxGenerator : public MeshGenerator
public:
SubdomainBoundingBoxGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/SubdomainIDGenerator.h
Expand Up @@ -26,7 +26,7 @@ class SubdomainIDGenerator : public MeshGenerator
public:
SubdomainIDGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/TiledMeshGenerator.h
Expand Up @@ -26,7 +26,7 @@ class TiledMeshGenerator : public MeshGenerator
public:
TiledMeshGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
/// Mesh that possibly comes from another generator
Expand Down
2 changes: 1 addition & 1 deletion framework/include/meshgenerators/TransformGenerator.h
Expand Up @@ -24,7 +24,7 @@ class TransformGenerator : public MeshGenerator
public:
TransformGenerator(const InputParameters & parameters);

std::unique_ptr<MeshBase> generate();
std::unique_ptr<MeshBase> generate() override;

protected:
std::unique_ptr<MeshBase> & _input;
Expand Down

0 comments on commit 120425a

Please sign in to comment.