PyMastic icon indicating copy to clipboard operation
PyMastic copied to clipboard

Program Explanation

Open alainmardo opened this issue 4 years ago • 4 comments

Hi Mostafa,

Can you please explain what should be changed for inputs and how to visualize the results? In fact:

  • what is q? x? z? etc. are the layers from bottom to top or top to bottom?
  • For example for a structure [AC wearing, AC base, Foundation, Soil] with [E wearing, E base etc.] and [poisson etc.] with thicknesses of [4cm, 15cm, 20cm, soil inf] for example, what should be changed in the inputs? image

Now concerning the outputs, what is [0,0] , [0,1] etc? What should we changed in order to get interesting graphs like the ones you've included in the ReadMe or if we want to calculate the response at the base of a specific layer? image

Last, is the circular load considered as dual tyres? Is it possible to change the pressure at the surface as well as the radius of the tyre?

Thank you in advance and keep up the good work :)

alainmardo avatar Oct 12 '21 15:10 alainmardo

Dear Mostafa,

First of all thank you for sharing your code! ... I have to say I find myself with similar questions, hopefully you can find some time to answer them, I would be very interested in reading your explanation. Particularly for x.

Thank you!

Martin-Elizalde avatar Feb 22 '22 13:02 Martin-Elizalde

@alainmardo and @Martin-Elizalde - I may be able to help to response some of your questions. Please see below bold text

Hi Mostafa,

Can you please explain what should be changed for inputs and how to visualize the results? See some examples in \PyMastic-master\Distorted_Grid and \PyMastic-master\Validation

In fact:

  • what is q? x? z? etc. are the layers from bottom to top or top to bottom? q is the pressure in psi, however Mostafa noted that it is load in lb which has to be corrected. In your example, q = 100 psi that is the applied pressure under the circular plate is 100 psi and r=5.99 inch is the radius of the plate x is the offset distance from the center of the circular plate; normally we need to look at x=0 when using a single plate or single tire loading; But where there is two tires involved it is needed to see response below the tire (circle) and between two tires

z is the depth of the point below the plate

Note that x and z are the evaluation points with reference the center of the plate; z is measured from the top to bottom; Note that z is always positive however x can be positive or negative; x=3 or x=-3 should give similar results; vertical responses like Z-deflection, Z-stress should be the same

  • For example for a structure [AC wearing, AC base, Foundation, Soil] with [E wearing, E base etc.] and [poisson etc.] with thicknesses of [4cm, 15cm, 20cm, soil inf] for example, what should be changed in the inputs?

q = 100 # psi (or lb per sq in.) a = 5.99 # inch x = [0] # number of columns in response z = [2, 4, 10, 15] # number of rows in response H = [1.6 6, 8 ] # inch; 4cm, 15cm, 20cm, soil inf E = [500, 500, 40, 10] # ksi nu = [0.35,0.35, 0.4, 0.45] ZRO = 7*1e-7 # to avoid numerical instability isBD= [1, 1] it = 10 Note that you will need specify isBD= [1, 1] to get results similar to other LEA tools like winjulea

image

Now concerning the outputs, what is [0,0] , [0,1] etc? What should we changed in order to get interesting graphs like the ones you've included in the ReadMe or if we want to calculate the response at the base of a specific layer? image

**Get results like this one print("\nDisplacement [z= vary, x=0]: ") print(RS['Displacement_Z'])

print("Strain_R is[z=different, x=0]: ") print(RS['Strain_R'])

print("Strain_Z is[z=different, x=0]: ") print(RS['Strain_Z']

Columns = x or offset distances if you specifiy Rows= Different depths or z **

Last, is the circular load considered as dual tyres? it is a single tire, you will need to superimpose to get results for dual tires

Is it possible to change the pressure at the surface as well as the radius of the tyre? Yes, q=pressure at surface and a=tire radius

Thank you in advance and keep up the good work :)

PeteTam-js avatar Dec 29 '22 19:12 PeteTam-js

For a structure [Asphalt, PCC, HBM , Soil] with [2000, 20000, 10000, Soil] and [0.35, 0.35, 0.2, 0.45] with thicknesses of [15cm, 10cm, 20cm, soil inf] for example, what should be changed in the inputs?

@PeteTam-js Any Help will be appreciated

I tried what you suggested above but I still get an error.

koukoubill avatar Jan 24 '23 21:01 koukoubill

@koukoubill

Here is the code for 2 layers and halfspace system: q = 80 # psi, pressure a = 6 # inch, contact area radius x = [0] # number of columns in response

z = [2, 4, 6] # number of rows in response H = [6, 4] # inch; 15cm=6in, 10cm=4in E = [290, 2900, 1450] # 2000MPa =290ksi; 20000MPa=2900 ksi; 10000MPa=1450 ksi nu = [0.35, 0.35, 0.2] ZRO = 7*1e-7 # to avoid numerical instability isBD= [1, 1] it = 10

RS = PyMastic(q,a,x,z,H,E,nu, ZRO, isBounded = isBD, iteration = it, inverser = 'solve')

print("Displacement_Z is[z=different, x=0]: ") print(RS['Displacement_Z'])

This is what I am getting; you can specify different depths or different parameters (e.g., stress, strain) as everything/outputs is stored in RS. Here displacement is in inch Displacement_Z is[z=different, x=0]: [[0.00112283] [0.00069808] [0.00034358]]

This is 3 layers and halfspace as you mentioned

q = 80 # psi; pressure a = 6 # inch; radius of contact area x = [0] # number of columns in response z = [2, 4, 10, 15] # number of rows in response H = [6, 4, 8] # inch; 15cm=6in, 10cm=4in, 20cm=8in E = [290, 2900, 1450, 725] # 2000MPa =290ksi; 20000MPa=2900 ksi; 10000MPa=1450 ksi; Soil 5000MPa=725 nu = [0.35, 0.35, 0.2, 0.45] ZRO = 7*1e-7 # to avoid numerical instability isBD= [1, 1,1] # DONT FORGET TO CHANGE THIS it = 10

RS = PyMastic(q,a,x,z,H,E,nu, ZRO, isBounded = isBD, iteration = it, inverser = 'solve')

print("Strain_Z is[z=different, x=0]: ") print(RS['Strain_Z'])

RS = PyMastic(q,a,x,z,H,E,nu, ZRO, isBounded = isBD, iteration = it, inverser = 'solve')

This is what I am getting Strain_Z is[z=different, x=0]: [[2.06688415e-04] [2.04228988e-04] [2.31889953e-05] [1.16670992e-05]]

PS: Please double check on the use of Poisson's ratio. You have given as 0.2 for the third layers, but I think that should be PCC. In general, PCC has poisson's ratio around 0.25 to 0.15 and other soft soil are around 0.35 to 0.45.

PeteTam-js avatar Jan 25 '23 20:01 PeteTam-js