import numpy as np
from flask import Flask, request, jsonify, render_template
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import pandas as pd
import os
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d

app = Flask(__name__)


    
@app.route('/', methods=['POST', 'GET'])
def hello_world():
    
    
    es = np.linspace(-0.01, 0.01, 100)
    fs = 500 * (1 - (es / 0.01)**2)  
    fig = go.Figure()
    fig.add_trace(go.Scatter(x=es, y=fs, fill='tozeroy', mode='lines', fillcolor='rgba(204, 204, 102, 0.7)'))

    fig.update_layout(
        title="Stress-Strain Relation for Reinforcing Steel",
        xaxis_title="Strain",
        yaxis_title="Stress [MPa]",
        xaxis=dict(showgrid=True),  
        yaxis=dict(showgrid=True)  
    )

    return fig.to_html(full_html=True)

        

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)