![]() |
OGS
|
Time depend subdomain deactivation.
Subdomain deactivation is space and time dependent. The spatial extent of deactivated elements is defined through a set of material ids. Additionally a line segment separates through its normal plane and position on the line segment an active and inactive part.
The subdomain can be deactivated at once using a time interval. For fine grained control a time curve can be specified. It maps current time to position on the line segment. Elements, which center points lie left of this position are deactivated.
The deactivated elements are excluded from the assembly, pre and post call, secondary variables computation and the like. To keep the size of the global linear equation system artificial Dirichlet boundary conditions are applied on the interior of the deactivated subdomain. The nodes on the border between the active and inactive elements are not affected.
Definition at line 68 of file DeactivatedSubdomain.h.
#include <DeactivatedSubdomain.h>
Public Member Functions | |
DeactivatedSubdomain (MathLib::PiecewiseLinearInterpolation time_interval_, std::pair< Eigen::Vector3d, Eigen::Vector3d > line_segment, std::vector< int > &&materialIDs_, std::vector< std::unique_ptr< DeactivatedSubdomainMesh >> &&deactivated_subdomain_meshes_, ParameterLib::Parameter< double > const *boundary_value_parameter) | |
bool | isInTimeSupportInterval (double const t) const |
bool | isDeactivated (MathLib::Point3d const &point, double const time) const |
Public Attributes | |
MathLib::PiecewiseLinearInterpolation const | time_interval |
std::pair< Eigen::Vector3d, Eigen::Vector3d > | line_segment |
std::vector< int > const | materialIDs |
The material IDs of the deactivated the subdomains. More... | |
std::vector< std::unique_ptr< DeactivatedSubdomainMesh > > const | deactivated_subdomain_meshes |
ParameterLib::Parameter< double > const *const | boundary_value_parameter |
Static Public Attributes | |
static const std::string | zero_parameter_name |
ProcessLib::DeactivatedSubdomain::DeactivatedSubdomain | ( | MathLib::PiecewiseLinearInterpolation | time_interval_, |
std::pair< Eigen::Vector3d, Eigen::Vector3d > | line_segment, | ||
std::vector< int > && | materialIDs_, | ||
std::vector< std::unique_ptr< DeactivatedSubdomainMesh >> && | deactivated_subdomain_meshes_, | ||
ParameterLib::Parameter< double > const * | boundary_value_parameter | ||
) |
Definition at line 36 of file DeactivatedSubdomain.cpp.
bool ProcessLib::DeactivatedSubdomain::isDeactivated | ( | MathLib::Point3d const & | point, |
double const | time | ||
) | const |
Definition at line 58 of file DeactivatedSubdomain.cpp.
References MathLib::TemplatePoint< T, DIM >::getCoords(), MathLib::PiecewiseLinearInterpolation::getValue(), line_segment, MathLib::r, and time_interval.
bool ProcessLib::DeactivatedSubdomain::isInTimeSupportInterval | ( | double const | t | ) | const |
Definition at line 52 of file DeactivatedSubdomain.cpp.
References MathLib::PiecewiseLinearInterpolation::getSupportMax(), MathLib::PiecewiseLinearInterpolation::getSupportMin(), and time_interval.
ParameterLib::Parameter<double> const* const ProcessLib::DeactivatedSubdomain::boundary_value_parameter |
A pararameter for the optional Dirichlet boundary condition applied on the surface of the deactivated subdomain/excavation.
Definition at line 103 of file DeactivatedSubdomain.h.
std::vector<std::unique_ptr<DeactivatedSubdomainMesh> > const ProcessLib::DeactivatedSubdomain::deactivated_subdomain_meshes |
Definition at line 99 of file DeactivatedSubdomain.h.
std::pair<Eigen::Vector3d, Eigen::Vector3d> ProcessLib::DeactivatedSubdomain::line_segment |
Line segment along which excavation progresses. Represented by start and end points.
Definition at line 93 of file DeactivatedSubdomain.h.
Referenced by isDeactivated().
std::vector<int> const ProcessLib::DeactivatedSubdomain::materialIDs |
The material IDs of the deactivated the subdomains.
Definition at line 96 of file DeactivatedSubdomain.h.
MathLib::PiecewiseLinearInterpolation const ProcessLib::DeactivatedSubdomain::time_interval |
Definition at line 89 of file DeactivatedSubdomain.h.
Referenced by isDeactivated(), and isInTimeSupportInterval().
|
static |
Definition at line 105 of file DeactivatedSubdomain.h.
Referenced by ProcessLib::ProcessVariable::createBoundaryConditionsForDeactivatedSubDomains(), and ProjectData::parseParameters().