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
Public Member Functions | Public Attributes | List of all members
sierra::nalu::ActuatorLinePointDrag Class Reference

#include <ActuatorLinePointDrag.h>

Inheritance diagram for sierra::nalu::ActuatorLinePointDrag:
sierra::nalu::Actuator

Public Member Functions

 ActuatorLinePointDrag (Realm &realm, const YAML::Node &node)
 
 ~ActuatorLinePointDrag ()
 
void load (const YAML::Node &node)
 
void setup ()
 
void initialize ()
 
void populate_candidate_elements ()
 
void create_actuator_line_point_info_map ()
 
void determine_elems_to_ghost ()
 
void manage_ghosting ()
 
void set_current_coordinates (double *lineCentroid, double *centroidCoords, const double &omega, const double &currentTime)
 
void set_current_velocity (double *lineCentroid, const double *centroidCoords, double *velocity, const double &omega)
 
void complete_search ()
 
void execute ()
 
void resize_std_vector (const int &sizeOfField, std::vector< double > &theVector, stk::mesh::Entity elem, const stk::mesh::BulkData &bulkData)
 
void gather_field (const int &sizeOfField, double *fieldToFill, const stk::mesh::FieldBase &stkField, stk::mesh::Entity const *elem_node_rels, const int &nodesPerElement)
 
void gather_field_for_interp (const int &sizeOfField, double *fieldToFill, const stk::mesh::FieldBase &stkField, stk::mesh::Entity const *elem_node_rels, const int &nodesPerElement)
 
double compute_volume (const int &nDim, stk::mesh::Entity elem, const stk::mesh::BulkData &bulkData)
 
void interpolate_field (const int &sizeOfField, stk::mesh::Entity elem, const stk::mesh::BulkData &bulkData, double *isoParCoords, const double *fieldAtNodes, double *pointField)
 
void compute_point_drag (const int &nDim, const double &pointRadius, const double *pointVelocity, const double *pointGasVelocity, const double &pointGasViscosity, const double &pointGasDensity, double *pointDrag, double &pointDragLHS)
 
void compute_elem_centroid (const int &nDim, double *elemCentroid, const int &nodesPerElement)
 
double compute_radius (const int &nDim, const double *elemCentroid, const double *pointCentroid)
 
void compute_elem_drag_given_radius (const int &nDim, const double &radius, const double &twoSigSq, const double *pointDrag, double *elemDrag)
 
void assemble_source_to_nodes (const int &nDim, stk::mesh::Entity elem, const stk::mesh::BulkData &bulkData, const double &elemVolume, const double *drag, const double &dragLHS, stk::mesh::FieldBase &actuator_source, stk::mesh::FieldBase &actuator_source_lhs, const double &lhsFac)
 
- Public Member Functions inherited from sierra::nalu::Actuator
 Actuator (Realm &realm, const YAML::Node &node)
 
virtual ~Actuator ()
 

Public Attributes

Realmrealm_
 
stk::search::SearchMethod searchMethod_
 
stk::mesh::Ghosting * actuatorLineGhosting_
 
uint64_t needToGhostCount_
 
stk::mesh::EntityProcVec elemsToGhost_
 
uint64_t localPointId_
 
bool actuatorLineMotion_
 
const double pi_
 
std::vector< std::pair< theKey, theKey > > searchKeyPair_
 
std::vector< boundingSphereboundingSphereVec_
 
std::vector< boundingElementBoxboundingElementBoxVec_
 
std::vector< std::string > searchTargetNames_
 
std::vector< ActuatorLinePointDragInfo * > actuatorLineInfo_
 
std::map< size_t, ActuatorLinePointDragPointInfo * > actuatorLinePointInfoMap_
 
std::vector< double > ws_coordinates_
 
std::vector< double > ws_scv_volume_
 
std::vector< double > ws_velocity_
 
std::vector< double > ws_density_
 
std::vector< double > ws_viscosity_
 

Constructor & Destructor Documentation

sierra::nalu::ActuatorLinePointDrag::ActuatorLinePointDrag ( Realm realm,
const YAML::Node node 
)

References load().

sierra::nalu::ActuatorLinePointDrag::~ActuatorLinePointDrag ( )

References actuatorLineInfo_.

Member Function Documentation

void sierra::nalu::ActuatorLinePointDrag::assemble_source_to_nodes ( const int &  nDim,
stk::mesh::Entity  elem,
const stk::mesh::BulkData &  bulkData,
const double &  elemVolume,
const double *  drag,
const double &  dragLHS,
stk::mesh::FieldBase &  actuator_source,
stk::mesh::FieldBase &  actuator_source_lhs,
const double &  lhsFac 
)
void sierra::nalu::ActuatorLinePointDrag::complete_search ( )
void sierra::nalu::ActuatorLinePointDrag::compute_elem_centroid ( const int &  nDim,
double *  elemCentroid,
const int &  nodesPerElement 
)

References ws_coordinates_.

Referenced by execute().

void sierra::nalu::ActuatorLinePointDrag::compute_elem_drag_given_radius ( const int &  nDim,
const double &  radius,
const double &  twoSigSq,
const double *  pointDrag,
double *  elemDrag 
)

Referenced by execute().

void sierra::nalu::ActuatorLinePointDrag::compute_point_drag ( const int &  nDim,
const double &  pointRadius,
const double *  pointVelocity,
const double *  pointGasVelocity,
const double &  pointGasViscosity,
const double &  pointGasDensity,
double *  pointDrag,
double &  pointDragLHS 
)

References pi_.

Referenced by execute().

double sierra::nalu::ActuatorLinePointDrag::compute_radius ( const int &  nDim,
const double *  elemCentroid,
const double *  pointCentroid 
)

Referenced by execute().

double sierra::nalu::ActuatorLinePointDrag::compute_volume ( const int &  nDim,
stk::mesh::Entity  elem,
const stk::mesh::BulkData &  bulkData 
)
void sierra::nalu::ActuatorLinePointDrag::create_actuator_line_point_info_map ( )
void sierra::nalu::ActuatorLinePointDrag::determine_elems_to_ghost ( )
void sierra::nalu::ActuatorLinePointDrag::execute ( )
virtual
void sierra::nalu::ActuatorLinePointDrag::gather_field ( const int &  sizeOfField,
double *  fieldToFill,
const stk::mesh::FieldBase &  stkField,
stk::mesh::Entity const *  elem_node_rels,
const int &  nodesPerElement 
)

Referenced by complete_search(), and execute().

void sierra::nalu::ActuatorLinePointDrag::gather_field_for_interp ( const int &  sizeOfField,
double *  fieldToFill,
const stk::mesh::FieldBase &  stkField,
stk::mesh::Entity const *  elem_node_rels,
const int &  nodesPerElement 
)

Referenced by execute().

void sierra::nalu::ActuatorLinePointDrag::initialize ( )
virtual
void sierra::nalu::ActuatorLinePointDrag::interpolate_field ( const int &  sizeOfField,
stk::mesh::Entity  elem,
const stk::mesh::BulkData &  bulkData,
double *  isoParCoords,
const double *  fieldAtNodes,
double *  pointField 
)
void sierra::nalu::ActuatorLinePointDrag::load ( const YAML::Node node)
virtual
void sierra::nalu::ActuatorLinePointDrag::manage_ghosting ( )
void sierra::nalu::ActuatorLinePointDrag::populate_candidate_elements ( )
void sierra::nalu::ActuatorLinePointDrag::resize_std_vector ( const int &  sizeOfField,
std::vector< double > &  theVector,
stk::mesh::Entity  elem,
const stk::mesh::BulkData &  bulkData 
)
void sierra::nalu::ActuatorLinePointDrag::set_current_coordinates ( double *  lineCentroid,
double *  centroidCoords,
const double &  omega,
const double &  currentTime 
)
void sierra::nalu::ActuatorLinePointDrag::set_current_velocity ( double *  lineCentroid,
const double *  centroidCoords,
double *  velocity,
const double &  omega 
)
void sierra::nalu::ActuatorLinePointDrag::setup ( )
virtual

Member Data Documentation

stk::mesh::Ghosting* sierra::nalu::ActuatorLinePointDrag::actuatorLineGhosting_
std::vector<ActuatorLinePointDragInfo *> sierra::nalu::ActuatorLinePointDrag::actuatorLineInfo_
bool sierra::nalu::ActuatorLinePointDrag::actuatorLineMotion_

Referenced by execute(), and load().

std::map<size_t, ActuatorLinePointDragPointInfo *> sierra::nalu::ActuatorLinePointDrag::actuatorLinePointInfoMap_
std::vector<boundingElementBox> sierra::nalu::ActuatorLinePointDrag::boundingElementBoxVec_
std::vector<boundingSphere> sierra::nalu::ActuatorLinePointDrag::boundingSphereVec_
stk::mesh::EntityProcVec sierra::nalu::ActuatorLinePointDrag::elemsToGhost_
uint64_t sierra::nalu::ActuatorLinePointDrag::localPointId_
uint64_t sierra::nalu::ActuatorLinePointDrag::needToGhostCount_
const double sierra::nalu::ActuatorLinePointDrag::pi_

Referenced by compute_point_drag().

Realm& sierra::nalu::ActuatorLinePointDrag::realm_
std::vector<std::pair<theKey, theKey> > sierra::nalu::ActuatorLinePointDrag::searchKeyPair_
stk::search::SearchMethod sierra::nalu::ActuatorLinePointDrag::searchMethod_

Referenced by determine_elems_to_ghost(), and load().

std::vector<std::string> sierra::nalu::ActuatorLinePointDrag::searchTargetNames_
std::vector<double> sierra::nalu::ActuatorLinePointDrag::ws_coordinates_
std::vector<double> sierra::nalu::ActuatorLinePointDrag::ws_density_

Referenced by execute().

std::vector<double> sierra::nalu::ActuatorLinePointDrag::ws_scv_volume_
std::vector<double> sierra::nalu::ActuatorLinePointDrag::ws_velocity_

Referenced by execute().

std::vector<double> sierra::nalu::ActuatorLinePointDrag::ws_viscosity_

Referenced by execute().


The documentation for this class was generated from the following files: