RandomConstrainedVectorFieldIC

Overview

Seeds a vector field that is constrained to the unit sphere. Typically useful as ICs for micromagnetic simulations where with random or pseudo-random angles. The usual spherical coordinate prescription is used with and the azimuthal and polar angles respectively.

The parameter can be used to constrain the ICs to something other than the unit sphere if needed.

Example Input File Syntax

[Variables]
  [./mag_x]
    order = FIRST
    family = LAGRANGE
    block = '1'
    [./InitialCondition]
      type = RandomConstrainedVectorFieldIC
      phi = azimuth_phi
      theta = polar_theta
      M0s = 1.0 #amplitude of the RandomConstrainedVectorFieldIC
      component = 0
    [../]
  [../]
  [./mag_y]
    order = FIRST
    family = LAGRANGE
    block = '1'
    [./InitialCondition]
      type = RandomConstrainedVectorFieldIC
      phi = azimuth_phi
      theta = polar_theta
      M0s = 1.0
      component = 1
    [../]
  [../]
  [./mag_z]
    order = FIRST
    family = LAGRANGE
    block = '1'
    [./InitialCondition]
      type = RandomConstrainedVectorFieldIC
      phi = azimuth_phi
      theta = polar_theta
      M0s = 1.0
      component = 2
    [../]
  [../]

  [./potential_H_int]
    order = FIRST
    family = LAGRANGE
    block = '1 2'
  [../]
[]

Note that and are fields that are seeded via AuxVariables in this example.

Input Parameters

  • M0sM0s

    C++ Type:double

    Controllable:No

    Description:M0s

  • componentAn integer corresponding to the direction the variable this IC is set. (0 for x, 1 for y, 2.0 for z)

    C++ Type:unsigned int

    Controllable:No

    Description:An integer corresponding to the direction the variable this IC is set. (0 for x, 1 for y, 2.0 for z)

  • phiThe field of random azimuthal angles

    C++ Type:std::vector<VariableName>

    Controllable:No

    Description:The field of random azimuthal angles

  • thetaThe field of random polar angles

    C++ Type:std::vector<VariableName>

    Controllable:No

    Description:The field of random polar angles

  • variableThe variable this initial condition is supposed to provide values for.

    C++ Type:VariableName

    Controllable:No

    Description:The variable this initial condition is supposed to provide values for.

Required Parameters

  • blockThe list of blocks (ids or names) that this object will be applied

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

  • boundaryThe list of boundaries (ids or names) from the mesh where this object applies

    C++ Type:std::vector<BoundaryName>

    Controllable:No

    Description:The list of boundaries (ids or names) from the mesh where this object applies

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

Optional Parameters

  • 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.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • ignore_uo_dependencyFalseWhen set to true, a UserObject retrieved by this IC will not be executed before the this IC

    Default:False

    C++ Type:bool

    Controllable:No

    Description:When set to true, a UserObject retrieved by this IC will not be executed before the this IC

Advanced Parameters

Input Files