| 5 | |
| 6 | |
| 7 | def decode_param_json(json_file): |
| 8 | f = open(json_file) |
| 9 | sim_params = json.load(f) |
| 10 | material_params = {} |
| 11 | # material parameters |
| 12 | if "material" in sim_params.keys(): |
| 13 | material_params["material"] = sim_params["material"] |
| 14 | else: |
| 15 | material_params["material"] = "jelly" |
| 16 | |
| 17 | if "grid_lim" in sim_params.keys(): |
| 18 | material_params["grid_lim"] = sim_params["grid_lim"] |
| 19 | else: |
| 20 | material_params["grid_lim"] = 2.0 |
| 21 | |
| 22 | if "n_grid" in sim_params.keys(): |
| 23 | material_params["n_grid"] = sim_params["n_grid"] |
| 24 | else: |
| 25 | material_params["n_grid"] = 50 |
| 26 | |
| 27 | if "nu" in sim_params.keys(): |
| 28 | material_params["nu"] = sim_params["nu"] |
| 29 | if material_params["nu"] > 0.5 or material_params["nu"] < 0.0: |
| 30 | raise ValueError("Poisson's ratio should be less than 0.5") |
| 31 | else: |
| 32 | material_params["nu"] = 0.4 |
| 33 | |
| 34 | if "E" in sim_params.keys(): |
| 35 | material_params["E"] = sim_params["E"] |
| 36 | else: |
| 37 | material_params["E"] = 1e5 |
| 38 | |
| 39 | if "yield_stress" in sim_params.keys(): |
| 40 | material_params["yield_stress"] = sim_params["yield_stress"] |
| 41 | |
| 42 | if "hardening" in sim_params.keys(): |
| 43 | material_params["hardening"] = sim_params["hardening"] |
| 44 | |
| 45 | if "xi" in sim_params.keys(): |
| 46 | material_params["xi"] = sim_params["xi"] |
| 47 | |
| 48 | if "friction_angle" in sim_params.keys(): |
| 49 | material_params["friction_angle"] = sim_params["friction_angle"] |
| 50 | |
| 51 | if "plastic_viscosity" in sim_params.keys(): |
| 52 | material_params["plastic_viscosity"] = sim_params["plastic_viscosity"] |
| 53 | |
| 54 | if "g" in sim_params.keys(): |
| 55 | material_params["g"] = sim_params["g"] |
| 56 | else: |
| 57 | material_params["g"] = 9.8 |
| 58 | |
| 59 | if "density" in sim_params.keys(): |
| 60 | material_params["density"] = sim_params["density"] |
| 61 | else: |
| 62 | material_params["density"] = 200.0 |
| 63 | |
| 64 | if "rpic_damping" in sim_params.keys(): |