Using Higher Order Basis Functions - geomechanics/mpm GitHub Wiki
TBA
To run with quadratic BSpline elements, use: the cell type ED2Q4P2B (2D) or ED3H8P2B (3D), the mesh entity sets file, and additional settings in the "nonlocal_mesh_properties" section of the main .json file.
"mesh": {
"entity_sets": "entity_sets.json",
"cell_type": "ED3H8P2B",
"nonlocal_mesh_properties": {
"type": "BSPLINE",
"kernel_correction": true, (optional, default true)
"kernel_correction_iteration": 2, (optional, default 1)
"kernel_correction_tolerance": 1.e-10, (optional, default 1.e-8 for 2D, and 0.0 for 3D)
"node_types": [ (optional, only if kernel_correction is true (default))
{
"nset_id": 0,
"dir": 0,
"type": 1
},
{...}
]
}
}
In the "nonlocal_mesh_properties" section the following settings are required:
-
"type"should be "BSPLINE". -
"kernel_correction"is default true. Using the weighted-least-square kernel correction method as highlighted by Nakamura et al. (2023). -
"kernel_correction_iteration"can be specified to avoid negative basis functions after kernel correction. -
"kernel_correction_tolerance"to specify when to apply kernel correction. -
"node_types"should be defined for each direction if"kernel_correction"is not used.-
"dir"{0, 1, 2} for {x, y, z}. -
"nset_id"specified in the mesh entity sets file. -
"type"according to the following convention:
-
//! Regular = 0 //Default
//! LowerBoundary = 1
//! LowerIntermediate = 2
//! UpperIntermediate = 3
//! UpperBoundary = 4
As an example, for the x-direction:
- LowerBoundary corresponds to the xmin set of nodes
- LowerIntermediate corresponds to the xmin+1 set of nodes
- UpperBoundary corresponds to the xmax set of nodes
- UpperIntermediate corresponds to the xmax-1 set of nodes
Reference:
- Steffen, M., Kirby, R. M., & Berzins, M. (2008). Analysis and reduction of quadrature errors in the material point method (MPM). International journal for numerical methods in engineering, 76(6), 922-948.
- Nakamura, K., Matsumura, S., & Mizutani, T. (2023). Taylor particle-in-cell transfer and kernel correction for material point method. Computer Methods in Applied Mechanics and Engineering, 403, 115720.
- Chandra, B., Hashimoto, R., Kamrin, K., & Soga, K. (2024). Mixed material point method formulation, stabilization, and validation for a unified analysis of free-surface and seepage flow. Journal of Computational Physics, 519, 113457.
To run the Local Maximum Entropy (LME) elements: ED2T3L, ED2Q4L (2D), and ED3H8L (3D), additional settings should be added to the main .json file.
"mesh": {
"cell_type": "ED2Q4L",
"nonlocal_mesh_properties": {
"type": "LME",
"gamma": XX,
"anisotropy": true, //optional default is false
"mesh_size": YY, //optional (if it is not given, an automatic computation will be done)
"support_tolerance": ZZ //optional default is 1e-6
}
}
In the "nonlocal_mesh_properties" section the following settings are required:
-
"type"should be "LME". -
"gamma"is a non-dimensional thermalization parameter. -
"anisotropy"boolean to shift the metric tensor within the LME computation. -
"mesh_size"is the average mesh size, which is assumed to be constant in the current case. -
"support_tolerance"is the threshold magnitude of the shape function value.
Reference:
- Arroyo, M., & Ortiz, M. (2006). Local maximum‐entropy approximation schemes: a seamless bridge between finite elements and meshfree methods. International journal for numerical methods in engineering, 65(13), 2167-2202.