| 5969 | } |
| 5970 | |
| 5971 | int MPCORecorder::initNodeRecorders() |
| 5972 | { |
| 5973 | #ifdef MPCO_TIMING |
| 5974 | mpco::Timer timer("initNodeRecorders"); timer.start(); |
| 5975 | #endif // MPCO_TIMING |
| 5976 | /* |
| 5977 | clear previous recorders |
| 5978 | */ |
| 5979 | clearNodeRecorders(); |
| 5980 | /* |
| 5981 | create all required requests for nodal results |
| 5982 | */ |
| 5983 | for (size_t i = 0; i < m_data->nodal_results_requests.size(); i++) { |
| 5984 | mpco::NodalResultType::Enum rtype = m_data->nodal_results_requests[i]; |
| 5985 | switch (rtype) |
| 5986 | { |
| 5987 | case mpco::NodalResultType::Displacement: |
| 5988 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderDisplacement(m_data->info); |
| 5989 | break; |
| 5990 | case mpco::NodalResultType::Rotation: |
| 5991 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderRotation(m_data->info); |
| 5992 | break; |
| 5993 | case mpco::NodalResultType::Pressure: |
| 5994 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderPressure(m_data->info); |
| 5995 | break; |
| 5996 | case mpco::NodalResultType::ReactionForce: |
| 5997 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderReactionForce(m_data->info); |
| 5998 | break; |
| 5999 | case mpco::NodalResultType::ReactionMoment: |
| 6000 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderReactionMoment(m_data->info); |
| 6001 | break; |
| 6002 | case mpco::NodalResultType::ReactionForceIncludingInertia: |
| 6003 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderReactionForceIncIntertia(m_data->info); |
| 6004 | break; |
| 6005 | case mpco::NodalResultType::ReactionMomentIncludingInertia: |
| 6006 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderReactionMomentIncIntertia(m_data->info); |
| 6007 | break; |
| 6008 | case mpco::NodalResultType::RayleighForce: |
| 6009 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderReactionForceRayleigh(m_data->info); |
| 6010 | break; |
| 6011 | case mpco::NodalResultType::RayleighMoment: |
| 6012 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderReactionMomentRayleigh(m_data->info); |
| 6013 | break; |
| 6014 | case mpco::NodalResultType::UnbalancedForce: |
| 6015 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderUnbalancedForce(m_data->info); |
| 6016 | break; |
| 6017 | case mpco::NodalResultType::UnbalancedMoment: |
| 6018 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderUnbalancedMoment(m_data->info); |
| 6019 | break; |
| 6020 | case mpco::NodalResultType::UnbalancedForceIncludingInertia: |
| 6021 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderUnbalancedForceIncIntertia(m_data->info); |
| 6022 | break; |
| 6023 | case mpco::NodalResultType::UnbalancedMomentIncludingInertia: |
| 6024 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderUnbalancedMomentIncIntertia(m_data->info); |
| 6025 | break; |
| 6026 | case mpco::NodalResultType::Velocity: |
| 6027 | m_data->nodal_recorders[rtype] = new mpco::node::ResultRecorderVelocity(m_data->info); |
| 6028 | break; |