Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations
QuadratureRule.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // Seismo Virtual Laboratory
4 // Module for Serial and Parallel Analysis of seismic
5 // wave propagation and soil-structure interaction simulation
6 // Copyright (C) 2018-2021, The California Institute of Technology
7 // All Rights Reserved.
8 //
9 // Commercial use of this program without express permission of the California
10 // Institute of Technology, is strictly prohibited. See file "COPYRIGHT" in
11 // main directory for information on usage and redistribution, and for a
12 // DISCLAIMER OF ALL WARRANTIES.
13 //
14 //==============================================================================
15 //
16 // Written by:
17 // Danilo S. Kusanovic (dkusanov@caltech.edu)
18 // Elnaz E. Seylabi (elnaze@unr.edu)
19 //
20 // Supervised by:
21 // Domniki M. Asimaki (domniki@caltech.edu)
22 //
23 // References :
24 // [1]
25 //
26 // Description:
29 //------------------------------------------------------------------------------
30 
31 #ifndef _QUADRATURERULE_HPP_
32 #define _QUADRATURERULE_HPP_
33 
34 #include <string>
35 #include <Eigen/Dense>
36 
45 
46  public:
52  QuadratureRule(std::string name);
53 
55  virtual ~QuadratureRule() = 0;
56 
59  virtual unsigned int GetNumberOfQuadraturePoints() = 0;
60 
65  virtual void GetQuadraturePoints(std::string name, Eigen::VectorXd &Weights, Eigen::MatrixXd &Points) = 0;
66 
68  std::string GetQuadratureName();
69 
70  private:
72  std::string Name;
73 };
74 
75 #endif
Virtual class for defining a Quadrature Rule to integrate quantities in the iso-parametric elements...
Definition: QuadratureRule.hpp:44
QuadratureRule(std::string name)
Creates a QuadratureRule for Element integration.
virtual unsigned int GetNumberOfQuadraturePoints()=0
Gets Number of Integration Points.
virtual void GetQuadraturePoints(std::string name, Eigen::VectorXd &Weights, Eigen::MatrixXd &Points)=0
Gets Gauss Integration Points.
std::string Name
Element&#39;s Quadrature Name.
Definition: QuadratureRule.hpp:72
virtual ~QuadratureRule()=0
Destroys this QuadratureRule object.
std::string GetQuadratureName()
Gets the Element&#39;s Quadrature Name.