ASPECT
Namespaces | Classes | Enumerations
aspect::Particle::Property Namespace Reference

Namespaces

 Utilities
 

Classes

class  Composition
 
class  CpoBinghamAverage
 
class  CpoElasticTensor
 
class  CrystalPreferredOrientation
 
class  ElasticStress
 
class  ElasticTensorDecomposition
 
class  Function
 
class  GrainSize
 
class  InitialComposition
 
class  InitialPosition
 
class  IntegratedStrain
 
class  IntegratedStrainInvariant
 
class  IntegratorProperties
 
class  Interface
 
class  Manager
 
class  MeltParticle
 
class  ParticlePropertyInformation
 
struct  ParticleUpdateInputs
 
class  Position
 
class  PTPath
 
class  ReferencePosition
 
class  StrainRate
 
class  Velocity
 
class  ViscoPlasticStrainInvariant
 

Enumerations

enum  DeformationType {
  DeformationType::passive, DeformationType::olivine_a_fabric, DeformationType::olivine_b_fabric, DeformationType::olivine_c_fabric,
  DeformationType::olivine_d_fabric, DeformationType::olivine_e_fabric, DeformationType::enstatite
}
 The type of deformation used by the CPO code. More...
 
enum  DeformationTypeSelector {
  DeformationTypeSelector::passive, DeformationTypeSelector::olivine_a_fabric, DeformationTypeSelector::olivine_b_fabric, DeformationTypeSelector::olivine_c_fabric,
  DeformationTypeSelector::olivine_d_fabric, DeformationTypeSelector::olivine_e_fabric, DeformationTypeSelector::enstatite, DeformationTypeSelector::olivine_karato_2008
}
 The type of deformation selector used by the CPO code. More...
 
enum  AdvectionMethod { AdvectionMethod::forward_euler, AdvectionMethod::backward_euler }
 The type of Advection method used to advect the CPO properties. More...
 
enum  CPODerivativeAlgorithm { CPODerivativeAlgorithm::spin_tensor, CPODerivativeAlgorithm::drex_2004 }
 The algorithm used to compute the derivatives of the grain size and rotation matrix used in the advection. More...
 
enum  CPOInitialGrainsModel { CPOInitialGrainsModel::uniform_grains_and_random_uniform_rotations, CPOInitialGrainsModel::world_builder }
 An enum used to determine how the initial grain sizes and orientations are set for all particles. More...
 
enum  UpdateTimeFlags { update_never, update_output_step, update_time_step }
 
enum  InitializationModeForLateParticles { initialize, interpolate, interpolate_respect_boundary, initialize_to_zero }
 

Enumeration Type Documentation

§ DeformationType

The type of deformation used by the CPO code.

passive: Only to be used with the spin tensor CPO Derivative algorithm. olivine_a_fabric to olivine_e_fabric: Only to be used with the D-Rex CPO Derivative algorithm. Sets the deformation type of the mineral to a Olivine A-E Fabric, which influences the relative strength of the slip planes. See table 1 in Fraters and Billen (2021). enstatite: Only to be used with the D-Rex CPO Derivative algorithm. Sets the deformation type of the mineral to a enstatite Fabric, which influences the relative strength of the slip planes.

Enumerator
passive 
olivine_a_fabric 
olivine_b_fabric 
olivine_c_fabric 
olivine_d_fabric 
olivine_e_fabric 
enstatite 

Definition at line 46 of file crystal_preferred_orientation.h.

§ DeformationTypeSelector

The type of deformation selector used by the CPO code.

The selector is a input parameter and it can either set a deformation type directly or determine the deformation type through an algorithm. The deformation type selector is used to determine/select the deformation type. It can be a fixed deformation type, for example, by setting it to olivine_a_fabric, or it can be dynamically chosen, which is what the olivine_karato_2008 option does.

passive: Only to be used with the spin tensor CPO Derivative algorithm. olivine_a_fabric to olivine_e_fabric: Only to be used with the D-Rex CPO Derivative algorithm. Sets the deformation type of the mineral to a Olivine A-E Fabric, which influences the relative strength of the slip planes. See table 1 in Fraters and Billen (2021). enstatite: Only to be used with the D-Rex CPO Derivative algorithm. Sets the deformation type of the mineral to a enstatite Fabric, which influences the relative strength of the slip planes. olivine_karato_2008: Only to be used with the D-Rex CPO Derivative algorithm. Sets the deformation type of the mineral to a olivine fabric based on the table in Karato 2008.

Enumerator
passive 
olivine_a_fabric 
olivine_b_fabric 
olivine_c_fabric 
olivine_d_fabric 
olivine_e_fabric 
enstatite 
olivine_karato_2008 

Definition at line 65 of file crystal_preferred_orientation.h.

§ AdvectionMethod

The type of Advection method used to advect the CPO properties.

Enumerator
forward_euler 
backward_euler 

Definition at line 73 of file crystal_preferred_orientation.h.

§ CPODerivativeAlgorithm

The algorithm used to compute the derivatives of the grain size and rotation matrix used in the advection.

spin_tensor: Rotates the CPO properties soly with the rotation of the particle itself. drex_2004: Rotates the CPO properties based on the D-Rex 2004 algorithm.

Enumerator
spin_tensor 
drex_2004 

Definition at line 84 of file crystal_preferred_orientation.h.

§ CPOInitialGrainsModel

An enum used to determine how the initial grain sizes and orientations are set for all particles.

uniform_grains_and_random_uniform_rotations: all particles are set to a uniform grain-size of 1/n_grains world_builder: all particle grain-sizes and orientations are set by the world builder.

Enumerator
uniform_grains_and_random_uniform_rotations 
world_builder 

Definition at line 95 of file crystal_preferred_orientation.h.

§ UpdateTimeFlags

Enumerator
update_never 

Never update the initially set properties. This is the default behavior, which is sufficient for particle properties that are set at the beginning of the model and constant for the whole simulation time.

update_output_step 

Update the particle properties before every output. This is sufficient for all passive particle properties that depend on the current solution, like the current velocity or pressure.

update_time_step 

Update the particle properties every nonlinear iteration. This is only necessary if the properties at the output time depend on some sort of time integration of solution properties or time varying particle properties are used while solving the model problem.

Definition at line 271 of file interface.h.

§ InitializationModeForLateParticles

This enum controls how to initialize the properties of particles that have been added later than the initial particle creation, e.g. to improve the load balance or to prevent empty cells.

Enumerator
initialize 

Initialize the particle as if it were created at the beginning of the model at its current position with the current solution.

interpolate 

Use the interpolated properties of the surrounding particles as calculated by the selected interpolator.

interpolate_respect_boundary 

Use the interpolated properties of the surrounding particles as calculated by the selected interpolator except for particles in boundary cells. These will use the boundary condition of the compositional fields instead. This mode only makes sense for properties that are associated with compositional fields through the parameter 'Compositional fields/Mapped particle properties'.

initialize_to_zero 

Initialize the particle properties to zero. If the property is updated over time its update function is called as usual, if not the property will remain zero throughout the model run.

Definition at line 300 of file interface.h.