DiracKernels System

Dirac Kernels are used to apply sources/loads at desired point locations in the mesh. The value of the loads is a user-input value. It is applied at the user-defined location and is effectively null outside of that location, hence the Dirac name.

The contribution to the residual is computing by evaluating, at each source location, the product of the test function value at that location by the value of the source/load.

Notable parameters

By default, the locations of the sources may not change during the simulation. If a source is detected as moving, the system will error and prompt the user to provide the allow_moving_sources parameter.

By default, only one source may provided at each location in the mesh, any additional source at the same location is automatically dropped. If multiple sources should share the same location, the user should provide the drop_duplicate_points.

Example input syntax

In this example, three ConstantPointSource are being applied to variable u with values 0.1 / -0.1 and -1 at position (0.2 0.3 0.0) / (0.2 0.8 0) and (0.8 0.5 0.8) respectively. u is solution to a diffusion equation with those three sources.

[DiracKernels]
  [./point_source1]
    type = ConstantPointSource
    variable = u
    value = 0.1
    point = '0.2 0.3 0.0'
  [../]
  [./point_source2]
    type = ConstantPointSource
    variable = u
    value = -0.1
    point = '0.2 0.8 0.0'
  [../]
  [./point_source3]
    type = ConstantPointSource
    variable = u
    value = -1.0
    point = '0.8 0.5 0.8'
  [../]
[]
(test/tests/dirackernels/constant_point_source/3d_point_source.i)

Available Objects

  • Moose App
  • ConstantPointSourceResidual contribution of a constant point source term.
  • FunctionDiracSourceResidual contribution from a point source defined by a function.
  • ReporterPointSourceApply a point load defined by Reporter.
  • VectorConstantPointSourceResidual contribution of a constant point source term.
  • Optimization App
  • ReporterTimePointSourceApply a time dependent point load defined by Reporters.
  • XFEMApp
  • XFEMPressureApplies a pressure on an interface cut by XFEM.
  • Heat Transfer App
  • GapHeatPointSourceMaster
  • Porous Flow App
  • PorousFlowPeacemanBoreholeApproximates a borehole in the mesh using the Peaceman approach, ie using a number of point sinks with given radii whose positions are read from a file. NOTE: if you are using PorousFlowPorosity that depends on volumetric strain, you should set strain_at_nearest_qp=true in your GlobalParams, to ensure the nodal Porosity Material uses the volumetric strain at the Dirac quadpoints, and can therefore be computed
  • PorousFlowPointEnthalpySourceFromPostprocessorPoint source that adds heat energy corresponding to injection of a fluid with specified mass flux rate (specified by a postprocessor) at given temperature (specified by a postprocessor)
  • PorousFlowPointSourceFromPostprocessorPoint source (or sink) that adds (or removes) fluid at a mass flux rate specified by a postprocessor.
  • PorousFlowPolyLineSinkApproximates a polyline sink by using a number of point sinks with given weighting whose positions are read from a file. NOTE: if you are using PorousFlowPorosity that depends on volumetric strain, you should set strain_at_nearest_qp=true in your GlobalParams, to ensure the nodal Porosity Material uses the volumetric strain at the Dirac quadpoints, and can therefore be computed
  • PorousFlowSquarePulsePointSourcePoint source (or sink) that adds (removes) fluid at a constant mass flux rate for times between the specified start and end times.

Available Actions