forked from Exawind/amr-wind
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement Joukoswky Acutator Disk (Exawind#583)
- Loading branch information
1 parent
ae454ff
commit 3a6a8e3
Showing
21 changed files
with
1,510 additions
and
537 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
#ifndef ACTUATORDISK_H_ | ||
#define ACTUATORDISK_H_ | ||
|
||
#include "amr-wind/wind_energy/actuator/disk/disk_types.H" | ||
#include "amr-wind/core/vs/vector_space.H" | ||
|
||
namespace amr_wind { | ||
namespace actuator { | ||
|
||
struct DiskBaseData | ||
{ | ||
int num_force_pts; | ||
int num_force_theta_pts{1}; | ||
int num_vel_pts{1}; | ||
int num_vel_pts_r{1}; | ||
int num_vel_pts_t{1}; | ||
vs::Vector center; | ||
vs::Vector normal_vec{0, 1, 0}; | ||
vs::Vector coplanar_vec{1, 0, 0}; | ||
vs::Vector sample_vec{0, 1, 0}; | ||
vs::Vector reference_velocity; | ||
vs::Vector mean_disk_velocity; | ||
amrex::Real epsilon; | ||
amrex::Real diameter; | ||
amrex::Real dr; | ||
amrex::Real density; | ||
amrex::Real current_ct; | ||
amrex::Real diameters_to_sample{0.0}; | ||
RealList thrust_coeff; | ||
RealList table_velocity; | ||
std::string spreading_type{"LinearBasis"}; | ||
}; | ||
|
||
} // namespace actuator | ||
} // namespace amr_wind | ||
|
||
#endif /* ACTUATORDISK_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,14 @@ | ||
#include "amr-wind/wind_energy/actuator/disk/UniformCt.H" | ||
#include "amr-wind/wind_energy/actuator/disk/Joukowsky.H" | ||
#include "amr-wind/wind_energy/actuator/disk/uniform_ct_ops.H" | ||
#include "amr-wind/wind_energy/actuator/disk/Joukowsky_ops.H" | ||
#include "amr-wind/wind_energy/actuator/ActuatorModel.H" | ||
#include "amr-wind/wind_energy/actuator/disk/disk_spreading.H" | ||
|
||
namespace amr_wind { | ||
namespace actuator { | ||
template class ActModel<UniformCt, ActSrcDisk>; | ||
template class ActModel<Joukowsky, ActSrcDisk>; | ||
|
||
} // namespace actuator | ||
} // namespace amr_wind |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,6 @@ | ||
target_sources(${amr_wind_lib_name} PRIVATE | ||
ActuatorDisk.cpp | ||
disk_ops.cpp | ||
Joukowsky_ops.cpp | ||
uniform_ct_ops.cpp | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#ifndef Joukowsky_H_ | ||
#define Joukowsky_H_ | ||
|
||
#include "amr-wind/wind_energy/actuator/disk/disk_types.H" | ||
#include "amr-wind/wind_energy/actuator/disk/ActuatorDisk.H" | ||
#include "amr-wind/core/vs/vector_space.H" | ||
|
||
namespace amr_wind { | ||
namespace actuator { | ||
|
||
struct JoukowskyData : public DiskBaseData | ||
{ | ||
RealList angular_velocity; | ||
RealList tip_correction; | ||
RealList root_correction; | ||
amrex::Real current_angular_velocity{0.0}; | ||
amrex::Real vortex_core_size; | ||
// --- Sorenson 2020 equation 10 constants ---- | ||
amrex::Real root_correction_coefficient{1.256}; | ||
amrex::Real root_correction_exponent{2.0}; | ||
// -------------------------------------------- | ||
int num_blades; | ||
vs::Vector disk_force{0.0, 0.0, 0.0}; | ||
bool use_tip_correction{true}; | ||
bool use_root_correction{true}; | ||
}; | ||
|
||
struct Joukowsky : public DiskType | ||
{ | ||
using InfoType = ActInfo; | ||
using GridType = ActGrid; | ||
using MetaType = JoukowskyData; | ||
using DataType = ActDataHolder<Joukowsky>; | ||
|
||
static std::string identifier() { return "Joukowsky"; } | ||
}; | ||
|
||
} // namespace actuator | ||
} // namespace amr_wind | ||
|
||
#endif /* Joukowsky_H_ */ |
Oops, something went wrong.