Comments (5)
Numanoglu, Ozgun A commented:
Below is the only input required by user to run shear beam type site response analysis:
- Height of the soil profile.
- Total number of layers.
- Material constitutive model type corresponding to each layer.
- Material properties of constitutive model assigned to the corresponding layer.
- Viscous damping in percent (This is a material property but is assigned as artificial viscous damping [e.g. Rayleigh damping] and global rather than layer based). It is better to ask user to provide layer based damping because damping is depth and mean effective stress dependent.
- Input ground motion or seismic force (user gives the time history file and its applied at the base)
Attached i gave an example where there is 10 m of profile with 10 layers each having linear elastic material constitutive model. Thus the only material input is shear modulus and damping. For example, if user decides to use I-soil, there needs to be more columns after shear modulus to input the I-soil constitutive model parameters. The rest is related to numerical modeling and MASTODON can automatize the blocks and thats it.
Thanks
Ozgun
from mastodon.
- Create variables and auxvariables by default, based on the dimension of the problem
- Create velocity and acceleration auxkernels by default, based on the dimension of the problem
- Create stress divergence kernel automatically
- Create stress and strain AuxVariables and AuxKernels if corresponding output is requested
- Add Rayleigh damping parameters to [Model] sub block
- Add gravity action
- Make model block link element friendly
- Add capability to optimize mesh density for a generated mesh.
- Create subblock for BCs
- Specify defaults for
use_displaced_mesh
in kernels, materials and boundary conditions. - Create executioner, based on static or dynamic analysis. Also calculate a normalized tolerance based on the parameters of the problem.
- Create
point_output
parameter, which will automatically createresponse_history_builder
VPPs for points, including acceleration, velocity and displacement in all directions, based on the dimension of the problem - Create
response_spectrum
parameter, which will automatically createresponse_spectra_calculator
VPPs for the above points in all directions, based on the dimension of the problem - Create
element_output
parameter, which will automatically create postprocessors for stress, strain and other element outputs
from mastodon.
@aeslaughter @sveerara @colejust @hoffwm
Below is what I think the input file should like, eventually. Please edit/comment based on your ideas as well.
[Mastodon]
[./Mesh]
type = filemesh/generated_mesh
max_frequency =
## other params
[../]
[./Model]
dynamic_analysis = true
gravity = true/false
g = 9.81 ## (needed for units)
dt =
num_steps =
solver =
[../]
[./Loads]
## Nodal loads for example, which, I think, is a nodal kernel and not a BC.
## Also for body forces
## Boundary conditions like Lysmer boundary
## Seismic input
## Fault rupture
[./block0]
block = 0
type =
value =
[../]
[./bc1]
type = PresetDisplacement
direction = '0 1'
function = 'xdisp ydisp'
boundary =
[../]
[./bc2]
type = Pressure
boundary =
value/function =
[../]
[../]
[./DRM]
[./name1]
analysis_type = 'auxiliary' ## Big model or small model
filename = '' ## Filename for input/output of DRM interface forces
boundary = ## boundary identifier for DRM interface
[../]
[]
[./Damping]
[./block0]
block = 0
type = Rayleigh ## or other types of damping
eta =
zeta =
[../]
[./block1]
block = 1
type = othertype
## params for other types of damping
[../]
[../]
[./Materials]
[./ISoil]
block = 0
## isoil params for block 0
[../]
[./ISoil]
block = 1
## isoil params for block 1
[../]
[./LRIsolator]
block = 3
## LRIsolator params for block 3
[../]
[../]
[./Outputs]
[./StressStrain]
points = ## set of coordinates or a side set, etc
[../]
[./Histories]
points = ## set of coordinates or a side set, etc
dt_output =
[../]
[./ResponseSpectra]
points = ## set of coordinates or a side set, etc
frequency_range = fmin, fmax
num_frequencies =
damping_ratio =
[../]
[./FFT]
points = ## set of coordinates or a side set, etc
dt_output =
[../]
[./HSI]
points = ## set of coordinates or a side set, etc
frequency_range =
damping_ratio =
[../]
[]
from mastodon.
@cbolisetti, the above format looks great. It does look much simpler than our current input file. I think the BCs block should also contain variable or coordinate direction as input. There are a few BCs which should automatically be applied in all three directions - NonReflectingBC, Pressure etc. PresetBC, PresetDisplacement or PresetAcceleration should only applied along the user provided coordinate directions. We could have something like
[./BCs]
[./bc1]
type = PresetDisplacement
direction = '0 1'
function = 'xdisp ydisp'
boundary =
[../]
[./bc2]
type = Pressure
boundary =
value/function =
[../]
[../]
Similarly we might need different subblocks for element/nodal output. I am assuming for nodal output all the displacements, velocities and accelerations at the given points/boundary will be stored. Maybe we can also add an option to the nodal output to calculate response spectras for all the nodal output.
Assuming that most users would probably want to model frequency independent damping using Rayleigh damping, we could just ask for the damping ratio and frequency range and calculate eta and zeta using the formula from the theory manual. Since most of the kernels/nodal kernels that use Rayleigh damping live in TensorMechanics, they are not integrated with the layer system. So we might need subblocks within Damping as well for each block.
from mastodon.
@sveerara I agree regarding the BCs block and nodal/elemental output blocks and changed the template above accordingly. I specified Rayleigh damping as a separate block in this input file, but currently it is included in the Mastodon/Model block since that is the one that creates the stress divergence and inertia kernels. I think eventually we need to figure out a way to move damping outside since, as you said, in most cases, different blocks would have different damping.
from mastodon.
Related Issues (20)
- Add support for fragility VPP to input demand matrix csv directly.
- Add coverage configuration
- Remove legacy parameter construction
- update instructions to support new Conda instructions HOT 1
- vectorpostprocessors/response_spectra_calculator.spectrum_threads fails periodically
- Fix function calls in `FunctionPointForce`
- Fixing test tolerance for bcs/seismicforcez
- Update submodules
- Realistic Ground Motion Simulation Object
- Example and documentation for frequency domain dynamics
- Replace deprecated NodalMaxValue HOT 1
- Update readme to add Som as one of the authors.
- incoming changes required for successful documentation build HOT 1
- Enable explicit MooseDocs linking
- Make dynamic loading more robust
- CIVET: 'Mirror scheduled' failure
- Remove documentation yaml file from .gitignore
- Fixup SQA deprecation warning
- BlackBear APPLICATION_NAME prevents dynamic linking
- a 'SubdomainBoundingBox' is not a registered object HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mastodon.