# BimodalSuperellipsoidsIC

under construction:Undocumented Class

The BimodalSuperellipsoidsIC has not been documented. The content listed below should be used as a starting point for documenting the class, which includes the typical automatic documentation associated with a MooseObject; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.


# BimodalSuperellipsoidsIC

!syntax description /ICs/BimodalSuperellipsoidsIC

## Overview

!! Replace these lines with information regarding the BimodalSuperellipsoidsIC object.

## Example Input File Syntax

!! Describe and include an example of how to use the BimodalSuperellipsoidsIC object.

!syntax parameters /ICs/BimodalSuperellipsoidsIC

!syntax inputs /ICs/BimodalSuperellipsoidsIC

!syntax children /ICs/BimodalSuperellipsoidsIC


Bimodal size distribution of large particles (specified in input file) and small particles (placed randomly outside the larger particles)

## Input Parameters

• asSemiaxis a for each superellipsoid

C++ Type:std::vector

Options:

Description:Semiaxis a for each superellipsoid

• bsSemiaxis b for each superellipsoid

C++ Type:std::vector

Options:

Description:Semiaxis b for each superellipsoid

• csSemiaxis c for each superellipsoid

C++ Type:std::vector

Options:

Description:Semiaxis c for each superellipsoid

• invalueThe variable value inside the superellipsoid

C++ Type:double

Options:

Description:The variable value inside the superellipsoid

• large_spacminimum spacing between large and small particles, measured from closest edge to closest edge

C++ Type:double

Options:

Description:minimum spacing between large and small particles, measured from closest edge to closest edge

• npartThe number of random (small) particles to place

C++ Type:unsigned int

Options:

Description:The number of random (small) particles to place

• nsExponent n for each superellipsoid

C++ Type:std::vector

Options:

Description:Exponent n for each superellipsoid

• outvalueThe variable value outside the superellipsoid

C++ Type:double

Options:

Description:The variable value outside the superellipsoid

• small_aMean semiaxis a value for the randomly placed (small) superellipsoids

C++ Type:double

Options:

Description:Mean semiaxis a value for the randomly placed (small) superellipsoids

• small_bMean semiaxis b value for the randomly placed (small) superellipsoids

C++ Type:double

Options:

Description:Mean semiaxis b value for the randomly placed (small) superellipsoids

• small_cMean semiaxis c value for the randomly placed (small) superellipsoids

C++ Type:double

Options:

Description:Mean semiaxis c value for the randomly placed (small) superellipsoids

• small_nExponent n for the randomly placed (small) superellipsoids

C++ Type:double

Options:

Description:Exponent n for the randomly placed (small) superellipsoids

• small_spacminimum spacing between small particles, measured from closest edge to closest edge

C++ Type:double

Options:

Description:minimum spacing between small particles, measured from closest edge to closest edge

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

C++ Type:VariableName

Options:

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

• x_positionsThe x-coordinate for each superellipsoid center

C++ Type:std::vector

Options:

Description:The x-coordinate for each superellipsoid center

• y_positionsThe y-coordinate for each superellipsoid center

C++ Type:std::vector

Options:

Description:The y-coordinate for each superellipsoid center

• z_positionsThe z-coordinate for each superellipsoid center

C++ Type:std::vector

Options:

Description:The z-coordinate for each superellipsoid center

### Required Parameters

• blockThe list of block ids (SubdomainID) that this object will be applied

C++ Type:std::vector

Options:

Description:The list of block ids (SubdomainID) that this object will be applied

• boundaryThe list of boundary IDs from the mesh where this boundary condition applies

C++ Type:std::vector

Options:

Description:The list of boundary IDs from the mesh where this boundary condition applies

• int_width0The interfacial width of the void surface. Defaults to sharp interface

Default:0

C++ Type:double

Options:

Description:The interfacial width of the void surface. Defaults to sharp interface

• nestedvalueThe variable value for nested particles inside the superellipsoid in inverse configuration

C++ Type:double

Options:

Description:The variable value for nested particles inside the superellipsoid in inverse configuration

• numtries1000The number of tries to place the random particles

Default:1000

C++ Type:unsigned int

Options:

Description:The number of tries to place the random particles

• rand_seed12345Seed value for the random number generator

Default:12345

C++ Type:unsigned int

Options:

Description:Seed value for the random number generator

• size_variation0Plus or minus fraction of random variation in the semiaxes for uniform, standard deviation for normal

Default:0

C++ Type:double

Options:

Description:Plus or minus fraction of random variation in the semiaxes for uniform, standard deviation for normal

• size_variation_typenoneType of distribution that random semiaxes will follow

Default:none

C++ Type:MooseEnum

Options:uniform normal none

Description:Type of distribution that random semiaxes will follow

• zero_gradientFalseSet the gradient DOFs to zero. This can avoid numerical problems with higher order shape functions.

Default:False

C++ Type:bool

Options:

Description:Set the gradient DOFs to zero. This can avoid numerical problems with higher order shape functions.

### Optional Parameters

• control_tagsAdds user-defined labels for accessing object parameters via control logic.

C++ Type:std::vector

Options:

Description:Adds user-defined labels for accessing object parameters via control logic.

• enableTrueSet the enabled status of the MooseObject.

Default:True

C++ Type:bool

Options:

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

Options:

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