- variablesVariable name for which the response history is requested.
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:Variable name for which the response history is requested.
ResponseHistoryBuilder
The ResponseHistoryBuilder
creates a response history given a list of variables and a list of nodes or boundaries. Either a list of nodes or boundaries should be specified, but not both. At the specified node(s) the values of the variables are stored at each time step. Each ResponseHistoryBuilder
vectorpostprocessor creates a csv file with a time column and the values of variables at the nodes specified in the list of nodes or in the boundaries. For a variable 'accel_x' at node 2, the column header is 'node_2_accel_x'. The header for the time column is 'time'.
Usage
The input file below contains two ResponseHistoryBuilder
vectorpostprocessor blocks. The first block requests output at two nodes, 2 and 10, and the second block requests output at a boundary, 'bnd', which also contains the nodes, 2 and 10. Both blocks request histories for the variables, 'u' and 'accel_x'.
[VectorPostprocessors<<<{"href": "../../syntax/VectorPostprocessors/index.html"}>>>]
[./accel_nodes]
type = ResponseHistoryBuilder<<<{"description": "Calculates response histories for a given node and variable(s).", "href": "ResponseHistoryBuilder.html"}>>>
variables<<<{"description": "Variable name for which the response history is requested."}>>> = 'u accel_x'
nodes<<<{"description": "Node number(s) at which the response history is needed."}>>> = '2 10'
[../]
[./accel_bnd]
type = ResponseHistoryBuilder<<<{"description": "Calculates response histories for a given node and variable(s).", "href": "ResponseHistoryBuilder.html"}>>>
variables<<<{"description": "Variable name for which the response history is requested."}>>> = 'u accel_x'
boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = 'bnd'
[../]
[]
(test/tests/vectorpostprocessors/response_history_builder/response_history_builder.i)As shown in the output csv files below, the response histories for the variables, 'u' and 'accel_x' are output at the requested nodes. The first output file below corresponds to the accel_nodes block and the second output file corresponds to the accel_bnd block. Note that both the output files are exactly the same, since the same variables are requested and the boundary, 'bnd' has the same nodes, 2 and 10.
time,node_2_u,node_2_accel_x,node_10_u,node_10_accel_x
0,0,0,0,0
1,0.28854648176682,1,0.60975860297894,1
2,0.32913441959223,4,0.66224736725063,4
3,0.33297015830727,9,0.6662994846559,9
4,0.33330242242944,16,0.66663568290804,16
5,0.33333071134035,25,0.66666404334906,25
(test/tests/vectorpostprocessors/response_history_builder/gold/response_history_builder_out_accel_nodes.csv)time,node_2_u,node_2_accel_x,node_10_u,node_10_accel_x
0,0,0,0,0
1,0.28854648176682,1,0.60975860297894,1
2,0.32913441959223,4,0.66224736725063,4
3,0.33297015830727,9,0.6662994846559,9
4,0.33330242242944,16,0.66663568290804,16
5,0.33333071134035,25,0.66666404334906,25
(test/tests/vectorpostprocessors/response_history_builder/gold/response_history_builder_out_accel_bnd.csv)Input Parameters
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
- boundaryThe list of boundaries (ids or names) from the mesh where this object applies
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:The list of boundaries (ids or names) from the mesh where this object applies
- nodesNode number(s) at which the response history is needed.
C++ Type:std::vector<unsigned long>
Controllable:No
Description:Node number(s) at which the response history is needed.
- parallel_typeREPLICATEDSet how the data is represented within the VectorPostprocessor (VPP); 'distributed' indicates that data within the VPP is distributed and no auto communication is performed, this setting will result in parallel output within the CSV output; 'replicated' indicates that the data within the VPP is correct on processor 0, the data will automatically be broadcast to all processors unless the '_auto_broadcast' param is set to false within the validParams function.
Default:REPLICATED
C++ Type:MooseEnum
Options:DISTRIBUTED, REPLICATED
Controllable:No
Description:Set how the data is represented within the VectorPostprocessor (VPP); 'distributed' indicates that data within the VPP is distributed and no auto communication is performed, this setting will result in parallel output within the CSV output; 'replicated' indicates that the data within the VPP is correct on processor 0, the data will automatically be broadcast to all processors unless the '_auto_broadcast' param is set to false within the validParams function.
Optional Parameters
- allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
Default:False
C++ Type:bool
Controllable:No
Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
- execution_order_group0Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
Default:0
C++ Type:int
Controllable:No
Description:Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
- force_postauxFalseForces the UserObject to be executed in POSTAUX
Default:False
C++ Type:bool
Controllable:No
Description:Forces the UserObject to be executed in POSTAUX
- force_preauxFalseForces the UserObject to be executed in PREAUX
Default:False
C++ Type:bool
Controllable:No
Description:Forces the UserObject to be executed in PREAUX
- force_preicFalseForces the UserObject to be executed in PREIC during initial setup
Default:False
C++ Type:bool
Controllable:No
Description:Forces the UserObject to be executed in PREIC during initial setup
Execution Scheduling Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- outputsVector of output names where you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Controllable:No
Description:The seed for the master random number generator
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
Input Files
- (examples/ex05b/beam_constraint.i)
- (examples/ex14/building_basemat_with_isolators_new.i)
- (tutorial/site_response_1.i)
- (test/tests/vectorpostprocessors/response_history_builder/response_history_builder.i)
- (examples/ex15/TankUQ_mod.i)
- (examples/ex09/SSI_Response.i)
- (examples/ex11a/dynamic/3d_beam_dynamic_first_order.i)
- (examples/ex03a/shear_beam_Isoil_free_field.i)
- (examples/ex14/basemat_with_isolators_new.i)
- (examples/ex13/fixed_base/fixed_base.i)
- (examples/ex03a/shear_beam_Isoil_free_field_AD.i)
- (test/tests/vectorpostprocessors/response_history_mean/response_history_mean.i)
- (examples/ex09/Soil_Response.i)
- (examples/ex14/basemat_with_isolators_new_3D.i)
- (test/tests/vectorpostprocessors/response_spectra_calculator/response_spectra_calculator.i)
- (examples/ex03b/shear_beam_Isoil_free_field_explicit.i)
- (examples/ex13/site_response/sr_input.i)
- (examples/ex09/Structure_Response.i)
- (examples/ex05a/StickModel_accel_base.i)
- (examples/ex11a/dynamic/3d_beam_dynamic_second_order.i)
- (test/tests/vectorpostprocessors/housner_spectrum_intensity/housner_spectrum_intensity.i)
(test/tests/vectorpostprocessors/response_history_builder/response_history_builder.i)
#@requirement F8.1
[Mesh]
[./generate]
type = GeneratedMeshGenerator
dim = 2
nx = 3
ny = 3
[../]
[./add_bnd]
type = ExtraNodesetGenerator
input = generate
new_boundary = 'bnd'
nodes = '2 10'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[AuxVariables]
[./accel_x]
[../]
[./proc_id]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./accel_x]
type = FunctionAux
function = t*t
variable = accel_x
execute_on = 'initial timestep_end'
[../]
[./proc]
type = ProcessorIDAux
variable = proc_id
[../]
[]
[Executioner]
type = Transient
num_steps = 5
dt = 1
[]
[Outputs]
exodus = true
csv = true
[]
[VectorPostprocessors]
[./accel_nodes]
type = ResponseHistoryBuilder
variables = 'u accel_x'
nodes = '2 10'
[../]
[./accel_bnd]
type = ResponseHistoryBuilder
variables = 'u accel_x'
boundary = 'bnd'
[../]
[]
(test/tests/vectorpostprocessors/response_history_builder/gold/response_history_builder_out_accel_nodes.csv)
time,node_2_u,node_2_accel_x,node_10_u,node_10_accel_x
0,0,0,0,0
1,0.28854648176682,1,0.60975860297894,1
2,0.32913441959223,4,0.66224736725063,4
3,0.33297015830727,9,0.6662994846559,9
4,0.33330242242944,16,0.66663568290804,16
5,0.33333071134035,25,0.66666404334906,25
(test/tests/vectorpostprocessors/response_history_builder/gold/response_history_builder_out_accel_bnd.csv)
time,node_2_u,node_2_accel_x,node_10_u,node_10_accel_x
0,0,0,0,0
1,0.28854648176682,1,0.60975860297894,1
2,0.32913441959223,4,0.66224736725063,4
3,0.33297015830727,9,0.6662994846559,9
4,0.33330242242944,16,0.66663568290804,16
5,0.33333071134035,25,0.66666404334906,25
(examples/ex05b/beam_constraint.i)
[Mesh]
[./beam]
type = BeamMeshGenerator
mesh_file = stick_model.txt
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./rot_x]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[./rot_y]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[./rot_z]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./vel_y]
[../]
[./vel_z]
[../]
[./accel_x]
[../]
[./accel_y]
[../]
[./accel_z]
[../]
[./rot_vel_x]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[./rot_vel_y]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[./rot_vel_z]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[./rot_accel_x]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[./rot_accel_y]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[./rot_accel_z]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[]
[Physics/SolidMechanics/LineElement/QuasiStatic]
# add_variables = true
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
# dynamic simulation using consistent mass/inertia matrix
dynamic_nodal_translational_inertia = true
velocities = 'vel_x vel_y vel_z'
accelerations = 'accel_x accel_y accel_z'
rotational_velocities = 'rot_vel_x rot_vel_y rot_vel_z'
rotational_accelerations = 'rot_accel_x rot_accel_y rot_accel_z'
beta = 0.25 # Newmark time integration parameter
gamma = 0.5 # Newmark time integration parameter
# parameters for 5% Rayleigh damping
zeta = 0.0005438894818 # stiffness proportional damping
eta = 3.26645357034 # Mass proportional Rayleigh damping
[./block_1]
block = 1
area = 1400
Iy = 2.8e6
Iz = 2.8e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 142.860001
boundary = 1
[../]
[./block_2]
block = 2
area = 1400
Iy = 2.8e6
Iz = 2.8e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 130.429993
boundary = '2 3 4 5 6'
[../]
[./block_3]
block = 3
area = 1400
Iy = 2.8e6
Iz = 2.8e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 143.169998
boundary = 7
[../]
[./block_4]
block = 4
area = 990
Iy = 1.9e6
Iz = 1.9e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 93.79000092
boundary = 8
[../]
[./block_5]
block = 5
area = 990
Iy = 1.5e6
Iz = 1.5e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 76.70999908
boundary = 9
[../]
[./block_6]
block = 6
area = 990
Iy = 8e5
Iz = 8e5
y_orientation = '0.0 1.0 0.0'
nodal_mass = 65.83999634
boundary = 10
[../]
[./block_7]
block = 7
area = 990
Iy = 2e5
Iz = 2e5
y_orientation = '0.0 1.0 0.0'
nodal_mass = 5.90000010
boundary = 11
[../]
# right
[./block_8]
block = 8
area = 2000
Iy = 1.1e6
Iz = 1.1e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 86.95999908
boundary = 12
[../]
[./block_9]
block = 9
area = 2560
Iy = 1.2e6
Iz = 1.2e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 77.94999695
boundary = 13
[../]
[./block_10]
block = 10
area = 2210
Iy = 1.2e6
Iz = 1.2e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 195.339996
boundary = 14
[../]
[./block_11]
block = 11
area = 1960
Iy = 1.3e6
Iz = 1.3e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 116.769997
boundary = 15
[../]
[./block_12]
block = 12
area = 1740
Iy = 9e5
Iz = 9e5
y_orientation = '0.0 1.0 0.0'
nodal_mass = 265.220001
boundary = 16
[../]
[./block_13]
block = 13
area = 780
Iy = 2e5
Iz = 2e5
y_orientation = '0.0 1.0 0.0'
nodal_mass = 37.88999939
boundary = 17
[../]
[./block_14]
block = 14
area = 190
Iy = 4000.0
Iz = 4000.0
y_orientation = '0.0 1.0 0.0'
nodal_mass = 25.46999931
boundary = 18
[../]
[]
[Materials]
[./elasticity_beam_outer_1]
type = ComputeElasticityBeam
youngs_modulus = 6.9e5
poissons_ratio = 0.278
shear_coefficient = 0.5
block = '1 2 3'
[../]
[./elasticity_beam_outer_2]
type = ComputeElasticityBeam
youngs_modulus = 6.9e5
poissons_ratio = 0.278
shear_coefficient = 0.505
block = '4 5 6 7'
[../]
[./elasticity_beam_inner_1]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.66
block = '8'
[../]
[./elasticity_beam_inner_2]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.609375
block = '9'
[../]
[./elasticity_beam_inner_3]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.6606
block = '10'
[../]
[./elasticity_beam_inner_4]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.372
block = '11'
[../]
[./elasticity_beam_inner_5]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.345
block = '12'
[../]
[./elasticity_beam_inner_6]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.462
block = '13'
[../]
[./elasticity_beam_inner_7]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.368
block = '14'
[../]
[./stress_beam]
type = ComputeBeamResultants
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14'
[../]
[]
[BCs]
[./disp_x]
type = PresetAcceleration
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
function = accel_x
boundary = '0'
[../]
[./disp_y]
type = PresetAcceleration
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
function = accel_y
boundary = '0'
[../]
[./disp_z]
type = PresetAcceleration
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
function = accel_z
boundary = '0'
[../]
[./rot_x]
type = DirichletBC
boundary = '0'
variable = rot_x
value = 0.0
[../]
[./rot_y]
type = DirichletBC
boundary = '0'
variable = rot_y
value = 0.0
[../]
[./rot_z]
type = DirichletBC
boundary = '0'
variable = rot_z
value = 0.0
[../]
[]
[Functions]
[./accel_x]
type = PiecewiseLinear
data_file = 'accel_x.csv'
format = 'columns'
scale_factor = 32.2000008
[../]
[./accel_y]
type = PiecewiseLinear
data_file = 'accel_y.csv'
format = 'columns'
scale_factor = 32.2000008
[../]
[./accel_z]
type = PiecewiseLinear
data_file = 'accel_z.csv'
format = 'columns'
scale_factor = 32.2000008
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
end_time = 45.0
dt = 0.005
dtmin = 0.005
nl_abs_tol = 1e-8
nl_rel_tol = 1e-8
l_tol = 1e-8
l_max_its = 20
timestep_tolerance = 1e-8
[]
[Postprocessors]
[./accel_x_11]
type = PointValue
variable = accel_x
point = '0.0 0.0 217.0'
[../]
[./accel_y_11]
type = PointValue
variable = accel_y
point = '0.0 0.0 217.0'
[../]
[./accel_z_11]
type = PointValue
variable = accel_z
point = '0.0 0.0 217.0'
[../]
[./accel_x_14]
type = NodalVariableValue
variable = accel_x
nodeid = 14
[../]
[./accel_y_14]
type = NodalVariableValue
variable = accel_y
nodeid = 14
[../]
[./accel_z_14]
type = NodalVariableValue
variable = accel_z
nodeid = 14
[../]
[./accel_x_17]
type = NodalVariableValue
variable = accel_x
nodeid = 17
[../]
[./accel_y_17]
type = NodalVariableValue
variable = accel_y
nodeid = 17
[../]
[./accel_z_17]
type = NodalVariableValue
variable = accel_z
nodeid = 17
[../]
[./accel_x_18]
type = NodalVariableValue
variable = accel_x
nodeid = 18
[../]
[./accel_y_18]
type = NodalVariableValue
variable = accel_y
nodeid = 18
[../]
[./accel_z_18]
type = NodalVariableValue
variable = accel_z
nodeid = 18
[../]
[./accel_x_0]
type = PointValue
variable = accel_x
point = '0.0 0.0 10.0'
[../]
[./accel_y_0]
type = PointValue
variable = accel_y
point = '0.0 0.0 10.0'
[../]
[./accel_z_0]
type = PointValue
variable = accel_z
point = '0.0 0.0 10.0'
[../]
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x accel_y accel_z'
nodes = '0 11 14 17 18'
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.005
outputs = out
[../]
[]
[Outputs]
[./out]
type = CSV
execute_on = 'final'
file_base = example5bmod
[../]
exodus = true
[./console]
type = Console
max_rows = 1
[../]
[]
(examples/ex14/building_basemat_with_isolators_new.i)
[Mesh]
[mesh_gen]
type = FileMeshGenerator
file = full_structure_with_isolators_new.e
[]
[]
[Variables]
[disp_x]
[]
[disp_y]
[]
[disp_z]
[]
[rot_x]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_y]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_z]
block = 'isolator_elems upper_rigid_elems'
[]
[]
[AuxVariables]
[vel_x]
[]
[accel_x]
[]
[vel_y]
[]
[accel_y]
[]
[vel_z]
[]
[accel_z]
[]
[rot_vel_x]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_vel_y]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_vel_z]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_accel_x]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_accel_y]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_accel_z]
block = 'isolator_elems upper_rigid_elems'
[]
[Fb_x]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Fb_y]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Fb_z]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Defb_x]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Velb_x]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Defb_y]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Defb_z]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[]
[Physics/SolidMechanics/LineElement/QuasiStatic]
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
velocities = 'vel_x vel_y vel_z'
accelerations = 'accel_x accel_y accel_z'
rotational_velocities = 'rot_vel_x rot_vel_y rot_vel_z'
rotational_accelerations = 'rot_accel_x rot_accel_y rot_accel_z'
beta = 0.275625
gamma = 0.55
alpha = -0.05
[rigid_beams]
block = 'upper_rigid_elems'
area = 130.06
Iy = 24166.729
Iz = 24166.729
y_orientation = '0.0 0.0 1.0'
[]
[]
[Kernels]
[DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases SGs int_wall int_slab RV_housing RV small_walls upper_basemat fluid_material RV_slab'
hht_alpha = -0.05
static_initialization = true
stiffness_damping_coefficient = 0.0019
[]
[inertia_x]
type = InertialForce
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases SGs int_wall int_slab RV_housing RV small_walls upper_basemat fluid_material RV_slab'
variable = disp_x
eta = 0.038
alpha = -0.05
[]
[inertia_y]
type = InertialForce
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases SGs int_wall int_slab RV_housing RV small_walls upper_basemat fluid_material RV_slab'
variable = disp_y
eta = 0.038
alpha = -0.05
[]
[inertia_z]
type = InertialForce
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases SGs int_wall int_slab RV_housing RV small_walls upper_basemat fluid_material RV_slab'
variable = disp_z
eta = 0.038
alpha = -0.05
[]
[lr_disp_x]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 0
variable = disp_x
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_disp_y]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 1
variable = disp_y
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_disp_z]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 2
variable = disp_z
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_rot_x]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 3
variable = rot_x
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_rot_y]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 4
variable = rot_y
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_rot_z]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 5
variable = rot_z
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[gravity]
type = Gravity
variable = disp_z
value = -9.81
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases SGs int_wall int_slab RV_housing RV small_walls upper_basemat fluid_material RV_slab'
alpha = -0.05
[]
[]
[AuxKernels]
[Fb_x]
type = MaterialRealCMMAux
property = basic_forces
row = 0
column = 0
variable = Fb_x
block = 'isolator_elems'
[]
[Fb_y]
type = MaterialRealCMMAux
property = basic_forces
row = 1
column = 0
variable = Fb_y
block = 'isolator_elems'
[]
[Fb_z]
type = MaterialRealCMMAux
property = basic_forces
row = 2
column = 0
variable = Fb_z
block = 'isolator_elems'
[]
[Defb_x]
type = MaterialRealCMMAux
property = deformations
row = 0
column = 0
variable = Defb_x
block = 'isolator_elems'
[]
[Velb_x]
type = MaterialRealCMMAux
property = deformation_rates
row = 0
column = 0
variable = Velb_x
block = 'isolator_elems'
[]
[Defb_y]
type = MaterialRealCMMAux
property = deformations
row = 1
column = 0
variable = Defb_y
block = 'isolator_elems'
[]
[Defb_z]
type = MaterialRealCMMAux
property = deformations
row = 2
column = 0
variable = Defb_z
block = 'isolator_elems'
[]
[accel_x]
type = TestNewmarkTI
displacement = disp_x
variable = accel_x
first = false
[]
[vel_x]
type = TestNewmarkTI
displacement = disp_x
variable = vel_x
[]
[accel_y]
type = TestNewmarkTI
displacement = disp_y
variable = accel_y
first = false
[]
[vel_y]
type = TestNewmarkTI
displacement = disp_y
variable = vel_y
[]
[accel_z]
type = TestNewmarkTI
displacement = disp_z
variable = accel_z
first = false
[]
[vel_z]
type = TestNewmarkTI
displacement = disp_z
variable = vel_z
[]
[rot_accel_x]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_x
variable = rot_accel_x
first = false
[]
[rot_vel_x]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_x
variable = rot_vel_x
[]
[rot_accel_y]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_y
variable = rot_accel_y
first = false
[]
[rot_vel_y]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_y
variable = rot_vel_y
[]
[rot_accel_z]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_z
variable = rot_accel_z
first = false
[]
[rot_vel_z]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_z
variable = rot_vel_z
[]
[]
[Materials]
[elasticity_concrete]
type = ComputeIsotropicElasticityTensor
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls RV_slab'
youngs_modulus = 24.8 #GPa
poissons_ratio = 0.2
[]
[elasticity_rigid_concrete]
type = ComputeIsotropicElasticityTensor
block = 'upper_basemat'
youngs_modulus = 99.2 #GPa # 4 x concrete for rigid basemat
poissons_ratio = 0.2
[]
[elasticity_steel_316]
type = ComputeIsotropicElasticityTensor
block = 'SGs RV'
youngs_modulus = 170 #GPa
poissons_ratio = 0.3
[]
[elasticity_fluid]
type = ComputeIsotropicElasticityTensor
block = 'fluid_material'
bulk_modulus = 2 #GPa #water
poissons_ratio = 0.45 #water
[]
[strain_1]
type = ComputeFiniteStrain
displacements = 'disp_x disp_y disp_z'
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases SGs int_wall int_slab RV_housing RV small_walls upper_basemat fluid_material RV_slab'
[]
[stress_1]
type = ComputeFiniteStrainElasticStress
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases SGs int_wall int_slab RV_housing RV small_walls upper_basemat fluid_material RV_slab'
[]
[concrete_density]
type = GenericConstantMaterial
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls upper_basemat RV_slab'
prop_names = density
prop_values = 2.4e-6 #e9kg/m3
[]
[steel_density]
type = GenericConstantMaterial
block = 'SGs RV'
prop_names = density
prop_values = 7.85e-6 #e9kg/m3
[]
[fluid_density]
type = GenericConstantMaterial
block = 'fluid_material'
prop_names = density
prop_values = 1.0e-6 #e9kg/m3 #water
[]
[isolator_deformation]
type = ComputeIsolatorDeformation
sd_ratio = 0.5
y_orientation = '1.0 0.0 0.0'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
velocities = 'vel_x vel_y vel_z'
block = 'isolator_elems'
[]
[elasticity]
type = ComputeFPIsolatorElasticity
mu_ref = 0.06
p_ref = 0.006 # GPa
block = 'isolator_elems'
diffusivity = 4.4e-6
conductivity = 18
a = 100
r_eff = 1.0 # meters. 2sec sliding period
r_contact = 0.2
uy = 0.001
unit = 4
beta = 0.275625
gamma = 0.55
pressure_dependent = false
temperature_dependent = false
velocity_dependent = false
k_x = 78.53 # 7.853e10 N
k_xx = 0.62282 # 622820743.6 N
k_yy = 0.3114 # 311410371.8 N
k_zz = 0.3114 # 311410371.8 N
[]
[elasticity_beam_rigid]
type = ComputeElasticityBeam
youngs_modulus = 2e4
poissons_ratio = 0.27
shear_coefficient = 0.85
block = 'upper_rigid_elems'
[]
[stress_beam_rigid]
type = ComputeBeamResultants
block = 'upper_rigid_elems'
[]
[]
[Functions]
[input_motion_x]
type = PiecewiseLinear
data_file = 'case2_scaled.csv'
format = columns
scale_factor = 9.81
y_index_in_file = 1
xy_in_file_only = false
[]
[input_motion_y]
type = PiecewiseLinear
data_file = 'case2_scaled.csv'
format = columns
scale_factor = 9.81
y_index_in_file = 2
xy_in_file_only = false
[]
[input_motion_z]
type = PiecewiseLinear
data_file = 'case2_scaled.csv'
format = columns
scale_factor = 9.81
y_index_in_file = 3
xy_in_file_only = false
[]
[]
[BCs]
[x_motion]
type = PresetAcceleration
acceleration = accel_x
velocity = vel_x
variable = disp_x
beta = 0.2725625
boundary = 'bottom_isolators'
function = 'input_motion_x'
[]
[y_motion]
type = PresetAcceleration
acceleration = accel_y
velocity = vel_y
variable = disp_y
beta = 0.2725625
boundary = 'bottom_isolators'
function = 'input_motion_y'
[]
[z_motion]
type = PresetAcceleration
acceleration = accel_z
velocity = vel_z
variable = disp_z
beta = 0.2725625
boundary = 'bottom_isolators'
function = 'input_motion_z'
[]
[fixrxbot]
type = DirichletBC
variable = rot_x
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrybot]
type = DirichletBC
variable = rot_y
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrzbot]
type = DirichletBC
variable = rot_z
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrxcon]
type = DirichletBC
variable = rot_x
boundary = 'connections'
value = 0.0
[]
[fixrycon]
type = DirichletBC
variable = rot_y
boundary = 'connections'
value = 0.0
[]
[fixrzcon]
type = DirichletBC
variable = rot_z
boundary = 'connections'
value = 0.0
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
solve_type = 'NEWTON'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-15
dt = 0.01
end_time = 28
timestep_tolerance = 1e-6
automatic_scaling = true
[TimeIntegrator]
type = NewmarkBeta
beta = 0.275625
gamma = 0.55
inactive_tsteps = 2
[]
[]
[Controls]
[inertia_switch]
type = TimePeriod
start_time = 0.0
end_time = 0.03
disable_objects = '*/inertia_x */inertia_y */inertia_z
*/vel_x */vel_y */vel_z
*/accel_x */accel_y */accel_z
*/rot_vel_x */rot_vel_y */rot_vel_z
*/rot_accel_x */rot_accel_y */rot_accel_z'
set_sync_times = true
execute_on = 'timestep_begin timestep_end'
[]
[]
[Postprocessors]
[inp_accel_x]
type = PointValue
point = '5.0 0.0 -1.3'
variable = accel_x
[]
[inp_accel_y]
type = PointValue
point = '5.0 0.0 -1.3'
variable = accel_y
[]
[inp_accel_z]
type = PointValue
point = '5.0 0.0 -1.3'
variable = accel_z
[]
[basemat_accel_x]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_x
[]
[basemat_accel_y]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_y
[]
[basemat_accel_z]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_z
[]
[iso1_fb_axial]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Fb_x
[]
[iso1_defb_axial]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Defb_x
[]
[iso1_fb_shear1]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Fb_y
[]
[iso1_defb_shear1]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Defb_y
[]
[iso1_fb_shear2]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Fb_z
[]
[iso1_defb_shear2]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Defb_z
[]
[]
[VectorPostprocessors]
[accel_hist_x]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '5252 2767 59044 24207 44503 41781 59152 38767 59100'
# locations:
# 5252-roof_edge
# 2767-roof_center
# 59044-RV_slab_center
# 24207-SG_base
# 44503-basemat_center-(0.35,-0.75,-1)(approx)
# 41781-center_isolator_top-(5,0,-1)
# 59152-center_isolator_bottom-(5,0,-1.3)
# 38767-edge_isolator_top-(-45,30,-1)
# 59100-edge_isolator_bottom(-45,30,-1.3)
outputs = out1
[]
[accel_spec_x]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_x
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 50
outputs = out1
[]
[accel_hist_y]
type = ResponseHistoryBuilder
variables = 'accel_y'
nodes = '5252 2767 59044 24207 44503 41781 59152 38767 59100'
# locations:
# 5252-roof_edge
# 2767-roof_center
# 59044-RV_slab_center
# 24207-SG_base
# 44503-basemat_center-(0.35,-0.75,-1)(approx)
# 41781-center_isolator_top-(5,0,-1)
# 59152-center_isolator_bottom-(5,0,-1.3)
# 38767-edge_isolator_top-(-45,30,-1)
# 59100-edge_isolator_bottom(-45,30,-1.3)
outputs = out1
[]
[accel_spec_y]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_y
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 50
outputs = out1
[]
[accel_hist_z]
type = ResponseHistoryBuilder
variables = 'accel_z'
nodes = '5252 2767 59044 24207 44503 41781 59152 38767 59100'
# locations:
# 5252-roof_edge
# 2767-roof_center
# 59044-RV_slab_center
# 24207-SG_base
# 44503-basemat_center-(0.35,-0.75,-1)(approx)
# 41781-center_isolator_top-(5,0,-1)
# 59152-center_isolator_bottom-(5,0,-1.3)
# 38767-edge_isolator_top-(-45,30,-1)
# 59100-edge_isolator_bottom(-45,30,-1.3)
outputs = out1
[]
[accel_spec_z]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_z
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 50
outputs = out1
[]
[]
[Outputs]
exodus = true
perf_graph = true
csv = true
[out1]
type = CSV
execute_on = 'final'
[]
[]
(tutorial/site_response_1.i)
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
type = GeneratedMesh
nx = 1
ny = 1
nz = 100
xmin = -0.5
ymin = -0.5
zmin = 0.0
xmax = 0.5
ymax = 0.5
zmax = 100.0
dim = 3
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./layer_id]
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
# displacements = 'disp_x disp_y disp_z'
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./layer_id]
type = UniformLayerAuxKernel
variable = layer_id
interfaces = '20 60 100.1'
direction = '0.0 0.0 1.0'
execute_on = initial
[../]
[]
[BCs]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = 'back'
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
variable = disp_y
boundary = 'back'
value = 0.0
[../]
[./bottom_accel]
type = PresetAcceleration
boundary = 'back'
function = accel_bottom
variable = 'disp_x'
beta = 0.25
acceleration = 'accel_x'
velocity = 'vel_x'
[../]
[./Periodic]
[./y_dir]
variable = 'disp_x disp_y disp_z'
primary = 'bottom'
secondary = 'top'
translation = '0.0 1.0 0.0'
[../]
[./x_dir]
variable = 'disp_x disp_y disp_z'
primary = 'left'
secondary = 'right'
translation = '1.0 0.0 0.0'
[../]
[../]
[]
[Functions]
[./accel_bottom]
type = PiecewiseLinear
data_file = 'acceleration_hist.csv'
format = 'columns'
[../]
[]
[Materials]
[./linear_soil]
type = ComputeIsotropicElasticityTensorSoil
layer_variable = layer_id
layer_ids = '0 1 2'
shear_modulus = '3e6 2e6 1e6'
poissons_ratio = '0.2 0.2 0.2'
density = '1200 1000 800'
[../]
[./strain]
type = ComputeSmallStrain
# displacements = 'disp_x disp_y disp_z'
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
start_time = 0
end_time = 4
dt = 0.01
timestep_tolerance = 1e-6
[]
[Postprocessors]
[top_ax_pv]
type = PointValue
point = '0 0 100'
variable = 'accel_x'
[]
[./top_ax_nvv]
type = NodalVariableValue
variable = accel_x
nodeid = 401
[../]
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x accel_y accel_z'
nodes = '401'
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.01
# outputs = out
[../]
[]
[Outputs]
csv = true
exodus = true
[]
(test/tests/vectorpostprocessors/response_history_builder/response_history_builder.i)
#@requirement F8.1
[Mesh]
[./generate]
type = GeneratedMeshGenerator
dim = 2
nx = 3
ny = 3
[../]
[./add_bnd]
type = ExtraNodesetGenerator
input = generate
new_boundary = 'bnd'
nodes = '2 10'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[AuxVariables]
[./accel_x]
[../]
[./proc_id]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./accel_x]
type = FunctionAux
function = t*t
variable = accel_x
execute_on = 'initial timestep_end'
[../]
[./proc]
type = ProcessorIDAux
variable = proc_id
[../]
[]
[Executioner]
type = Transient
num_steps = 5
dt = 1
[]
[Outputs]
exodus = true
csv = true
[]
[VectorPostprocessors]
[./accel_nodes]
type = ResponseHistoryBuilder
variables = 'u accel_x'
nodes = '2 10'
[../]
[./accel_bnd]
type = ResponseHistoryBuilder
variables = 'u accel_x'
boundary = 'bnd'
[../]
[]
(examples/ex15/TankUQ_mod.i)
[Mesh]
[file]
type = FileMeshGenerator
file = Vessel_NoIsolator_Coarse.e
[]
[interface1]
type = SideSetsBetweenSubdomainsGenerator
input = file
primary_block = '2'
paired_block = '1'
new_boundary = 'Interface'
[]
[]
[GlobalParams]
[]
[Variables]
[p]
block = 2
[]
[disp_x]
block = 1
[]
[disp_y]
block = 1
[]
[disp_z]
block = 1
[]
[]
[AuxVariables]
[Wave1]
block = 2
[]
[vel_x]
order = FIRST
family = LAGRANGE
block = 1
[]
[accel_x]
order = FIRST
family = LAGRANGE
block = 1
[]
[vel_y]
order = FIRST
family = LAGRANGE
block = 1
[]
[accel_y]
order = FIRST
family = LAGRANGE
block = 1
[]
[vel_z]
order = FIRST
family = LAGRANGE
block = 1
[]
[accel_z]
order = FIRST
family = LAGRANGE
block = 1
[]
[stress_xx]
order = CONSTANT
family = MONOMIAL
block = 1
[]
[stress_yy]
order = CONSTANT
family = MONOMIAL
block = 1
[]
[stress_xy]
order = CONSTANT
family = MONOMIAL
block = 1
[]
[stress_zz]
order = CONSTANT
family = MONOMIAL
block = 1
[]
[stress_yz]
order = CONSTANT
family = MONOMIAL
block = 1
[]
[stress_xz]
order = CONSTANT
family = MONOMIAL
block = 1
[]
[]
[Kernels]
[diffusion]
type = Diffusion
variable = 'p'
block = 2
[]
[inertia]
type = AcousticInertia
variable = p
block = 2
[]
[DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
block = 1
[]
[inertia_x1]
type = InertialForce
variable = disp_x
block = 1
[]
[inertia_y1]
type = InertialForce
variable = disp_y
block = 1
[]
[inertia_z1]
type = InertialForce
variable = disp_z
block = 1
[]
[]
[AuxKernels]
[waves]
type = WaveHeightAuxKernel
variable = 'Wave1'
pressure = p
density = 1e-6
gravity = 9.81
execute_on = timestep_end
block = 2
[]
[accel_x]
type = TestNewmarkTI
displacement = disp_x
variable = accel_x
first = false
block = 1
[]
[vel_x]
type = TestNewmarkTI
displacement = disp_x
variable = vel_x
block = 1
[]
[accel_y]
type = TestNewmarkTI
displacement = disp_y
variable = accel_y
first = false
block = 1
[]
[vel_y]
type = TestNewmarkTI
displacement = disp_y
variable = vel_y
block = 1
[]
[accel_z]
type = TestNewmarkTI
displacement = disp_z
variable = accel_z
first = false
block = 1
[]
[vel_z]
type = TestNewmarkTI
displacement = disp_z
variable = vel_z
block = 1
[]
[stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
block = 1
[]
[stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
block = 1
[]
[stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
block = 1
[]
[stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
block = 1
[]
[stress_yz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yz
index_i = 1
index_j = 2
block = 1
[]
[stress_xz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xz
index_i = 0
index_j = 2
block = 1
[]
[]
[InterfaceKernels]
[interface1]
type = StructureAcousticInterface
variable = p
neighbor_var = disp_x
boundary = 'Interface'
D = 1e-6
component = 0
[]
[interface2]
type = StructureAcousticInterface
variable = p
neighbor_var = disp_y
boundary = 'Interface'
D = 1e-6
component = 1
[]
[interface3]
type = StructureAcousticInterface
variable = p
neighbor_var = disp_z
boundary = 'Interface'
D = 1e-6
component = 2
[]
[]
[BCs]
[top_accel1]
type = PresetAcceleration
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
function = groundmotion
boundary = 'Top'
[]
[disp_x2]
type = DirichletBC
variable = disp_y
boundary = 'Top'
value = 0.0
[]
[disp_x3]
type = DirichletBC
variable = disp_z
boundary = 'Top'
value = 0.0
[]
[free]
type = FluidFreeSurfaceBC
variable = p
boundary = 'Fluid_top'
alpha = '0.1'
[]
[]
[Functions]
[groundmotion]
type = GroundMotionSim
M = 0
R = 0
Vs30 = 0
F = 'SS'
n = 0
execute_on = INITIAL
[]
[]
[Materials]
[density]
type = GenericConstantMaterial
prop_names = inv_co_sq
prop_values = 4.65e-7
block = 2
[]
[density0]
type = GenericConstantMaterial
block = 1
prop_names = density
prop_values = 7.85e-6
[]
[elasticity_base]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e2
poissons_ratio = 0.27
block = 1
[]
[strain]
type = ComputeFiniteStrain
block = 1
displacements = 'disp_x disp_y disp_z'
[]
[stress]
type = ComputeFiniteStrainElasticStress
block = 1
[]
[]
[Preconditioning]
[andy]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
start_time = 0.0
end_time = 10.0
dt = 0.005
dtmin = 0.001
nl_abs_tol = 1e-14
nl_rel_tol = 1e-14
l_tol = 1e-14
l_max_its = 25
timestep_tolerance = 1e-8
automatic_scaling = true
[TimeIntegrator]
type = NewmarkBeta
[]
[]
[Controls]
[stochastic]
type = SamplerReceiver
[]
[]
[Postprocessors]
[PSide]
type = PointValue
point = '2.412779 -0.425438 0.050000'
variable = p
[]
[Wave]
type = PointValue
point = '2.450000 0.000000 5.050000'
variable = Wave1
[]
[DispBottom]
type = PointValue
point = '2.462019 0.434120 0.000'
variable = disp_x
[]
[AccBottom]
type = PointValue
point = '2.462019 0.434120 0.000'
variable = accel_x
[]
[PeakDisp]
type = TimeExtremeValue
postprocessor = DispBottom
output_type = extreme_value
[]
[PeakAcc]
type = TimeExtremeValue
postprocessor = AccBottom
output_type = extreme_value
[]
[PeakPressure]
type = TimeExtremeValue
postprocessor = PSide
output_type = extreme_value
[]
[PeakWaveHeight]
type = TimeExtremeValue
postprocessor = Wave
output_type = extreme_value
[]
[AppliedAcc]
type = FunctionValuePostprocessor
function = groundmotion
[]
[]
[VectorPostprocessors]
[accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '578'
block = 1
[]
[accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.005
outputs = out
[]
[]
[Outputs]
[accout]
type = CSV
show = 'AppliedAcc PSide Wave DispBottom AccBottom'
[]
[out]
type = CSV
execute_on = FINAL
[]
[]
(examples/ex09/SSI_Response.i)
[Mesh]
type = FileMesh
file = Full_3D_Str_red.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./rot_x]
block = '3 4 6'
[../]
[./rot_y]
block = '3 4 6'
[../]
[./rot_z]
block = '3 4 6'
[../]
[]
[AuxVariables]
[./stress_x]
[../]
[./stress_y]
[../]
[./stress_z]
[../]
[./vel_x]
[../]
[./vel_y]
[../]
[./vel_z]
[../]
[./accel_x]
[../]
[./accel_y]
[../]
[./accel_z]
[../]
[./rot_vel_x]
block = '3 4 6'
[../]
[./rot_vel_y]
block = '3 4 6'
[../]
[./rot_vel_z]
block = '3 4 6'
[../]
[./rot_accel_x]
block = '3 4 6'
[../]
[./rot_accel_y]
block = '3 4 6'
[../]
[./rot_accel_z]
block = '3 4 6'
[../]
[./layer_id]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Physics/SolidMechanics/LineElement/QuasiStatic]
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
# dynamic simulation using consistent mass/inertia matrix
dynamic_nodal_translational_inertia = true
velocities = 'vel_x vel_y vel_z'
accelerations = 'accel_x accel_y accel_z'
rotational_velocities = 'rot_vel_x rot_vel_y rot_vel_z'
rotational_accelerations = 'rot_accel_x rot_accel_y rot_accel_z'
beta = 0.25 # Newmark time integration parameter
gamma = 0.5 # Newmark time integration parameter
[./block_3]
block = 3
area = 500
Iy = 1e3
Iz = 1e3
y_orientation = '0.0 1.0 0.0'
nodal_mass = 0.1
boundary = 'B0'
[../]
[./block_4]
block = 4
area = 500
Iy = 1e3
Iz = 1e3
y_orientation = '1.0 0.0 0.0'
nodal_mass = 0.1
boundary = 'B0'
[../]
[./block_6]
block = 6
area = 500
Iy = 1e3
Iz = 1e3
y_orientation = '0.0 1.0 0.0'
nodal_mass = 166.0
density = 2.7
boundary = 'B1'
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
block = '1 2'
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
block = '1 2'
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
block = '1 2'
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
block = '1 2'
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = 'timestep_end'
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = 'timestep_end'
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = 'timestep_end'
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = 'timestep_end'
[../]
[./layer_id]
type = UniformLayerAuxKernel
block = '1'
variable = layer_id
interfaces = '29.6'
direction = '0.0 0.0 1.0'
execute_on = initial
[../]
[]
[Materials]
[./elastic_soil]
type = ComputeIsotropicElasticityTensorSoil
layer_variable = layer_id
layer_ids = '0'
poissons_ratio = '0.3'
density = '1.7'
shear_modulus = '46282.5'
block = '1'
[../]
[./elasticity_base]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0
block = '2'
[../]
[./stress_beam2]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[./strain_15]
type = ComputeFiniteStrain
block = '1 2'
displacements = 'disp_x disp_y disp_z'
[../]
[./density]
type = GenericConstantMaterial
block = '2'
prop_names = density
prop_values = 2.7
[../]
[./elasticity_beam_rigid]
type = ComputeElasticityBeam
youngs_modulus = 1e10
poissons_ratio = 0.3
shear_coefficient = 0.85
block = '3 4 6'
[../]
[./stress_beam]
type = ComputeBeamResultants
block = '3 4 6'
[../]
[]
[BCs]
[./disp_x]
type = PresetAcceleration
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
function = accel_bottom
boundary = 'NZ'
[../]
[./disp_y]
type = DirichletBC
boundary = 'NZ'
variable = disp_y
value = 0.0
[../]
[./disp_z]
type = DirichletBC
boundary = 'NZ'
variable = disp_z
value = 0.0
[../]
[./Periodic]
[./x_dir]
variable = 'disp_x disp_y disp_z'
primary = 'NX'
secondary = 'PX'
translation = '75.0 0.0 0.0'
[../]
[./y_dir]
variable = 'disp_x disp_y disp_z'
primary = 'NY'
secondary = 'PY'
translation = '0.0 75.0 0.0'
[../]
[../]
[]
[Functions]
[./accel_bottom]
type = PiecewiseLinear
data_file = Ormsby_USE1.csv
format = 'columns'
scale_factor = 1
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
nl_abs_tol = 1e-7
nl_rel_tol = 1e-7
l_tol = 1e-7
l_max_its = 12
start_time = 0.0
end_time = 3.0
dt = 0.001
timestep_tolerance = 1e-6
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '23935 2331 104 5'
outputs = out
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.001
damping_ratio = 0.01
start_frequency = 0.1
end_frequency = 1000
outputs = out
[../]
[]
[Outputs]
csv = true
exodus = true
perf_graph = true
print_linear_residuals = true
[./out]
execute_on = 'FINAL'
type = CSV
file_base = SSI_NoDamp_RigidStr
[../]
[./out2]
type = Exodus
file_base = Exod_SSI_NoDamp_RigidStr
interval = 10
[../]
[]
(examples/ex11a/dynamic/3d_beam_dynamic_first_order.i)
[Mesh]
[mesh_gen]
type = GeneratedMeshGenerator
dim = 3
nx = 20
ny = 2
nz = 2
xmin = 0.0
xmax = 5.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 1.0
# elem_type = 'HEX8'
elem_type = 'HEX20'
[]
[nodeset_gen]
type = ExtraNodesetGenerator
new_boundary = 'base_node end_node'
coord = '0.0 0.0 0.5; 5.0 0.0 0.5'
input = 'mesh_gen'
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[./disp_x]
# order = FIRST
order = SECOND
family = LAGRANGE
[../]
[./disp_y]
# order = FIRST
order = SECOND
family = LAGRANGE
[../]
[./disp_z]
# order = FIRST
order = SECOND
family = LAGRANGE
[../]
[]
[Kernels]
[DynamicTensorMechanics]
[]
[inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
[]
[inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
[]
[inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
[]
[]
[AuxVariables]
[vel_x]
# order = FIRST
order = SECOND
[]
[accel_x]
# order = FIRST
order = SECOND
[]
[vel_y]
order = SECOND
[]
[accel_y]
order = SECOND
[]
[vel_z]
order = SECOND
[]
[accel_z]
order = SECOND
[]
[]
[AuxKernels]
[accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[]
[vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[]
[accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[]
[vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[]
[accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[]
[vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[]
[]
[BCs]
[fix_x]
type = DirichletBC
variable = disp_x
boundary = 'left'
value = 0.0
[]
[fix_z]
type = DirichletBC
variable = disp_z
boundary = 'left'
value = 0.0
[]
[y_motion]
type = PresetAcceleration
acceleration = accel_y
velocity = vel_y
variable = disp_y
beta = 0.25
boundary = 'left'
function = 'ormsby'
[]
[]
[Functions]
[ormsby]
type = OrmsbyWavelet
f1 = 0.0
f2 = 0.1
f3 = 45.0
f4 = 50.0
ts = 1.5
scale_factor = 0.5
[]
[]
[Materials]
[elasticity]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 10e9
poissons_ratio = 0.3
[]
[strain_1]
type = ComputeSmallStrain
[]
[stress_1]
type = ComputeLinearElasticStress
[]
[den_1]
type = GenericConstantMaterial
prop_names = density
prop_values = 1200
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-8
nl_abs_tol = 1e-10
dt = 0.01
end_time = 3.0
timestep_tolerance = 1e-6
[]
[VectorPostprocessors]
[accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_y'
boundary = 'base_node end_node'
[]
[accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 100
outputs = 2_2
[]
[]
[Outputs]
perf_graph = true
[./2_2]
type = CSV
execute_on = 'final'
[../]
[]
(examples/ex03a/shear_beam_Isoil_free_field.i)
[Mesh]
type = GeneratedMesh
nx = 1
ny = 1
nz = 20
xmin = -0.5
ymin = -0.5
zmin = 0.0
xmax = 0.5
ymax = 0.5
zmax = 20.0
dim = 3
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./layer_id]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
stiffness_damping_coefficient = 0.000781
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
eta = 0.64026
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
eta = 0.64026
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
eta = 0.64026
[../]
[./gravity]
type = Gravity
variable = disp_z
value = -9.81
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./layer_id]
type = UniformLayerAuxKernel
variable = layer_id
interfaces = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20.2'
direction = '0.0 0.0 1.0'
execute_on = initial
[../]
[]
[BCs]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = 'back'
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
variable = disp_y
boundary = 'back'
value = 0.0
[../]
[./bottom_accel]
type = PresetAcceleration
boundary = 'back'
function = accel_bottom
variable = 'disp_x'
beta = 0.25
acceleration = 'accel_x'
velocity = 'vel_x'
[../]
[./Periodic]
[./y_dir]
variable = 'disp_x disp_y disp_z'
primary = 'bottom'
secondary = 'top'
translation = '0.0 1.0 0.0'
[../]
[./x_dir]
variable = 'disp_x disp_y disp_z'
primary = 'left'
secondary = 'right'
translation = '1.0 0.0 0.0'
[../]
[../]
[]
[Functions]
[./accel_bottom]
type = PiecewiseLinear
data_file = chichi_bc_mpss_xp20.csv
format = 'columns'
[../]
[./initial_zz]
type = ParsedFunction
value = '-2000.0 * 9.81 * (20.0 - z)'
[../]
[./initial_xx]
type = ParsedFunction
value = '-2000.0 * 9.81 * (20.0 - z) * 0.3/0.7'
[../]
[]
[Materials]
[./I_Soil]
[./soil_all]
block = 0
layer_variable = layer_id
layer_ids = '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19'
initial_soil_stress = 'initial_xx 0 0 0 initial_xx 0 0 0 initial_zz'
poissons_ratio = '0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3'
soil_type = 'gqh'
number_of_points = 100
### GQ/H ####
initial_shear_modulus = '125000000 118098000 111392000 103968000 96800000 89888000 83232000 76832000 70688000 64800000 59168000 53792000 48672000 43808000 39200000 34848000 30752000 26912000 23328000 20000000'
theta_1 = '-6.66 -6.86 -7.06 -7.35 -7.65 -7.95 -8.3 -8.61 -8.95 -9.3 -9.61 -9.92 -10.0 -10.0 -10.0 -10.0 -10.0 -9.31 -7.17 -5.54'
theta_2 = '5.5 5.7 5.9 6.2 6.6 6.9 7.3 7.6 8.0 8.4 8.6 8.8 8.82 8.71 8.55 8.3 7.88 6.4 2.4 -2.28'
theta_3 = '1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0'
theta_4 = '1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0'
theta_5 = '0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99'
taumax = '292500 277500 262500 247500 232500 217500 202500 187500 172500 157500 142500 127500 112500 97500 82500 67500 52500 37500 22500 7500'
p_ref = '236841 224695 212550 200404 188258 176112 163967 151821 139675 127530 115384 103238 91092 78947 66801 54655 42510 30364 18218 6072'
######
density = '2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0'
a0 = 1.0
a1 = 0.0
a2 = 0.0
b_exp = 0.0
[../]
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
nl_abs_tol = 1e-6
nl_rel_tol = 1e-6
l_tol = 1e-6
l_max_its = 50
start_time = 0.0
end_time = 85.4
dt = 0.005
timestep_tolerance = 1e-6
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 4'
line_search = 'none'
[]
[Postprocessors]
[./accelx_top]
type = PointValue
point = '0.0 0.0 20.0'
variable = accel_x
[../]
[./accelx_top1]
type = PointValue
point = '0.0 0.0 19.0'
variable = accel_x
[../]
[./accelx_mid]
type = PointValue
point = '0.0 0.0 10.0'
variable = accel_x
[../]
[./accelx_bot]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_x
[../]
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '80'
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.005
outputs = out
[../]
[]
[Outputs]
csv = true
exodus = true
perf_graph = true
print_linear_residuals = true
[./out]
type = CSV
execute_on = 'timestep_begin'
file_base = topsoil_response
[../]
[./screen]
type = Console
max_rows = 1
interval = 1000
[../]
[]
(examples/ex14/basemat_with_isolators_new.i)
[Mesh]
[mesh_gen]
type = FileMeshGenerator
file = basemat_with_isolators_new.e
[]
[]
[Variables]
[disp_x]
[]
[disp_y]
[]
[disp_z]
[]
[rot_x]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_y]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_z]
block = 'isolator_elems upper_rigid_elems'
[]
[]
[AuxVariables]
[vel_x]
[]
[accel_x]
[]
[vel_y]
[]
[accel_y]
[]
[vel_z]
[]
[accel_z]
[]
[rot_vel_x]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_vel_y]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_vel_z]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_accel_x]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_accel_y]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_accel_z]
block = 'isolator_elems upper_rigid_elems'
[]
[Fb_x]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Fb_y]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Fb_z]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Defb_x]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Velb_x]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Defb_y]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Defb_z]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[]
[Physics/SolidMechanics/LineElement/QuasiStatic]
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
velocities = 'vel_x vel_y vel_z'
accelerations = 'accel_x accel_y accel_z'
rotational_velocities = 'rot_vel_x rot_vel_y rot_vel_z'
rotational_accelerations = 'rot_accel_x rot_accel_y rot_accel_z'
beta = 0.275625
gamma = 0.55
alpha = -0.05
[rigid_beams]
block = 'upper_rigid_elems'
area = 130.06
Iy = 24166.729
Iz = 24166.729
y_orientation = '0.0 0.0 1.0'
[]
[]
[Kernels]
[DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
block = 'upper_basemat'
hht_alpha = -0.05
static_initialization = true
stiffness_damping_coefficient = 0.0019
[]
[inertia_x]
type = InertialForce
block = 'upper_basemat'
variable = disp_x
eta = 0.038
alpha = -0.05
[]
[inertia_y]
type = InertialForce
block = 'upper_basemat'
variable = disp_y
eta = 0.038
alpha = -0.05
[]
[inertia_z]
type = InertialForce
block = 'upper_basemat'
variable = disp_z
eta = 0.038
alpha = -0.05
[]
[lr_disp_x]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 0
variable = disp_x
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_disp_y]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 1
variable = disp_y
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_disp_z]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 2
variable = disp_z
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_rot_x]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 3
variable = rot_x
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_rot_y]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 4
variable = rot_y
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_rot_z]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 5
variable = rot_z
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[gravity]
type = Gravity
variable = disp_z
value = -9.81
block = 'upper_basemat'
alpha = -0.05
[]
[]
[AuxKernels]
[Fb_x]
type = MaterialRealCMMAux
property = basic_forces
row = 0
column = 0
variable = Fb_x
block = 'isolator_elems'
[]
[Fb_y]
type = MaterialRealCMMAux
property = basic_forces
row = 1
column = 0
variable = Fb_y
block = 'isolator_elems'
[]
[Fb_z]
type = MaterialRealCMMAux
property = basic_forces
row = 2
column = 0
variable = Fb_z
block = 'isolator_elems'
[]
[Defb_x]
type = MaterialRealCMMAux
property = deformations
row = 0
column = 0
variable = Defb_x
block = 'isolator_elems'
[]
[Velb_x]
type = MaterialRealCMMAux
property = deformation_rates
row = 0
column = 0
variable = Velb_x
block = 'isolator_elems'
[]
[Defb_y]
type = MaterialRealCMMAux
property = deformations
row = 1
column = 0
variable = Defb_y
block = 'isolator_elems'
[]
[Defb_z]
type = MaterialRealCMMAux
property = deformations
row = 2
column = 0
variable = Defb_z
block = 'isolator_elems'
[]
[accel_x]
type = TestNewmarkTI
displacement = disp_x
variable = accel_x
first = false
[]
[vel_x]
type = TestNewmarkTI
displacement = disp_x
variable = vel_x
[]
[accel_y]
type = TestNewmarkTI
displacement = disp_y
variable = accel_y
first = false
[]
[vel_y]
type = TestNewmarkTI
displacement = disp_y
variable = vel_y
[]
[accel_z]
type = TestNewmarkTI
displacement = disp_z
variable = accel_z
first = false
[]
[vel_z]
type = TestNewmarkTI
displacement = disp_z
variable = vel_z
[]
[rot_accel_x]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_x
variable = rot_accel_x
first = false
[]
[rot_vel_x]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_x
variable = rot_vel_x
[]
[rot_accel_y]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_y
variable = rot_accel_y
first = false
[]
[rot_vel_y]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_y
variable = rot_vel_y
[]
[rot_accel_z]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_z
variable = rot_accel_z
first = false
[]
[rot_vel_z]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_z
variable = rot_vel_z
[]
[]
[Materials]
[elasticity_concrete]
type = ComputeIsotropicElasticityTensor
block = 'upper_basemat'
youngs_modulus = 99.2 #GPa # concrete x 4 making basemat rigid
poissons_ratio = 0.2
[]
[strain_1]
type = ComputeFiniteStrain
displacements = 'disp_x disp_y disp_z'
block = 'upper_basemat'
[]
[stress_1]
type = ComputeFiniteStrainElasticStress
block = 'upper_basemat'
[]
[concrete_density]
type = GenericConstantMaterial
block = 'upper_basemat'
prop_names = density
prop_values = 11.04e-6 # e9kg/m3 # total wt of 75,000 tons
[]
[isolator_deformation]
type = ComputeIsolatorDeformation
sd_ratio = 0.5
y_orientation = '1.0 0.0 0.0'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
velocities = 'vel_x vel_y vel_z'
block = 'isolator_elems'
[]
[elasticity]
type = ComputeFPIsolatorElasticity
mu_ref = 0.06
p_ref = 0.05 # GPa
block = 'isolator_elems'
diffusivity = 4.4e-6
conductivity = 18
a = 100
r_eff = 1.0 # meters. 2sec sliding period
r_contact = 0.2
uy = 0.001
unit = 4
beta = 0.275625
gamma = 0.55
pressure_dependent = false
temperature_dependent = false
velocity_dependent = false
k_x = 78.53 # 7.853e10 N
k_xx = 0.62282 # 622820743.6 N
k_yy = 0.3114 # 311410371.8 N
k_zz = 0.3114 # 311410371.8 N
[]
[elasticity_beam_rigid]
type = ComputeElasticityBeam
youngs_modulus = 2e4
poissons_ratio = 0.27
shear_coefficient = 0.85
block = 'upper_rigid_elems'
[]
[stress_beam_rigid]
type = ComputeBeamResultants
block = 'upper_rigid_elems'
[]
[]
[Functions]
[input_motion_x]
type = PiecewiseLinear
data_file = 'case2_scaled.csv'
format = columns
scale_factor = 9.81
y_index_in_file = 1
xy_in_file_only = false
[]
[]
[BCs]
[x_motion]
type = PresetAcceleration
acceleration = accel_x
velocity = vel_x
variable = disp_x
beta = 0.2725625
boundary = 'bottom_isolators'
function = 'input_motion_x'
[]
[fix_y]
type = DirichletBC
variable = disp_y
boundary = 'bottom_isolators'
value = 0.0
[]
[fix_z]
type = DirichletBC
variable = disp_z
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrxbot]
type = DirichletBC
variable = rot_x
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrybot]
type = DirichletBC
variable = rot_y
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrzbot]
type = DirichletBC
variable = rot_z
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrxcon]
type = DirichletBC
variable = rot_x
boundary = 'connections'
value = 0.0
[]
[fixrycon]
type = DirichletBC
variable = rot_y
boundary = 'connections'
value = 0.0
[]
[fixrzcon]
type = DirichletBC
variable = rot_z
boundary = 'connections'
value = 0.0
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
solve_type = 'NEWTON'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-15
dt = 0.01
end_time = 28
timestep_tolerance = 1e-6
automatic_scaling = true
[TimeIntegrator]
type = NewmarkBeta
beta = 0.275625
gamma = 0.55
inactive_tsteps = 2
[]
[]
[Controls]
[inertia_switch]
type = TimePeriod
start_time = 0.0
end_time = 0.03
disable_objects = '*/inertia_x */inertia_y */inertia_z
*/vel_x */vel_y */vel_z
*/accel_x */accel_y */accel_z
*/rot_vel_x */rot_vel_y */rot_vel_z
*/rot_accel_x */rot_accel_y */rot_accel_z'
set_sync_times = true
execute_on = 'timestep_begin timestep_end'
[]
[]
[Postprocessors]
[inp_accel_x]
type = PointValue
point = '5.0 0.0 -1.3'
variable = accel_x
[]
[inp_accel_y]
type = PointValue
point = '5.0 0.0 -1.3'
variable = accel_y
[]
[inp_accel_z]
type = PointValue
point = '5.0 0.0 -1.3'
variable = accel_z
[]
[basemat_accel_x]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_x
[]
[basemat_accel_y]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_y
[]
[basemat_accel_z]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_z
[]
[iso1_fb_axial]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Fb_x
[]
[iso1_defb_axial]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Defb_x
[]
[iso1_fb_shear1]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Fb_y
[]
[iso1_defb_shear1]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Defb_y
[]
[iso1_fb_shear2]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Fb_z
[]
[iso1_defb_shear2]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Defb_z
[]
[]
[VectorPostprocessors]
[accel_hist_x]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '7943 4568 8640 564 8588'
# locations:
# 7943-basemat_center-(0.35,-0.75,-1)(approx)
# 4568-center_isolator_top-(5,0,-1)
# 8640-center_isolator_bottom-(5,0,-1.3)
# 564-edge_isolator_top-(-45,30,-1)
# 8588-edge_isolator_bottom(-45,30,-1.3)
outputs = out1
[]
[accel_spec_x]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_x
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 50
outputs = out1
[]
[accel_hist_y]
type = ResponseHistoryBuilder
variables = 'accel_y'
nodes = '7943 4568 8640 564 8588'
# locations:
# 7943-basemat_center-(0.35,-0.75,-1)(approx)
# 4568-center_isolator_top-(5,0,-1)
# 8640-center_isolator_bottom-(5,0,-1.3)
# 564-edge_isolator_top-(-45,30,-1)
# 8588-edge_isolator_bottom(-45,30,-1.3)
outputs = out1
[]
[accel_spec_y]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_y
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 50
outputs = out1
[]
[accel_hist_z]
type = ResponseHistoryBuilder
variables = 'accel_z'
nodes = '7943 4568 8640 564 8588'
# locations:
# 7943-basemat_center-(0.35,-0.75,-1)(approx)
# 4568-center_isolator_top-(5,0,-1)
# 8640-center_isolator_bottom-(5,0,-1.3)
# 564-edge_isolator_top-(-45,30,-1)
# 8588-edge_isolator_bottom(-45,30,-1.3)
outputs = out1
[]
[accel_spec_z]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_z
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 50
outputs = out1
[]
[]
[Outputs]
exodus = true
perf_graph = true
csv = true
[out1]
type = CSV
execute_on = 'final'
[]
[]
(examples/ex13/fixed_base/fixed_base.i)
[Mesh]
[mesh_gen]
type = FileMeshGenerator
file = fixed_base_mesh.e
[]
[interface1]
type = SideSetsBetweenSubdomainsGenerator
input = mesh_gen
primary_block = 'fluid_material'
paired_block = 'RV'
new_boundary = 'Interface'
[]
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[disp_x]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' #' # 99 98 97 96 95 94'
order = FIRST
family = LAGRANGE
[]
[disp_y]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
order = FIRST
family = LAGRANGE
[]
[disp_z]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
order = FIRST
family = LAGRANGE
[]
[p]
block = 'fluid_material'
[]
[]
[AuxVariables]
[Wave1]
block = 'fluid_material'
[]
[vel_x]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
[]
[accel_x]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
[]
[vel_y]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
[]
[accel_y]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
[]
[vel_z]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
[]
[accel_z]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
[]
[]
[Kernels]
[diffusion]
type = Diffusion
variable = 'p'
block = 'fluid_material'
use_displaced_mesh = false
[]
[inertia]
type = AcousticInertia
variable = p
block = 'fluid_material'
use_displaced_mesh = false
[]
[DynamicTensorMechanics]
stiffness_damping_coefficient = 0.00006366
displacements = 'disp_x disp_y disp_z'
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
[]
[inertia_x]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
type = InertialForce
variable = disp_x
eta = 7.854
[]
[inertia_y]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
type = InertialForce
variable = disp_y
eta = 7.854
[]
[inertia_z]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
type = InertialForce
variable = disp_z
eta = 7.854
[]
[]
[AuxKernels]
[accel_x]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[]
[vel_x]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[]
[accel_y]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[]
[vel_y]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[]
[accel_z]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[]
[vel_z]
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat RV SGs RV_slab' # 99 98 97 96 95 94'
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[]
[waves]
type = WaveHeightAuxKernel
variable = 'Wave1'
pressure = p
density = 1e-6
gravity = 9.81
execute_on = timestep_end
block = 'fluid_material'
[]
[]
[InterfaceKernels]
[interface1]
type = StructureAcousticInterface
variable = p
neighbor_var = disp_x
boundary = 'Interface'
D = 1e-6
component = 0
[]
[interface2]
type = StructureAcousticInterface
variable = p
neighbor_var = disp_y
boundary = 'Interface'
D = 1e-6
component = 1
[]
[interface3]
type = StructureAcousticInterface
variable = p
neighbor_var = disp_z
boundary = 'Interface'
D = 1e-6
component = 2
[]
[]
[Materials]
[elasticity_1]
type = ComputeIsotropicElasticityTensor
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat'
youngs_modulus = 24.8
poissons_ratio = 0.2
[]
[strain_1]
type = ComputeSmallStrain
displacements = 'disp_x disp_y disp_z'
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat'
[]
[stress_1]
type = ComputeLinearElasticStress
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat'
[]
[den_1]
type = GenericConstantMaterial
block = 'roof ext_buttresses ext_walls int_buttresses SG_bases int_wall int_slab RV_housing small_walls basemat'
prop_names = density
prop_values = 2.4e-6 #kg/m3
[]
[elasticity_2]
type = ComputeIsotropicElasticityTensor
block = 'RV SGs RV_slab'
youngs_modulus = 170
poissons_ratio = 0.3
[]
[strain_2]
type = ComputeSmallStrain
displacements = 'disp_x disp_y disp_z'
block = 'RV SGs RV_slab'
[]
[stress_2]
type = ComputeLinearElasticStress
block = 'RV SGs RV_slab'
[]
[den_rv]
type = GenericConstantMaterial
block = 'RV RV_slab'
prop_names = density
prop_values = 7.85e-6 #kg/m3
[]
[den_sg]
type = GenericConstantMaterial
block = 'SGs'
prop_names = density
prop_values = 7.85e-6 #kg/m3
[]
[density_fluid]
type = GenericConstantMaterial
prop_names = inv_co_sq
prop_values = 4.65e-7
block = 'fluid_material'
[]
[dens2]
type = GenericConstantMaterial
block = 'fluid_material'
prop_names = density
prop_values = 1e-6
[]
[]
[Functions]
[input_motion_x]
type = PiecewiseLinear
data_file = 'fixed_base_input_motion.csv'
format = columns
xy_in_file_only = false
y_index_in_file = 1
[]
[input_motion_y]
type = PiecewiseLinear
data_file = 'fixed_base_input_motion.csv'
format = columns
xy_in_file_only = false
y_index_in_file = 2
[]
[input_motion_z]
type = PiecewiseLinear
data_file = 'fixed_base_input_motion.csv'
format = columns
xy_in_file_only = false
y_index_in_file = 3
[]
[]
[BCs]
[x_motion]
type = PresetAcceleration
acceleration = accel_x
velocity = vel_x
variable = disp_x
beta = 0.25
boundary = 'bottom_surface'
function = 'input_motion_x'
[]
[y_motion]
type = PresetAcceleration
acceleration = accel_y
velocity = vel_y
variable = disp_y
beta = 0.25
boundary = 'bottom_surface'
function = 'input_motion_y'
[]
[z_motion]
type = PresetAcceleration
acceleration = accel_z
velocity = vel_z
variable = disp_z
beta = 0.25
boundary = 'bottom_surface'
function = 'input_motion_z'
[]
[free]
type = FluidFreeSurfaceBC
variable = p
boundary = 'fluid_top'
[]
[]
[Postprocessors]
[Wave1]
type = PointValue
point = '-17.235 0.0 6.655'
variable = Wave1
[]
[Wave2]
type = PointValue
point = '-17.0 0.0 6.655'
variable = Wave1
[]
[Wave3]
type = PointValue
point = '-16.75 0.0 6.655'
variable = Wave1
[]
[Wave4]
type = PointValue
point = '-16.5 0.0 6.655'
variable = Wave1
[]
[Wave5]
type = PointValue
point = '-16.25 0.0 6.655'
variable = Wave1
[]
[Wave6]
type = PointValue
point = '-16.0 0.0 6.655'
variable = Wave1
[]
[Wave7]
type = PointValue
point = '-15.75 0.0 6.655'
variable = Wave1
[]
[Wave8]
type = PointValue
point = '-15.5 0.0 6.655'
variable = Wave1
[]
[Wave9]
type = PointValue
point = '-15.25 0.0 6.655'
variable = Wave1
[]
[Wave10]
type = PointValue
point = '-15.0 0.0 6.655'
variable = Wave1
[]
[Wave11]
type = PointValue
point = '-14.75 0.0 6.655'
variable = Wave1
[]
[Wave12]
type = PointValue
point = '-14.5 0.0 6.655'
variable = Wave1
[]
[Wave13]
type = PointValue
point = '-14.25 0.0 6.655'
variable = Wave1
[]
[Wave14]
type = PointValue
point = '-14.0 0.0 6.655'
variable = Wave1
[]
[Wave15]
type = PointValue
point = '-13.75 0.0 6.655'
variable = Wave1
[]
[Wave16]
type = PointValue
point = '-13.5 0.0 6.655'
variable = Wave1
[]
[Wave17]
type = PointValue
point = '-13.25 0.0 6.655'
variable = Wave1
[]
[Wave18]
type = PointValue
point = '-13.0 0.0 6.655'
variable = Wave1
[]
[Wave19]
type = PointValue
point = '-12.765 0.0 6.655'
variable = Wave1
[]
[p1_n]
type = PointValue
point = '-17.48 0.0 6.655'
variable = p
[]
[p2_n]
type = PointValue
point = '-17.48 0.0 6.3'
variable = p
[]
[p3_n]
type = PointValue
point = '-17.48 0.0 6.0'
variable = p
[]
[p4_n]
type = PointValue
point = '-17.48 0.0 5.7'
variable = p
[]
[p5_n]
type = PointValue
point = '-17.48 0.0 5.4'
variable = p
[]
[p6_n]
type = PointValue
point = '-17.48 0.0 5.1'
variable = p
[]
[p7_n]
type = PointValue
point = '-17.48 0.0 4.8'
variable = p
[]
[p8_n]
type = PointValue
point = '-17.48 0.0 4.5'
variable = p
[]
[p9_n]
type = PointValue
point = '-17.48 0.0 4.2'
variable = p
[]
[p10_n]
type = PointValue
point = '-17.48 0.0 3.9'
variable = p
[]
[p11_n]
type = PointValue
point = '-17.48 0.0 3.6'
variable = p
[]
[p12_n]
type = PointValue
point = '-17.48 0.0 3.3'
variable = p
[]
[p13_n]
type = PointValue
point = '-17.48 0.0 3.0'
variable = p
[]
[p14_n]
type = PointValue
point = '-17.48 0.0 2.855'
variable = p
[]
[p1_p]
type = PointValue
point = '-12.52 0.0 6.655'
variable = p
[]
[p2_p]
type = PointValue
point = '-12.52 0.0 6.3'
variable = p
[]
[p3_p]
type = PointValue
point = '-12.52 0.0 6.0'
variable = p
[]
[p4_p]
type = PointValue
point = '-12.52 0.0 5.7'
variable = p
[]
[p5_p]
type = PointValue
point = '-12.52 0.0 5.4'
variable = p
[]
[p6_p]
type = PointValue
point = '-12.52 0.0 5.1'
variable = p
[]
[p7_p]
type = PointValue
point = '-12.52 0.0 4.8'
variable = p
[]
[p8_p]
type = PointValue
point = '-12.52 0.0 4.5'
variable = p
[]
[p9_p]
type = PointValue
point = '-12.52 0.0 4.2'
variable = p
[]
[p10_p]
type = PointValue
point = '-12.52 0.0 3.9'
variable = p
[]
[p11_p]
type = PointValue
point = '-12.52 0.0 3.6'
variable = p
[]
[p12_p]
type = PointValue
point = '-12.52 0.0 3.3'
variable = p
[]
[p13_p]
type = PointValue
point = '-12.52 0.0 3.0'
variable = p
[]
[p14_p]
type = PointValue
point = '-12.52 0.0 2.855'
variable = p
[]
[moment_x]
type = SidesetMoment
boundary = 'fluid_interface'
reference_point = '-15.0 0.0 7.625'
moment_direction = '1 0 0'
pressure = p
[]
[moment_y]
type = SidesetMoment
boundary = 'fluid_interface'
reference_point = '-15.0 0.0 7.625'
moment_direction = '0 1 0'
pressure = p
[]
[moment_z]
type = SidesetMoment
boundary = 'fluid_interface'
reference_point = '-15.0 0.0 7.625'
moment_direction = '0 0 1'
pressure = p
[]
[]
[VectorPostprocessors]
[accel_hist_x]
type = ResponseHistoryBuilder
variables = 'accel_x'
boundary = 'rv_head_nodes'
outputs = out1
[]
[accel_spec_x]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_x
regularize_dt = 0.002
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 1000
outputs = out1
[]
[accel_hist_y]
type = ResponseHistoryBuilder
variables = 'accel_y'
boundary = 'rv_head_nodes'
outputs = out1
[]
[accel_spec_y]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_y
regularize_dt = 0.002
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 1000
outputs = out1
[]
[accel_hist_z]
type = ResponseHistoryBuilder
variables = 'accel_z'
boundary = 'rv_head_nodes'
outputs = out1
[]
[accel_spec_z]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_z
regularize_dt = 0.002
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 1000
outputs = out1
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
solve_type = 'NEWTON'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-12
dt = 0.01
end_time = 28.0
timestep_tolerance = 1e-6
[TimeIntegrator]
type = NewmarkBeta
beta = 0.25
gamma = 0.5
[]
[]
[Outputs]
exodus = true
perf_graph = true
csv = true
[out1]
type = CSV
execute_on = 'final'
[]
[]
(examples/ex03a/shear_beam_Isoil_free_field_AD.i)
[Mesh]
type = GeneratedMesh
nx = 1
ny = 1
nz = 20
xmin = -0.5
ymin = -0.5
zmin = 0.0
xmax = 0.5
ymax = 0.5
zmax = 20.0
dim = 3
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./layer_id]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
stiffness_damping_coefficient = 0.000781
use_automatic_differentiation = true
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
eta = 0.64026
density = 'reg_density'
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
eta = 0.64026
density = 'reg_density'
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
eta = 0.64026
density = 'reg_density'
[../]
[./gravity]
type = Gravity
variable = disp_z
value = -9.81
density = 'reg_density'
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./layer_id]
type = UniformLayerAuxKernel
variable = layer_id
interfaces = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20.2'
direction = '0.0 0.0 1.0'
execute_on = initial
[../]
[]
[BCs]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = 'back'
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
variable = disp_y
boundary = 'back'
value = 0.0
[../]
[./bottom_accel]
type = PresetAcceleration
boundary = 'back'
function = accel_bottom
variable = 'disp_x'
beta = 0.25
acceleration = 'accel_x'
velocity = 'vel_x'
[../]
[./Periodic]
[./y_dir]
variable = 'disp_x disp_y disp_z'
primary = 'bottom'
secondary = 'top'
translation = '0.0 1.0 0.0'
[../]
[./x_dir]
variable = 'disp_x disp_y disp_z'
primary = 'left'
secondary = 'right'
translation = '1.0 0.0 0.0'
[../]
[../]
[]
[Functions]
[./accel_bottom]
type = PiecewiseLinear
data_file = chichi_bc_mpss_xp20.csv
format = 'columns'
[../]
[./initial_zz]
type = ParsedFunction
value = '-2000.0 * 9.81 * (20.0 - z)'
[../]
[./initial_xx]
type = ParsedFunction
value = '-2000.0 * 9.81 * (20.0 - z) * 0.3/0.7'
[../]
[]
[Materials]
[./I_Soil]
[./soil_all]
block = 0
layer_variable = layer_id
layer_ids = '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19'
initial_soil_stress = 'initial_xx 0 0 0 initial_xx 0 0 0 initial_zz'
poissons_ratio = '0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3'
soil_type = 'gqh'
number_of_points = 100
### GQ/H ####
initial_shear_modulus = '125000000 118098000 111392000 103968000 96800000 89888000 83232000 76832000 70688000 64800000 59168000 53792000 48672000 43808000 39200000 34848000 30752000 26912000 23328000 20000000'
theta_1 = '-6.66 -6.86 -7.06 -7.35 -7.65 -7.95 -8.3 -8.61 -8.95 -9.3 -9.61 -9.92 -10.0 -10.0 -10.0 -10.0 -10.0 -9.31 -7.17 -5.54'
theta_2 = '5.5 5.7 5.9 6.2 6.6 6.9 7.3 7.6 8.0 8.4 8.6 8.8 8.82 8.71 8.55 8.3 7.88 6.4 2.4 -2.28'
theta_3 = '1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0'
theta_4 = '1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0'
theta_5 = '0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99'
taumax = '292500 277500 262500 247500 232500 217500 202500 187500 172500 157500 142500 127500 112500 97500 82500 67500 52500 37500 22500 7500'
p_ref = '236841 224695 212550 200404 188258 176112 163967 151821 139675 127530 115384 103238 91092 78947 66801 54655 42510 30364 18218 6072'
######
density = '2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0'
a0 = 1.0
a1 = 0.0
a2 = 0.0
b_exp = 0.0
use_automatic_differentiation = true
[../]
[../]
[converter]
type = MaterialConverter
ad_props_in = 'density'
reg_props_out = 'reg_density'
[]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
nl_abs_tol = 1e-6
nl_rel_tol = 1e-6
start_time = 0
end_time = 85.4
dt = 0.001
l_max_its = 50
timestep_tolerance = 1e-6
[]
[Postprocessors]
[./accelx_top]
type = PointValue
point = '0.0 0.0 20.0'
variable = accel_x
[../]
[./accelx_top1]
type = PointValue
point = '0.0 0.0 19.0'
variable = accel_x
[../]
[./accelx_mid]
type = PointValue
point = '0.0 0.0 10.0'
variable = accel_x
[../]
[./accelx_bot]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_x
[../]
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '80'
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.005
outputs = out
[../]
[]
[Outputs]
csv = true
exodus = true
perf_graph = true
print_linear_residuals = true
[./out]
type = CSV
execute_on = 'final'
file_base = topsoil_response_AD
[../]
[./screen]
type = Console
max_rows = 1
interval = 1000
[../]
[]
(test/tests/vectorpostprocessors/response_history_mean/response_history_mean.i)
[Mesh]
[./generate]
type = GeneratedMeshGenerator
dim = 2
nx = 3
ny = 3
[../]
[./add_bnd]
type = ExtraNodesetGenerator
input = generate
new_boundary = 'bnd'
nodes = '2 10'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[AuxVariables]
[./accel_x]
[../]
[./proc_id]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./accel_x]
type = FunctionAux
function = t*t
variable = accel_x
execute_on = 'initial timestep_end'
[../]
[./proc]
type = ProcessorIDAux
variable = proc_id
[../]
[]
[Executioner]
type = Transient
num_steps = 5
dt = 1
[]
[Outputs]
[./out]
type = CSV
execute_on = 'final'
[../]
[]
[VectorPostprocessors]
[./disp_nodes]
type = ResponseHistoryBuilder
variables = 'u'
nodes = '2 6 10'
[../]
[./disp_mean]
type = ResponseHistoryMean
response_history = disp_nodes
outputs = out
[../]
[]
(examples/ex09/Soil_Response.i)
[Mesh]
type = GeneratedMesh
nx = 1
ny = 1
nz = 15
xmin = 0
ymin = 0
zmin = 0.0
xmax = 1
ymax = 1
zmax = 29.47
dim = 3
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./layer_id]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./layer_id]
type = UniformLayerAuxKernel
variable = layer_id
interfaces = '29.8'
direction = '0.0 0.0 1.0'
execute_on = initial
[../]
[]
[BCs]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = 'back'
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
variable = disp_y
boundary = 'back'
value = 0.0
[../]
[./bottom_accel]
type = PresetAcceleration
boundary = 'back'
function = accel_bottom
variable = 'disp_x'
beta = 0.25
acceleration = 'accel_x'
velocity = 'vel_x'
[../]
[./Periodic]
[./y_dir]
variable = 'disp_x disp_y disp_z'
primary = 'bottom'
secondary = 'top'
translation = '0.0 1.0 0.0'
[../]
[./x_dir]
variable = 'disp_x disp_y disp_z'
primary = 'left'
secondary = 'right'
translation = '1.0 0.0 0.0'
[../]
[../]
[]
[Functions]
[./accel_bottom]
type = PiecewiseLinear
data_file = Ormsby_USE1.csv
scale_factor = 1.0
format = 'columns'
[../]
[./initial_zz]
type = ParsedFunction
value = '-1.7 * 9.81 * (29.47 - z)'
[../]
[./initial_xx]
type = ParsedFunction
value = '-1.7 * 9.81 * (29.47 - z) * 0.3/0.7'
[../]
[]
[Materials]
[./elastic_soil]
type = ComputeIsotropicElasticityTensorSoil
layer_variable = layer_id
layer_ids = '0'
poissons_ratio = '0.3'
density = '1.7'
shear_modulus = '46282.5'
[../]
[./stress_beam2]
type = ComputeFiniteStrainElasticStress
[../]
[./strain_15]
type = ComputeFiniteStrain
displacements = 'disp_x disp_y disp_z'
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 4'
start_time = 0.0
end_time = 4.0
dt = 0.001
dtmin = 0.0001
nl_abs_tol = 1e-4
nl_rel_tol = 1e-5
l_tol = 1e-5
l_max_its = 25
timestep_tolerance = 1e-8
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '3 63'
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.001
damping_ratio = 0.01
start_frequency = 0.1
end_frequency = 1000
outputs = out
[../]
[]
[Outputs]
csv = true
exodus = true
perf_graph = true
print_linear_residuals = true
[./out]
execute_on = 'FINAL'
type = CSV
file_base = Soil_Final_NoDamp
[../]
[./out2]
type = Exodus
file_base = Exod_Soil_Final_NoDamp
interval = 10
[../]
[]
(examples/ex14/basemat_with_isolators_new_3D.i)
[Mesh]
[mesh_gen]
type = FileMeshGenerator
file = basemat_with_isolators_new.e
[]
[]
[Variables]
[disp_x]
[]
[disp_y]
[]
[disp_z]
[]
[rot_x]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_y]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_z]
block = 'isolator_elems upper_rigid_elems'
[]
[]
[AuxVariables]
[vel_x]
[]
[accel_x]
[]
[vel_y]
[]
[accel_y]
[]
[vel_z]
[]
[accel_z]
[]
[rot_vel_x]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_vel_y]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_vel_z]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_accel_x]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_accel_y]
block = 'isolator_elems upper_rigid_elems'
[]
[rot_accel_z]
block = 'isolator_elems upper_rigid_elems'
[]
[Fb_x]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Fb_y]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Fb_z]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Defb_x]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Velb_x]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Defb_y]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[Defb_z]
block = 'isolator_elems'
order = CONSTANT
family = MONOMIAL
[]
[]
[Physics/SolidMechanics/LineElement/QuasiStatic]
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
velocities = 'vel_x vel_y vel_z'
accelerations = 'accel_x accel_y accel_z'
rotational_velocities = 'rot_vel_x rot_vel_y rot_vel_z'
rotational_accelerations = 'rot_accel_x rot_accel_y rot_accel_z'
beta = 0.275625
gamma = 0.55
alpha = -0.05
[rigid_beams]
block = 'upper_rigid_elems'
area = 130.06
Iy = 24166.729
Iz = 24166.729
y_orientation = '0.0 0.0 1.0'
[]
[]
[Kernels]
[DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
block = 'upper_basemat'
hht_alpha = -0.05
static_initialization = true
stiffness_damping_coefficient = 0.0019
[]
[inertia_x]
type = InertialForce
block = 'upper_basemat'
variable = disp_x
eta = 0.038
alpha = -0.05
[]
[inertia_y]
type = InertialForce
block = 'upper_basemat'
variable = disp_y
eta = 0.038
alpha = -0.05
[]
[inertia_z]
type = InertialForce
block = 'upper_basemat'
variable = disp_z
eta = 0.038
alpha = -0.05
[]
[lr_disp_x]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 0
variable = disp_x
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_disp_y]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 1
variable = disp_y
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_disp_z]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 2
variable = disp_z
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_rot_x]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 3
variable = rot_x
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_rot_y]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 4
variable = rot_y
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[lr_rot_z]
type = StressDivergenceIsolator
block = 'isolator_elems'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
component = 5
variable = rot_z
static_initialization = true
zeta = 0.0019
alpha = -0.05
[]
[gravity]
type = Gravity
variable = disp_z
value = -9.81
block = 'upper_basemat'
alpha = -0.05
[]
[]
[AuxKernels]
[Fb_x]
type = MaterialRealCMMAux
property = basic_forces
row = 0
column = 0
variable = Fb_x
block = 'isolator_elems'
[]
[Fb_y]
type = MaterialRealCMMAux
property = basic_forces
row = 1
column = 0
variable = Fb_y
block = 'isolator_elems'
[]
[Fb_z]
type = MaterialRealCMMAux
property = basic_forces
row = 2
column = 0
variable = Fb_z
block = 'isolator_elems'
[]
[Defb_x]
type = MaterialRealCMMAux
property = deformations
row = 0
column = 0
variable = Defb_x
block = 'isolator_elems'
[]
[Velb_x]
type = MaterialRealCMMAux
property = deformation_rates
row = 0
column = 0
variable = Velb_x
block = 'isolator_elems'
[]
[Defb_y]
type = MaterialRealCMMAux
property = deformations
row = 1
column = 0
variable = Defb_y
block = 'isolator_elems'
[]
[Defb_z]
type = MaterialRealCMMAux
property = deformations
row = 2
column = 0
variable = Defb_z
block = 'isolator_elems'
[]
[accel_x]
type = TestNewmarkTI
displacement = disp_x
variable = accel_x
first = false
[]
[vel_x]
type = TestNewmarkTI
displacement = disp_x
variable = vel_x
[]
[accel_y]
type = TestNewmarkTI
displacement = disp_y
variable = accel_y
first = false
[]
[vel_y]
type = TestNewmarkTI
displacement = disp_y
variable = vel_y
[]
[accel_z]
type = TestNewmarkTI
displacement = disp_z
variable = accel_z
first = false
[]
[vel_z]
type = TestNewmarkTI
displacement = disp_z
variable = vel_z
[]
[rot_accel_x]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_x
variable = rot_accel_x
first = false
[]
[rot_vel_x]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_x
variable = rot_vel_x
[]
[rot_accel_y]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_y
variable = rot_accel_y
first = false
[]
[rot_vel_y]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_y
variable = rot_vel_y
[]
[rot_accel_z]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_z
variable = rot_accel_z
first = false
[]
[rot_vel_z]
block = 'isolator_elems upper_rigid_elems'
type = TestNewmarkTI
displacement = rot_z
variable = rot_vel_z
[]
[]
[Materials]
[elasticity_concrete]
type = ComputeIsotropicElasticityTensor
block = 'upper_basemat'
youngs_modulus = 99.2 #GPa # concrete x 4 making basemat rigid
poissons_ratio = 0.2
[]
[strain_1]
type = ComputeFiniteStrain
displacements = 'disp_x disp_y disp_z'
block = 'upper_basemat'
[]
[stress_1]
type = ComputeFiniteStrainElasticStress
block = 'upper_basemat'
[]
[concrete_density]
type = GenericConstantMaterial
block = 'upper_basemat'
prop_names = density
prop_values = 11.04e-6 # e9kg/m3 # total wt of 75,000 tons
[]
[isolator_deformation]
type = ComputeIsolatorDeformation
sd_ratio = 0.5
y_orientation = '1.0 0.0 0.0'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
velocities = 'vel_x vel_y vel_z'
block = 'isolator_elems'
[]
[elasticity]
type = ComputeFPIsolatorElasticity
mu_ref = 0.06
p_ref = 0.1 # GPa
block = 'isolator_elems'
diffusivity = 4.4e-6
conductivity = 18
a = 100
r_eff = 1.0 # meters. 2sec sliding period
r_contact = 0.2
uy = 0.001
unit = 4
beta = 0.275625
gamma = 0.55
pressure_dependent = true
temperature_dependent = true
velocity_dependent = true
k_x = 78.53 # 7.853e10 N
k_xx = 0.62282 # 622820743.6 N
k_yy = 0.3114 # 311410371.8 N
k_zz = 0.3114 # 311410371.8 N
[]
[elasticity_beam_rigid]
type = ComputeElasticityBeam
youngs_modulus = 2e4
poissons_ratio = 0.27
shear_coefficient = 0.85
block = 'upper_rigid_elems'
[]
[stress_beam_rigid]
type = ComputeBeamResultants
block = 'upper_rigid_elems'
[]
[]
[Functions]
[input_motion_x]
type = PiecewiseLinear
data_file = 'case2_scaled.csv'
format = columns
scale_factor = 9.81
y_index_in_file = 1
xy_in_file_only = false
[]
[input_motion_y]
type = PiecewiseLinear
data_file = 'case2_scaled.csv'
format = columns
scale_factor = 9.81
y_index_in_file = 2
xy_in_file_only = false
[]
[input_motion_z]
type = PiecewiseLinear
data_file = 'case2_scaled.csv'
format = columns
scale_factor = 9.81
y_index_in_file = 3
xy_in_file_only = false
[]
[]
[BCs]
[x_motion]
type = PresetAcceleration
acceleration = accel_x
velocity = vel_x
variable = disp_x
beta = 0.2725625
boundary = 'bottom_isolators'
function = 'input_motion_x'
[]
[y_motion]
type = PresetAcceleration
acceleration = accel_y
velocity = vel_y
variable = disp_y
beta = 0.2725625
boundary = 'bottom_isolators'
function = 'input_motion_y'
[]
[z_motion]
type = PresetAcceleration
acceleration = accel_z
velocity = vel_z
variable = disp_z
beta = 0.2725625
boundary = 'bottom_isolators'
function = 'input_motion_z'
[]
[fixrxbot]
type = DirichletBC
variable = rot_x
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrybot]
type = DirichletBC
variable = rot_y
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrzbot]
type = DirichletBC
variable = rot_z
boundary = 'bottom_isolators'
value = 0.0
[]
[fixrxcon]
type = DirichletBC
variable = rot_x
boundary = 'connections'
value = 0.0
[]
[fixrycon]
type = DirichletBC
variable = rot_y
boundary = 'connections'
value = 0.0
[]
[fixrzcon]
type = DirichletBC
variable = rot_z
boundary = 'connections'
value = 0.0
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
solve_type = 'NEWTON'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-15
dt = 0.01
end_time = 28
timestep_tolerance = 1e-6
automatic_scaling = true
[TimeIntegrator]
type = NewmarkBeta
beta = 0.275625
gamma = 0.55
inactive_tsteps = 2
[]
[]
[Controls]
[inertia_switch]
type = TimePeriod
start_time = 0.0
end_time = 0.03
disable_objects = '*/inertia_x */inertia_y */inertia_z
*/vel_x */vel_y */vel_z
*/accel_x */accel_y */accel_z
*/rot_vel_x */rot_vel_y */rot_vel_z
*/rot_accel_x */rot_accel_y */rot_accel_z'
set_sync_times = true
execute_on = 'timestep_begin timestep_end'
[]
[]
[Postprocessors]
[inp_accel_x]
type = PointValue
point = '5.0 0.0 -1.3'
variable = accel_x
[]
[inp_accel_y]
type = PointValue
point = '5.0 0.0 -1.3'
variable = accel_y
[]
[inp_accel_z]
type = PointValue
point = '5.0 0.0 -1.3'
variable = accel_z
[]
[basemat_accel_x]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_x
[]
[basemat_accel_y]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_y
[]
[basemat_accel_z]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_z
[]
[iso1_fb_axial]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Fb_x
[]
[iso1_defb_axial]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Defb_x
[]
[iso1_fb_shear1]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Fb_y
[]
[iso1_defb_shear1]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Defb_y
[]
[iso1_fb_shear2]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Fb_z
[]
[iso1_defb_shear2]
type = PointValue
point = '5.0 0.0 -1.3'
variable = Defb_z
[]
[]
[VectorPostprocessors]
[accel_hist_x]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '7943 4568 8640 564 8588'
# locations:
# 7943-basemat_center-(0.35,-0.75,-1)(approx)
# 4568-center_isolator_top-(5,0,-1)
# 8640-center_isolator_bottom-(5,0,-1.3)
# 564-edge_isolator_top-(-45,30,-1)
# 8588-edge_isolator_bottom(-45,30,-1.3)
outputs = out1
[]
[accel_spec_x]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_x
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 50
outputs = out1
[]
[accel_hist_y]
type = ResponseHistoryBuilder
variables = 'accel_y'
nodes = '7943 4568 8640 564 8588'
# locations:
# 7943-basemat_center-(0.35,-0.75,-1)(approx)
# 4568-center_isolator_top-(5,0,-1)
# 8640-center_isolator_bottom-(5,0,-1.3)
# 564-edge_isolator_top-(-45,30,-1)
# 8588-edge_isolator_bottom(-45,30,-1.3)
outputs = out1
[]
[accel_spec_y]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_y
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 50
outputs = out1
[]
[accel_hist_z]
type = ResponseHistoryBuilder
variables = 'accel_z'
nodes = '7943 4568 8640 564 8588'
# locations:
# 7943-basemat_center-(0.35,-0.75,-1)(approx)
# 4568-center_isolator_top-(5,0,-1)
# 8640-center_isolator_bottom-(5,0,-1.3)
# 564-edge_isolator_top-(-45,30,-1)
# 8588-edge_isolator_bottom(-45,30,-1.3)
outputs = out1
[]
[accel_spec_z]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist_z
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 50
outputs = out1
[]
[]
[Outputs]
exodus = true
perf_graph = true
csv = true
[out1]
type = CSV
execute_on = 'final'
[]
[]
(test/tests/vectorpostprocessors/response_spectra_calculator/response_spectra_calculator.i)
#@requirement F8.2
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 4
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 4.0
[]
[Controls]
[./period0]
type = TimePeriod
disable_objects = 'Kernels/inertia_x Kernels/inertia_y Kernels/inertia_z AuxKernels/accel_x AuxKernels/accel_y AuxKernels/accel_z AuxKernels/vel_x AuxKernels/vel_y AuxKernels/vel_z'
start_time = 0.0
end_time = 0.005 # same as dt used in the analysis
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./layer_id]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
stiffness_damping_coefficient = 0.000781
static_initialization = True
use_displaced_mesh = True
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
eta = 0.64026
beta = 0.25
gamma = 0.5
use_displaced_mesh = True
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
eta = 0.64026
beta = 0.25
gamma = 0.5
use_displaced_mesh = True
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
eta = 0.64026
beta = 0.25
gamma = 0.5
use_displaced_mesh = True
[../]
[./gravity]
type = Gravity
variable = disp_z
value = -9.81
use_displaced_mesh = True
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_zx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zx
index_i = 2
index_j = 0
[../]
[./strain_zx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_zx
index_i = 2
index_j = 0
[../]
[./layer_id]
type = UniformLayerAuxKernel
variable = layer_id
interfaces = '20'
direction = '0 0 1'
execute_on = initial
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensorSoil
block = 0
layer_variable = layer_id
layer_ids = '0'
poissons_ratio = '0.3'
density = '2000.0'
shear_modulus = '325e7'
[../]
[./stress1]
#Computes the stress, using linear elasticity
type = ComputeLinearElasticStress
block = 0
[../]
[./strain1]
#Computes the strain, assuming small strains
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[]
[BCs]
[./bottom_accel_x]
type = PresetAcceleration
boundary = back
function = accel_bottom_x
variable = disp_x
beta = 0.25
acceleration = accel_x
velocity = vel_x
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[./bottom_accel_y]
type = PresetAcceleration
boundary = back
function = accel_bottom_y
variable = disp_y
beta = 0.25
acceleration = accel_y
velocity = vel_y
[../]
[./Periodic]
[./x_dir]
primary = 'left'
secondary = 'right'
translation = '1.0 0.0 0.0'
[../]
[./y_dir]
primary = 'bottom'
secondary = 'top'
translation = '0.0 1.0 0.0'
[../]
[../]
[]
[Functions]
[./accel_bottom_x]
type = PiecewiseLinear
data_file = 'accel.csv'
format = columns
scale_factor = 1.0
[../]
[./accel_bottom_y]
type = PiecewiseLinear
data_file = 'accel.csv'
format = columns
scale_factor = 2.0
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
nl_abs_tol = 1e-8
nl_rel_tol = 1e-8
l_tol = 1e-8
start_time = 32
end_time = 33
dt = 0.005 # should be 0.005
timestep_tolerance = 1e-6
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 4'
line_search = 'none'
[]
[Outputs]
[./out]
type = CSV
execute_on = 'final'
[../]
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x accel_y'
nodes = '8 9'
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.005
outputs = out
[../]
[]
(examples/ex03b/shear_beam_Isoil_free_field_explicit.i)
[Mesh]
type = GeneratedMesh
nx = 1
ny = 1
nz = 20
xmin = -0.5
ymin = -0.5
zmin = 0.0
xmax = 0.5
ymax = 0.5
zmax = 20.0
dim = 3
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./layer_id]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
# stiffness_damping_coefficient = 0.000781
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
# eta = 0.64026
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
# eta = 0.64026
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
# eta = 0.64026
[../]
[./gravity]
type = Gravity
variable = disp_z
value = -9.81
[../]
[]
[AuxKernels]
[./strain_xy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_xy
index_i = 1
index_j = 0
[../]
[./strain_yz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_yz
index_i = 2
index_j = 1
[../]
[./strain_zx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_zx
index_i = 0
index_j = 2
[../]
[./accel_x]
type = TestNewmarkTI
variable = accel_x
displacement = disp_x
first = false
[../]
[./vel_x]
type = TestNewmarkTI
variable = vel_x
displacement = disp_x
[../]
[./accel_y]
type = TestNewmarkTI
variable = accel_y
displacement = disp_y
first = false
[../]
[./vel_y]
type = TestNewmarkTI
variable = vel_y
displacement = disp_y
[../]
[./accel_z]
type = TestNewmarkTI
variable = accel_z
displacement = disp_z
first = false
[../]
[./vel_z]
type = TestNewmarkTI
variable = vel_z
displacement = disp_z
[../]
[./layer_id]
type = UniformLayerAuxKernel
variable = layer_id
interfaces = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20.2'
direction = '0.0 0.0 1.0'
execute_on = initial
[../]
[]
[BCs]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = 'back'
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
variable = disp_y
boundary = 'back'
value = 0.0
[../]
[./bottom_shake]
type = FunctionDirichletBC
boundary = 'back'
function = disp_bottom
variable = 'disp_x'
[../]
[./Periodic]
[./y_dir]
variable = 'disp_x disp_y disp_z'
primary = 'bottom'
secondary = 'top'
translation = '0.0 1.0 0.0'
[../]
[./x_dir]
variable = 'disp_x disp_y disp_z'
primary = 'left'
secondary = 'right'
translation = '1.0 0.0 0.0'
[../]
[../]
[]
[Functions]
[./disp_bottom]
type = PiecewiseLinear
data_file = chichi_bc_mpss_xp20_disp.csv
format = 'columns'
[../]
[./initial_zz]
type = ParsedFunction
value = '-2000.0 * 9.81 * (20.0 - z)'
[../]
[./initial_xx]
type = ParsedFunction
value = '-2000.0 * 9.81 * (20.0 - z) * 0.3/0.7'
[../]
[]
# [Materials]
# [./sample_isoil]
# type = ComputeISoilStress
# soil_type = 'gqh'
# layer_variable = layer_id
# layer_ids = '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19'
# initial_soil_stress = 'initial_xx 0 0 0 initial_xx 0 0 0 initial_zz'
# poissons_ratio = '0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3'
# number_of_points = 100
# ### GQ/H ####
# initial_shear_modulus = '125000000 118098000 111392000 103968000 96800000 89888000 83232000 76832000 70688000 64800000 59168000 53792000 48672000 43808000 39200000 34848000 30752000 26912000 23328000 20000000'
# theta_1 = '-6.66 -6.86 -7.06 -7.35 -7.65 -7.95 -8.3 -8.61 -8.95 -9.3 -9.61 -9.92 -10.0 -10.0 -10.0 -10.0 -10.0 -9.31 -7.17 -5.54'
# theta_2 = '5.5 5.7 5.9 6.2 6.6 6.9 7.3 7.6 8.0 8.4 8.6 8.8 8.82 8.71 8.55 8.3 7.88 6.4 2.4 -2.28'
# theta_3 = '1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0'
# theta_4 = '1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0'
# theta_5 = '0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99'
# taumax = '292500 277500 262500 247500 232500 217500 202500 187500 172500 157500 142500 127500 112500 97500 82500 67500 52500 37500 22500 7500'
# p_ref = '236841 224695 212550 200404 188258 176112 163967 151821 139675 127530 115384 103238 91092 78947 66801 54655 42510 30364 18218 6072'
# ######
# a0 = 1.0
# a1 = 0.0
# a2 = 0.0
# b_exp = 0.0
# block = '0'
# [../]
# [./sample_isoil_strain]
# type = ComputeIncrementalSmallStrain
# block = '0'
# displacements = 'disp_x disp_y disp_z'
# implicit = false
# [../]
# [./sample_isoil_elasticitytensor]
# type = ComputeIsotropicElasticityTensorSoil
# block = '0'
# density = '2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0'
# wave_speed_calculation = false
# layer_ids = '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19'
# poissons_ratio = '0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3'
# shear_modulus = '125000000 118098000 111392000 103968000 96800000 89888000 83232000 76832000 70688000 64800000 59168000 53792000 48672000 43808000 39200000 34848000 30752000 26912000 23328000 20000000'
# layer_variable = layer_id
# [../]
# []
[Materials]
[./I_Soil]
[./soil_all]
block = 0
layer_variable = layer_id
layer_ids = '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19'
initial_soil_stress = 'initial_xx 0 0 0 initial_xx 0 0 0 initial_zz'
poissons_ratio = '0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3'
soil_type = 'gqh'
number_of_points = 100
### GQ/H ####
initial_shear_modulus = '125000000 118098000 111392000 103968000 96800000 89888000 83232000 76832000 70688000 64800000 59168000 53792000 48672000 43808000 39200000 34848000 30752000 26912000 23328000 20000000'
theta_1 = '-6.66 -6.86 -7.06 -7.35 -7.65 -7.95 -8.3 -8.61 -8.95 -9.3 -9.61 -9.92 -10.0 -10.0 -10.0 -10.0 -10.0 -9.31 -7.17 -5.54'
theta_2 = '5.5 5.7 5.9 6.2 6.6 6.9 7.3 7.6 8.0 8.4 8.6 8.8 8.82 8.71 8.55 8.3 7.88 6.4 2.4 -2.28'
theta_3 = '1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0'
theta_4 = '1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0'
theta_5 = '0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99'
taumax = '292500 277500 262500 247500 232500 217500 202500 187500 172500 157500 142500 127500 112500 97500 82500 67500 52500 37500 22500 7500'
p_ref = '236841 224695 212550 200404 188258 176112 163967 151821 139675 127530 115384 103238 91092 78947 66801 54655 42510 30364 18218 6072'
######
density = '2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0 2000.0'
a0 = 1.0
a1 = 0.0
a2 = 0.0
b_exp = 0.0
[../]
[../]
[]
[Executioner]
type = Transient
start_time = 0.0
end_time = 85.4
timestep_tolerance = 1e-6
l_abs_tol = 1e-12
# dt = 0.001
[./TimeIntegrator]
type = CentralDifference
[../]
[./TimeStepper]
type = PostprocessorDT
postprocessor = time_step
dt = 0.001
[../]
[]
[Postprocessors]
[./accelx_top]
type = PointValue
point = '0.0 0.0 20.0'
variable = accel_x
[../]
[./accelx_top1]
type = PointValue
point = '0.0 0.0 19.0'
variable = accel_x
[../]
[./accelx_mid]
type = PointValue
point = '0.0 0.0 10.0'
variable = accel_x
[../]
[./accelx_bot]
type = PointValue
point = '0.0 0.0 0.0'
variable = accel_x
[../]
[./time_step]
type = CriticalTimeStep
factor = 0.9
[../]
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '80'
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.001
outputs = out
[../]
[]
[Outputs]
csv = true
exodus = true
perf_graph = true
print_linear_residuals = true
[./out]
type = CSV
execute_on = 'timestep_begin'
file_base = topsoil_response_explicit
[../]
[./screen]
type = Console
max_rows = 1
interval = 1000
[../]
[]
(examples/ex13/site_response/sr_input.i)
[Mesh]
type = GeneratedMesh
nx = 1
ny = 1
nz = 17
xmin = -0.05
ymin = -0.05
zmin = 0.0
xmax = 0.05
ymax = 0.05
zmax = 32.0
dim = 3
[]
[Variables]
[disp_x]
order = FIRST
family = LAGRANGE
[]
[disp_y]
order = FIRST
family = LAGRANGE
[]
[disp_z]
order = FIRST
family = LAGRANGE
[]
[]
[AuxVariables]
[vel_x]
[]
[accel_x]
[]
[vel_y]
[]
[accel_y]
[]
[vel_z]
[]
[accel_z]
[]
[layer_id]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[DynamicTensorMechanics]
stiffness_damping_coefficient = 0.0017490 #1.5% 1-20hz
displacements = 'disp_x disp_y disp_z'
static_initialization = true
[]
[inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
eta = 0.0607069 #1.5% 1-20hz
[]
[inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
eta = 0.0607069 #1.5% 1-20hz
[]
[inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
eta = 0.0607069 #1.5% 1-20hz
[]
[gravity]
type = Gravity
variable = disp_z
value = -9.81
[]
[]
[AuxKernels]
[accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[]
[vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[]
[accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[]
[vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[]
[accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[]
[vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[]
[layer_id]
type = UniformLayerAuxKernel
variable = layer_id
interfaces = '32'
direction = '0.0 0.0 1.0'
execute_on = initial
[]
[]
[Materials]
[I_Soil]
[soil_all]
block = 0
layer_variable = layer_id
layer_ids = '0'
soil_type = 'user_defined'
backbone_curve_files = '../backbone.csv'
displacements = 'disp_x disp_y disp_z'
poissons_ratio = '0.3'
initial_shear_modulus = '0.523325'
density = '1.730e-6'
a0 = 1.0
a1 = 0.0
a2 = 0.0
b_exp = 0.0
[]
[]
[]
[Controls]
[inertia_switch]
type = TimePeriod
start_time = 0.0
end_time = 0.01
disable_objects = '*/inertia_x */inertia_y */inertia_z */vel_x */vel_y */vel_z */accel_x */accel_y */accel_z'
set_sync_times = true
execute_on = 'timestep_begin timestep_end'
[]
[]
[Functions]
[input_motion_x]
type = PiecewiseLinear
data_file = '../ground_motion.csv'
format = columns
xy_in_file_only = false
y_index_in_file = 1
[]
[input_motion_y]
type = PiecewiseLinear
data_file = '../ground_motion.csv'
format = columns
xy_in_file_only = false
y_index_in_file = 2
[]
[input_motion_z]
type = PiecewiseLinear
data_file = '../ground_motion.csv'
format = columns
xy_in_file_only = false
y_index_in_file = 3
[]
[]
[BCs]
[x_motion]
type = PresetAcceleration
acceleration = accel_x
velocity = vel_x
variable = disp_x
beta = 0.25
boundary = 'back'
function = 'input_motion_x'
[]
[y_motion]
type = PresetAcceleration
acceleration = accel_y
velocity = vel_y
variable = disp_y
beta = 0.25
boundary = 'back'
function = 'input_motion_y'
[]
[z_motion]
type = PresetAcceleration
acceleration = accel_z
velocity = vel_z
variable = disp_z
beta = 0.25
boundary = 'back'
function = 'input_motion_z'
[]
[Periodic]
[y_dir]
variable = 'disp_x disp_y disp_z'
primary = 'bottom'
secondary = 'top'
translation = '0.0 0.1 0.0'
[]
[x_dir]
variable = 'disp_x disp_y disp_z'
primary = 'left'
secondary = 'right'
translation = '0.1 0.0 0.0'
[]
[]
[]
[VectorPostprocessors]
[accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x accel_y accel_z'
nodes = '0 71'
[]
[accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.002
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 1000
outputs = out1
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
solve_type = 'NEWTON'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-12
# l_tol = 1e-2
dt = 0.01
end_time = 28.0
timestep_tolerance = 1e-6
[TimeIntegrator]
type = NewmarkBeta
beta = 0.25
gamma = 0.5
[]
[]
[Outputs]
exodus = true
perf_graph = true
csv = true
[out1]
type = CSV
execute_on = 'final'
[]
[]
(examples/ex09/Structure_Response.i)
[Mesh]
type = FileMesh
file = STR_2D_3.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./rot_x]
block = '2 3'
[../]
[./rot_y]
block = '2 3'
[../]
[./rot_z]
block = '2 3'
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./vel_y]
[../]
[./vel_z]
[../]
[./accel_x]
[../]
[./accel_y]
[../]
[./accel_z]
[../]
[./rot_vel_x]
block = '2 3'
[../]
[./rot_vel_y]
block = '2 3'
[../]
[./rot_vel_z]
block = '2 3'
[../]
[./rot_accel_x]
block = '2 3'
[../]
[./rot_accel_y]
block = '2 3'
[../]
[./rot_accel_z]
block = '2 3'
[../]
[]
[Physics/SolidMechanics/LineElement/QuasiStatic]
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
# dynamic simulation using consistent mass/inertia matrix
dynamic_nodal_translational_inertia = true
velocities = 'vel_x vel_y vel_z'
accelerations = 'accel_x accel_y accel_z'
rotational_velocities = 'rot_vel_x rot_vel_y rot_vel_z'
rotational_accelerations = 'rot_accel_x rot_accel_y rot_accel_z'
beta = 0.25 # Newmark time integration parameter
gamma = 0.5 # Newmark time integration parameter
[./block_2]
block = 2
area = 130.06
Iy = 24166.729
Iz = 24166.729
y_orientation = '0.0 1.0 0.0'
nodal_mass = 0.1
boundary = 1
[../]
[./block_3]
block = 3
nodal_mass = 166.0
area = 500
Iy = 1e3
Iz = 1e3
y_orientation = '1.0 0.0 0.0'
density = 2.7
boundary = 1000
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y'
block = '1'
[../]
[./inertia_x1]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
block = '1'
[../]
[./inertia_y1]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
block = '1'
[../]
[./inertia_z1]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
block = '1'
[../]
[./gravity]
type = Gravity
variable = disp_y
value = -9.81
block = '1'
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = 'timestep_end'
block = '1'
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = 'timestep_end'
block = '1'
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = 'timestep_end'
block = '1'
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = 'timestep_end'
block = '1'
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = 'timestep_end'
block = '1'
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = 'timestep_end'
block = '1'
[../]
[]
[Materials]
[./elasticity_base]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e11
poissons_ratio = 0
block = '1'
[../]
[./stress_beam2]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./strain_15]
type = ComputeFiniteStrain
block = '1'
displacements = 'disp_x disp_y'
[../]
[./density]
type = GenericConstantMaterial
block = '1'
prop_names = density
prop_values = 2.7
[../]
[./elasticity_beam_rigid]
type = ComputeElasticityBeam
youngs_modulus = 1e10
poissons_ratio = 0.3
shear_coefficient = 0.85
block = '2 3'
[../]
[./stress_beam]
type = ComputeBeamResultants
block = '2 3'
[../]
[]
[BCs]
[./disp_x]
type = PresetAcceleration
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
function = accel_bottom
boundary = 'NY_ns'
[../]
[./disp_y]
type = DirichletBC
boundary = 'NY'
variable = disp_y
value = 0.0
[../]
[./disp_z]
type = DirichletBC
boundary = 'NY'
variable = disp_z
value = 0.0
[../]
[]
[Functions]
[./accel_bottom]
type = PiecewiseLinear
data_file = Ormsby_USE1.csv
format = 'columns'
scale_factor = 1
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 4'
start_time = 0.0
end_time = 4.0
dt = 0.001
dtmin = 0.0001
nl_abs_tol = 1e-3
nl_rel_tol = 1e-9
l_tol = 1e-9
l_max_its = 50
timestep_tolerance = 1e-8
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x'
nodes = '79 109'
outputs = out
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.001
damping_ratio = 0.01
start_frequency = 0.1
end_frequency = 1000
outputs = out
[../]
[]
[Outputs]
csv = true
exodus = true
perf_graph = true
print_linear_residuals = true
[./out]
execute_on = 'FINAL'
type = CSV
file_base = Str_Final_NoDamp
[../]
[./out2]
type = Exodus
file_base = Exod_Str_Final_NoDamp
interval = 10
[../]
[]
(examples/ex05a/StickModel_accel_base.i)
[Mesh]
type = FileMesh
file = foundbeam_noded.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./rot_x]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 16'
[../]
[./rot_y]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 16'
[../]
[./rot_z]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 16'
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./vel_y]
[../]
[./vel_z]
[../]
[./accel_x]
[../]
[./accel_y]
[../]
[./accel_z]
[../]
[./rot_vel_x]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
[../]
[./rot_vel_y]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
[../]
[./rot_vel_z]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
[../]
[./rot_accel_x]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
[../]
[./rot_accel_y]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
[../]
[./rot_accel_z]
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16'
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
stiffness_damping_coefficient = 0.0005438894818
block = 15
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
eta = 3.26645357034 # Mass proportional Rayleigh damping
block = 15
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
eta = 3.26645357034 # Mass proportional Rayleigh damping
block = 15
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
eta = 3.26645357034 # Mass proportional Rayleigh damping
block = 15
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = 'timestep_end'
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = 'timestep_end'
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = 'timestep_end'
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = 'timestep_end'
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = 'timestep_end'
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = 'timestep_end'
[../]
[]
[Physics/SolidMechanics/LineElement/QuasiStatic]
# add_variables = true
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
# dynamic simulation using consistent mass/inertia matrix
dynamic_nodal_translational_inertia = true
velocities = 'vel_x vel_y vel_z'
accelerations = 'accel_x accel_y accel_z'
rotational_velocities = 'rot_vel_x rot_vel_y rot_vel_z'
rotational_accelerations = 'rot_accel_x rot_accel_y rot_accel_z'
beta = 0.25 # Newmark time integration parameter
gamma = 0.5 # Newmark time integration parameter
# parameters for 5% Rayleigh damping
zeta = 0.0005438894818 # stiffness proportional damping
eta = 3.26645357034 # Mass proportional Rayleigh damping
[./block_1]
block = 1
area = 1400
Iy = 2.8e6
Iz = 2.8e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 142.860001
boundary = 1 # vertex 2
[../]
[./block_2]
block = 2
area = 1400
Iy = 2.8e6
Iz = 2.8e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 130.429993
boundary = 2 # vertex 4, 6, 8, 10, 12
[../]
[./block_3]
block = 3
area = 1400
Iy = 2.8e6
Iz = 2.8e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 143.169998
boundary = 3 # vertex 12
[../]
[./block_4]
block = 4
area = 990
Iy = 1.9e6
Iz = 1.9e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 93.79000092
boundary = 4 # vertex 14
[../]
[./block_5]
block = 5
area = 990
Iy = 1.5e6
Iz = 1.5e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 76.70999908
boundary = 5 # vertex 16
[../]
[./block_6]
block = 6
area = 990
Iy = 8e5
Iz = 8e5
y_orientation = '0.0 1.0 0.0'
nodal_mass = 65.83999634
boundary = 6 # vertex 18
[../]
[./block_7]
block = 7
area = 990
Iy = 2e5
Iz = 2e5
y_orientation = '0.0 1.0 0.0'
nodal_mass = 5.90000010
boundary = 7 # vertex 20
[../]
# right
[./block_8]
block = 8
area = 2000
Iy = 1.1e6
Iz = 1.1e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 86.95999908
boundary = 8 # vertex 22
[../]
[./block_9]
block = 9
area = 2560
Iy = 1.2e6
Iz = 1.2e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 77.94999695
boundary = 9 # vertex 24
[../]
[./block_10]
block = 10
area = 2210
Iy = 1.2e6
Iz = 1.2e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 195.339996
boundary = 10 # vertex 26
[../]
[./block_11]
block = 11
area = 1960
Iy = 1.3e6
Iz = 1.3e6
y_orientation = '0.0 1.0 0.0'
nodal_mass = 116.769997
boundary = 11 # vertex 28
[../]
[./block_12]
block = 12
area = 1740
Iy = 9e5
Iz = 9e5
y_orientation = '0.0 1.0 0.0'
nodal_mass = 265.220001
boundary = 12 # vertex 30
[../]
[./block_13]
block = 13
area = 780
Iy = 2e5
Iz = 2e5
y_orientation = '0.0 1.0 0.0'
nodal_mass = 37.88999939
boundary = 13 # vertex 32
[../]
[./block_14]
block = 14
area = 190
Iy = 4000.0
Iz = 4000.0
y_orientation = '0.0 1.0 0.0'
nodal_mass = 25.46999931
boundary = 14 # vertex 34
[../]
[./block_16]
block = 16
area = 2000
Iy = 2.8e6
Iz = 2.8e6
y_orientation = '0.0 0.0 1.0'
dynamic_nodal_translational_inertia = false
[../]
[]
[Materials]
[./elasticity_beam_outer_1]
type = ComputeElasticityBeam
youngs_modulus = 6.9e5
poissons_ratio = 0.278
shear_coefficient = 0.5
block = '1 2 3'
[../]
[./elasticity_beam_outer_2]
type = ComputeElasticityBeam
youngs_modulus = 6.9e5
poissons_ratio = 0.278
shear_coefficient = 0.505
block = '4 5 6 7'
[../]
[./elasticity_beam_inner_1]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.66
block = '8'
[../]
[./elasticity_beam_inner_2]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.609375
block = '9'
[../]
[./elasticity_beam_inner_3]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.6606
block = '10'
[../]
[./elasticity_beam_inner_4]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.372
block = '11'
[../]
[./elasticity_beam_inner_5]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.345
block = '12'
[../]
[./elasticity_beam_inner_6]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.462
block = '13'
[../]
[./elasticity_beam_inner_7]
type = ComputeElasticityBeam
youngs_modulus = 3.45e5
poissons_ratio = 0.278
shear_coefficient = 0.368
block = '14'
[../]
[./elasticity_beam_foundation]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 9e7
poissons_ratio = 0
block = '15'
[../]
[./foundation_connecting_beam]
type = ComputeElasticityBeam
youngs_modulus = 9e7
poissons_ratio = 0
shear_coefficient = 0.833
block = '16'
[../]
[./stress_beam]
type = ComputeBeamResultants
block = '1 2 3 4 5 6 7 8 9 10 11 12 13 14 16'
[../]
[./stress_beam2]
type = ComputeFiniteStrainElasticStress
block = '15'
[../]
[./strain_15]
type = ComputeFiniteStrain
block = '15'
displacements = 'disp_x disp_y disp_z'
[../]
[./density]
type = GenericConstantMaterial
block = '15 16'
prop_names = density
prop_values = 0.115
[../]
[]
[BCs]
[./disp_x]
type = PresetAcceleration
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
function = accel_x
boundary = '100'
[../]
[./disp_y]
type = PresetAcceleration
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
function = accel_y
boundary = '100'
[../]
[./disp_z]
type = PresetAcceleration
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
function = accel_z
boundary = '100'
[../]
[./rot_x]
type = DirichletBC
boundary = '1002'
variable = rot_x
value = 0.0
[../]
[./rot_y]
type = DirichletBC
boundary = '1002'
variable = rot_y
value = 0.0
[../]
[./rot_z]
type = DirichletBC
boundary = '1002'
variable = rot_z
value = 0.0
[../]
[]
[Functions]
[./accel_x]
type = PiecewiseLinear
data_file = 'accel_x.csv'
format = 'columns'
scale_factor = 32.2000008
[../]
[./accel_y]
type = PiecewiseLinear
data_file = 'accel_y.csv'
format = 'columns'
scale_factor = 32.2000008
[../]
[./accel_z]
type = PiecewiseLinear
data_file = 'accel_z.csv'
format = 'columns'
scale_factor = 32.2000008
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
end_time = 45.0
dt = 0.005
dtmin = 0.001
nl_abs_tol = 1e-8
nl_rel_tol = 1e-6
l_tol = 1e-8
timestep_tolerance = 1e-8
[]
[Postprocessors]
[./accel_x_11]
type = PointValue
variable = accel_x
point = '0.0 0.0 217.0'
[../]
[./accel_y_11]
type = PointValue
variable = accel_y
point = '0.0 0.0 217.0'
[../]
[./accel_z_11]
type = PointValue
variable = accel_z
point = '0.0 0.0 217.0'
[../]
[./accel_x_14]
type = NodalVariableValue
variable = accel_x
nodeid = 238
[../]
[./accel_y_14]
type = NodalVariableValue
variable = accel_y
nodeid = 238
[../]
[./accel_z_14]
type = NodalVariableValue
variable = accel_z
nodeid = 238
[../]
[./accel_x_17]
type = NodalVariableValue
variable = accel_x
nodeid = 278
[../]
[./accel_y_17]
type = NodalVariableValue
variable = accel_y
nodeid = 278
[../]
[./accel_z_17]
type = NodalVariableValue
variable = accel_z
nodeid = 278
[../]
[./accel_x_18]
type = NodalVariableValue
variable = accel_x
nodeid = 311
[../]
[./accel_y_18]
type = NodalVariableValue
variable = accel_y
nodeid = 311
[../]
[./accel_z_18]
type = NodalVariableValue
variable = accel_z
nodeid = 311
[../]
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x accel_y accel_z'
nodes = '1 238 209 278 311 217'
[../]
[./accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.005
outputs = out
[../]
[]
[Outputs]
[./out]
type = CSV
execute_on = 'final'
file_base = matfoundation_response
[../]
exodus = true
[./console]
type = Console
max_rows = 1
[../]
[]
(examples/ex11a/dynamic/3d_beam_dynamic_second_order.i)
[Mesh]
[mesh_gen]
type = GeneratedMeshGenerator
dim = 3
nx = 20
ny = 2
nz = 2
xmin = 0.0
xmax = 5.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 1.0
# elem_type = 'HEX8'
elem_type = 'HEX20'
[]
[nodeset_gen]
type = ExtraNodesetGenerator
new_boundary = 'base_node end_node'
coord = '0.0 0.0 0.5; 5.0 0.0 0.5'
input = 'mesh_gen'
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[./disp_x]
# order = FIRST
order = SECOND
family = LAGRANGE
[../]
[./disp_y]
# order = FIRST
order = SECOND
family = LAGRANGE
[../]
[./disp_z]
# order = FIRST
order = SECOND
family = LAGRANGE
[../]
[]
[Kernels]
[DynamicTensorMechanics]
[]
[inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
[]
[inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
[]
[inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
[]
[]
[AuxVariables]
[vel_x]
# order = FIRST
order = SECOND
[]
[accel_x]
# order = FIRST
order = SECOND
[]
[vel_y]
order = SECOND
[]
[accel_y]
order = SECOND
[]
[vel_z]
order = SECOND
[]
[accel_z]
order = SECOND
[]
[]
[AuxKernels]
[accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[]
[vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[]
[accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[]
[vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[]
[accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[]
[vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[]
[]
[BCs]
[fix_x]
type = DirichletBC
variable = disp_x
boundary = 'left'
value = 0.0
[]
[fix_z]
type = DirichletBC
variable = disp_z
boundary = 'left'
value = 0.0
[]
[y_motion]
type = PresetAcceleration
acceleration = accel_y
velocity = vel_y
variable = disp_y
beta = 0.25
boundary = 'left'
function = 'ormsby'
[]
[]
[Functions]
[ormsby]
type = OrmsbyWavelet
f1 = 0.0
f2 = 0.1
f3 = 45.0
f4 = 50.0
ts = 1.5
scale_factor = 0.5
[]
[]
[Materials]
[elasticity]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 10e9
poissons_ratio = 0.3
[]
[strain_1]
type = ComputeSmallStrain
[]
[stress_1]
type = ComputeLinearElasticStress
[]
[den_1]
type = GenericConstantMaterial
prop_names = density
prop_values = 1200
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-8
nl_abs_tol = 1e-10
dt = 0.01
end_time = 3.0
timestep_tolerance = 1e-6
[]
[VectorPostprocessors]
[accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_y'
boundary = 'base_node end_node'
[]
[accel_spec]
type = ResponseSpectraCalculator
vectorpostprocessor = accel_hist
regularize_dt = 0.01
damping_ratio = 0.05
start_frequency = 0.1
end_frequency = 100
outputs = 2_2
[]
[]
[Outputs]
perf_graph = true
[./2_2]
type = CSV
execute_on = 'final'
[../]
[]
(test/tests/vectorpostprocessors/housner_spectrum_intensity/housner_spectrum_intensity.i)
#@requirement F8.3
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 4
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 4.0
[]
[Controls]
[./period0]
type = TimePeriod
disable_objects = 'Kernels/inertia_x Kernels/inertia_y Kernels/inertia_z AuxKernels/accel_x AuxKernels/accel_y AuxKernels/accel_z AuxKernels/vel_x AuxKernels/vel_y AuxKernels/vel_z'
start_time = 0.0
end_time = 0.005 # same as dt used in the analysis
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./layer_id]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
stiffness_damping_coefficient = 0.000781
static_initialization = True
use_displaced_mesh = True
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
eta = 0.64026
beta = 0.25
gamma = 0.5
use_displaced_mesh = True
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
eta = 0.64026
beta = 0.25
gamma = 0.5
use_displaced_mesh = True
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
eta = 0.64026
beta = 0.25
gamma = 0.5
use_displaced_mesh = True
[../]
[./gravity]
type = Gravity
variable = disp_z
value = -9.81
use_displaced_mesh = True
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_zx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zx
index_i = 2
index_j = 0
[../]
[./strain_zx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_zx
index_i = 2
index_j = 0
[../]
[./layer_id]
type = UniformLayerAuxKernel
variable = layer_id
interfaces = '20'
direction = '0 0 1'
execute_on = initial
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensorSoil
block = 0
layer_variable = layer_id
layer_ids = '0'
poissons_ratio = '0.3'
density = '2000.0'
shear_modulus = '325e7'
[../]
[./stress1]
#Computes the stress, using linear elasticity
type = ComputeLinearElasticStress
block = 0
[../]
[./strain1]
#Computes the strain, assuming small strains
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[]
[BCs]
[./bottom_accel_x]
type = PresetAcceleration
boundary = back
function = accel_bottom_x
variable = disp_x
beta = 0.25
acceleration = accel_x
velocity = vel_x
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[./bottom_accel_y]
type = PresetAcceleration
boundary = back
function = accel_bottom_y
variable = disp_y
beta = 0.25
acceleration = accel_y
velocity = vel_y
[../]
[./Periodic]
[./x_dir]
primary = 'left'
secondary = 'right'
translation = '1.0 0.0 0.0'
[../]
[./y_dir]
primary = 'bottom'
secondary = 'top'
translation = '0.0 1.0 0.0'
[../]
[../]
[]
[Functions]
[./accel_bottom_x]
type = PiecewiseLinear
data_file = 'accel.csv'
format = columns
scale_factor = 1.0
[../]
[./accel_bottom_y]
type = PiecewiseLinear
data_file = 'accel.csv'
format = columns
scale_factor = 2.0
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
nl_abs_tol = 1e-8
nl_rel_tol = 1e-8
l_tol = 1e-8
start_time = 32
end_time = 33
dt = 0.005 # should be 0.005
timestep_tolerance = 1e-6
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 4'
line_search = 'none'
[]
[Outputs]
[./out]
type = CSV
execute_on = 'final'
[../]
[]
[VectorPostprocessors]
[./accel_hist]
type = ResponseHistoryBuilder
variables = 'accel_x accel_y'
nodes = '8 9'
[../]
[./accel_hsi]
type = HousnerSpectrumIntensity
vectorpostprocessor = accel_hist
regularize_dt = 0.005
outputs = out
[../]
[]