from IPython import get_ipython
get_ipython().magic('reset -sf')

import numpy as np
import numpy.matlib
import meshing
import Grid
import auxiliary
import FEM
import plot
import matplotlib.pyplot as plt

aux = auxiliary.AuxiFu()
discre = FEM.Discretization()
boucon = FEM.SetupModel()
solution = FEM.PostProcessing()
thick = 25E-3
young = 15 * 10**9
poisson = 0.21
material = young / (1 - poisson**2) * np.array(
    ([[1, poisson, 0], [poisson, 1, 0], [0, 0, (1 - poisson) / 2]])) * thick
k = (3 - poisson) / (1 + poisson)
KIC = 2 * 1E6
fy = 1E6
fy0 = 0.01 * fy
p, t = meshing.gmshpy(open('Mesh_circle_45.msh'))
p, t, nodaro, tipcra, moucra, roscra, nodcra, iniang, dc, aremin, lmin, R = meshing.reprocessing(
    p, t, 1, 'circle crack')
lmin = lmin * 1.5
aremin = lmin**2 * np.sqrt(3) / 4