Evaluate density at integration points.
More...
#include <users_modules/fracture_mechanics/src/MWLS.hpp>
|
| OpMWLSRhoAtGaussPts (boost::shared_ptr< MatrixDouble > mat_pos_at_pts_ptr, boost::shared_ptr< MatrixDouble > mat_grad_pos_at_pts_ptr, boost::shared_ptr< CrackFrontElement > fe_singular_ptr, boost::shared_ptr< MWLSApprox > mwls_approx, const std::string rho_tag_name, const bool calculate_derivative, const bool calculate_2nd_derivative, bool testing=false) |
|
| OpMWLSBase (boost::shared_ptr< MatrixDouble > mat_pos_at_pts_ptr, boost::shared_ptr< MatrixDouble > mat_grad_pos_at_pts_ptr, boost::shared_ptr< CrackFrontElement > fe_singular_ptr, boost::shared_ptr< MWLSApprox > mwls_approx, bool testing=false) |
|
virtual | ~OpMWLSBase ()=default |
|
MoFEMErrorCode | doWork (int side, EntityType type, DataForcesAndSourcesCore::EntData &data) |
|
Evaluate density at integration points.
Definition at line 330 of file MWLS.hpp.
◆ OpMWLSRhoAtGaussPts()
FractureMechanics::MWLSApprox::OpMWLSRhoAtGaussPts::OpMWLSRhoAtGaussPts |
( |
boost::shared_ptr< MatrixDouble > |
mat_pos_at_pts_ptr, |
|
|
boost::shared_ptr< MatrixDouble > |
mat_grad_pos_at_pts_ptr, |
|
|
boost::shared_ptr< CrackFrontElement > |
fe_singular_ptr, |
|
|
boost::shared_ptr< MWLSApprox > |
mwls_approx, |
|
|
const std::string |
rho_tag_name, |
|
|
const bool |
calculate_derivative, |
|
|
const bool |
calculate_2nd_derivative, |
|
|
bool |
testing = false |
|
) |
| |
|
inline |
Definition at line 336 of file MWLS.hpp.
344 : OpMWLSBase<VolumeElementForcesAndSourcesCore>(
345 mat_pos_at_pts_ptr, mat_grad_pos_at_pts_ptr, fe_singular_ptr,
◆ doMWLSWork()
Do specific work in operator.
Is protected to prevent direct call. This can be only called by doWork method.
- Parameters
-
- Returns
- MoFEMErrorCode
Implements FractureMechanics::MWLSApprox::OpMWLSBase< VolumeElementForcesAndSourcesCore >.
Definition at line 1383 of file MWLS.cpp.
1387 cerr <<
"Element " << getFEEntityHandle() << endl;
1391 const int nb_gauss_pts = data.getN().size1();
1392 const bool use_global_base =
1393 mwlsApprox->getUseGlobalBaseAtMaterialReferenceConfiguration();
1398 rho.resize(nb_gauss_pts,
false);
1400 diff_rho.resize(3, nb_gauss_pts,
false);
1403 diff_diff_rho.resize(9, nb_gauss_pts,
false);
1405 auto t_mwls_material_positions =
1406 getFTensor1FromMat<3>(
mwlsApprox->mwlsMaterialPositions);
1407 auto t_approx_base_point = getFTensor1FromMat<3>(
mwlsApprox->approxBasePoint);
1408 for (
int gg = 0; gg != nb_gauss_pts; ++gg) {
1411 t_mat_pos(
i) = t_mwls_material_positions(
i);
1413 t_approx_base_pos(
i) = t_approx_base_point(
i);
1416 cerr <<
"material_positions " << t_mwls_material_positions << endl;
1417 cerr <<
"approx_base_point " << t_approx_base_point << endl;
1428 const auto &vals =
mwlsApprox->getDataApprox();
1432 const auto &diff_vals =
mwlsApprox->getDiffDataApprox();
1433 for (
int ii = 0; ii != 3; ++ii) {
1434 diff_rho(ii, gg) = diff_vals(ii, 0);
1439 const auto &diff_diff_vals =
mwlsApprox->getDiffDiffDataApprox();
1440 for (
int ii = 0; ii != 3; ++ii) {
1441 for (
int jj = 0; jj != 3; ++jj)
1442 diff_diff_rho(ii + 3 * jj, gg) = diff_diff_vals(jj, ii);
1446 ++t_mwls_material_positions;
1447 ++t_approx_base_point;
1451 cerr <<
"rho " <<
rho << endl;
◆ calculate2ndDerivative
const bool FractureMechanics::MWLSApprox::OpMWLSRhoAtGaussPts::calculate2ndDerivative |
◆ calculateDerivative
const bool FractureMechanics::MWLSApprox::OpMWLSRhoAtGaussPts::calculateDerivative |
◆ rhoTagName
std::string FractureMechanics::MWLSApprox::OpMWLSRhoAtGaussPts::rhoTagName |
◆ testing
const bool FractureMechanics::MWLSApprox::OpMWLSRhoAtGaussPts::testing |
The documentation for this struct was generated from the following files:
- users_modules/fracture_mechanics/src/MWLS.hpp
- users_modules/fracture_mechanics/src/impl/MWLS.cpp