12 #include "libmesh/mesh_function.h" 13 #include "libmesh/exodusII_io.h" 14 #include "libmesh/nemesis_io.h" 25 "Reads a variable from a mesh in one simulation to another specifically for loading forward " 26 "solution in adjoint simulation during inverse optimization.");
30 "End time used for reversing the time integration when evaluating function derivative.");
42 _reverse_time_end(getParam<
Real>(
"reverse_time_end")),
43 _file_mod_time(
std::numeric_limits<
std::time_t>::
min())
47 "Performing transient adjoint simulation currently only works if the forward " 48 "solution is written and read from exodus format.");
static InputParameters validParams()
std::unique_ptr< libMesh::EquationSystems > _es
virtual void initialSetup() override
void paramError(const std::string ¶m, Args... args) const
static InputParameters validParams()
const Real & _reverse_time_end
Mapping between adjoint simulation time and adjoint simulation time.
std::unique_ptr< libMesh::EquationSystems > _es2
AdjointSolutionUserObject(const InputParameters ¶meters)
virtual void timestepSetup() override
registerMooseObject("OptimizationApp", AdjointSolutionUserObject)
std::time_t _file_mod_time
The system time of the last instance the file was loaded.
virtual Real solutionSampleTime() override
bool hasExtension(const std::string &filename, std::string ext, bool strip_exodus_ext)
virtual void timestepSetup() override
This will read a the files again if they have been re-written from optimization iteration.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
auto min(const L &left, const R &right)