#include <users_modules/eshelbian_plasticit/src/EshelbianContact.hpp>
◆ OpConstrainBoundaryHDivRhs()
EshelbianPlasticity::OpConstrainBoundaryHDivRhs::OpConstrainBoundaryHDivRhs |
( |
const std::string |
row_field_name, |
|
|
boost::shared_ptr< ContactOps::CommonData > |
common_data_ptr, |
|
|
boost::shared_ptr< ContactTree > |
contact_tree_ptr |
|
) |
| |
◆ iNtegrate()
Definition at line 435 of file EshelbianContact.cpp.
443 const size_t nb_gauss_pts = getGaussPts().size2();
448 "Wrong number of integration pts %d != %d",
456 auto t_w = getFTensor0IntegrationWeight();
457 auto t_disp = getFTensor1FromMat<3>(
commonDataPtr->contactDisp);
458 auto t_traction = getFTensor1FromMat<3>(
commonDataPtr->contactTraction);
459 auto t_coords = getFTensor1CoordsAtGaussPts();
460 auto t_material_normal = getFTensor1NormalsAtGaussPts();
470 auto face_data_vec_ptr =
472 auto face_gauss_pts_it = face_data_vec_ptr->begin();
474 auto nb_base_functions = data.getN().size2() / 3;
475 auto t_base = data.getFTensor1N<3>();
476 for (
auto gg = 0; gg != nb_gauss_pts; ++gg) {
478 auto t_nf = getFTensor1FromPtr<3>(&nf[0]);
479 const double alpha = t_w / 2.;
482 for (; bb != nbRows / 3; ++bb) {
483 const double beta = alpha * t_base(
i) * t_material_normal(
i);
484 t_nf(
i) -= beta * t_disp(
i);
488 for (; bb < nb_base_functions; ++bb)
◆ commonDataPtr
◆ contactTreePtr
boost::shared_ptr<ContactTree> EshelbianPlasticity::OpConstrainBoundaryHDivRhs::contactTreePtr |
|
private |
The documentation for this struct was generated from the following files: