diff --git a/MonumentoBandera.stl b/assets/MonumentoBandera.stl
similarity index 100%
rename from MonumentoBandera.stl
rename to assets/MonumentoBandera.stl
diff --git a/aspas_126m_85.stl b/assets/aspas_126m_85.stl
similarity index 100%
rename from aspas_126m_85.stl
rename to assets/aspas_126m_85.stl
diff --git a/cuerpo_126m_50.stl b/assets/cuerpo_126m_50.stl
similarity index 100%
rename from cuerpo_126m_50.stl
rename to assets/cuerpo_126m_50.stl
diff --git a/logooscuro.png b/assets/logooscuro.png
similarity index 100%
rename from logooscuro.png
rename to assets/logooscuro.png
diff --git a/rotar_telefono.png b/assets/rotar_telefono.png
similarity index 100%
rename from rotar_telefono.png
rename to assets/rotar_telefono.png
diff --git a/casa_80.stl b/casa_80.stl
deleted file mode 100644
index 7ef990d..0000000
Binary files a/casa_80.stl and /dev/null differ
diff --git a/index.html b/index.html
index 80f5df2..6d67237 100644
--- a/index.html
+++ b/index.html
@@ -21,14 +21,14 @@ function hide() {
¡SIMULAR!
©2024 Centro de Simulación Computacional para Aplicaciones Tecnológicas (CSC) - CONICET
- 
Rotá tu
dispositivo
+ 
Rotá tu
dispositivo
diff --git a/js/main.js b/js/main.js
index c6971d4..d2e7022 100644
--- a/js/main.js
+++ b/js/main.js
@@ -37,7 +37,7 @@ class WindSimulation {
scene.add(this.checkBoard);
const loader = new STLLoader();
- loader.load('./MonumentoBandera.stl', (geometry) => {
+ loader.load('assets/MonumentoBandera.stl', (geometry) => {
var material = new THREE.MeshBasicMaterial({color: 0xffffff});
var mesh = new THREE.Mesh(geometry, material);
var scale = 0.0093;
@@ -175,7 +175,7 @@ var width = 10;
var height = 10;
var ws = new WindSimulation(width, height, 5);
-var screen = new Screen(camera, renderer, new THREE.Vector3(width / 2 + 0.5, height / 2, -0.95));
+var screen = new Screen(camera, renderer, new THREE.Vector3(width / 2 + 0.5, height / 2, -0.65));
screen.setMoveCallBack((pos, end) => { ws.move(pos, end); });
screen.onResize();
diff --git a/js/screen.js b/js/screen.js
index 1937a44..023d49c 100644
--- a/js/screen.js
+++ b/js/screen.js
@@ -14,11 +14,11 @@ class Screen {
this.pointerScreen = new THREE.Vector2();
this.pointerWorld = new THREE.Vector3();
- this.radius = 23;
+ this.radius = 24;
this.phi = -0.5;
this.theta = 0.45;
this.z = 15;
- this.aspect = 2.24;
+ this.aspect = 2.13;
this.clicked = false;
diff --git a/js/windmill.js b/js/windmill.js
index 40d377b..6b6957b 100644
--- a/js/windmill.js
+++ b/js/windmill.js
@@ -9,10 +9,10 @@ class WindMill extends THREE.Group {
static {
const loader = new STLLoader();
- loader.load('./aspas_126m_85.stl', function(geometry) {
+ loader.load('assets/aspas_126m_85.stl', function(geometry) {
WindMill.geometryBlades = geometry;
});
- loader.load('./cuerpo_126m_50.stl', function(geometry) {
+ loader.load('assets/cuerpo_126m_50.stl', function(geometry) {
WindMill.geometryBody = geometry;
});
}
@@ -39,7 +39,7 @@ class WindMill extends THREE.Group {
var geometry = new THREE.CircleGeometry(0.5, 20);
this.meshCircle = new THREE.Mesh(geometry, this.materialCircle);
- this.meshCircle.position.z = 0.01;
+ this.meshCircle.position.z = 0.001;
this.meshCircle.visible = false;
this.add(this.meshBlades);
diff --git a/server.py b/server.py
index 855c27f..1b6a220 100644
--- a/server.py
+++ b/server.py
@@ -1,5 +1,4 @@
-from flask import Flask
-from flask import request
+from flask import Flask, request, abort
import json
app = Flask(__name__)
@@ -8,15 +7,15 @@ import xxx
@app.route("/", methods=['GET', 'POST'])
def index():
- if request.method == 'POST':
- if request.data:
- params = json.loads(request.data.decode(encoding='utf-8'))
- pos = params['pos'];
- ws = xxx.run(pos);
- return {
- 'pos': pos,
- 'ws': ws,
- }
+ if request.method != 'POST' or not request.data:
+ return abort(400);
+ params = json.loads(request.data.decode(encoding='utf-8'))
+ pos = params['pos'];
+ ws = xxx.run(pos);
+ return {
+ 'pos': pos,
+ 'ws': ws,
+ }
if __name__ == "__main__":
- app.run(host='0.0.0.0', port='1234')
+ app.run(host='localhost', port='1234')
diff --git a/xxx.py b/xxx.py
index 8c6a44f..c3d485c 100644
--- a/xxx.py
+++ b/xxx.py
@@ -1,11 +1,13 @@
from py_wake.wind_turbines import WindTurbine
from py_wake.wind_turbines.power_ct_functions import PowerCtTabular
from py_wake.site._site import UniformSite
+from py_wake.site.xrsite import XRSite
from py_wake.wind_farm_models import PropagateDownwind
from py_wake.deficit_models.gaussian import TurboGaussianDeficit
from py_wake.flow_map import XYGrid
import numpy as np
+import xarray as xr
D = 126 #Diametro del wT
h = 90 #Altura del WT
@@ -71,9 +73,15 @@ windTurbines = py_wake_Initial_Cong(D, 'NREL_5MW', h, U_ref)
def run(initial_position=initial_position, U_ref=U_ref):
initial_position = np.array(initial_position);
- site = UniformSite(p_wd=[1],
- ws=U_ref,
- initial_position=initial_position*D)
+ #site = UniformSite(p_wd=[1],
+ # ws=U_ref,
+ # initial_position=initial_position*D)
+ ds = xr.Dataset(
+ data_vars={'P': ('wd', [1])},
+ coords={'wd': [0]})
+ ds['TI'] = 0.1
+ site = XRSite(ds, interp_method='nearest', initial_position=initial_position*D, default_ws=np.atleast_1d(U_ref))
+
wt_x, wt_y = site.initial_position.T/D
wfm = PropagateDownwind(site, windTurbines, wake_deficitModel=TurboGaussianDeficit())
grid = XYGrid(x=np.arange(0, 10.01, 0.1)*126, y=np.arange(0, 10.01, 0.1)*126)