MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
Loading...
Searching...
No Matches
Seismic.h
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2021-2025 MPM-Geomechanics Development Team
3
4#pragma once
5
6#include "Mesh/Mesh.h"
7
8#include <Eigen/Dense>
9#include <vector>
10#include <string>
11
27{
28 std::vector<double> time;
29 std::vector<Eigen::Vector3d> acceleration;
30};
31
45{
46 bool isActive = false;
47 bool hasHeader = true;
48 std::string filename = "";
49};
50
51namespace Seismic
52{
60
66
72
78
85
93 void updateSeismicVectors(const double currentTime, const double dt);
94
100 void markSeismicNodes(double epsilon, Mesh* mesh);
101
106 const std::vector<int>& getSeismicNodeIndices();
107
113 bool isSeismicNode(int nodeId);
114
119 const Eigen::Vector3d& getAccumulatedVelocity();
120
125 const Eigen::Vector3d& getAcceleration();
126
133}
Class representing a rectangular grid mesh.
Definition Mesh.h:26
Definition Seismic.h:52
void setSeismicData()
Loads seismic data from the file specified in the model configuration.
const std::vector< int > & getSeismicNodeIndices()
Returns the list of seismic node indices.
void applySeismicVelocityMarkedSTLNodes(Mesh *mesh)
Applies seismic velocity to the marked seismic nodes using STL mesh.
const Eigen::Vector3d & getAcceleration()
Returns the seismic acceleration.
void markSeismicNodes(double epsilon, Mesh *mesh)
Marks the nodes that will receive seismic loading.
void disableSeismicAnalysis()
Disables seismic analysis.
void setSeismicAnalysis(const SeismicAnalysis &info)
Sets the seismic analysis configuration.
bool isSeismicNode(int nodeId)
Checks if a node is marked as seismic.
SeismicAnalysis & getSeismicAnalysis()
Provides access to the current seismic analysis parameters.
void updateSeismicVectors(const double currentTime, const double dt)
Updates the accumulated seismic velocity and acceleration based on the current time and time step.
SeismicData & getSeismicData()
Provides access to the loaded seismic data.
const Eigen::Vector3d & getAccumulatedVelocity()
Returns the accumulated seismic velocity.
Structure to hold seismic analysis information.
Definition Seismic.h:45
bool hasHeader
Definition Seismic.h:47
bool isActive
Definition Seismic.h:46
std::string filename
Definition Seismic.h:48
Stores seismic time series data.
Definition Seismic.h:27
std::vector< double > time
Definition Seismic.h:28
std::vector< Eigen::Vector3d > acceleration
Definition Seismic.h:29