Line data Source code
1 : //* This file is part of the MOOSE framework 2 : //* https://mooseframework.inl.gov 3 : //* 4 : //* All rights reserved, see COPYRIGHT for full restrictions 5 : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT 6 : //* 7 : //* Licensed under LGPL 2.1, please see LICENSE for details 8 : //* https://www.gnu.org/licenses/lgpl-2.1.html 9 : 10 : #pragma once 11 : 12 : #include "Component1DConnection.h" 13 : 14 : /** 15 : * Base class for junctions of 1D components 16 : */ 17 : class Component1DJunction : public Component1DConnection 18 : { 19 : public: 20 : Component1DJunction(const InputParameters & params); 21 : 22 : protected: 23 : virtual void setupMesh() override; 24 : virtual void initSecondary() override; 25 : virtual void check() const override; 26 : 27 : /// Gets the element IDs of the connected 1D components 28 : const std::vector<dof_id_type> & getConnectedElementIDs() { return _connected_elems; } 29 : /// Gets the processor IDs of the connected 1D components 30 1511 : const std::vector<processor_id_type> & getConnectedProcessorIDs() { return _proc_ids; } 31 : 32 : // TODO: make _connected_elems and _proc_ids private (after applications 33 : // switch to using the getter methods) 34 : /// Element IDs of connected 1D components 35 : std::vector<dof_id_type> _connected_elems; 36 : /// Processor IDs of connected 1D components 37 : std::vector<processor_id_type> _proc_ids; 38 : 39 : /// Junction subdomain ID 40 : subdomain_id_type _junction_subdomain_id; 41 : 42 : public: 43 : static InputParameters validParams(); 44 : };