model new ;zone import 'Estacion-1-Liner-Sym.inp' ;model save 'geometry' model restore 'geometry' model large-strain off program call 'parameters.dat' zone face skin zone interface create by-face separate merge-nodes false group 'interface1' range position-z -48.0 tolerance 0.1 zone interface node property stiffness-normal 1.5e8 stiffness-shear 1.5e8 cohesion 1e100 tension 1e100 range group 'interface1' model configure fluid zone fluid cmodel assign isotropic zone fluid property porosity [n0] permeability [ksoil] zone initialize fluid-density 1000 zone cmodel assign plastic-hardening zone property pressure-ref 100e3 over-consolidation-ratio 1.0 zone property density @rho_d friction @phi dilation 2 cohesion @coh zone property stiffness-50-reference @E50 ... stiffness-ur-reference @Eur ... stiffness-oedometer-reference @Eoed ... stiffness-0-reference @E0 ... strain-70 @g70 ... exponent @m_exp ... coefficient-normally-consolidation @K0 flag-small on zone property over-consolidation-ratio 2.5 range pos-z -3 0 structure liner create by-zone-face separate cross-diagonal id 1 ... range group 'Inside' group 'Outside' orientation (1,0,0) structure liner create by-zone-face separate cross-diagonal id 2 ... range group 'Inside' group 'Outside' orientation (0,1,0) ;structure node system-local x (1,0,0) y (0,1,0) ;structure node fix system-local struct node join struct liner property isotropic=(25e9, 0.2) thickness=1.2 ... density 0.0 range group 'liner 1' or 'liner 2'; note zero denstiy struct liner property coupling-stiffness-normal 2.2e8 ... coupling-stiffness-shear 2.2e8 ... coupling-cohesion-shear 30e3 ... coupling-friction-shear [3*30/40.] ... coupling-yield-normal 0.0 ... ; 10e3 coupling-cohesion-shear-residual 2500.0 struct liner property coupling-stiffness-normal-2 2.2e8 ... coupling-stiffness-shear-2 2.2e8 ... coupling-cohesion-shear-2 30e3 ... coupling-friction-shear-2 [3*30/40.] ... coupling-yield-normal-2 0.0 ... coupling-cohesion-shear-residual-2 2500.0 struc node fix vel-x rot-y rot-z model gravity 9.81 zone water density 1000 ;zone water plane origin (0,0,@waterTable) normal (0,0,1) zone gridpoint initialize pore-pressure 0 zone gridpoint initialize pore-pressure 0 gradient (0, 0, 9.81) o (0, 0, -3) ... range pos-z -1000 -3 zone initial-stresses ratio [K0] zone interface node initialize-stresses ;struct liner initialize coupling zone face apply velocity-normal 0.0 range group 'East' or 'West' zone face apply velocity-normal 0.0 range group 'North' or 'South' zone face apply velocity-normal 0.0 range group 'Bottom' struc node ini velocity (0,0,0) struc node ini velocity-rotational (0,0,0) struc node fix velocity-x rotation-y rotation-z range pos-x 0 struc node fix velocity-x rotation-y rotation-z range pos-y 0 zone gridpoint fix pore-pressure range pos-z [waterTable] 0 zone gridpoint fix pore-pressure range pos-x 0.0 ; fixed (permeable) pp boundary on symmetry plane zone gridpoint fix pore-pressure range pos-y 0.0 zone gridpoint initialize sat 0 zone gridpoint initialize sat 1 range pos-z -1000 [waterTable] @initialize_materials() model save 'InitializedStresses' model restore 'InitializedStresses' model fluid active off model mech active on model title 'Initial Equilibrium' model solve ratio-local 1e-4 model save 'InitialEquil' model restore 'InitialEquil' ; Apply symmetry boundary conditions struc node fix vel-x rot-y rot-z range pos-y 0 struc node fix vel-x rot-y rot-z range pos-x 0 ; make sure system doesn't rotate further struc node fix system-local model title 'Asentamiento Pantallas' struc liner property density 2400 model solve model title 'Asentamiento Pantallas' model save 'Asentamiento Pantallas con Interface Rigida' model restore 'Asentamiento Pantallas con Interface Rigida' ; Paso 1: Cargas en superficie [nCycles = 10000] CALL 'FISHTANK' @SurfaceLoads() model restore 'surfaceloads' zone history name = 'ux2' displacement-x position (16,0,-17.5) zone history name = 'zx2' displacement-z position (16,0,-17.5) @resetDisp() [nCycles=15000] ; Paso 2: Asentamiento por construcción de pantallas @crearColumnas() CALL 'FISHTANK' @asentamiento_pantallas() ; compute wall settlements CALL 'FISHTANK' ; Paso 3: Jet Grouting @jetgrouting() call 'fishtank' model restore 'Jet Grouting'