Skip to content
Snippets Groups Projects
Commit 26d40048 authored by Malte Nyhuis's avatar Malte Nyhuis
Browse files

working workflow

parent b9c5bb95
No related branches found
No related tags found
No related merge requests found
from snakemake.utils import validate
from ntrfc.preprocessing.geometry_creation.profile_pointcloud import generate_profile_pointcloud_geometry
import os
from ntrfc.preprocessing.geometry_creation.profile_pointcloud import generate_profile_pointcloud_geometry
#todo move this snakepipe to according dir in sourcecode
configfile : "casesettings.yaml"
validate(config,"config.schema.yaml")
#todo make part of validation
basedir = workflow.current_basedir
rule from_pointcloud:
input:
"00_resources/profile_pointcloud.txt"
output:
"01_geometry/geometry.pkl"
"01_geometry/sortedPoints.txt", "01_geometry/psPoly.vtk", "01_geometry/ssPoly.vtk", "01_geometry/midsPoly.vtk", "01_geometry/geometry_paras.yml"
run:
generate_profile_pointcloud_geometry(config)
generate_profile_pointcloud_geometry(config["blade"],basedir)
rule from_naca_generator:
# input:
......
blade :
algorithm : "from_pointcloud"
ptcloud_profile : "00_Ressources/profile_pointcloud.txt" #Name of the pointcloud-file
ptcloud_profile : "00_resources/profile_pointcloud.txt" #Name of the pointcloud-file
ptcloud_profile_unit : "mm" #m vs mm
alpha : 0.01 #Geometric parameter used for hull-calculations
geometry :
pitch : 0.0765 #Pitch [m]
alpha : 0.01 #Geometric parameter used for hull-calculations
x_inlet : -0.13 #Shift Inlet along x [m]
x_outlet : 0.26 #Shift Outlet along x [m]
shift_domain : 0.015 #Shift Domain to have probes inside domain [m]
from ntrfc.utils.geometry.pointcloud_methods import ex
from ntrfc.utils.filehandling.read_datafiles import write_pickle, write_yaml_dict
from ntrfc.utils.geometry.pointcloud_methods import extract_geo_paras
def generate_profile_pointcloud_geometry(settings):
ptcloud_profile = config["blade"]["ptcloud_profile"]
ptcloud_profile_unit = config["blade"]["ptcloud_profile_unit"]
alpha = config["blade"]["alpha"]
import numpy as np
import os
def generate_profile_pointcloud_geometry(settings,basedir):
ptcloud_profile = settings["ptcloud_profile"]
ptcloud_profile_unit = settings["ptcloud_profile_unit"]
alpha = settings["alpha"]
# =============================================================================
# Daten Einlesen
# =============================================================================
points = np.loadtxt(ptcloud_profile)
ptcloud_abspath = os.path.join(basedir,ptcloud_profile)
points = np.loadtxt(ptcloud_abspath)
unitcoeff = 0
if ptcloud_profile_unit == "m":
unitcoeff = 1
......@@ -21,5 +27,18 @@ def generate_profile_pointcloud_geometry(settings):
# =============================================================================
sortedPoints, psPoly, ssPoly, ind_vk, ind_hk, midsPoly, beta_meta_01, beta_meta_02, camber_angle = extract_geo_paras(
points,
alpha,
verbose)
alpha)
geometry_paras = {"ind_vk":ind_vk,
"ind_hk":ind_hk,
"beta_meta_01":beta_meta_01,
"beta_meta_02":beta_meta_02,
"camber_angle":camber_angle}
geo_dir = os.path.join(basedir,"01_geometry")
np.savetxt(os.path.join(geo_dir,"sortedPoints.txt"), sortedPoints)
psPoly.save(os.path.join(geo_dir,"psPoly.vtk"),False)
ssPoly.save(os.path.join(geo_dir,"ssPoly.vtk"),False)
midsPoly.save(os.path.join(geo_dir,"midsPoly.vtk"),False)
write_yaml_dict(os.path.join(geo_dir,"geometry_paras.yml"),geometry_paras)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment