Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added error checks using RequiredRangeParam and updated user manual. #3

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/content/manuals/include/materials/fp_isolator-user.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ A description of each of the input parameters is provided [here](source/material
`velocity_dependent = true` <br/>
`temperature_change = true` <br/>

The axial and rotational terms of the basic stiffness matrix of the bearing element can be specified using the optional parameters: `k_x, k_xx, k_yy, k_zz`. A default value `10e13` is assumed when SI units are used. Additionally, the behavior of the FP bearing element in the shear direction is demonstrated using the examples described below. Analysis results are compared with verified and validated numerical models implemented in the open-source finite element package OpenSees [citep:opensees2009].
The axial and rotational terms of the basic stiffness matrix of the bearing element can be specified using the optional parameters: `k_x, k_xx, k_yy, k_zz`. A default value `10e13` is assumed when SI units are used. In the pressure factor computation `kp`, the instantaneous pressure and reference pressure values are in MPa. The user is required to provide information on the current unit system used in the material parameter `unit`, so that corresponding conversion factors are computed. The behavior of the FP bearing element in the shear direction is demonstrated using the examples described below. Analysis results are compared with verified and validated numerical models implemented in the open-source finite element package OpenSees [citep:opensees2009].

#### Example: Response to the cyclic loading in shear

Expand Down
4 changes: 2 additions & 2 deletions doc/content/source/materials/ComputeFPIsolatorElasticity.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

!syntax description /Materials/ComputeFPIsolatorElasticity

## Descriptio
## Description

This material class calculates force and stiffness matrix terms of a $Friction\;Isolator^{TM} (FP)$ element. Further information on the theory of FP bearing can be found at [FP Isolator theory](manuals/include/materials/fp_isolator-theory.md). For detailed description on the usage of material with examples, refer to [FP Isolator user](manuals/include/materials/fp_isolator-user.md)
This material class calculates force and stiffness matrix terms of a Friction Pendulum<sup>TM</sup> (FP) isolator element. Further information on the theory of FP bearing can be found at [FP Isolator theory](manuals/include/materials/fp_isolator-theory.md). For detailed description on the usage of material with examples, refer to [FP Isolator user](manuals/include/materials/fp_isolator-user.md)

!syntax parameters /Materials/ComputeFPIsolatorElasticity

Expand Down
42 changes: 30 additions & 12 deletions src/materials/ComputeFPIsolatorElasticity.C
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,36 @@ validParams<ComputeFPIsolatorElasticity>()
"velocity_dependent",
"Switch for modeling friction dependence on the instantaneous sliding velocity.");
// Material properties
params.addRequiredParam<Real>("mu_ref", "Reference co-efficient of friction.");
params.addRequiredParam<Real>("p_ref", "Reference axial pressure.");
params.addRequiredParam<Real>("diffusivity", "Thermal diffusivity of steel.");
params.addRequiredParam<Real>("conductivity", "Thermal conductivity of steel.");
params.addRequiredParam<Real>("a", "Rate parameter.");
params.addRequiredParam<Real>("r_eff", "Effective radius of curvature of sliding surface.");
params.addRequiredParam<Real>("r_contact", "Radius of contact area at sliding surface.");
params.addRequiredParam<Real>("uy", "Yield displacement of the bearing in shear.");
params.addRequiredParam<Real>(
"unit", "Unit conversion for pressure to be used in the pressure factor computation.");
params.addRequiredParam<Real>("gamma", "Gamma parameter of Newmark algorithm.");
params.addRequiredParam<Real>("beta", "Beta parameter of Newmark algorithm.");
params.addRequiredRangeCheckedParam<Real>(
"mu_ref", "mu_ref>0.0", "Reference co-efficient of friction.");
params.addRequiredRangeCheckedParam<Real>(
"p_ref", "p_ref>0.0", "Reference axial pressure.");
params.addRequiredRangeCheckedParam<Real>(
"diffusivity", "diffusivity>0.0", "Thermal diffusivity of steel.");
params.addRequiredRangeCheckedParam<Real>(
"conductivity", "conductivity>0.0", "Thermal conductivity of steel.");
params.addRequiredRangeCheckedParam<Real>(
"a", "a>0.0", "Rate parameter.");
params.addRequiredRangeCheckedParam<Real>(
"r_eff", "r_eff>0.0", "Effective radius of curvature of sliding surface.");
params.addRequiredRangeCheckedParam<Real>(
"r_contact", "r_contact>0.0", "Radius of contact area at sliding surface.");
params.addRequiredRangeCheckedParam<Real>(
"uy", "uy>0.0", "Yield displacement of the bearing in shear.");
params.addRequiredRangeCheckedParam<Real>(
"gamma", "gamma>0.0", "Gamma parameter of Newmark algorithm.");
params.addRequiredRangeCheckedParam<Real>(
"beta", "beta>0.0", "Beta parameter of Newmark algorithm.");
params.addRequiredRangeCheckedParam<Real>(
"unit", "8.0>unit>0.0", "Tag for conversion in the pressure factor computation when different unit systems are used. Enter "
"1.0 for N m s C; "
"2.0 for kN m s C; "
"3.0 for N mm s C; "
"4.0 for kN mm s C; "
"5.0 for lb in s C; "
"6.0 for kip in s C; "
"7.0 for lb ft s C; "
"8.0 for kip ft s C. ");
params.addParam<Real>(
"k_x",
10e13,
Expand Down