https://mooseframework.inl.gov
Loading...
Searching...
No Matches
TimedElementSubdomainModifier.h
Go to the documentation of this file.
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
13
18{
19public:
21
23
24 virtual void initialize() override;
25
26protected:
32 virtual std::vector<Real> getTimes() = 0;
33
36 {
37 Real time;
38 std::size_t index;
39
40 bool operator<(const TimeIndexPair & a) const
41 {
42 if (time == a.time)
43 return index < a.index;
44 else
45 return time < a.time;
46 }
47 };
48
50 std::set<TimeIndexPair> _times_and_indices;
51};
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Modifies element subdomains only at a given list of times.
virtual std::vector< Real > getTimes()=0
Requests a vector of all times from the inheriting class (these do not have to be sorted and may have...
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
std::set< TimeIndexPair > _times_and_indices
Times and subdomain changes to make.
storage for the times including their original index.