Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
sierra::nalu Namespace Reference

Namespaces

 anonymous_namespace{Hex8FEM.C}
 
 anonymous_namespace{PromotedElementIO.C}
 
 anonymous_namespace{TpetraLinearSystem.C}
 
 Jacobian
 
 promotion
 
 utils
 

Classes

class  ABLForcingAlgorithm
 ABL Forcing Source terms for Momentum and Temperature equations. More...
 
class  ABLProfileFunction
 
class  Actuator
 
class  ActuatorLinePointDrag
 
class  ActuatorLinePointDragInfo
 
class  ActuatorLinePointDragPointInfo
 
class  Algorithm
 
class  AlgorithmDriver
 
struct  AlgTraitsHex27
 
struct  AlgTraitsHex8
 
struct  AlgTraitsHexGL
 
struct  AlgTraitsPyr5
 
struct  AlgTraitsQuad4_2D
 
struct  AlgTraitsQuad9_2D
 
struct  AlgTraitsQuadGL
 
struct  AlgTraitsTet4
 
struct  AlgTraitsTri3_2D
 
struct  AlgTraitsWed6
 
class  AssembleContinuityEdgeOpenSolverAlgorithm
 
class  AssembleContinuityEdgeSolverAlgorithm
 
class  AssembleContinuityElemOpenSolverAlgorithm
 
class  AssembleContinuityElemSolverAlgorithm
 
class  AssembleContinuityInflowSolverAlgorithm
 
class  AssembleContinuityNonConformalSolverAlgorithm
 
class  AssembleCourantReynoldsElemAlgorithm
 
class  AssembleElemSolverAlgorithm
 
class  AssembleElemSolverAlgorithmDep
 
class  AssembleHeatCondIrradWallSolverAlgorithm
 
class  AssembleHeatCondWallSolverAlgorithm
 
class  AssembleMeshDisplacementElemSolverAlgorithm
 
class  AssembleMomentumEdgeABLWallFunctionSolverAlgorithm
 
class  AssembleMomentumEdgeOpenSolverAlgorithm
 
class  AssembleMomentumEdgeSolverAlgorithm
 
class  AssembleMomentumEdgeSymmetrySolverAlgorithm
 
class  AssembleMomentumEdgeWallFunctionSolverAlgorithm
 
class  AssembleMomentumElemABLWallFunctionSolverAlgorithm
 
class  AssembleMomentumElemOpenSolverAlgorithm
 
class  AssembleMomentumElemSolverAlgorithm
 
class  AssembleMomentumElemSymmetrySolverAlgorithm
 
class  AssembleMomentumElemWallFunctionSolverAlgorithm
 
class  AssembleMomentumNonConformalSolverAlgorithm
 
class  AssembleNodalGradAlgorithmDriver
 
class  AssembleNodalGradBoundaryAlgorithm
 
class  AssembleNodalGradEdgeAlgorithm
 
class  AssembleNodalGradElemAlgorithm
 
class  AssembleNodalGradNonConformalAlgorithm
 
class  AssembleNodalGradUAlgorithmDriver
 
class  AssembleNodalGradUBoundaryAlgorithm
 
class  AssembleNodalGradUEdgeAlgorithm
 
class  AssembleNodalGradUElemAlgorithm
 
class  AssembleNodalGradUNonConformalAlgorithm
 
class  AssembleNodeSolverAlgorithm
 
class  AssembleOversetSolverConstraintAlgorithm
 
class  AssemblePNGBoundarySolverAlgorithm
 
class  AssemblePNGElemSolverAlgorithm
 
class  AssemblePNGNonConformalSolverAlgorithm
 
class  AssemblePressureForceBCSolverAlgorithm
 
class  AssembleRadTransEdgeSolverAlgorithm
 
class  AssembleRadTransEdgeUpwindSolverAlgorithm
 
class  AssembleRadTransElemSolverAlgorithm
 
class  AssembleRadTransWallSolverAlgorithm
 
class  AssembleScalarDiffNonConformalSolverAlgorithm
 
class  AssembleScalarEdgeDiffSolverAlgorithm
 
class  AssembleScalarEdgeOpenSolverAlgorithm
 
class  AssembleScalarEdgeSolverAlgorithm
 
class  AssembleScalarEigenEdgeSolverAlgorithm
 
class  AssembleScalarElemDiffSolverAlgorithm
 
class  AssembleScalarElemOpenSolverAlgorithm
 
class  AssembleScalarElemSolverAlgorithm
 
class  AssembleScalarFluxBCSolverAlgorithm
 
class  AssembleScalarNonConformalSolverAlgorithm
 
class  AssembleWallHeatTransferAlgorithmDriver
 
class  AuxFunction
 
class  AuxFunctionAlgorithm
 
class  AveragingInfo
 
class  BoundaryCondition
 
struct  BoundaryConditionOptions
 
class  BoundaryConditions
 
class  BoundaryLayerPerturbationAuxFunction
 
class  BSpline
 Base class for B-Splines. More...
 
class  BSpline1D
 Support for B-Spline of a curve. More...
 
class  BSpline2D
 
class  BSpline3D
 
class  BSpline4D
 
class  BSpline5D
 
class  ChiConverter
 Calculates reference scalar dissipation rate. More...
 
class  ClassicPecletFunction
 
struct  ClipEvent
 
class  ClipEventSortCriterion
 
struct  CompareEntityById
 
struct  compareGaussPoint
 
class  ComputeABLWallFrictionVelocityAlgorithm
 
class  ComputeGeometryAlgorithmDriver
 
class  ComputeGeometryBoundaryAlgorithm
 
class  ComputeGeometryInteriorAlgorithm
 
class  ComputeHeatTransferEdgeWallAlgorithm
 
class  ComputeHeatTransferElemWallAlgorithm
 
class  ComputeLowReynoldsSDRWallAlgorithm
 
class  ComputeMdotAlgorithmDriver
 
class  ComputeMdotEdgeAlgorithm
 
class  ComputeMdotEdgeOpenAlgorithm
 
class  ComputeMdotElemAlgorithm
 
class  ComputeMdotElemOpenAlgorithm
 
class  ComputeMdotInflowAlgorithm
 
class  ComputeMdotNonConformalAlgorithm
 
class  ComputeSSTMaxLengthScaleElemAlgorithm
 
class  ComputeTurbKineticEnergyWallFunctionAlgorithm
 
class  ComputeWallFrictionVelocityAlgorithm
 
class  ComputeWallModelSDRWallAlgorithm
 
class  ConstantAuxFunction
 
struct  ConstantInitialConditionData
 
class  ConstantPropertyEvaluator
 
class  ContinuityAdvElemKernel
 CMM (BDF2) for continuity equation (pressure DOF) More...
 
class  ContinuityEquationSystem
 
class  ContinuityGclNodeSuppAlg
 
class  ContinuityLowSpeedCompressibleNodeSuppAlg
 
class  ContinuityMassBackwardEulerNodeSuppAlg
 
class  ContinuityMassBDF2NodeSuppAlg
 
class  ContinuityMassElemKernel
 CMM (BDF2/BE) for continuity equation (pressure DOF) More...
 
class  ContinuityMassElemSuppAlgDep
 
struct  ContourData
 
class  ConvectingTaylorVortexPressureAuxFunction
 
class  ConvectingTaylorVortexPressureGradAuxFunction
 
class  ConvectingTaylorVortexVelocityAuxFunction
 
class  Converter
 Provides arbitrary processing of input data before handing off values to a Table for interpolation. More...
 
class  ConverterFactory
 Simple factory to build an empty Converter of the correct type based on its string name. More...
 
class  Coord2D
 Helper class to simplify 2D coordinate storage and calculations. More...
 
struct  Coordinates
 
class  CopyFieldAlgorithm
 
class  CoriolisSrc
 
class  DataProbeInfo
 
class  DataProbePostProcessing
 
class  DataProbeSpecInfo
 
class  DeltaChiConverter
 Calculates reference scalar dissipation rate. More...
 
class  DeltaGammaConverter
 Calculates reference heat loss parameter. More...
 
class  DgInfo
 
class  DirichletBC
 
class  Edge2DSCS
 
class  Edge32DSCS
 
class  EffectiveDiffFluxCoeffAlgorithm
 
class  EffectiveSSTDiffFluxCoeffAlgorithm
 
class  ElemDataRequests
 
class  ElementCondenser
 
struct  ElementDescription
 
struct  Emissivity
 
class  EnthalpyABLSrcNodeSuppAlg
 
class  EnthalpyConstCpkPropertyEvaluator
 
class  EnthalpyConstSpecHeatPropertyEvaluator
 
class  EnthalpyEffectiveDiffFluxCoeffAlgorithm
 
class  EnthalpyEquationSystem
 
class  EnthalpyLowSpeedCompressibleNodeSuppAlg
 
class  EnthalpyPmrSrcNodeSuppAlg
 
class  EnthalpyPressureWorkNodeSuppAlg
 
class  EnthalpyPropertyEvaluator
 
class  EnthalpyTYkPropertyEvaluator
 
class  EnthalpyViscousWorkNodeSuppAlg
 
struct  EnvironmentalT
 
class  EquationSystem
 Base class representation of a PDE. More...
 
class  EquationSystems
 A collection of Equations to be solved on a Realm. More...
 
class  ErrorIndicatorAlgorithmDriver
 
class  FChi
 Class to wrap the F_chi() function with an interface that is compatible with our Functor implementation. More...
 
class  FGamma
 Class to wrap the F_gamma() function with an interface that is compatible with our Functor implementation. More...
 
struct  FieldInfo
 
struct  FieldInfoLess
 
class  FixPressureAtNodeAlgorithm
 Set the reference pressure in the computational domain for ABL simulations. More...
 
struct  FixPressureAtNodeInfo
 Input data for fixing pressure during ABL simulations. More...
 
class  FlowPastCylinderTempAuxFunction
 
class  FromMesh
 
class  GammaConverter
 Calculates reference heat loss parameter. More...
 
class  GenericPropAlgorithm
 
class  H5IO
 Simple wrapper around the HDF5 library to make usage easier. More...
 
class  HDF5FilePtr
 Provides a HDF5 formatted file pointer. More...
 
class  HDF5Table
 Object to manage property evaluation as a function of a set of input chemical state variables. More...
 
class  HDF5TablePropAlgorithm
 Object to manage property evaluation as a function of a set of input chemical state variables. More...
 
class  HeatCondEquationSystem
 
class  HeatCondMassBackwardEulerNodeSuppAlg
 
class  HeatCondMassBDF2NodeSuppAlg
 
struct  HeatTransferCoefficient
 
class  Hex27SCS
 
class  Hex27SCV
 
class  Hex8FEM
 
class  HexahedralP2Element
 
struct  HexNElementDescription
 
class  HexSCS
 
class  HexSCV
 
class  HigherOrderEdge2DSCS
 
class  HigherOrderHexSCS
 
class  HigherOrderHexSCV
 
class  HigherOrderQuad2DSCS
 
class  HigherOrderQuad2DSCV
 
class  HigherOrderQuad3DSCS
 
class  HStarConverter
 Calculates reference heat loss parameter. More...
 
class  IdealGasTPPropertyEvaluator
 
class  IdealGasTPropertyEvaluator
 
class  IdealGasTYkPropertyEvaluator
 
class  IdealGasYkPropertyEvaluator
 
struct  InflowBoundaryConditionData
 
struct  InflowUserData
 
class  InitialCondition
 
class  InitialConditions
 
class  InputOutputInfo
 
class  InputOutputRealm
 
class  InterfaceBalancer
 
class  InverseDualVolumePropAlgorithm
 
class  InversePropAlgorithm
 
struct  Irradiation
 
class  Kernel
 Base class for computational kernels in Nalu. More...
 
class  KernelBuilderLog
 
class  KovasznayPressureAuxFunction
 
class  KovasznayPressureGradientAuxFunction
 
class  KovasznayVelocityAuxFunction
 
class  Lagrange1D
 
class  LagrangeBasis
 
class  LimiterErrorIndicatorElemAlgorithm
 
class  LinearPropAlgorithm
 
class  LinearRampMeshDisplacementAuxFunction
 
class  LinearSolver
 
class  LinearSolvers
 
class  LinearSystem
 
class  LinInterp
 
struct  LinSys
 
class  LowMachEquationSystem
 
class  LU
 Supports LU-decompositon for a matrix. More...
 
struct  MassFraction
 
class  MassFractionEquationSystem
 
class  MasterElement
 
struct  MasterElementRepo
 
class  MasterElementViews
 
struct  MasterSlave
 
class  MaterialProperty
 
class  MaterialPropertyData
 
class  MaterialPropertys
 
class  MeshDisplacementEquationSystem
 
class  MeshDisplacementMassBackwardEulerNodeSuppAlg
 
struct  MeshInput
 
class  MeshMotionInfo
 
struct  MixtureFraction
 
class  MixtureFractionEquationSystem
 
class  MomentumABLForceSrcNodeSuppAlg
 
class  MomentumActuatorSrcNodeSuppAlg
 
class  MomentumAdvDiffElemKernel
 Advection diffusion term for momentum equation (velocity DOF) More...
 
class  MomentumBodyForceSrcNodeSuppAlg
 
class  MomentumBoussinesqSrcNodeSuppAlg
 
class  MomentumBuoyancyBoussinesqSrcElemKernel
 CMM buoyancy term for momentum equation (velocity DOF) More...
 
class  MomentumBuoyancySrcElemKernel
 CMM buoyancy term for momentum equation (velocity DOF) More...
 
class  MomentumBuoyancySrcElemSuppAlgDep
 
class  MomentumBuoyancySrcNodeSuppAlg
 
class  MomentumCoriolisSrcElemKernel
 
class  MomentumCoriolisSrcNodeSuppAlg
 
class  MomentumEquationSystem
 
class  MomentumGclSrcNodeSuppAlg
 
class  MomentumMassBackwardEulerNodeSuppAlg
 
class  MomentumMassBDF2NodeSuppAlg
 
class  MomentumMassElemKernel
 CMM (BDF2/BE) for momentum equation (velocity DOF) More...
 
class  MomentumMassElemSuppAlgDep
 
class  MomentumNSOElemKernel
 NSO for momentum equation. More...
 
class  MomentumNSOElemSuppAlgDep
 
class  MomentumNSOGradElemSuppAlg
 
class  MomentumNSOKeElemKernel
 NSO for momentum equation. More...
 
class  MomentumNSOKeElemSuppAlgDep
 
class  MomentumNSOSijElemKernel
 NSO for momentum equation. More...
 
class  NaluEmptyStreamBuffer
 
class  NaluEnv
 
class  NaluParsingHelper
 
class  NameConverter
 Does a whole bunch of nothing other than renaming variables. More...
 
class  NeutralABLProfileFunction
 
struct  nodalGradientElem
 
struct  NonConformalBoundaryConditionData
 
class  NonConformalInfo
 
class  NonConformalManager
 
struct  NonConformalUserData
 
struct  NormalHeatFlux
 
struct  OpenBoundaryConditionData
 
struct  OpenUserData
 
class  OutputInfo
 
struct  OversetBoundaryConditionData
 
struct  OversetFieldData
 
class  OversetInfo
 
class  OversetManager
 
struct  OversetUserData
 
class  PecletFunction
 
struct  PeriodicBoundaryConditionData
 
class  PeriodicManager
 
struct  PeriodicUserData
 
class  PolynomialPropertyEvaluator
 
class  PostProcessingData
 
class  PostProcessingInfo
 
struct  Pressure
 
class  ProjectedNodalGradientEquationSystem
 
class  PromotedElementIO
 
class  PropertyEvaluator
 
class  PstabErrorIndicatorEdgeAlgorithm
 
class  PstabErrorIndicatorElemAlgorithm
 
class  PyrSCS
 
class  PyrSCV
 
class  Quad2DSCS
 
class  Quad2DSCV
 
class  Quad3DSCS
 
class  Quad92DSCS
 
class  Quad92DSCV
 
class  Quad93DSCS
 
struct  QuadNElementDescription
 
class  QuadrilateralP2Element
 
class  RadiativeTransportEquationSystem
 
class  RadTransBlackBodyNodeSuppAlg
 
class  RadTransFemElemSuppAlg
 
class  RadTransIsoScatteringNodeSuppAlg
 
class  RadTransSupgElemSuppAlg
 
class  RayleighTaylorMixFracAuxFunction
 
class  Realm
 
class  Realms
 
class  ReferencePropertyData
 
struct  ReferenceTemperature
 
struct  RobinCouplingParameter
 
struct  RoughnessHeight
 
class  ScalarAdvDiffElemKernel
 CVFEM scalar advection/diffusion kernel. More...
 
class  ScalarDiffElemKernel
 CVFEM scalar advection/diffusion kernel. More...
 
class  ScalarDiffFemKernel
 CVFEM scalar advection/diffusion kernel. More...
 
class  ScalarGclNodeSuppAlg
 
class  ScalarMassBackwardEulerNodeSuppAlg
 
class  ScalarMassBDF2NodeSuppAlg
 
class  ScalarMassElemKernel
 CMM (BDF2/BE) for scalar equation. More...
 
class  ScalarMassElemSuppAlgDep
 
class  ScalarNSOElemKernel
 NSO for momentum equation. More...
 
class  ScalarNSOElemSuppAlgDep
 
class  ScalarNSOKeElemSuppAlg
 
class  ScalarUpwAdvDiffElemKernel
 CVFEM scalar upwind advection/diffusion kernel. More...
 
class  ScratchViews
 
class  SGLQuadratureOps
 
class  ShearStressTransportEquationSystem
 
class  SimpleErrorIndicatorElemAlgorithm
 
class  SimpleErrorIndicatorScalarElemAlgorithm
 
class  Simulation
 
class  SinMeshDisplacementAuxFunction
 
class  SinProfileChannelFlowVelocityAuxFunction
 
class  SolutionNormPostProcessing
 
class  SolutionOptions
 
class  SolverAlgorithm
 
class  SolverAlgorithmDriver
 
struct  sortIntLowHigh
 
struct  SpecDissRate
 
class  SpecificDissipationRateEquationSystem
 
class  SpecificDissipationRateSSTNodeSourceSuppAlg
 
class  SpecificHeatConstCpkPropertyEvaluator
 
class  SpecificHeatPropertyEvaluator
 
class  SpecificHeatTYkPropertyEvaluator
 
class  StableABLProfileFunction
 
class  StateTable
 
class  SteadyTaylorVortexContinuitySrcElemSuppAlg
 
class  SteadyTaylorVortexGradPressureAuxFunction
 
class  SteadyTaylorVortexMomentumSrcElemSuppAlg
 
class  SteadyTaylorVortexMomentumSrcNodeSuppAlg
 
class  SteadyTaylorVortexPressureAuxFunction
 
class  SteadyTaylorVortexVelocityAuxFunction
 
class  SteadyThermal3dContactAuxFunction
 
class  SteadyThermal3dContactDtDxAuxFunction
 
class  SteadyThermal3dContactSrcElemKernel
 
class  SteadyThermal3dContactSrcElemSuppAlgDep
 
class  SteadyThermalContact3DSrcNodeSuppAlg
 
class  SteadyThermalContactAuxFunction
 
class  SteadyThermalContactSrcElemSuppAlg
 
class  SteadyThermalContactSrcNodeSuppAlg
 
class  SupplementalAlgorithm
 
class  SurfaceForceAndMomentAlgorithm
 
class  SurfaceForceAndMomentAlgorithmDriver
 
class  SurfaceForceAndMomentWallFunctionAlgorithm
 
class  SutherlandsPropertyEvaluator
 
class  SutherlandsYkPropertyEvaluator
 
class  SutherlandsYkTrefPropertyEvaluator
 
struct  SymmetryBoundaryConditionData
 
struct  SymmetryUserData
 
class  TanhFunction
 
class  TaylorGreenPressureAuxFunction
 
class  TaylorGreenVelocityAuxFunction
 
struct  Temperature
 
class  TemperaturePropAlgorithm
 
class  TensorProductQuadratureRule
 
class  TetSCS
 
class  TetSCV
 
class  ThermalConductivityFromPrandtlPropAlgorithm
 
class  TimeIntegrator
 
class  ToMesh
 
class  TornadoAuxFunction
 
class  TpetraLinearSolver
 
class  TpetraLinearSolverConfig
 
class  TpetraLinearSystem
 
class  Transfer
 
class  Transfers
 
struct  Transmissivity
 
class  Tri2DSCS
 
class  Tri2DSCV
 
class  Tri3DSCS
 
struct  TurbKinEnergy
 
class  TurbKineticEnergyEquationSystem
 
class  TurbKineticEnergyKsgsBuoyantElemSuppAlg
 
class  TurbKineticEnergyKsgsNodeSourceSuppAlg
 
class  TurbKineticEnergyKsgsSrcElemKernel
 Add Ksgs source term for kernel-based algorithm approach. More...
 
class  TurbKineticEnergyRodiNodeSourceSuppAlg
 
class  TurbKineticEnergySSTDESNodeSourceSuppAlg
 
class  TurbKineticEnergySSTNodeSourceSuppAlg
 
class  TurbulenceAveragingPostProcessing
 
class  TurbViscKsgsAlgorithm
 
class  TurbViscSmagorinskyAlgorithm
 
class  TurbViscSSTAlgorithm
 
class  TurbViscWaleAlgorithm
 
class  UnitTests
 
class  UnstableABLProfileFunction
 
class  UpdateOversetFringeAlgorithmDriver
 
struct  UserData
 
struct  UserFunctionInitialConditionData
 
class  VariableDensityContinuitySrcElemSuppAlg
 
class  VariableDensityContinuitySrcNodeSuppAlg
 
class  VariableDensityMixFracAuxFunction
 
class  VariableDensityMixFracSrcElemSuppAlg
 
class  VariableDensityMixFracSrcNodeSuppAlg
 
class  VariableDensityMomentumSrcElemSuppAlg
 
class  VariableDensityMomentumSrcNodeSuppAlg
 
class  VariableDensityNonIsoContinuitySrcNodeSuppAlg
 
class  VariableDensityNonIsoEnthalpySrcNodeSuppAlg
 
class  VariableDensityNonIsoMomentumSrcNodeSuppAlg
 
class  VariableDensityNonIsoTemperatureAuxFunction
 
class  VariableDensityPressureAuxFunction
 
class  VariableDensityVelocityAuxFunction
 
struct  Velocity
 
struct  ViewHolder
 
struct  ViewT
 
struct  WallBoundaryConditionData
 
struct  WallUserData
 
class  WaterDensityTPropertyEvaluator
 
class  WaterEnthalpyTPropertyEvaluator
 
class  WaterSpecHeatTPropertyEvaluator
 
class  WaterThermalCondTPropertyEvaluator
 
class  WaterViscosityTPropertyEvaluator
 
class  WedSCS
 
class  WedSCV
 
class  WindEnergyAuxFunction
 
class  WindEnergyTaylorVortexAuxFunction
 
class  WindEnergyTaylorVortexPressureAuxFunction
 
class  WindEnergyTaylorVortexPressureGradAuxFunction
 

Typedefs

typedef stk::search::IdentProc< uint64_t, int > theKey
 
typedef stk::search::Point< double > Point
 
typedef stk::search::Sphere< double > Sphere
 
typedef stk::search::Box< double > Box
 
typedef std::pair< Sphere, theKeyboundingSphere
 
typedef std::pair< Box, theKeyboundingElementBox
 
typedef std::vector< BoundaryCondition * > BoundaryConditionVector
 
typedef std::set< FieldInfo, FieldInfoLessFieldSet
 
using ordinal_type = int
 
typedef std::vector< EquationSystem * > EquationSystemVector
 
typedef stk::mesh::Field< double > ScalarFieldType
 
typedef stk::mesh::Field< stk::mesh::EntityId > GlobalIdFieldType
 
typedef stk::mesh::Field< int > ScalarIntFieldType
 
typedef stk::mesh::Field< double, stk::mesh::Cartesian > VectorFieldType
 
typedef stk::mesh::Field< double, stk::mesh::SimpleArrayTag > GenericFieldType
 
typedef unsigned LocalId
 
typedef stk::mesh::Field< LocalIdLocalIdFieldType
 
typedef std::vector< InitialCondition * > InitialConditionVector
 
using HostSpace = Kokkos::HostSpace
 
using DeviceSpace = Kokkos::DefaultExecutionSpace
 
using DeviceShmem = DeviceSpace::scratch_memory_space
 
using DynamicScheduleType = Kokkos::Schedule< Kokkos::Dynamic >
 
using TeamHandleType = Kokkos::TeamPolicy< DeviceSpace, DynamicScheduleType >::member_type
 
template<typename T >
using SharedMemView = Kokkos::View< T, Kokkos::LayoutRight, DeviceShmem, Kokkos::MemoryUnmanaged >
 
using DeviceTeamPolicy = Kokkos::TeamPolicy< DeviceSpace >
 
using DeviceTeam = DeviceTeamPolicy::member_type
 
typedef std::vector< MaterialProperty * > MaterialPropertyVector
 
typedef std::pair< Point, theKeyboundingPoint
 
typedef stk::search::IdentProc< stk::mesh::EntityKey, int > theEntityKey
 
typedef std::pair< Sphere, theEntityKeysphereBoundingBox
 
typedef std::vector< Realm * > RealmVector
 
typedef stk::simd::Double SimdDouble
 
typedef SimdDouble DoubleType
 
template<typename T >
using AlignedVector = std::vector< T, non_std::AlignedAllocator< T, 64 >>
 
using ScalarAlignedVector = AlignedVector< DoubleType >
 
typedef std::set< ClipEvent, ClipEventSortCriterion< ClipEvent > > ClipEventLog
 
typedef boost::unordered_map< stk::mesh::EntityId, size_t > MyLIDMapType
 
typedef std::pair< stk::mesh::Entity, stk::mesh::Entity > Connection
 
typedef Kokkos::UnorderedMap< Connection, void > ConnectionSetKK
 
typedef std::vector< ConnectionConnectionVec
 

Enumerations

enum  ELEM_DATA_NEEDED {
  SCS_AREAV = 0, SCS_GRAD_OP, SCS_SHIFTED_GRAD_OP, SCS_GIJ,
  SCV_VOLUME, FEM_GRAD_OP, FEM_SHIFTED_GRAD_OP
}
 
enum  COORDS_TYPES { CURRENT_COORDINATES = 0, MODEL_COORDINATES, MAX_COORDS_TYPES }
 
enum  AlgorithmType {
  INTERIOR = 0, INFLOW = 1, WALL = 2, OPEN = 3,
  MASS = 4, SRC = 5, SYMMETRY = 6, WALL_HF = 7,
  WALL_CHT = 8, WALL_RAD = 9, NON_CONFORMAL = 10, ELEM_SOURCE = 11,
  OVERSET = 12, WALL_ABL = 13, REF_PRESSURE = 14
}
 
enum  BoundaryConditionType {
  INFLOW_BC = 1, OPEN_BC = 2, WALL_BC = 3, SYMMETRY_BC = 4,
  PERIODIC_BC = 5, NON_CONFORMAL_BC = 6, OVERSET_BC = 7
}
 
enum  EquationType {
  EQ_MOMENTUM = 0, EQ_CONTINUITY = 1, EQ_MIXTURE_FRACTION = 2, EQ_TURBULENT_KE = 3,
  EQ_TEMPERATURE = 4, EQ_INTENSITY = 5, EQ_ENTHALPY = 6, EQ_MESH_DISPLACEMENT = 7,
  EQ_SPEC_DISS_RATE = 8, EQ_MASS_FRACTION = 9, EQ_PNG = 10, EQ_PNG_P = 11,
  EQ_PNG_Z = 12, EQ_PNG_H = 13, EQ_PNG_U = 14, EQ_PNG_TKE = 15,
  EquationSystemType_END
}
 
enum  UserDataType { CONSTANT_UD = 0, FUNCTION_UD = 1, USER_SUB_UD = 2, UserDataType_END }
 
enum  PropertyIdentifier {
  DENSITY_ID = 0, VISCOSITY_ID = 1, SPEC_HEAT_ID = 2, THERMAL_COND_ID = 3,
  ABSORBTION_COEFF_ID = 4, ENTHALPY_ID = 5, LAME_MU_ID = 6, LAME_LAMBDA_ID = 7,
  SCATTERING_COEFF_ID = 8, PropertyIdentifier_END
}
 
enum  MaterialPropertyType {
  CONSTANT_MAT = 0, MIXFRAC_MAT = 1, POLYNOMIAL_MAT = 2, IDEAL_GAS_T_MAT = 3,
  GEOMETRIC_MAT = 4, IDEAL_GAS_T_P_MAT = 5, HDF5_TABLE_MAT = 6, IDEAL_GAS_YK_MAT = 7,
  GENERIC = 8, MaterialPropertyType_END
}
 
enum  NaluState { NALU_STATE_N = 0, NALU_STATE_NM1 = 1 }
 
enum  TurbulenceModel {
  LAMINAR = 0, KSGS = 1, SMAGORINSKY = 2, WALE = 3,
  SST = 4, SST_DES = 5, TurbulenceModel_END
}
 
enum  TurbulenceModelConstant {
  TM_cMu = 0, TM_kappa = 1, TM_cDESke = 2, TM_cDESkw = 3,
  TM_tkeProdLimitRatio = 4, TM_cmuEps = 5, TM_cEps = 6, TM_betaStar = 7,
  TM_aOne = 8, TM_betaOne = 9, TM_betaTwo = 10, TM_gammaOne = 11,
  TM_gammaTwo = 12, TM_sigmaKOne = 13, TM_sigmaKTwo = 14, TM_sigmaWOne = 15,
  TM_sigmaWTwo = 16, TM_cmuCs = 17, TM_Cw = 18, TM_CbTwo = 19,
  TM_SDRWallFactor = 20, TM_END = 21
}
 
enum  ActuatorType { ActLinePointDrag = 0, ActLineFAST = 1, ActuatorType_END }
 
enum  PetraType { PT_TPETRA, PT_END }
 
enum  ErrorIndicatorType {
  EIT_NONE = 0, EIT_PSTAB = 1 << 1, EIT_LIMITER = 1 << 2, EIT_SIMPLE_BASE = 1 << 3,
  EIT_SIMPLE_VORTICITY = EIT_SIMPLE_BASE + (1 << 4), EIT_SIMPLE_VORTICITY_DX = EIT_SIMPLE_BASE + (1 << 5), EIT_SIMPLE_DUDX2 = EIT_SIMPLE_BASE + (1 << 6)
}
 

Functions

 INSTANTIATE_KERNEL (ContinuityAdvElemKernel)
 
 INSTANTIATE_KERNEL (ContinuityMassElemKernel)
 
template<typename Scalar >
void mat_chunk (const Scalar *mat, int nrows, Scalar *chunk, int istart, int jstart, int iend, int jend)
 
int poly_order_from_super_topology (int dimension, stk::topology superTopo)
 
bool part_vector_is_valid_and_nonempty (const stk::mesh::PartVector &parts)
 
bool check_part_topo (const stk::mesh::Part &part)
 
bool check_parts_for_promotion (const stk::mesh::PartVector &parts)
 
std::string super_element_suffix ()
 
std::string super_element_part_name (std::string base_name)
 
std::string super_subset_part_name (const std::string &base_name)
 
std::string super_subset_part_name (const std::string &base_name, int numElemNodes, int numSideNodes)
 
std::string base_element_part_name (std::string super_name)
 
stk::mesh::Part * super_elem_part (const stk::mesh::Part &part)
 
stk::mesh::Part * super_subset_part (const stk::mesh::Part &part, int numElemNodes, int numSideNodes)
 
stk::mesh::Part * super_subset_part (const stk::mesh::Part &part)
 
stk::mesh::Part * base_elem_part_from_super_elem_part (const stk::mesh::Part &super_elem_part)
 
stk::mesh::Part * super_elem_part (const stk::mesh::Part *part)
 
void transform_to_super_elem_part_vector (stk::mesh::PartVector &parts)
 
bool is_super (const stk::mesh::Part *p)
 
bool is_side (const stk::mesh::Part *p)
 
bool is_super_side (const stk::mesh::Part *p)
 
stk::mesh::PartVector base_ranked_parts (const stk::mesh::PartVector &parts, stk::topology::rank_t rank, bool with_subsets)
 
stk::mesh::PartVector base_elem_parts (const stk::mesh::PartVector &parts)
 
stk::mesh::PartVector base_edge_parts (const stk::mesh::PartVector &parts)
 
stk::mesh::PartVector base_face_parts (const stk::mesh::PartVector &parts)
 
stk::mesh::PartVector only_super_parts (const stk::mesh::PartVector &parts)
 
stk::mesh::PartVector only_super_elem_parts (const stk::mesh::PartVector &parts)
 
stk::mesh::PartVector only_super_side_parts (const stk::mesh::PartVector &parts)
 
stk::mesh::PartVector super_elem_part_vector (const stk::mesh::PartVector &parts)
 
size_t count_entities (const stk::mesh::BucketVector &buckets)
 
std::pair< Teuchos::SerialDenseVector< int, double >, Teuchos::SerialDenseVector< int, double > > jacobi_recursion_coefficients (const double alpha, const double beta, const int order)
 
std::pair< std::vector< double >, std::vector< double > > gauss_legendre_rule (int order)
 
std::pair< Teuchos::SerialDenseVector< int, double >, Teuchos::SerialDenseVector< int, double > > coefficients_for_lobatto (int order, double xl1, double xl2)
 
std::pair< std::vector< double >, std::vector< double > > gauss_lobatto_legendre_rule (int order, double xleft, double xright)
 
Teuchos::SerialDenseVector< int, double > subinterval_weights_for_fixed_abscissae (std::vector< double > fixedAbscissae, double xleft, double xright)
 
std::pair< std::vector< double >, std::vector< double > > SGL_quadrature_rule (int order, std::vector< double > scsEndLocations)
 
std::vector< double > pad_end_points (std::vector< double > x, double xleft, double xright)
 
void field_axpby (const stk::mesh::MetaData &metaData, const stk::mesh::BulkData &bulkData, const double alpha, const stk::mesh::FieldBase &xField, const double beta, const stk::mesh::FieldBase &yField, const bool auraIsActive, const stk::topology::rank_t entityRankValue)
 
void field_fill (const stk::mesh::MetaData &metaData, const stk::mesh::BulkData &bulkData, const double alpha, const stk::mesh::FieldBase &xField, const bool auraIsActive, const stk::topology::rank_t entityRankValue)
 
void field_scale (const stk::mesh::MetaData &metaData, const stk::mesh::BulkData &bulkData, const double alpha, const stk::mesh::FieldBase &xField, const bool auraIsActive, const stk::topology::rank_t entityRankValue)
 
void field_copy (const stk::mesh::MetaData &metaData, const stk::mesh::BulkData &bulkData, const stk::mesh::FieldBase &xField, const stk::mesh::FieldBase &yField, const bool auraIsActive, const stk::topology::rank_t entityRankValue)
 
void field_index_copy (const stk::mesh::MetaData &metaData, const stk::mesh::BulkData &bulkData, const stk::mesh::FieldBase &xField, const int xFieldIndex, const stk::mesh::FieldBase &yField, const int yFieldIndex, const bool auraIsActive, const stk::topology::rank_t entityRankValue)
 
double dot5 (const double *u, const double *v)
 
std::unique_ptr< MasterElementcreate_surface_master_element (stk::topology topo)
 
std::unique_ptr< MasterElementcreate_volume_master_element (stk::topology topo)
 
std::unique_ptr< MasterElementcreate_surface_master_element (stk::topology topo, int dimension, std::string quadType)
 
std::unique_ptr< MasterElementcreate_volume_master_element (stk::topology topo, int dimension, std::string quadType)
 
double parametric_distance_hex (const double *x)
 
double parametric_distance_quad (const double *x)
 
bool isoparameteric_coordinates_for_point_3d (sierra::nalu::LagrangeBasis &basis, const double *POINTER_RESTRICT elemNodalCoords, const double *POINTER_RESTRICT pointCoord, double *POINTER_RESTRICT isoParCoord, std::array< double, 3 > initialGuess, int maxIter, double tol, double deltaLimit)
 
bool isoparameteric_coordinates_for_point_2d (sierra::nalu::LagrangeBasis &basis, const double *POINTER_RESTRICT elemNodalCoords, const double *POINTER_RESTRICT pointCoord, double *POINTER_RESTRICT isoParCoord, std::array< double, 2 > initialGuess, int maxIter, double tol, double deltaLimit)
 
 INSTANTIATE_KERNEL (MomentumAdvDiffElemKernel)
 
 INSTANTIATE_KERNEL (MomentumBuoyancyBoussinesqSrcElemKernel)
 
 INSTANTIATE_KERNEL (MomentumBuoyancySrcElemKernel)
 
 INSTANTIATE_KERNEL (MomentumCoriolisSrcElemKernel)
 
 INSTANTIATE_KERNEL (MomentumMassElemKernel)
 
const YAML::Node expect_type (const YAML::Node &node, const std::string &key, YAML::NodeType::value type, bool optional=false)
 these can be used to check and ensure a type of yaml node is as expected More...
 
const YAML::Node expect_null (const YAML::Node &node, const std::string &key, bool optional)
 
const YAML::Node expect_scalar (const YAML::Node &node, const std::string &key, bool optional)
 
const YAML::Node expect_sequence (const YAML::Node &node, const std::string &key, bool optional)
 
const YAML::Node expect_map (const YAML::Node &node, const std::string &key, bool optional)
 
void operator>> (const YAML::Node &node, WallBoundaryConditionData &wallBC)
 
void operator>> (const YAML::Node &node, InflowBoundaryConditionData &inflowBC)
 
void operator>> (const YAML::Node &node, OpenBoundaryConditionData &openBC)
 
void operator>> (const YAML::Node &node, OversetBoundaryConditionData &oversetBC)
 
void operator>> (const YAML::Node &node, SymmetryBoundaryConditionData &symmetryBC)
 
void operator>> (const YAML::Node &node, PeriodicBoundaryConditionData &periodicBC)
 
void operator>> (const YAML::Node &node, NonConformalBoundaryConditionData &nonConformalBC)
 
void operator>> (const YAML::Node &node, UserFunctionInitialConditionData &fcnIC)
 
void operator>> (const YAML::Node &node, ConstantInitialConditionData &constIC)
 
void operator>> (const YAML::Node &node, std::map< std::string, bool > &mapName)
 
void operator>> (const YAML::Node &node, std::map< std::string, double > &mapName)
 
void operator>> (const YAML::Node &node, std::map< std::string, std::string > &mapName)
 
void operator>> (const YAML::Node &node, std::map< std::string, std::vector< std::string > > &mapName)
 
void operator>> (const YAML::Node &node, std::map< std::string, std::vector< double > > &mapName)
 
bool case_insensitive_compare (std::string s1, std::string s2)
 
void add_downward_relations (const stk::mesh::BulkData &bulk, std::vector< stk::mesh::EntityKey > &entityKeys)
 
void keep_elems_not_already_ghosted (const stk::mesh::BulkData &bulk, const stk::mesh::EntityProcVec &alreadyGhosted, stk::mesh::EntityProcVec &elemsToGhost)
 
void fill_send_ghosts_to_remove_from_ghosting (const stk::mesh::EntityProcVec &curSendGhosts, const stk::mesh::EntityProcVec &intersection, stk::mesh::EntityProcVec &sendGhostsToRemove)
 
void communicate_to_fill_recv_ghosts_to_remove (const stk::mesh::BulkData &bulk, const stk::mesh::EntityProcVec &sendGhostsToRemove, std::vector< stk::mesh::EntityKey > &recvGhostsToRemove)
 
void keep_only_elems (const stk::mesh::BulkData &bulk, stk::mesh::EntityProcVec &entityProcs)
 
 INSTANTIATE_KERNEL (MomentumNSOElemKernel)
 
 INSTANTIATE_KERNEL (MomentumNSOKeElemKernel)
 
 INSTANTIATE_KERNEL (MomentumNSOSijElemKernel)
 
 INSTANTIATE_KERNEL (ScalarNSOElemKernel)
 
 INSTANTIATE_KERNEL (ScalarAdvDiffElemKernel)
 
 INSTANTIATE_KERNEL (ScalarDiffElemKernel)
 
 INSTANTIATE_KERNEL (ScalarDiffFemKernel)
 
 INSTANTIATE_KERNEL (ScalarMassElemKernel)
 
 INSTANTIATE_KERNEL (ScalarUpwAdvDiffElemKernel)
 
void gather_elem_node_field (const stk::mesh::FieldBase &field, int numNodes, const stk::mesh::Entity *elemNodes, SharedMemView< double * > &shmemView)
 
void gather_elem_node_tensor_field (const stk::mesh::FieldBase &field, int numNodes, int tensorDim1, int tensorDim2, const stk::mesh::Entity *elemNodes, SharedMemView< double *** > &shmemView)
 
void gather_elem_tensor_field (const stk::mesh::FieldBase &field, stk::mesh::Entity elem, int tensorDim1, int tensorDim2, SharedMemView< double ** > &shmemView)
 
void gather_elem_node_field_3D (const stk::mesh::FieldBase &field, int numNodes, const stk::mesh::Entity *elemNodes, SharedMemView< double ** > &shmemView)
 
void gather_elem_node_field (const stk::mesh::FieldBase &field, int numNodes, int scalarsPerNode, const stk::mesh::Entity *elemNodes, SharedMemView< double ** > &shmemView)
 
int get_num_scalars_pre_req_data (ElemDataRequests &dataNeededBySuppAlgs, int nDim)
 
void fill_pre_req_data (ElemDataRequests &dataNeeded, const stk::mesh::BulkData &bulkData, stk::topology topo, stk::mesh::Entity elem, ScratchViews< double > &prereqData, bool fillMEViews)
 
void fill_master_element_views (ElemDataRequests &dataNeeded, const stk::mesh::BulkData &bulkData, stk::topology topo, stk::mesh::Entity elem, ScratchViews< DoubleType > &prereqData)
 
void basis_funs (const int i, const int p, const double u, const vector< double > &U, vector< double > &N)
 
int find_indx (const int n, const int p, const double u, const vector< double > &U)
 
double get_uk (const double indepVar, const double maxIndepVarVal, const double minIndepVarVal, const bool clipExtrema)
 
void set_uk (const vector< double > &indepVars, vector< double > &uk, const double maxIndepVarVal, const double minIndepVarVal)
 
int set_knot_vector (const vector< double > &uk, const int order, vector< double > &knots)
 
double errorf (const double x)
 This file contains generic mathematical functions that are needed at run-time by our Converter classes. More...
 
double errorfc (const double x)
 Compute the complementary error function using series solutions. More...
 
double inv_errorf (const double x)
 Compute the inverse error function using Newton's method. More...
 
double F_chi (const double Z)
 Compute the quantity: More...
 
double F_gamma (const std::vector< double > &Zpoint, std::vector< std::vector< double > > Z_st, std::vector< double > gamma_st)
 Compute the value of F_gamma (not Gamma itself) for one or two mixture fractions. More...
 
 INSTANTIATE_KERNEL (TurbKineticEnergyKsgsSrcElemKernel)
 
 INSTANTIATE_KERNEL (SteadyThermal3dContactSrcElemKernel)
 
template<int p>
constexpr int nGL ()
 
template<class LOOP_BODY >
void bucket_loop (const stk::mesh::BucketVector &buckets, LOOP_BODY inner_loop_body)
 
template<typename DTYPE >
void interleave_3D (SharedMemView< DTYPE *** > &dview, const SharedMemView< double *** > &sview, int simdIndex)
 
template<typename DTYPE >
void interleave_2D (SharedMemView< DTYPE ** > &dview, const SharedMemView< double ** > &sview, int simdIndex)
 
template<typename DTYPE >
void interleave_1D (SharedMemView< DTYPE * > &dview, const SharedMemView< double * > &sview, int simdIndex)
 
template<typename DTYPE >
void interleave_1D (SharedMemView< DTYPE * > &dview, const double *sviews[], int simdElems)
 
template<typename DTYPE >
void interleave_2D (SharedMemView< DTYPE ** > &dview, const double *sviews[], int simdElems)
 
template<typename DTYPE >
void interleave_3D (SharedMemView< DTYPE *** > &dview, const double *sviews[], int simdElems)
 
void interleave_1D (ViewHolder *dest, const ViewHolder *sviews[], int simdElems)
 
void interleave_2D (ViewHolder *dest, const ViewHolder *sviews[], int simdElems)
 
void interleave_3D (ViewHolder *dest, const ViewHolder *sviews[], int simdElems)
 
void interleave_me_views (MasterElementViews< DoubleType > &dest, const MasterElementViews< double > &src, int simdIndex)
 
void copy_and_interleave (const std::vector< ScratchViews< double > * > &data, int simdElems, ScratchViews< DoubleType > &simdData, bool copyMEViews=true)
 
void extract_vector_lane (const SharedMemView< DoubleType * > &simdrhs, int simdIndex, SharedMemView< double * > &rhs)
 
void extract_vector_lane (const SharedMemView< DoubleType ** > &simdlhs, int simdIndex, SharedMemView< double ** > &lhs)
 
stk::mesh::PartVector append_super_elems_to_part_vector (stk::mesh::PartVector parts)
 
template<typename AlgTraits , typename LambdaFunction , typename ViewType >
void get_scv_shape_fn_data (LambdaFunction lambdaFunction, ViewType &shape_fn_view)
 
template<typename AlgTraits , typename LambdaFunction , typename ViewType >
void get_scs_shape_fn_data (LambdaFunction lambdaFunction, ViewType &shape_fn_view)
 
template<template< typename > class T, int order, typename... Args>
Kernelbuild_ho_kernel (int dimension, Args &&...args)
 
template<template< typename > class T, typename... Args>
Kernelbuild_topo_kernel (int dimension, stk::topology topo, Args &&...args)
 
template<template< typename > class T, typename... Args>
bool build_topo_kernel_if_requested (stk::topology topo, EquationSystem &eqSys, std::vector< Kernel * > &kernelVec, std::string name, Args &&...args)
 
std::pair< AssembleElemSolverAlgorithm *, bool > build_or_add_part_to_solver_alg (EquationSystem &eqSys, stk::mesh::Part &part, std::map< std::string, SolverAlgorithm * > &solverAlgs)
 
DeviceTeamPolicy get_team_policy (const size_t sz, const size_t bytes_per_team, const size_t bytes_per_thread)
 
SharedMemView< int * > get_int_shmem_view_1D (const TeamHandleType &team, size_t len)
 
SharedMemView< stk::mesh::Entity * > get_entity_shmem_view_1D (const TeamHandleType &team, size_t len)
 
template<typename T >
SharedMemView< T * > get_shmem_view_1D (const TeamHandleType &team, size_t len)
 
template<typename T >
SharedMemView< T ** > get_shmem_view_2D (const TeamHandleType &team, size_t len1, size_t len2)
 
template<typename T >
SharedMemView< T *** > get_shmem_view_3D (const TeamHandleType &team, size_t len1, size_t len2, size_t len3)
 
template<typename SizeType , class Function >
void kokkos_parallel_for (const std::string &debuggingName, SizeType n, Function loop_body)
 
template<typename SizeType , class Function , typename ReduceType >
void kokkos_parallel_reduce (SizeType n, Function loop_body, ReduceType &reduce, const std::string &debuggingName)
 
template<typename ViewType >
void quad_area_by_triangulation (int ics, const typename ViewType::value_type areacoords[4][3], const ViewType &area)
 
template<typename RealType >
RealType hex_volume_grandy (RealType scvcoords[8][3])
 
template<typename CoordViewType >
void subdivide_hex_8 (CoordViewType coords, typename CoordViewType::value_type coordv[27][3])
 
template<typename AlgTraits , typename GradViewType , typename CoordViewType , typename OutputViewType >
void generic_grad_op_3d (GradViewType referenceGradWeights, CoordViewType coords, OutputViewType weights)
 
template<typename AlgTraits , typename GradViewType , typename CoordViewType , typename OutputViewType >
void generic_gij_3d (GradViewType referenceGradWeights, CoordViewType coords, OutputViewType gup, OutputViewType glo)
 
template<typename AlgTraits , typename GradViewType , typename CoordViewType , typename OutputViewType >
void generic_determinant_3d (GradViewType referenceGradWeights, CoordViewType coords, OutputViewType detj)
 
constexpr double tiny_positive_value ()
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION ScalarType vecnorm_sq2 (const ScalarType *x)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION ScalarType vecnorm_sq3 (const ScalarType *x)
 
template<typename ScalarType >
ScalarType ddot (const ScalarType *u, const ScalarType *v, int n)
 
template<typename ScalarType >
void cross3 (const ScalarType *u, const ScalarType *v, ScalarType *cross)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION ScalarType determinant22 (const ScalarType *mat)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION ScalarType determinant33 (const ScalarType *mat)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void adjugate_matrix33 (const ScalarType jact[3][3], ScalarType adjJac[3][3])
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void invert_matrix33 (const ScalarType A[3][3], ScalarType Ainv[3][3])
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void invert_matrix33 (const ScalarType *POINTER_RESTRICT A, ScalarType *POINTER_RESTRICT Ainv)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void solve22 (const ScalarType *POINTER_RESTRICT A, const ScalarType *POINTER_RESTRICT b, ScalarType *POINTER_RESTRICT x)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void solve33 (const ScalarType *POINTER_RESTRICT A, const ScalarType *POINTER_RESTRICT b, ScalarType *POINTER_RESTRICT x)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void matvec22 (const ScalarType *A, const ScalarType *x, ScalarType *b)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void mxm22 (const ScalarType *A, const ScalarType *B, ScalarType *C)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void mxm33 (const ScalarType *A, const ScalarType *B, ScalarType *C)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void matvec33 (const ScalarType *A, const ScalarType *x, ScalarType *b)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void transpose22 (const ScalarType *A, ScalarType *At)
 
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void transpose33 (const ScalarType *A, ScalarType *At)
 
template<typename T , typename... Args>
std::unique_ptr< T > make_unique (Args &&...args)
 
template<typename T >
void get_if_present (const YAML::Node &node, const std::string &key, T &result, const T &default_if_not_present=T())
 Set. More...
 
template<typename T >
void get_if_present_no_default (const YAML::Node &node, const std::string &key, T &result)
 this version doesn't change More...
 
template<typename T >
void get_required (const YAML::Node &node, const std::string &key, T &result)
 this version requires the More...
 
template<typename T = double>
int get_num_bytes_pre_req_data (ElemDataRequests &dataNeededBySuppAlgs, int nDim)
 
double F_gamma (const double Z, const double Z_st)
 Compute the quantity F_gamma (and not Gamma itself) More...
 
template<typename T1 , typename T2 >
void copy_kokkos_unordered_map (const Kokkos::UnorderedMap< T1, T2 > &src, Kokkos::UnorderedMap< T1, T2 > &dest)
 

Variables

static const std::string CoordinatesTypeNames []
 
static const std::string EquationTypeMap []
 
static const std::string PropertyIdentifierNames []
 
static const std::string TurbulenceModelNames []
 
static const std::string TurbulenceModelConstantNames []
 
static std::map< std::string, ActuatorTypeActuatorTypeMap = { {"ActLinePointDrag",ActuatorType::ActLinePointDrag}, {"ActLineFAST",ActuatorType::ActLineFAST}}
 

Typedef Documentation

template<typename T >
using sierra::nalu::AlignedVector = typedef std::vector<T, non_std::AlignedAllocator<T, 64>>
typedef stk::search::Box< double > sierra::nalu::Box
typedef std::pair<stk::mesh::Entity, stk::mesh::Entity> sierra::nalu::Connection
typedef Kokkos::UnorderedMap<Connection,void> sierra::nalu::ConnectionSetKK
typedef std::vector< Connection > sierra::nalu::ConnectionVec
using sierra::nalu::DeviceShmem = typedef DeviceSpace::scratch_memory_space
using sierra::nalu::DeviceSpace = typedef Kokkos::DefaultExecutionSpace
using sierra::nalu::DeviceTeam = typedef DeviceTeamPolicy::member_type
using sierra::nalu::DeviceTeamPolicy = typedef Kokkos::TeamPolicy<DeviceSpace>
using sierra::nalu::DynamicScheduleType = typedef Kokkos::Schedule<Kokkos::Dynamic>
typedef stk::mesh::Field<double, stk::mesh::SimpleArrayTag> sierra::nalu::GenericFieldType
typedef stk::mesh::Field<stk::mesh::EntityId> sierra::nalu::GlobalIdFieldType
using sierra::nalu::HostSpace = typedef Kokkos::HostSpace
typedef unsigned sierra::nalu::LocalId
typedef stk::mesh::Field<LocalId> sierra::nalu::LocalIdFieldType
typedef boost::unordered_map<stk::mesh::EntityId, size_t> sierra::nalu::MyLIDMapType
using sierra::nalu::ordinal_type = typedef int
typedef stk::search::Point< double > sierra::nalu::Point
typedef std::vector<Realm *> sierra::nalu::RealmVector
typedef stk::mesh::Field<double> sierra::nalu::ScalarFieldType
typedef stk::mesh::Field<int> sierra::nalu::ScalarIntFieldType
template<typename T >
using sierra::nalu::SharedMemView = typedef Kokkos::View<T, Kokkos::LayoutRight, DeviceShmem, Kokkos::MemoryUnmanaged>
typedef stk::simd::Double sierra::nalu::SimdDouble
typedef stk::search::Sphere< double > sierra::nalu::Sphere
using sierra::nalu::TeamHandleType = typedef Kokkos::TeamPolicy<DeviceSpace, DynamicScheduleType>::member_type
typedef stk::search::IdentProc<stk::mesh::EntityKey,int> sierra::nalu::theEntityKey
typedef stk::search::IdentProc< uint64_t, int > sierra::nalu::theKey
typedef stk::mesh::Field<double, stk::mesh::Cartesian> sierra::nalu::VectorFieldType

Enumeration Type Documentation

Enumerator
ActLinePointDrag 
ActLineFAST 
ActuatorType_END 
Enumerator
INTERIOR 
INFLOW 
WALL 
OPEN 
MASS 
SRC 
SYMMETRY 
WALL_HF 
WALL_CHT 
WALL_RAD 
NON_CONFORMAL 
ELEM_SOURCE 
OVERSET 
WALL_ABL 
REF_PRESSURE 

Set the reference pressure at a node.

Used only for continuity equation system. This needs to be the last algorithm applied to the linear system because it resets the row and overwrites contributions from other algorithms at this node.

See also
FixPressureAtNodeAlgorithm
Enumerator
INFLOW_BC 
OPEN_BC 
WALL_BC 
SYMMETRY_BC 
PERIODIC_BC 
NON_CONFORMAL_BC 
OVERSET_BC 
Enumerator
CURRENT_COORDINATES 
MODEL_COORDINATES 
MAX_COORDS_TYPES 
Enumerator
SCS_AREAV 
SCS_GRAD_OP 
SCS_SHIFTED_GRAD_OP 
SCS_GIJ 
SCV_VOLUME 
FEM_GRAD_OP 
FEM_SHIFTED_GRAD_OP 
Enumerator
EQ_MOMENTUM 
EQ_CONTINUITY 
EQ_MIXTURE_FRACTION 
EQ_TURBULENT_KE 
EQ_TEMPERATURE 
EQ_INTENSITY 
EQ_ENTHALPY 
EQ_MESH_DISPLACEMENT 
EQ_SPEC_DISS_RATE 
EQ_MASS_FRACTION 
EQ_PNG 
EQ_PNG_P 
EQ_PNG_Z 
EQ_PNG_H 
EQ_PNG_U 
EQ_PNG_TKE 
EquationSystemType_END 
Enumerator
EIT_NONE 
EIT_PSTAB 
EIT_LIMITER 
EIT_SIMPLE_BASE 
EIT_SIMPLE_VORTICITY 
EIT_SIMPLE_VORTICITY_DX 
EIT_SIMPLE_DUDX2 
Enumerator
CONSTANT_MAT 
MIXFRAC_MAT 
POLYNOMIAL_MAT 
IDEAL_GAS_T_MAT 
GEOMETRIC_MAT 
IDEAL_GAS_T_P_MAT 
HDF5_TABLE_MAT 
IDEAL_GAS_YK_MAT 
GENERIC 
MaterialPropertyType_END 
Enumerator
NALU_STATE_N 
NALU_STATE_NM1 
Enumerator
PT_TPETRA 
PT_END 
Enumerator
DENSITY_ID 
VISCOSITY_ID 
SPEC_HEAT_ID 
THERMAL_COND_ID 
ABSORBTION_COEFF_ID 
ENTHALPY_ID 
LAME_MU_ID 
LAME_LAMBDA_ID 
SCATTERING_COEFF_ID 
PropertyIdentifier_END 
Enumerator
LAMINAR 
KSGS 
SMAGORINSKY 
WALE 
SST 
SST_DES 
TurbulenceModel_END 
Enumerator
TM_cMu 
TM_kappa 
TM_cDESke 
TM_cDESkw 
TM_tkeProdLimitRatio 
TM_cmuEps 
TM_cEps 
TM_betaStar 
TM_aOne 
TM_betaOne 
TM_betaTwo 
TM_gammaOne 
TM_gammaTwo 
TM_sigmaKOne 
TM_sigmaKTwo 
TM_sigmaWOne 
TM_sigmaWTwo 
TM_cmuCs 
TM_Cw 
TM_CbTwo 
TM_SDRWallFactor 
TM_END 
Enumerator
CONSTANT_UD 
FUNCTION_UD 
USER_SUB_UD 
UserDataType_END 

Function Documentation

void sierra::nalu::add_downward_relations ( const stk::mesh::BulkData &  bulk,
std::vector< stk::mesh::EntityKey > &  entityKeys 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::adjugate_matrix33 ( const ScalarType  jact[3][3],
ScalarType  adjJac[3][3] 
)
stk::mesh::PartVector sierra::nalu::append_super_elems_to_part_vector ( stk::mesh::PartVector  parts)
stk::mesh::PartVector sierra::nalu::base_edge_parts ( const stk::mesh::PartVector parts)
stk::mesh::Part * sierra::nalu::base_elem_part_from_super_elem_part ( const stk::mesh::Part &  super_elem_part)
stk::mesh::PartVector sierra::nalu::base_elem_parts ( const stk::mesh::PartVector parts)
std::string sierra::nalu::base_element_part_name ( std::string  super_name)
stk::mesh::PartVector sierra::nalu::base_face_parts ( const stk::mesh::PartVector parts)
stk::mesh::PartVector sierra::nalu::base_ranked_parts ( const stk::mesh::PartVector parts,
stk::topology::rank_t  rank,
bool  with_subsets 
)
void sierra::nalu::basis_funs ( const int  i,
const int  p,
const double  u,
const vector< double > &  U,
vector< double > &  N 
)
template<class LOOP_BODY >
void sierra::nalu::bucket_loop ( const stk::mesh::BucketVector buckets,
LOOP_BODY  inner_loop_body 
)
template<template< typename > class T, int order, typename... Args>
Kernel* sierra::nalu::build_ho_kernel ( int  dimension,
Args &&...  args 
)
std::pair<AssembleElemSolverAlgorithm*, bool> sierra::nalu::build_or_add_part_to_solver_alg ( EquationSystem eqSys,
stk::mesh::Part &  part,
std::map< std::string, SolverAlgorithm * > &  solverAlgs 
)
inline
template<template< typename > class T, typename... Args>
Kernel* sierra::nalu::build_topo_kernel ( int  dimension,
stk::topology  topo,
Args &&...  args 
)
template<template< typename > class T, typename... Args>
bool sierra::nalu::build_topo_kernel_if_requested ( stk::topology  topo,
EquationSystem eqSys,
std::vector< Kernel * > &  kernelVec,
std::string  name,
Args &&...  args 
)
bool sierra::nalu::case_insensitive_compare ( std::string  s1,
std::string  s2 
)
bool sierra::nalu::check_part_topo ( const stk::mesh::Part &  part)
bool sierra::nalu::check_parts_for_promotion ( const stk::mesh::PartVector parts)
std::pair<Teuchos::SerialDenseVector<int, double>, Teuchos::SerialDenseVector<int, double> > sierra::nalu::coefficients_for_lobatto ( int  order,
double  xl1,
double  xl2 
)
void sierra::nalu::communicate_to_fill_recv_ghosts_to_remove ( const stk::mesh::BulkData &  bulk,
const stk::mesh::EntityProcVec &  sendGhostsToRemove,
std::vector< stk::mesh::EntityKey > &  recvGhostsToRemove 
)
void sierra::nalu::copy_and_interleave ( const std::vector< ScratchViews< double > * > &  data,
int  simdElems,
ScratchViews< DoubleType > &  simdData,
bool  copyMEViews = true 
)
inline
template<typename T1 , typename T2 >
void sierra::nalu::copy_kokkos_unordered_map ( const Kokkos::UnorderedMap< T1, T2 > &  src,
Kokkos::UnorderedMap< T1, T2 > &  dest 
)
size_t sierra::nalu::count_entities ( const stk::mesh::BucketVector buckets)
std::unique_ptr<MasterElement> sierra::nalu::create_surface_master_element ( stk::topology  topo)
std::unique_ptr<MasterElement> sierra::nalu::create_surface_master_element ( stk::topology  topo,
int  dimension,
std::string  quadType 
)
std::unique_ptr<MasterElement> sierra::nalu::create_volume_master_element ( stk::topology  topo)
std::unique_ptr<MasterElement> sierra::nalu::create_volume_master_element ( stk::topology  topo,
int  dimension,
std::string  quadType 
)
template<typename ScalarType >
void sierra::nalu::cross3 ( const ScalarType *  u,
const ScalarType *  v,
ScalarType *  cross 
)
template<typename ScalarType >
ScalarType sierra::nalu::ddot ( const ScalarType *  u,
const ScalarType *  v,
int  n 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION ScalarType sierra::nalu::determinant22 ( const ScalarType *  mat)

Referenced by solve22().

template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION ScalarType sierra::nalu::determinant33 ( const ScalarType *  mat)
double sierra::nalu::dot5 ( const double *  u,
const double *  v 
)
double sierra::nalu::errorf ( const double  x)

This file contains generic mathematical functions that are needed at run-time by our Converter classes.

An implementation of erf() and erfc() are available in math.h, but we would prefer to only link with C++ headers. (These functions are not available in cmath.h.)Compute the error function using series solutions. This returns values with relative error everywhere less than 1.58e-12 when compared to the glibc implementation of erf(). This error occurs at x=3.5 where the solution switches to an asymptotic expansion and recovers ~1.e-16 error above about 4.2 and for all values below 3.5.

Referenced by errorfc(), and inv_errorf().

double sierra::nalu::errorfc ( const double  x)

Compute the complementary error function using series solutions.

References errorf().

const YAML::Node sierra::nalu::expect_map ( const YAML::Node node,
const std::string &  key,
bool  optional 
)
const YAML::Node sierra::nalu::expect_null ( const YAML::Node node,
const std::string &  key,
bool  optional 
)

References expect_type().

Referenced by get_required().

const YAML::Node sierra::nalu::expect_scalar ( const YAML::Node node,
const std::string &  key,
bool  optional 
)

References expect_type().

Referenced by get_required().

const YAML::Node sierra::nalu::expect_sequence ( const YAML::Node node,
const std::string &  key,
bool  optional 
)
const YAML::Node sierra::nalu::expect_type ( const YAML::Node node,
const std::string &  key,
YAML::NodeType::value  type,
bool  optional 
)
void sierra::nalu::extract_vector_lane ( const SharedMemView< DoubleType * > &  simdrhs,
int  simdIndex,
SharedMemView< double * > &  rhs 
)
inline
void sierra::nalu::extract_vector_lane ( const SharedMemView< DoubleType ** > &  simdlhs,
int  simdIndex,
SharedMemView< double ** > &  lhs 
)
inline
double sierra::nalu::F_chi ( const double  Z)

Compute the quantity:

F_chi(Z) = exp( -2 * ( inv_errorf(1 - 2*Z)^2 ) )

which is a sub-component of an exact solution of scalar dissipation rate from laminar flamelet theory:

Chi = Chi_max * F_chi(Z)

Note that this function only returns F_chi(Z) and not Chi itself.

References inv_errorf().

Referenced by sierra::nalu::FChi::query(), sierra::nalu::ChiConverter::query(), and sierra::nalu::DeltaChiConverter::query().

double sierra::nalu::F_gamma ( const double  Z,
const double  Z_st 
)

Compute the quantity F_gamma (and not Gamma itself)

double sierra::nalu::F_gamma ( const std::vector< double > &  Zpoint,
std::vector< std::vector< double > >  Z_st,
std::vector< double >  gamma_st 
)

Compute the value of F_gamma (not Gamma itself) for one or two mixture fractions.

(Three or more mixture fractions are not yet supported.)

References sierra::nalu::Coord2D::distance(), sierra::nalu::Coord2D::x, sierra::nalu::Coord2D::y, and Z.

Referenced by sierra::nalu::FGamma::query(), sierra::nalu::DeltaGammaConverter::query(), and sierra::nalu::FChi::~FChi().

void sierra::nalu::field_axpby ( const stk::mesh::MetaData &  metaData,
const stk::mesh::BulkData &  bulkData,
const double  alpha,
const stk::mesh::FieldBase &  xField,
const double  beta,
const stk::mesh::FieldBase &  yField,
const bool  auraIsActive,
const stk::topology::rank_t  entityRankValue 
)
void sierra::nalu::field_copy ( const stk::mesh::MetaData &  metaData,
const stk::mesh::BulkData &  bulkData,
const stk::mesh::FieldBase &  xField,
const stk::mesh::FieldBase &  yField,
const bool  auraIsActive,
const stk::topology::rank_t  entityRankValue 
)
void sierra::nalu::field_fill ( const stk::mesh::MetaData &  metaData,
const stk::mesh::BulkData &  bulkData,
const double  alpha,
const stk::mesh::FieldBase &  xField,
const bool  auraIsActive,
const stk::topology::rank_t  entityRankValue 
)
void sierra::nalu::field_index_copy ( const stk::mesh::MetaData &  metaData,
const stk::mesh::BulkData &  bulkData,
const stk::mesh::FieldBase &  xField,
const int  xFieldIndex,
const stk::mesh::FieldBase &  yField,
const int  yFieldIndex,
const bool  auraIsActive,
const stk::topology::rank_t  entityRankValue 
)
void sierra::nalu::field_scale ( const stk::mesh::MetaData &  metaData,
const stk::mesh::BulkData &  bulkData,
const double  alpha,
const stk::mesh::FieldBase &  xField,
const bool  auraIsActive,
const stk::topology::rank_t  entityRankValue 
)
void sierra::nalu::fill_master_element_views ( ElemDataRequests dataNeeded,
const stk::mesh::BulkData &  bulkData,
stk::topology  topo,
stk::mesh::Entity  elem,
ScratchViews< DoubleType > &  prereqData 
)
void sierra::nalu::fill_pre_req_data ( ElemDataRequests dataNeeded,
const stk::mesh::BulkData &  bulkData,
stk::topology  topo,
stk::mesh::Entity  elem,
ScratchViews< double > &  prereqData,
bool  fillMEViews 
)
void sierra::nalu::fill_send_ghosts_to_remove_from_ghosting ( const stk::mesh::EntityProcVec &  curSendGhosts,
const stk::mesh::EntityProcVec &  intersection,
stk::mesh::EntityProcVec &  sendGhostsToRemove 
)
int sierra::nalu::find_indx ( const int  n,
const int  p,
const double  u,
const vector< double > &  U 
)
void sierra::nalu::gather_elem_node_field ( const stk::mesh::FieldBase &  field,
int  numNodes,
const stk::mesh::Entity *  elemNodes,
SharedMemView< double * > &  shmemView 
)
inline

Referenced by fill_pre_req_data().

void sierra::nalu::gather_elem_node_field ( const stk::mesh::FieldBase &  field,
int  numNodes,
int  scalarsPerNode,
const stk::mesh::Entity *  elemNodes,
SharedMemView< double ** > &  shmemView 
)
inline
void sierra::nalu::gather_elem_node_field_3D ( const stk::mesh::FieldBase &  field,
int  numNodes,
const stk::mesh::Entity *  elemNodes,
SharedMemView< double ** > &  shmemView 
)
inline

Referenced by fill_pre_req_data().

void sierra::nalu::gather_elem_node_tensor_field ( const stk::mesh::FieldBase &  field,
int  numNodes,
int  tensorDim1,
int  tensorDim2,
const stk::mesh::Entity *  elemNodes,
SharedMemView< double *** > &  shmemView 
)
inline

Referenced by fill_pre_req_data().

void sierra::nalu::gather_elem_tensor_field ( const stk::mesh::FieldBase &  field,
stk::mesh::Entity  elem,
int  tensorDim1,
int  tensorDim2,
SharedMemView< double ** > &  shmemView 
)
inline

Referenced by fill_pre_req_data().

std::pair< std::vector< double >, std::vector< double > > sierra::nalu::gauss_legendre_rule ( int  order)
std::pair< std::vector< double >, std::vector< double > > sierra::nalu::gauss_lobatto_legendre_rule ( int  order,
double  xleft,
double  xright 
)
template<typename AlgTraits , typename GradViewType , typename CoordViewType , typename OutputViewType >
void sierra::nalu::generic_determinant_3d ( GradViewType  referenceGradWeights,
CoordViewType  coords,
OutputViewType  detj 
)

References determinant33().

template<typename AlgTraits , typename GradViewType , typename CoordViewType , typename OutputViewType >
void sierra::nalu::generic_gij_3d ( GradViewType  referenceGradWeights,
CoordViewType  coords,
OutputViewType  gup,
OutputViewType  glo 
)
template<typename AlgTraits , typename GradViewType , typename CoordViewType , typename OutputViewType >
void sierra::nalu::generic_grad_op_3d ( GradViewType  referenceGradWeights,
CoordViewType  coords,
OutputViewType  weights 
)

References tiny_positive_value().

SharedMemView<stk::mesh::Entity*> sierra::nalu::get_entity_shmem_view_1D ( const TeamHandleType team,
size_t  len 
)
inline
template<typename T >
void sierra::nalu::get_if_present ( const YAML::Node node,
const std::string &  key,
T &  result,
const T &  default_if_not_present = T() 
)
template<typename T >
void sierra::nalu::get_if_present_no_default ( const YAML::Node node,
const std::string &  key,
T &  result 
)

this version doesn't change

Parameters
resultunless the
keyis present in the
node

Referenced by sierra::nalu::LinearSolvers::load(), sierra::nalu::MaterialPropertys::load(), and sierra::nalu::EquationSystems::load().

SharedMemView<int*> sierra::nalu::get_int_shmem_view_1D ( const TeamHandleType team,
size_t  len 
)
inline
template<typename T = double>
int sierra::nalu::get_num_bytes_pre_req_data ( ElemDataRequests dataNeededBySuppAlgs,
int  nDim 
)
int sierra::nalu::get_num_scalars_pre_req_data ( ElemDataRequests dataNeededBySuppAlgs,
int  nDim 
)
template<typename T >
void sierra::nalu::get_required ( const YAML::Node node,
const std::string &  key,
T &  result 
)
template<typename AlgTraits , typename LambdaFunction , typename ViewType >
void sierra::nalu::get_scs_shape_fn_data ( LambdaFunction  lambdaFunction,
ViewType &  shape_fn_view 
)
template<typename AlgTraits , typename LambdaFunction , typename ViewType >
void sierra::nalu::get_scv_shape_fn_data ( LambdaFunction  lambdaFunction,
ViewType &  shape_fn_view 
)
template<typename T >
SharedMemView<T*> sierra::nalu::get_shmem_view_1D ( const TeamHandleType team,
size_t  len 
)
template<typename T >
SharedMemView<T**> sierra::nalu::get_shmem_view_2D ( const TeamHandleType team,
size_t  len1,
size_t  len2 
)
template<typename T >
SharedMemView<T***> sierra::nalu::get_shmem_view_3D ( const TeamHandleType team,
size_t  len1,
size_t  len2,
size_t  len3 
)
DeviceTeamPolicy sierra::nalu::get_team_policy ( const size_t  sz,
const size_t  bytes_per_team,
const size_t  bytes_per_thread 
)
inline
double sierra::nalu::get_uk ( const double  indepVar,
const double  maxIndepVarVal,
const double  minIndepVarVal,
const bool  clipExtrema 
)
template<typename RealType >
RealType sierra::nalu::hex_volume_grandy ( RealType  scvcoords[8][3])

The Grandy algorithm for computing the volume of a multilinear box

"Efficient computation of volume ofl Hexahedral Cells", Jeffrey Grandy, LLNL, UCRL-ID-128886, October 30, 1997.

Referenced by sierra::nalu::HexSCV::determinant(), and TEST().

sierra::nalu::INSTANTIATE_KERNEL ( SteadyThermal3dContactSrcElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( MomentumBuoyancySrcElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( MomentumBuoyancyBoussinesqSrcElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( TurbKineticEnergyKsgsSrcElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( ScalarDiffElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( ScalarDiffFemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( ContinuityMassElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( ScalarAdvDiffElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( MomentumCoriolisSrcElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( ScalarMassElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( ContinuityAdvElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( MomentumMassElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( MomentumAdvDiffElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( MomentumNSOSijElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( MomentumNSOKeElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( ScalarNSOElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( ScalarUpwAdvDiffElemKernel  )
sierra::nalu::INSTANTIATE_KERNEL ( MomentumNSOElemKernel  )
template<typename DTYPE >
void sierra::nalu::interleave_1D ( SharedMemView< DTYPE * > &  dview,
const SharedMemView< double * > &  sview,
int  simdIndex 
)
template<typename DTYPE >
void sierra::nalu::interleave_1D ( SharedMemView< DTYPE * > &  dview,
const double *  sviews[],
int  simdElems 
)
void sierra::nalu::interleave_1D ( ViewHolder dest,
const ViewHolder sviews[],
int  simdElems 
)
inline

References interleave_1D().

template<typename DTYPE >
void sierra::nalu::interleave_2D ( SharedMemView< DTYPE ** > &  dview,
const SharedMemView< double ** > &  sview,
int  simdIndex 
)
template<typename DTYPE >
void sierra::nalu::interleave_2D ( SharedMemView< DTYPE ** > &  dview,
const double *  sviews[],
int  simdElems 
)
void sierra::nalu::interleave_2D ( ViewHolder dest,
const ViewHolder sviews[],
int  simdElems 
)
inline

References interleave_2D().

template<typename DTYPE >
void sierra::nalu::interleave_3D ( SharedMemView< DTYPE *** > &  dview,
const SharedMemView< double *** > &  sview,
int  simdIndex 
)
template<typename DTYPE >
void sierra::nalu::interleave_3D ( SharedMemView< DTYPE *** > &  dview,
const double *  sviews[],
int  simdElems 
)
void sierra::nalu::interleave_3D ( ViewHolder dest,
const ViewHolder sviews[],
int  simdElems 
)
inline

References interleave_3D().

void sierra::nalu::interleave_me_views ( MasterElementViews< DoubleType > &  dest,
const MasterElementViews< double > &  src,
int  simdIndex 
)
inline
double sierra::nalu::inv_errorf ( const double  x)

Compute the inverse error function using Newton's method.

Accuracy will be full machine precision for all inputs except values just a couple significant figures below 1.0, where relative accuracy will fall to about 1.e-5.

References errorf().

Referenced by F_chi().

template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::invert_matrix33 ( const ScalarType  A[3][3],
ScalarType  Ainv[3][3] 
)

References determinant33().

template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::invert_matrix33 ( const ScalarType *POINTER_RESTRICT  A,
ScalarType *POINTER_RESTRICT  Ainv 
)

References determinant33().

bool sierra::nalu::is_side ( const stk::mesh::Part *  p)
bool sierra::nalu::is_super ( const stk::mesh::Part *  p)
bool sierra::nalu::is_super_side ( const stk::mesh::Part *  p)

References is_side(), and is_super().

bool sierra::nalu::isoparameteric_coordinates_for_point_2d ( sierra::nalu::LagrangeBasis basis,
const double *POINTER_RESTRICT  elemNodalCoords,
const double *POINTER_RESTRICT  pointCoord,
double *POINTER_RESTRICT  isoParCoord,
std::array< double, 2 >  initialGuess,
int  maxIter,
double  tol,
double  deltaLimit 
)
bool sierra::nalu::isoparameteric_coordinates_for_point_3d ( sierra::nalu::LagrangeBasis basis,
const double *POINTER_RESTRICT  elemNodalCoords,
const double *POINTER_RESTRICT  pointCoord,
double *POINTER_RESTRICT  isoParCoord,
std::array< double, 3 >  initialGuess,
int  maxIter,
double  tol,
double  deltaLimit 
)
std::pair<Teuchos::SerialDenseVector<int, double>, Teuchos::SerialDenseVector<int, double> > sierra::nalu::jacobi_recursion_coefficients ( const double  alpha,
const double  beta,
const int  order 
)
void sierra::nalu::keep_elems_not_already_ghosted ( const stk::mesh::BulkData &  bulk,
const stk::mesh::EntityProcVec &  alreadyGhosted,
stk::mesh::EntityProcVec &  elemsToGhost 
)
void sierra::nalu::keep_only_elems ( const stk::mesh::BulkData &  bulk,
stk::mesh::EntityProcVec &  entityProcs 
)
template<typename SizeType , class Function >
void sierra::nalu::kokkos_parallel_for ( const std::string &  debuggingName,
SizeType  n,
Function  loop_body 
)
template<typename SizeType , class Function , typename ReduceType >
void sierra::nalu::kokkos_parallel_reduce ( SizeType  n,
Function  loop_body,
ReduceType &  reduce,
const std::string &  debuggingName 
)
template<typename T , typename... Args>
std::unique_ptr<T> sierra::nalu::make_unique ( Args &&...  args)
template<typename Scalar >
void sierra::nalu::mat_chunk ( const Scalar mat,
int  nrows,
Scalar chunk,
int  istart,
int  jstart,
int  iend,
int  jend 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::matvec22 ( const ScalarType *  A,
const ScalarType *  x,
ScalarType *  b 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::matvec33 ( const ScalarType *  A,
const ScalarType *  x,
ScalarType *  b 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::mxm22 ( const ScalarType *  A,
const ScalarType *  B,
ScalarType *  C 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::mxm33 ( const ScalarType *  A,
const ScalarType *  B,
ScalarType *  C 
)
template<int p>
constexpr int sierra::nalu::nGL ( )
stk::mesh::PartVector sierra::nalu::only_super_elem_parts ( const stk::mesh::PartVector parts)

References part_vector_is_valid_and_nonempty().

Referenced by TEST().

stk::mesh::PartVector sierra::nalu::only_super_parts ( const stk::mesh::PartVector parts)
stk::mesh::PartVector sierra::nalu::only_super_side_parts ( const stk::mesh::PartVector parts)
void sierra::nalu::operator>> ( const YAML::Node node,
WallBoundaryConditionData wallBC 
)
void sierra::nalu::operator>> ( const YAML::Node node,
InflowBoundaryConditionData inflowBC 
)
void sierra::nalu::operator>> ( const YAML::Node node,
OpenBoundaryConditionData openBC 
)
void sierra::nalu::operator>> ( const YAML::Node node,
OversetBoundaryConditionData oversetBC 
)
void sierra::nalu::operator>> ( const YAML::Node node,
SymmetryBoundaryConditionData symmetryBC 
)
void sierra::nalu::operator>> ( const YAML::Node node,
PeriodicBoundaryConditionData periodicBC 
)
void sierra::nalu::operator>> ( const YAML::Node node,
NonConformalBoundaryConditionData nonConformalBC 
)
void sierra::nalu::operator>> ( const YAML::Node node,
UserFunctionInitialConditionData fcnIC 
)
void sierra::nalu::operator>> ( const YAML::Node node,
ConstantInitialConditionData constIC 
)
void sierra::nalu::operator>> ( const YAML::Node node,
std::map< std::string, bool > &  mapName 
)
void sierra::nalu::operator>> ( const YAML::Node node,
std::map< std::string, double > &  mapName 
)
void sierra::nalu::operator>> ( const YAML::Node node,
std::map< std::string, std::string > &  mapName 
)
void sierra::nalu::operator>> ( const YAML::Node node,
std::map< std::string, std::vector< std::string > > &  mapName 
)
void sierra::nalu::operator>> ( const YAML::Node node,
std::map< std::string, std::vector< double > > &  mapName 
)
std::vector< double > sierra::nalu::pad_end_points ( std::vector< double >  x,
double  xleft,
double  xright 
)
double sierra::nalu::parametric_distance_hex ( const double *  x)
double sierra::nalu::parametric_distance_quad ( const double *  x)
bool sierra::nalu::part_vector_is_valid_and_nonempty ( const stk::mesh::PartVector parts)
int sierra::nalu::poly_order_from_super_topology ( int  dimension,
stk::topology  superTopo 
)

"super topologies" in STK are essentially just the number of nodes in the element. Even restricting ourselves to quads/hexs, we need slightly more information to reconstruct the ElementDescription—namely the dimension.

Alternatively, we could restrict the valid polynomial orders to be < 7, and then we could base everything on topology alone

Referenced by build_topo_kernel(), and sierra::nalu::ElementDescription::create().

template<typename ViewType >
void sierra::nalu::quad_area_by_triangulation ( int  ics,
const typename ViewType::value_type  areacoords[4][3],
const ViewType &  area 
)

Form up the area vector consistently with the triangulation used in the Grandy algorithm, on each subcontrol volume hex

"Efficient computation of volume of Hexahedral Cells", Jeffrey Grandy, LLNL, UCRL-ID-128886, October 30, 1997.

Referenced by sierra::nalu::HexSCS::determinant().

int sierra::nalu::set_knot_vector ( const vector< double > &  uk,
const int  order,
vector< double > &  knots 
)
void sierra::nalu::set_uk ( const vector< double > &  indepVars,
vector< double > &  uk,
const double  maxIndepVarVal,
const double  minIndepVarVal 
)
std::pair< std::vector< double >, std::vector< double > > sierra::nalu::SGL_quadrature_rule ( int  order,
std::vector< double >  scsEndLocations 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::solve22 ( const ScalarType *POINTER_RESTRICT  A,
const ScalarType *POINTER_RESTRICT  b,
ScalarType *POINTER_RESTRICT  x 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::solve33 ( const ScalarType *POINTER_RESTRICT  A,
const ScalarType *POINTER_RESTRICT  b,
ScalarType *POINTER_RESTRICT  x 
)
template<typename CoordViewType >
void sierra::nalu::subdivide_hex_8 ( CoordViewType  coords,
typename CoordViewType::value_type  coordv[27][3] 
)

Subdivide the coordinates of a hex8 element into 8 hexs along edge, face, and volume midpoints

Referenced by sierra::nalu::HexSCV::determinant(), and sierra::nalu::HexSCS::determinant().

Teuchos::SerialDenseVector<int, double> sierra::nalu::subinterval_weights_for_fixed_abscissae ( std::vector< double >  fixedAbscissae,
double  xleft,
double  xright 
)

Referenced by SGL_quadrature_rule().

stk::mesh::Part * sierra::nalu::super_elem_part ( const stk::mesh::Part &  part)
stk::mesh::Part* sierra::nalu::super_elem_part ( const stk::mesh::Part *  part)
stk::mesh::PartVector sierra::nalu::super_elem_part_vector ( const stk::mesh::PartVector parts)
std::string sierra::nalu::super_element_part_name ( std::string  base_name)
std::string sierra::nalu::super_element_suffix ( )
stk::mesh::Part * sierra::nalu::super_subset_part ( const stk::mesh::Part &  part,
int  numElemNodes,
int  numSideNodes 
)
stk::mesh::Part * sierra::nalu::super_subset_part ( const stk::mesh::Part &  part)
std::string sierra::nalu::super_subset_part_name ( const std::string &  base_name)
std::string sierra::nalu::super_subset_part_name ( const std::string &  base_name,
int  numElemNodes,
int  numSideNodes 
)
constexpr double sierra::nalu::tiny_positive_value ( )
inline
void sierra::nalu::transform_to_super_elem_part_vector ( stk::mesh::PartVector parts)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::transpose22 ( const ScalarType *  A,
ScalarType *  At 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION void sierra::nalu::transpose33 ( const ScalarType *  A,
ScalarType *  At 
)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION ScalarType sierra::nalu::vecnorm_sq2 ( const ScalarType *  x)
template<typename ScalarType >
KOKKOS_FORCEINLINE_FUNCTION ScalarType sierra::nalu::vecnorm_sq3 ( const ScalarType *  x)

Variable Documentation

std::map<std::string, ActuatorType> sierra::nalu::ActuatorTypeMap = { {"ActLinePointDrag",ActuatorType::ActLinePointDrag}, {"ActLineFAST",ActuatorType::ActLineFAST}}
static
const std::string sierra::nalu::CoordinatesTypeNames[]
static
Initial value:
= {
"current_coordinates",
"model_coordinates"
}
const std::string sierra::nalu::EquationTypeMap[]
static
Initial value:
= {
"Momentum",
"Continuity",
"Mixture_Fraction",
"Turbulent_KE",
"Temperature",
"Intensity",
"Enthalpy",
"MeshVelocity",
"Specific_Dissipation_Rate",
"Mass_Fraction",
"PNG",
"PNG_P",
"PNG_Z",
"PNG_H",
"PNG_U",
"PNG_TKE"
}

Referenced by sierra::nalu::LinearSolvers::create_solver().

const std::string sierra::nalu::PropertyIdentifierNames[]
static
Initial value:
= {
"density",
"viscosity",
"specific_heat",
"thermal_conductivity",
"absorption_coefficient",
"enthalpy",
"lame_mu",
"lame_lambda",
"scattering_coefficient"}

Referenced by sierra::nalu::MaterialPropertys::load(), and sierra::nalu::Realm::setup_property().

const std::string sierra::nalu::TurbulenceModelConstantNames[]
static
Initial value:
= {
"cMu",
"kappa",
"cDESke",
"cDESkw",
"tkeProdLimitRatio",
"cmuEps",
"cEps",
"betaStar",
"aOne",
"betaOne",
"betaTwo",
"gammaOne",
"gammaTwo",
"sigmaKOne",
"sigmaKTwo",
"sigmaWOne",
"sigmaWTwo",
"cmuCs",
"Cw",
"Cb2",
"SDRWallFactor",
"END"}

Referenced by sierra::nalu::SolutionOptions::load().

const std::string sierra::nalu::TurbulenceModelNames[]
static
Initial value:
= {
"laminar",
"ksgs",
"smagorinsky",
"wale",
"sst",
"sst_des"}

Referenced by sierra::nalu::SolutionOptions::load().