https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
LevelSetMeshRefinementTransfer Class Reference

Copies the refinement marker from the master to the sub-application. More...

#include <LevelSetMeshRefinementTransfer.h>

Inheritance diagram for LevelSetMeshRefinementTransfer:
[legend]

Public Types

enum  DIRECTION
 
typedef DataFileName DataFileParameterType
 

Public Member Functions

 LevelSetMeshRefinementTransfer (const InputParameters &parameters)
 
virtual void initialSetup () override
 
virtual void execute () override
 
void variableIntegrityCheck (const AuxVariableName &var_name, bool is_from_multiapp) const
 
const std::shared_ptr< MultiAppgetMultiApp () const
 
const std::shared_ptr< MultiAppgetFromMultiApp () const
 
const std::shared_ptr< MultiAppgetToMultiApp () const
 
std::string getFromName () const
 
std::string getToName () const
 
bool hasFromMultiApp () const
 
bool hasToMultiApp () const
 
virtual void getAppInfo ()
 
const MultiMooseEnumdirections ()
 
void setCurrentDirection (const int direction)
 
bool executeAfterSiblingSourceApp () const
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
bool isKokkosObject () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
const std::string & name () const
 
std::string typeAndName () const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParametersparameters () const
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
const TgetParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const TqueryParam (const std::string &name) const
 
const TgetRenamedParam (const std::string &old_name, const std::string &new_name) const
 
T getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &name) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 
void mooseError (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecatedNoTrace (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
virtual void timestepSetup ()
 
virtual void jacobianSetup ()
 
virtual void residualSetup ()
 
virtual void subdomainSetup ()
 
virtual void customSetup (const ExecFlagType &)
 
const ExecFlagEnumgetExecuteOnEnum () const
 
PerfGraphperfGraph ()
 
MooseEnum direction ()
 
MooseEnum direction ()
 
MooseEnum currentDirection ()
 
MooseEnum currentDirection ()
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Static Public Member Functions

static InputParameters validParams ()
 
static void callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true)
 
static void addSkipCoordCollapsingParam (InputParameters &params)
 
static libMesh::Systemfind_sys (libMesh::EquationSystems &es, const std::string &var_name)
 
static std::string possibleDirections ()
 

Public Attributes

 TO_MULTIAPP
 
 FROM_MULTIAPP
 
 BETWEEN_MULTIAPP
 
 usingCombinedWarningSolutionWarnings
 
const ConsoleStream _console
 

Static Public Attributes

static const libMesh::Number OutOfMeshValue
 
static const std::string type_param
 
static const std::string name_param
 
static const std::string unique_name_param
 
static const std::string app_param
 
static const std::string moose_base_param
 
static const std::string kokkos_object_param
 

Protected Member Functions

virtual std::vector< VariableName > getFromVarNames () const override
 
virtual std::vector< AuxVariableName > getToVarNames () const override
 
void transfer (FEProblemBase &to_problem, FEProblemBase &from_problem)
 
void transferDofObject (libMesh::DofObject *to_object, libMesh::DofObject *from_object, MooseVariableFieldBase &to_var, MooseVariableFieldBase &from_var, NumericVector< Number > &to_solution, NumericVector< Number > &from_solution)
 
libMesh::EquationSystemsgetEquationSystem (FEProblemBase &problem, bool use_displaced) const
 
std::vector< unsigned intgetFromsPerProc ()
 
libMesh::NumericVector< Real > & getTransferVector (unsigned int i_local, std::string var_name)
 
unsigned int getGlobalSourceAppIndex (unsigned int i_from) const
 
unsigned int getGlobalTargetAppIndex (unsigned int i_to) const
 
unsigned int getLocalSourceAppIndex (unsigned int i_from) const
 
void checkParentAppUserObjectExecuteOn (const std::string &object_name) const
 
void errorIfObjectExecutesOnTransferInSourceApp (const std::string &object_name) const
 
Point getPointInTargetAppFrame (const Point &p, unsigned int local_i_to, const std::string &phase) const
 
Point getPointInSourceAppFrame (const Point &p, unsigned int local_i_from, const std::string &phase) const
 
void checkMultiAppExecuteOn ()
 
void checkVariable (const FEProblemBase &fe_problem, const VariableName &var_name, const std::string &param_name="") const
 
void extendBoundingBoxes (const Real factor, std::vector< libMesh::BoundingBox > &bboxes) const
 
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 
TdeclareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< TdeclareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const TgetRestartableData (const std::string &data_name) const
 
TdeclareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
TdeclareRecoverableData (const std::string &data_name, Args &&... args)
 
TdeclareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
TdeclareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 
std::string timedSectionName (const std::string &section_name) const
 
std::vector< libMesh::BoundingBoxgetFromBoundingBoxes ()
 
std::vector< libMesh::BoundingBoxgetFromBoundingBoxes (BoundaryID boundary_id)
 
std::vector< libMesh::BoundingBoxgetFromBoundingBoxes ()
 
std::vector< libMesh::BoundingBoxgetFromBoundingBoxes (BoundaryID boundary_id)
 

Static Protected Member Functions

static void addUserObjectExecutionCheckParam (InputParameters &params)
 
static void addBBoxFactorParam (InputParameters &params)
 
static void transformBoundingBox (libMesh::BoundingBox &box, const MultiAppCoordTransform &transform)
 

Protected Attributes

const std::vector< VariableName > _from_var_names
 
const std::vector< AuxVariableName > _to_var_names
 
VariableName _from_var_name
 
AuxVariableName _to_var_name
 
const bool _has_block_restrictions
 
std::set< SubdomainID_from_blocks
 
std::set< SubdomainID_to_blocks
 
std::shared_ptr< MultiApp_multi_app
 
std::vector< FEProblemBase * > _to_problems
 
std::vector< FEProblemBase * > _from_problems
 
std::vector< libMesh::EquationSystems * > _to_es
 
std::vector< libMesh::EquationSystems * > _from_es
 
std::vector< MooseMesh * > _to_meshes
 
std::vector< MooseMesh * > _from_meshes
 
std::vector< Point > _to_positions
 
std::vector< Point > _from_positions
 
std::vector< std::unique_ptr< MultiAppCoordTransform > > _to_transforms
 
std::vector< std::unique_ptr< MultiAppCoordTransform > > _from_transforms
 
const bool _skip_coordinate_collapsing
 
bool _displaced_source_mesh
 
bool _displaced_target_mesh
 
Real _bbox_factor
 
std::vector< unsigned int_to_local2global_map
 
std::vector< unsigned int_from_local2global_map
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
SystemBase_sys
 
THREAD_ID _tid
 
MultiMooseEnum _directions
 
const bool _exec_after_source_app_exec
 
const bool & _enabled
 
MooseApp_app
 
Factory_factory
 
ActionFactory_action_factory
 
const std::string & _type
 
const std::string & _name
 
const InputParameters_pars
 
const ExecFlagEnum_execute_enum
 
const ExecFlagType_current_execute_flag
 
MooseApp_restartable_app
 
const std::string _restartable_system_name
 
const THREAD_ID _restartable_tid
 
const bool _restartable_read_only
 
MooseApp_pg_moose_app
 
const std::string _prefix
 
MooseEnum _direction
 
MooseEnum _current_direction
 
const Parallel::Communicator & _communicator
 

Private Member Functions

virtual void checkSiblingsTransferSupported () const override
 
virtual bool usesMooseAppCoordTransform () const
 
Point mapBackWithoutCollapsing (MultiAppCoordTransform &transform, const Point &p, const std::string &phase) const
 
void getFromMultiAppInfo ()
 
void getToMultiAppInfo ()
 
RestartableDataValueregisterRestartableDataOnApp (std::unique_ptr< RestartableDataValue > data, THREAD_ID tid) const
 
void registerRestartableNameWithFilterOnApp (const std::string &name, Moose::RESTARTABLE_FILTER filter)
 
RestartableData< T > & declareRestartableDataHelper (const std::string &data_name, void *context, Args &&... args) const
 

Static Private Member Functions

static const hit::Node * getHitNode (const InputParameters &params)
 
static std::string messagePrefix (const InputParameters &params, const bool hit_prefix)
 

Private Attributes

std::shared_ptr< MultiApp_from_multi_app
 
std::shared_ptr< MultiApp_to_multi_app
 
std::unique_ptr< MooseAppCoordTransform_from_moose_app_transform
 
std::unique_ptr< MooseAppCoordTransform_to_moose_app_transform
 
const ParallelParamObject_parent
 
const MooseBase_si_moose_base
 
const FEProblemBase_si_problem
 
ExecFlagEnum _empty_execute_enum
 
const RestartableDataMapName _metaname
 
std::string _restartable_name
 

Detailed Description

Copies the refinement marker from the master to the sub-application.

Definition at line 17 of file LevelSetMeshRefinementTransfer.h.

Constructor & Destructor Documentation

◆ LevelSetMeshRefinementTransfer()

LevelSetMeshRefinementTransfer::LevelSetMeshRefinementTransfer ( const InputParameters parameters)

Definition at line 41 of file LevelSetMeshRefinementTransfer.C.

43{
44 if (hasFromMultiApp())
45 paramError("from_multi_app", "from_multiapp or between_multiapp transfers are not supported");
46}
const InputParameters & parameters() const
void paramError(const std::string &param, Args... args) const
bool hasFromMultiApp() const

Member Function Documentation

◆ execute()

void LevelSetMeshRefinementTransfer::execute ( )
overridevirtual

Reimplemented from MultiAppCopyTransfer.

Definition at line 69 of file LevelSetMeshRefinementTransfer.C.

70{
73
75 {
76 for (unsigned int i = 0; i < getToMultiApp()->numGlobalApps(); i++)
77 if (getToMultiApp()->hasLocalApp(i))
78 {
79 FEProblemBase & to_problem = getToMultiApp()->appProblemBase(i);
80 Adaptivity & adapt = to_problem.adaptivity();
81 adapt.setAdaptivityOn(true);
82 to_problem.adaptMesh();
83 adapt.setAdaptivityOn(false);
84 }
85 }
86}
void setAdaptivityOn(bool state)
virtual bool adaptMesh()
Adaptivity & adaptivity()
virtual void execute() override
const std::shared_ptr< MultiApp > getToMultiApp() const
const ExecFlagType & _current_execute_flag
const ExecFlagType EXEC_COMPUTE_MARKERS
const ExecFlagType EXEC_ADAPT_MESH

◆ initialSetup()

void LevelSetMeshRefinementTransfer::initialSetup ( )
overridevirtual

Reimplemented from MultiAppFieldTransfer.

Definition at line 49 of file LevelSetMeshRefinementTransfer.C.

50{
51 FEProblemBase & from_problem = getToMultiApp()->problemBase();
52 for (unsigned int i = 0; i < getToMultiApp()->numGlobalApps(); i++)
53 if (getToMultiApp()->hasLocalApp(i))
54 {
55 FEProblemBase & to_problem = getToMultiApp()->appProblemBase(i);
56 MooseVariable & to_var = to_problem.getStandardVariable(0, _to_var_name);
57 Adaptivity & adapt = to_problem.adaptivity();
58 adapt.setMarkerVariableName(to_var.name());
59 adapt.setCyclesPerStep(from_problem.adaptivity().getCyclesPerStep());
60 MooseEnum adaptivity_type("h p hp", "h");
61 adapt.init(1, 0, adaptivity_type.getEnum<AdaptivityType>());
62 adapt.setUseNewSystem();
63 adapt.setMaxHLevel(from_problem.adaptivity().getMaxHLevel());
64 adapt.setAdaptivityOn(false);
65 }
66}
AdaptivityType
void init(const unsigned int steps, const unsigned int initial_steps, const AdaptivityType adaptivity_type)
void setUseNewSystem()
unsigned int getMaxHLevel()
unsigned int getCyclesPerStep() const
void setMarkerVariableName(std::string marker_field)
void setCyclesPerStep(const unsigned int &num)
void setMaxHLevel(unsigned int level)
virtual MooseVariable & getStandardVariable(const THREAD_ID tid, const std::string &var_name) override
const std::string & name() const
AuxVariableName _to_var_name

◆ validParams()

InputParameters LevelSetMeshRefinementTransfer::validParams ( )
static

Definition at line 22 of file LevelSetMeshRefinementTransfer.C.

23{
25 params.addClassDescription("Transfers the mesh from the master application to the sub "
26 "application for the purposes of level set reinitialization problems "
27 "with mesh adaptivity.");
28 params.suppressParameter<MultiMooseEnum>("direction");
29
30 ExecFlagEnum & exec = params.set<ExecFlagEnum>("execute_on");
33 params.set<bool>("check_multiapp_execute_on") = false;
34 params.suppressParameter<ExecFlagEnum>("execute_on");
35 // Sibling transfers not supported
36 params.suppressParameter<bool>("execute_after_from_multiapp");
37
38 return params;
39}
void addAvailableFlags(const ExecFlagType &flag, Args... flags)
void suppressParameter(const std::string &name)
void addClassDescription(const std::string &doc_string)
T & set(const std::string &name, bool quiet_mode=false)
static InputParameters validParams()

The documentation for this class was generated from the following files: