- injection_pointsList of injection points [m]
C++ Type:std::vector<libMesh::Point>
Controllable:No
Description:List of injection points [m]
- production_pointsList of production points [m]
C++ Type:std::vector<libMesh::Point>
Controllable:No
Description:List of production points [m]
CoupledInjectionProduction
This Physics object adds dirac kernels for mass and energy sources at injection and production points within a porous matrix, where the sources are provided by post-processor values transferred from another application.
This object creates the following post-processors:
p_inj1, ...,p_inj<n_inj>: Pressure at each injection point, via PointValue.T_inj1, ...,T_inj<n_inj>: Temperature at each injection point, via PointValue.p_pro1, ...,p_pro<n_pro>: Pressure at each production point, via PointValue.T_pro1, ...,T_pro<n_pro>: Temperature at each production point, via PointValue.mass_rate_inj1, ...,mass_rate_inj<n_inj>: Mass source rate at each injection point, to be transferred from the other application using Receiver.energy_rate_inj1, ...,energy_rate_inj<n_inj>: Energy source rate at each injection point, to be transferred from the other application using Receiver.mass_rate_pro1, ...,mass_rate_pro<n_pro>: Mass source rate at each production point, to be transferred from the other application using Receiver.energy_rate_pro1, ...,energy_rate_pro<n_pro>: Energy source rate at each production point, to be transferred from the other application using Receiver.
n_inj is the size of the "injection_points" parameter, and n_pro is the size of the "production_points" parameter.
If the parameter "multi_app" is provided, then the porous flow app is the main application, and MultiAppPostprocessorTransfer objects are created by this object to transfer the post-processors listed above to the sub application; if the parameter is not provided, then the other application is responsible for creating the transfers.
PorousFlowPointSourceFromPostprocessor dirac kernels are added for each injection and production point, using the mass_rate_* and energy_rate_* post-processors listed above.
Input Parameters
- blockBlocks (subdomains) that this Physics is active on.
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:Blocks (subdomains) that this Physics is active on.
- multi_appMultiApp to transfer to and from
C++ Type:MultiAppName
Controllable:No
Description:MultiApp to transfer to and from
- transientsame_as_problemWhether the physics is to be solved as a transient
Default:same_as_problem
C++ Type:MooseEnum
Controllable:No
Description:Whether the physics is to be solved as a transient
- verboseFalseFlag to facilitate debugging a Physics
Default:False
C++ Type:bool
Controllable:No
Description:Flag to facilitate debugging a Physics
Optional Parameters
- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
Advanced Parameters
- dont_create_aux_kernelsFalseWhether to skip the 'add_aux_kernel' task
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_aux_kernel' task
- dont_create_aux_variablesFalseWhether to skip the 'add_aux_variable' task
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_aux_variable' task
- dont_create_bcsFalseWhether to skip the 'add_bc' task for each boundary condition type
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_bc' task for each boundary condition type
- dont_create_correctorsFalseWhether to skip the 'add_correctors' task
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_correctors' task
- dont_create_functionsFalseWhether to skip the 'add_function' task
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_function' task
- dont_create_icsFalseWhether to skip the 'add_ic'/'add_fv_ic/add_ics_physics' task(s)
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_ic'/'add_fv_ic/add_ics_physics' task(s)
- dont_create_kernelsFalseWhether to skip the 'add_kernel' task for each kernel type
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_kernel' task for each kernel type
- dont_create_materialsFalseWhether to skip the 'add_material'/'add_materials_physics' task(s) for each material type
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_material'/'add_materials_physics' task(s) for each material type
- dont_create_postprocessorsFalseWhether to skip the 'add_postprocessors' task
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_postprocessors' task
- dont_create_solver_variablesFalseWhether to skip the 'add_variable'/'add_variables_physics' task(s)
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_variable'/'add_variables_physics' task(s)
- dont_create_user_objectsFalseWhether to skip the 'add_user_object' task. This does not apply to UserObject derived classes being created on a different task (for example: postprocessors, VPPs, correctors)
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_user_object' task. This does not apply to UserObject derived classes being created on a different task (for example: postprocessors, VPPs, correctors)
- dont_create_vectorpostprocessorsFalseWhether to skip the 'add_vectorpostprocessors' task
Default:False
C++ Type:bool
Controllable:No
Description:Whether to skip the 'add_vectorpostprocessors' task
Reduce Physics Object Creation Parameters
- initial_from_file_timestepLATESTGives the time step number (or "LATEST") for which to read the Exodus solution
Default:LATEST
C++ Type:std::string
Controllable:No
Description:Gives the time step number (or "LATEST") for which to read the Exodus solution
- initialize_variables_from_mesh_fileFalseDetermines if the variables that are added by the action are initializedfrom the mesh file (only for Exodus format)
Default:False
C++ Type:bool
Controllable:No
Description:Determines if the variables that are added by the action are initializedfrom the mesh file (only for Exodus format)
Restart From Exodus Parameters
- preconditioningdeferWhich preconditioning to use/add for this Physics, or whether to defer to the Preconditioning block, or another Physics
Default:defer
C++ Type:MooseEnum
Controllable:No
Description:Which preconditioning to use/add for this Physics, or whether to defer to the Preconditioning block, or another Physics
- system_namesnl0 Name of the solver system(s) for the variables. If a single name is specified, that system is used for all solver variables.
Default:nl0
C++ Type:std::vector<SolverSystemName>
Controllable:No
Description:Name of the solver system(s) for the variables. If a single name is specified, that system is used for all solver variables.