|
MGIS
|
#include <span>#include <limits>#include <thread>#include <vector>#include "MGIS/Config.hxx"#include "MGIS/Behaviour/BehaviourDataView.hxx"#include "MGIS/Behaviour/Integrate.ixx"Classes | |
| struct | mgis::behaviour::BehaviourIntegrationOptions |
| structure defining various option More... | |
| struct | mgis::behaviour::BehaviourIntegrationResult |
| structure in charge of reporting the result of a behaviour integration. More... | |
| struct | mgis::behaviour::MultiThreadedBehaviourIntegrationResult |
| structure in charge of reporting the result of a behaviour integration. More... | |
Namespaces | |
| namespace | mgis |
the namespace mgis encloses all the MGIS project. | |
Enumerations | |
| enum struct | mgis::behaviour::IntegrationType { PREDICTION_TANGENT_OPERATOR = -3 , PREDICTION_SECANT_OPERATOR = -2 , PREDICTION_ELASTIC_OPERATOR = -1 , INTEGRATION_NO_TANGENT_OPERATOR = 0 , INTEGRATION_ELASTIC_OPERATOR = 1 , INTEGRATION_SECANT_OPERATOR = 2 , INTEGRATION_TANGENT_OPERATOR = 3 , INTEGRATION_CONSISTENT_TANGENT_OPERATOR = 4 } |
| type of integration to be performed | |
| enum struct | SpeedOfSoundFlag { INTEGRATION_WITHOUT_SPEED_OF_SOUND = false , INTEGRATION_WITH_SPEED_OF_SOUND = true } |
Functions | |
| MGIS_EXPORT const debug::BehaviourIntegrationFailureAnalyser & | mgis::behaviour::debug::getDefaultBehaviourIntegrationFailureAnalyser () |
| MGIS_EXPORT int | mgis::behaviour::executeInitializeFunction (BehaviourDataView &, const Behaviour &, const std::string_view, std::span< const real >) |
| execute the given initialize function. | |
| MGIS_EXPORT int | mgis::behaviour::executeInitializeFunction (BehaviourDataView &, const Behaviour &, const std::string_view) |
| execute the given initialize function. | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::executeInitializeFunction (MaterialDataManager &, const std::string_view) |
| execute the given initialize function | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::executeInitializeFunction (MaterialDataManager &, const std::string_view, std::span< const real >) |
| execute the given initialize function | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::executeInitializeFunction (MaterialDataManager &, const std::string_view, const size_type, const size_type) |
| execute the given initialize function over a range of integration points | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::executeInitializeFunction (MaterialDataManager &, const std::string_view, std::span< const real >, const size_type, const size_type) |
| execute the given initialize function over a range of integration points | |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult | mgis::behaviour::executeInitializeFunction (ThreadPool &, MaterialDataManager &, const std::string_view) |
| execute the given initialize function over all integration points using a thread pool to parallelize the integration. | |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult | mgis::behaviour::executeInitializeFunction (ThreadPool &, MaterialDataManager &, const std::string_view, std::span< const real >) |
| execute the given initialize function over all integration points using a thread pool to parallelize the integration. | |
| int | mgis::behaviour::integrate (BehaviourDataView &, const Behaviour &) |
| integrate the behaviour. The returned value has the following meaning: | |
| MGIS_EXPORT int | mgis::behaviour::integrate_debug (BehaviourDataView &, const Behaviour &) |
| integrate the behaviour. In case of non convergence, an mtest file is generated. | |
| MGIS_EXPORT int | mgis::behaviour::integrate_debug (BehaviourDataView &, const Behaviour &, const debug::BehaviourIntegrationFailureAnalyser &) |
| integrate the behaviour. In case of non convergence, an mtest file is generated. | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::integrate (MaterialDataManager &, const BehaviourIntegrationOptions &, const real) |
| integrate the behaviour for a range of integration points. | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::integrate_debug (MaterialDataManager &, const BehaviourIntegrationOptions &, const real) |
| debugging version | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::integrate_debug (MaterialDataManager &, const BehaviourIntegrationOptions &, const real, const debug::BehaviourIntegrationFailureAnalyser &) |
| debugging version | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::integrate (MaterialDataManager &, const BehaviourIntegrationOptions &, const real, const size_type, const size_type) |
| integrate the behaviour for a range of integration points. | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::integrate_debug (MaterialDataManager &, const BehaviourIntegrationOptions &, const real, const size_type, const size_type) |
| debugging version | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::integrate_debug (MaterialDataManager &, const BehaviourIntegrationOptions &, const real, const size_type, const size_type, const debug::BehaviourIntegrationFailureAnalyser &) |
| debugging version | |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult | mgis::behaviour::integrate (mgis::ThreadPool &, MaterialDataManager &, const BehaviourIntegrationOptions &, const real) |
| integrate the behaviour over all integration points using a thread pool to parallelize the integration. | |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult | mgis::behaviour::integrate_debug (mgis::ThreadPool &, MaterialDataManager &, const BehaviourIntegrationOptions &, const real) |
| debugging version | |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult | mgis::behaviour::integrate_debug (mgis::ThreadPool &, MaterialDataManager &, const BehaviourIntegrationOptions &, const real, const debug::BehaviourIntegrationFailureAnalyser &) |
| debugging version | |
| MGIS_EXPORT int | mgis::behaviour::integrate (mgis::ThreadPool &, MaterialDataManager &, const IntegrationType it, const real) |
| integrate the behaviour for a range of integration points. | |
| MGIS_EXPORT int | mgis::behaviour::integrate_debug (mgis::ThreadPool &, MaterialDataManager &, const IntegrationType it, const real) |
| debugging version | |
| MGIS_EXPORT int | mgis::behaviour::integrate_debug (mgis::ThreadPool &, MaterialDataManager &, const IntegrationType it, const real, const debug::BehaviourIntegrationFailureAnalyser &) |
| debugging version | |
| MGIS_EXPORT int | mgis::behaviour::integrate (MaterialDataManager &, const IntegrationType, const real, const size_type, const size_type) |
| integrate the behaviour for a range of integration points. | |
| MGIS_EXPORT int | mgis::behaviour::integrate_debug (MaterialDataManager &, const IntegrationType, const real, const size_type, const size_type) |
| debugging version | |
| MGIS_EXPORT int | mgis::behaviour::integrate_debug (MaterialDataManager &, const IntegrationType, const real, const size_type, const size_type, const debug::BehaviourIntegrationFailureAnalyser &) |
| debugging version | |
| MGIS_EXPORT int | mgis::behaviour::executePostProcessing (std::span< real >, BehaviourDataView &, const Behaviour &, const std::string_view) |
| execute the given post-processing | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::executePostProcessing (std::span< real >, MaterialDataManager &, const std::string_view) |
| execute the given post-processing | |
| MGIS_EXPORT BehaviourIntegrationResult | mgis::behaviour::executePostProcessing (std::span< real >, MaterialDataManager &, const std::string_view, const size_type, const size_type) |
| execute the given post-processing over a range of integration points | |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult | mgis::behaviour::executePostProcessing (std::span< real >, ThreadPool &, MaterialDataManager &, const std::string_view) |
| execute the given post-processing over all integration points using a thread pool to parallelize the integration. | |
| MGIS_EXPORT int mgis::behaviour::executeInitializeFunction | ( | BehaviourDataView & | , |
| const Behaviour & | , | ||
| const std::string_view | |||
| ) |
execute the given initialize function.
| [in,out] | d | behaviour data view |
| [in,out] | b | behaviour |
| [in] | n | name of the initialize function |
BehaviourDataView structure in which the state at the beginning of the time step is immutable, only the state variables at the end of the time step can be updated. Hence, for consistency, the behaviour data shall be updated after the call to all initialize functions. | MGIS_EXPORT int mgis::behaviour::executeInitializeFunction | ( | BehaviourDataView & | , |
| const Behaviour & | , | ||
| const std::string_view | , | ||
| std::span< const real > | |||
| ) |
execute the given initialize function.
| [in,out] | d | behaviour data view |
| [in] | inputs | inputs of the initialize function |
| [in,out] | b | behaviour |
| [in] | n | name of the initialize function |
BehaviourDataView structure in which the state at the beginning of the time step is immutable, only the state variables at the end of the time step can be updated. Hence, for consistency, the behaviour data shall be updated after the call to all initialize functions. | MGIS_EXPORT BehaviourIntegrationResult mgis::behaviour::executeInitializeFunction | ( | MaterialDataManager & | , |
| const std::string_view | |||
| ) |
execute the given initialize function
| [in,out] | d | material data manager |
| [in] | n | name of the initialize function |
| MGIS_EXPORT BehaviourIntegrationResult mgis::behaviour::executeInitializeFunction | ( | MaterialDataManager & | , |
| const std::string_view | , | ||
| const size_type | , | ||
| const size_type | |||
| ) |
execute the given initialize function over a range of integration points
| [in,out] | d | material data manager |
| [in] | n | name of the initialize function |
| [in] | b | first index of the range |
| [in] | e | last index of the range |
| MGIS_EXPORT BehaviourIntegrationResult mgis::behaviour::executeInitializeFunction | ( | MaterialDataManager & | , |
| const std::string_view | , | ||
| std::span< const real > | |||
| ) |
execute the given initialize function
| [in,out] | d | material data manager |
| [in] | n | name of the initialize function |
| [in] | inputs | initialize function inputs |
| MGIS_EXPORT BehaviourIntegrationResult mgis::behaviour::executeInitializeFunction | ( | MaterialDataManager & | , |
| const std::string_view | , | ||
| std::span< const real > | , | ||
| const size_type | , | ||
| const size_type | |||
| ) |
execute the given initialize function over a range of integration points
| [in,out] | d | material data manager |
| [in] | n | name of the initialize function |
| [in] | inputs | initialize function inputs |
| [in] | b | first index of the range |
| [in] | e | last index of the range |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult mgis::behaviour::executeInitializeFunction | ( | ThreadPool & | , |
| MaterialDataManager & | , | ||
| const std::string_view | |||
| ) |
execute the given initialize function over all integration points using a thread pool to parallelize the integration.
| [in,out] | p | thread pool |
| [in,out] | d | material data manager |
| [in] | n | name of the initialize function |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult mgis::behaviour::executeInitializeFunction | ( | ThreadPool & | , |
| MaterialDataManager & | , | ||
| const std::string_view | , | ||
| std::span< const real > | |||
| ) |
execute the given initialize function over all integration points using a thread pool to parallelize the integration.
| [in,out] | p | thread pool |
| [in,out] | d | material data manager |
| [in] | n | name of the initialize function |
| [in] | inputs | initialize function inputs |
| MGIS_EXPORT int mgis::behaviour::executePostProcessing | ( | std::span< real > | , |
| BehaviourDataView & | , | ||
| const Behaviour & | , | ||
| const std::string_view | |||
| ) |
execute the given post-processing
| [out] | outputs | post-processing results |
| [in,out] | d | behaviour data |
| [in,out] | b | behaviour |
| [in] | n | name of the post-processing |
| MGIS_EXPORT BehaviourIntegrationResult mgis::behaviour::executePostProcessing | ( | std::span< real > | , |
| MaterialDataManager & | , | ||
| const std::string_view | |||
| ) |
execute the given post-processing
| [out] | outputs | post-processing results |
| [in,out] | d | material data manager |
| [in] | n | name of the post-processing |
| MGIS_EXPORT BehaviourIntegrationResult mgis::behaviour::executePostProcessing | ( | std::span< real > | , |
| MaterialDataManager & | , | ||
| const std::string_view | , | ||
| const size_type | , | ||
| const size_type | |||
| ) |
execute the given post-processing over a range of integration points
| [out] | outputs | post-processing results |
| [in,out] | d | material data manager |
| [in] | n | name of the post-processing |
| [in] | b | first index of the range |
| [in] | e | last index of the range |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult mgis::behaviour::executePostProcessing | ( | std::span< real > | , |
| ThreadPool & | , | ||
| MaterialDataManager & | , | ||
| const std::string_view | |||
| ) |
execute the given post-processing over all integration points using a thread pool to parallelize the integration.
| [out] | outputs | post-processing results |
| [in,out] | p | thread pool |
| [in,out] | d | material data manager |
| [in] | n | name of the post-processing |
| MGIS_EXPORT const debug::BehaviourIntegrationFailureAnalyser & mgis::behaviour::debug::getDefaultBehaviourIntegrationFailureAnalyser | ( | ) |
|
inline |
integrate the behaviour. The returned value has the following meaning:
| [in,out] | d | behaviour data |
| [in,out] | b | behaviour |
IntegrationType enum).If d.K[0] is greater than 50, the speed of sound must be computed.
Let Ke be equal to:
If Ke is negative, only the prediction operator is computed and no behaviour integration is performed.
Ke has the following meaning:
| MGIS_EXPORT BehaviourIntegrationResult mgis::behaviour::integrate | ( | MaterialDataManager & | , |
| const BehaviourIntegrationOptions & | , | ||
| const real | |||
| ) |
integrate the behaviour for a range of integration points.
| [in,out] | m | material data manager |
| [in] | opts | description of the operation to be performed |
| [in] | dt | time step |
| MGIS_EXPORT BehaviourIntegrationResult mgis::behaviour::integrate | ( | MaterialDataManager & | , |
| const BehaviourIntegrationOptions & | , | ||
| const real | , | ||
| const size_type | , | ||
| const size_type | |||
| ) |
integrate the behaviour for a range of integration points.
| [in,out] | m | material data manager |
| [in] | opts | description of the operation to be performed |
| [in] | dt | time step |
| [in] | b | first index of the range |
| [in] | e | last index of the range |
| MGIS_EXPORT int mgis::behaviour::integrate | ( | MaterialDataManager & | , |
| const IntegrationType | , | ||
| const real | , | ||
| const size_type | , | ||
| const size_type | |||
| ) |
integrate the behaviour for a range of integration points.
| [in,out] | m | material data manager |
| [in] | dt | time step |
| [in] | b | first index of the range |
| [in] | e | last index of the range |
| MGIS_EXPORT MultiThreadedBehaviourIntegrationResult mgis::behaviour::integrate | ( | mgis::ThreadPool & | , |
| MaterialDataManager & | , | ||
| const BehaviourIntegrationOptions & | , | ||
| const real | |||
| ) |
integrate the behaviour over all integration points using a thread pool to parallelize the integration.
| [in,out] | p | thread pool |
| [in,out] | m | material data manager |
| [in] | c | description of the operation to be performed |
| [in] | dt | time step |
| MGIS_EXPORT int mgis::behaviour::integrate | ( | mgis::ThreadPool & | , |
| MaterialDataManager & | , | ||
| const IntegrationType | it, | ||
| const real | |||
| ) |
integrate the behaviour for a range of integration points.
| [in,out] | p | thread pool |
| [in,out] | m | material data manager |
| [in] | dt | time step |
| MGIS_EXPORT int mgis::behaviour::integrate_debug | ( | BehaviourDataView & | , |
| const Behaviour & | |||
| ) |
integrate the behaviour. In case of non convergence, an mtest file is generated.
The returned value has the following meaning:
| [in,out] | d | behaviour data |
| [in,out] | b | behaviour |
| MGIS_EXPORT int mgis::behaviour::integrate_debug | ( | BehaviourDataView & | , |
| const Behaviour & | , | ||
| const debug::BehaviourIntegrationFailureAnalyser & | |||
| ) |
integrate the behaviour. In case of non convergence, an mtest file is generated.
The returned value has the following meaning:
| [in,out] | d | behaviour data |
| [in,out] | b | behaviour |