33 #include "intrusive_ptr/intrusive_ptr.hpp"
126 KRATOS_ERROR <<
"Calling the default constructor for the node ... illegal operation!!" << std::endl;
137 , mInitialPosition(NewX)
150 , mInitialPosition(NewX, NewY)
157 Node(
IndexType NewId,
double const& NewX,
double const& NewY,
double const& NewZ)
163 , mInitialPosition(NewX, NewY, NewZ)
176 , mInitialPosition(rThisPoint)
188 template<
class TVectorType>
195 , mInitialPosition(rOtherCoordinates)
218 Node(
IndexType NewId,
double const& NewX,
double const& NewY,
double const& NewZ, VariablesList::Pointer pVariablesList,
BlockType const * ThisData,
SizeType NewQueueSize = 1)
221 , mNodalData(NewId, pVariablesList,ThisData,NewQueueSize)
224 , mInitialPosition(NewX, NewY, NewZ)
231 Node::Pointer p_new_node = Kratos::make_intrusive<Node >( this->
Id(), (*
this)[0], (*
this)[1], (*
this)[2]);
232 p_new_node->mNodalData = this->mNodalData;
235 for (
typename DofsContainerType::const_iterator it_dof = my_dofs.begin(); it_dof != my_dofs.end(); it_dof++)
237 p_new_node->pAddDof(**it_dof);
240 p_new_node->mData = this->mData;
241 p_new_node->mInitialPosition = this->mInitialPosition;
243 p_new_node->Set(
Flags(*
this));
258 return mReferenceCounter;
264 return mNodalData.
Id();
269 return mNodalData.
Id();
274 mNodalData.
SetId(NewId);
302 mNodalData = rOther.mNodalData;
305 for(
typename DofsContainerType::const_iterator it_dof = rOther.mDofs.begin() ; it_dof != rOther.mDofs.end() ; it_dof++)
310 mData = rOther.mData;
311 mInitialPosition = rOther.mInitialPosition;
321 template<
class TVariableType>
typename TVariableType::Type&
operator()(
const TVariableType& rThisVariable,
IndexType SolutionStepIndex)
326 template<
class TVariableType>
typename TVariableType::Type&
operator()(
const TVariableType& rThisVariable)
406 template<
class TVariableType>
typename TVariableType::Type&
GetSolutionStepValue(
const TVariableType& rThisVariable)
411 template<
class TVariableType>
typename TVariableType::Type
const&
GetSolutionStepValue(
const TVariableType& rThisVariable)
const
421 template<
class TVariableType>
typename TVariableType::Type
const&
GetSolutionStepValue(
const TVariableType& rThisVariable,
IndexType SolutionStepIndex)
const
440 template<
class TVariableType>
const typename TVariableType::Type&
FastGetSolutionStepValue(
const TVariableType& rThisVariable)
const
466 template<
class TVariableType>
typename TVariableType::Type&
GetValue(
const TVariableType& rThisVariable)
468 return mData.
GetValue(rThisVariable);
471 template<
class TVariableType>
typename TVariableType::Type
const&
GetValue(
const TVariableType& rThisVariable)
const
473 return mData.
GetValue(rThisVariable);
476 template<
class TVariableType>
typename TVariableType::Type&
GetValue(
const TVariableType& rThisVariable,
IndexType SolutionStepIndex)
478 if(!mData.
Has(rThisVariable))
481 return mData.
GetValue(rThisVariable);
484 template<
class TVariableType>
typename TVariableType::Type
const&
GetValue(
const TVariableType& rThisVariable,
IndexType SolutionStepIndex)
const
486 if(!mData.
Has(rThisVariable))
489 return mData.
GetValue(rThisVariable);
492 template<
class TVariableType>
493 void SetValue(
const TVariableType& rThisVariable,
typename TVariableType::Type
const& rValue)
495 mData.
SetValue(rThisVariable, rValue);
500 return mData.
Has(rThisVariable);
507 template<
class TVariableType>
508 inline void Fix(
const TVariableType& rDofVariable)
510 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
511 if((*it_dof)->GetVariable() == rDofVariable){
520 KRATOS_ERROR <<
"Attempting to Fix the variable: " << rDofVariable <<
" within a parallel region. This is not permitted. Create the Dof first by pAddDof" << std::endl;
526 template<
class TVariableType>
527 inline void Free(
const TVariableType& rDofVariable)
529 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
530 if((*it_dof)->GetVariable() == rDofVariable){
531 (*it_dof)->FreeDof();
539 KRATOS_ERROR <<
"Attempting to Free the variable: " << rDofVariable <<
" within a parallel region. This is not permitted. Create the Dof first by pAddDof" << std::endl;
561 return mInitialPosition;
565 return mInitialPosition;
570 return mInitialPosition.
X();
574 return mInitialPosition.
Y();
578 return mInitialPosition.
Z();
583 return mInitialPosition.
X();
587 return mInitialPosition.
Y();
591 return mInitialPosition.
Z();
596 mInitialPosition.
X() = NewInitialPosition.
X();
597 mInitialPosition.
Y() = NewInitialPosition.
Y();
598 mInitialPosition.
Z() = NewInitialPosition.
Z();
603 mInitialPosition.
X() =
X;
604 mInitialPosition.
Y() =
Y;
605 mInitialPosition.
Z() =
Z;
628 template<
class TVariableType>
631 typename DofsContainerType::const_iterator it_dof = mDofs.end();
632 for(it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
633 if((*it_dof)->GetVariable() == rDofVariable){
638 return it_dof - mDofs.begin();
648 template<
class TVariableType>
649 inline const DofType&
GetDof(TVariableType
const& rDofVariable,
int pos)
const
651 typename DofsContainerType::const_iterator it_begin = mDofs.begin();
652 typename DofsContainerType::const_iterator it_end = mDofs.end();
653 typename DofsContainerType::const_iterator it;
655 if(pos < it_end-it_begin)
658 if( (*it)->GetVariable() == rDofVariable)
665 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
666 if((*it_dof)->GetVariable() == rDofVariable){
671 KRATOS_ERROR <<
"Non-existent DOF in node #" <<
Id() <<
" for variable : " << rDofVariable.Name() << std::endl;
680 template<
class TVariableType>
683 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
684 if((*it_dof)->GetVariable() == rDofVariable){
689 KRATOS_ERROR <<
"Non-existent DOF in node #" <<
Id() <<
" for variable : " << rDofVariable.Name() << std::endl;
710 template<
class TVariableType>
713 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
714 if((*it_dof)->GetVariable() == rDofVariable){
715 return (*it_dof).get();
719 KRATOS_ERROR <<
"Non-existent DOF in node #" <<
Id() <<
" for variable : " << rDofVariable.Name() << std::endl;
730 template<
class TVariableType>
732 TVariableType
const& rDofVariable,
736 const auto it_begin = mDofs.begin();
737 const auto it_end = mDofs.end();
739 if(Position < it_end-it_begin) {
740 auto it_dof = it_begin + Position;
741 if( (*it_dof)->GetVariable() == rDofVariable) {
742 return (*it_dof).get();
747 for(
auto it_dof = it_begin; it_dof != it_end; ++it_dof){
748 if((*it_dof)->GetVariable() == rDofVariable){
749 return (*it_dof).get();
753 KRATOS_ERROR <<
"Non-existent DOF in node #" <<
Id() <<
" for variable : " << rDofVariable.Name() << std::endl;
758 template<
class TVariableType>
763 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
764 if((*it_dof)->GetVariable() == rDofVariable){
765 return (*it_dof).get();
769 mDofs.push_back(Kratos::make_unique<DofType>(&mNodalData, rDofVariable));
771 DofType* p_new_dof = mDofs.back().get();
785 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
786 if((*it_dof)->GetVariable() == SourceDof.
GetVariable()){
787 if((*it_dof)->GetReaction() != SourceDof.
GetReaction())
789 **it_dof = SourceDof;
792 return (*it_dof).get();
796 mDofs.push_back(Kratos::make_unique<DofType>(SourceDof));
797 mDofs.back()->SetNodalData(&mNodalData);
799 DofType* p_new_dof = mDofs.back().get();
809 template<
class TVariableType,
class TReactionType>
814 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
815 if((*it_dof)->GetVariable() == rDofVariable){
816 (*it_dof)->SetReaction(rDofReaction);
817 return (*it_dof).get();
821 mDofs.push_back(Kratos::make_unique<DofType>(&mNodalData, rDofVariable, rDofReaction));
823 DofType* p_new_dof = mDofs.back().get();
834 template<
class TVariableType>
839 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
840 if((*it_dof)->GetVariable() == rDofVariable){
845 mDofs.push_back(Kratos::make_unique<DofType>(&mNodalData, rDofVariable));
847 DofType* p_new_dof = mDofs.back().get();
858 template<
class TVariableType,
class TReactionType>
859 inline DofType&
AddDof(TVariableType
const& rDofVariable, TReactionType
const& rDofReaction)
863 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
864 if((*it_dof)->GetVariable() == rDofVariable){
865 (*it_dof)->SetReaction(rDofReaction);
870 mDofs.push_back(Kratos::make_unique<DofType>(&mNodalData, rDofVariable, rDofReaction));
872 DofType* p_new_dof = mDofs.back().get();
889 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
890 if((*it_dof)->GetVariable() == rDofVariable){
899 for(
auto it_dof = mDofs.begin() ; it_dof != mDofs.end() ; it_dof++){
900 if((*it_dof)->GetVariable() == rDofVariable){
901 return (*it_dof)->IsFixed();
921 std::string
Info()
const override
923 std::stringstream buffer;
924 buffer <<
"Node #" <<
Id();
939 rOStream << std::endl <<
" Dofs :" << std::endl;
940 for(
typename DofsContainerType::const_iterator
i = mDofs.begin() ;
i != mDofs.end() ;
i++)
941 rOStream <<
" " << (*i)->Info() << std::endl;
1005 mutable std::atomic<int> mReferenceCounter{0};
1009 x->mReferenceCounter.fetch_add(1, std::memory_order_relaxed);
1014 if (
x->mReferenceCounter.fetch_sub(1, std::memory_order_release) == 1) {
1015 std::atomic_thread_fence(std::memory_order_acquire);
1024 return First->GetVariable().Key() < Second->GetVariable().Key();
1037 void save(
Serializer& rSerializer)
const override
1041 rSerializer.
save(
"NodalData", &mNodalData);
1042 rSerializer.
save(
"Data", mData);
1043 rSerializer.
save(
"Initial Position", mInitialPosition);
1044 rSerializer.
save(
"Data", mDofs);
1053 rSerializer.
load(
"NodalData", p_nodal_data);
1054 rSerializer.
load(
"Data", mData);
1055 rSerializer.
load(
"Initial Position", mInitialPosition);
1056 rSerializer.
load(
"Data", mDofs);
Container for storing data values associated with variables.
Definition: data_value_container.h:63
bool Has(const Variable< TDataType > &rThisVariable) const
Checks if the data container has a value associated with a given variable.
Definition: data_value_container.h:382
void SetValue(const Variable< TDataType > &rThisVariable, TDataType const &rValue)
Sets the value for a given variable.
Definition: data_value_container.h:320
TDataType & GetValue(const Variable< TDataType > &rThisVariable)
Gets the value associated with a given variable.
Definition: data_value_container.h:268
Dof represents a degree of freedom (DoF).
Definition: dof.h:86
const VariableData & GetVariable() const
Definition: dof.h:303
void FixDof()
Definition: dof.h:338
void SetNodalData(NodalData *pNewNodalData)
Definition: dof.h:355
void FreeDof()
Definition: dof.h:345
const VariableData & GetReaction() const
Definition: dof.h:309
std::size_t IndexType
Definition: flags.h:74
bool IsDefined(Flags const &rOther) const
Definition: flags.h:279
bool Is(Flags const &rOther) const
Definition: flags.h:274
int64_t BlockType
Definition: flags.h:70
Flags()
Default constructor.
Definition: flags.h:119
Flags & operator=(Flags const &rOther)
Assignment operator.
Definition: flags.h:151
This class defines and stores a lock and gives an interface to it.
Definition: lock_object.h:42
void lock() const
Definition: lock_object.h:77
void unlock() const
Definition: lock_object.h:92
Stores all data and dofs which are stored in each elements.
Definition: nodal_data.h:37
void SetId(IndexType NewId)
Sets the Id of the Node.
Definition: nodal_data.h:95
IndexType Id() const
Returns the Id of the Node. Same as GetId to ensure backward compatibility.
Definition: nodal_data.h:83
VariablesListDataValueContainer & GetSolutionStepData()
Definition: nodal_data.h:106
This class defines the node.
Definition: node.h:65
const VariablesList::Pointer pGetVariablesList() const
Definition: node.h:613
TVariableType::Type const & GetValue(const TVariableType &rThisVariable, IndexType SolutionStepIndex) const
Definition: node.h:484
TVariableType::Type & GetSolutionStepValue(const TVariableType &rThisVariable)
Definition: node.h:406
PointType & GetInitialPosition()
Definition: node.h:563
void Fix(const TVariableType &rDofVariable)
Definition: node.h:508
void Free(const TVariableType &rDofVariable)
Definition: node.h:527
DataValueContainer & Data()
Definition: node.h:391
void SetBufferSize(IndexType NewBufferSize)
Definition: node.h:550
const TVariableType::Type & FastGetSolutionStepValue(const TVariableType &rThisVariable) const
Definition: node.h:440
DataValueContainer & GetData()
Definition: node.h:396
const TVariableType::Type & FastGetSolutionStepValue(const TVariableType &rThisVariable, IndexType SolutionStepIndex) const
Definition: node.h:450
const DofType & GetDof(TVariableType const &rDofVariable, int pos) const
Get dof with a given position. If not found it is search.
Definition: node.h:649
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: node.h:929
TVariableType::Type & FastGetSolutionStepValue(const TVariableType &rThisVariable)
Definition: node.h:435
std::string Info() const override
Turn back information as a string.
Definition: node.h:921
IndexType Id() const
Definition: node.h:262
void SetLock()
Definition: node.h:282
IndexType GetId() const
Definition: node.h:267
DofType & AddDof(TVariableType const &rDofVariable, TReactionType const &rDofReaction)
Definition: node.h:859
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: node.h:935
void SetInitialPosition(const PointType &NewInitialPosition)
Definition: node.h:594
TVariableType::Type const & GetValue(const TVariableType &rThisVariable) const
Definition: node.h:471
void SetValue(const TVariableType &rThisVariable, typename TVariableType::Type const &rValue)
Definition: node.h:493
bool HasDofFor(const VariableData &rDofVariable) const
Definition: node.h:887
IndexType GetBufferSize() const
Definition: node.h:545
void ClearSolutionStepsData()
Definition: node.h:370
double X0() const
Definition: node.h:581
friend void intrusive_ptr_release(const NodeType *x)
Definition: node.h:1012
void SetInitialPosition(double X, double Y, double Z)
Definition: node.h:601
bool SolutionStepsDataHas(const VariableData &rThisVariable) const
Definition: node.h:427
Node(IndexType NewId, double const &NewX)
1d constructor.
Definition: node.h:131
Node(IndexType NewId, PointType const &rThisPoint)
Point constructor.
Definition: node.h:170
void SetSolutionStepVariablesList(VariablesList::Pointer pVariablesList)
Definition: node.h:375
TVariableType::Type & GetValue(const TVariableType &rThisVariable, IndexType SolutionStepIndex)
Definition: node.h:476
friend void intrusive_ptr_add_ref(const NodeType *x)
Definition: node.h:1007
TVariableType::Type & GetValue(const TVariableType &rThisVariable)
Definition: node.h:466
const TDataType & operator[](const Variable< TDataType > &rThisVariable) const
Definition: node.h:336
bool operator==(const Node &rOther)
Definition: node.h:316
TDataType & operator[](const Variable< TDataType > &rThisVariable)
Definition: node.h:331
Node(Node const &rOtherNode)=delete
double Z0() const
Definition: node.h:589
const DofsContainerType & GetDofs() const
Definition: node.h:699
unsigned int GetDofPosition(TVariableType const &rDofVariable) const
Get DoF position with a given position.
Definition: node.h:629
double & Z0()
Definition: node.h:576
TVariableType::Type const & GetSolutionStepValue(const TVariableType &rThisVariable, IndexType SolutionStepIndex) const
Definition: node.h:421
void UnSetLock()
Definition: node.h:287
TVariableType::Type & operator()(const TVariableType &rThisVariable)
Definition: node.h:326
TVariableType::Type & FastGetCurrentSolutionStepValue(const TVariableType &rThisVariable, IndexType ThisPosition)
Definition: node.h:460
double & operator[](IndexType ThisIndex)
Definition: node.h:341
~Node() override
Destructor.
Definition: node.h:249
TVariableType::Type const & GetSolutionStepValue(const TVariableType &rThisVariable) const
Definition: node.h:411
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(Node)
Pointer definition of Node.
bool IsFixed(const VariableData &rDofVariable) const
Definition: node.h:897
Node(IndexType NewId, double const &NewX, double const &NewY, double const &NewZ, VariablesList::Pointer pVariablesList, BlockType const *ThisData, SizeType NewQueueSize=1)
3d with variables list and data constructor.
Definition: node.h:218
Node(IndexType NewId, std::vector< double > const &rOtherCoordinates)
Definition: node.h:205
double & X0()
Definition: node.h:568
Node(IndexType NewId, double const &NewX, double const &NewY)
2d constructor.
Definition: node.h:144
Node()
Default constructor.
Definition: node.h:105
void OverwriteSolutionStepData(IndexType SourceSolutionStepIndex, IndexType DestinationSourceSolutionStepIndex)
Definition: node.h:365
DofType::Pointer pAddDof(TVariableType const &rDofVariable, TReactionType const &rDofReaction)
Definition: node.h:810
void SetId(IndexType NewId)
Definition: node.h:272
DofsContainerType & GetDofs()
Definition: node.h:694
unsigned int use_count() const noexcept
Definition: node.h:256
const VariablesListDataValueContainer & SolutionStepData() const
Definition: node.h:385
Node(IndexType NewId, double const &NewX, double const &NewY, double const &NewZ)
3d constructor.
Definition: node.h:157
Node & operator=(const Node &rOther)
Assignment operator.
Definition: node.h:297
TVariableType::Type & GetSolutionStepValue(const TVariableType &rThisVariable, IndexType SolutionStepIndex)
Definition: node.h:416
double Y0() const
Definition: node.h:585
Node(IndexType NewId, vector_expression< TVectorType > const &rOtherCoordinates)
Definition: node.h:189
double & Y0()
Definition: node.h:572
DofType::Pointer pGetDof(TVariableType const &rDofVariable) const
Get DoF counted pointer for a given variable.
Definition: node.h:711
VariablesList::Pointer pGetVariablesList()
Definition: node.h:608
Node(IndexType NewId)
Definition: node.h:117
double operator[](IndexType ThisIndex) const
Definition: node.h:346
void CreateSolutionStepData()
Definition: node.h:355
const DataValueContainer & GetData() const
Definition: node.h:401
TVariableType::Type & operator()(const TVariableType &rThisVariable, IndexType SolutionStepIndex)
Definition: node.h:321
std::vector< std::unique_ptr< Dof< double > >> DofsContainerType
The DoF container type definition.
Definition: node.h:92
Node::Pointer Clone()
Definition: node.h:229
DofType::Pointer pAddDof(TVariableType const &rDofVariable)
Definition: node.h:759
TVariableType::Type & FastGetSolutionStepValue(const TVariableType &rThisVariable, IndexType SolutionStepIndex, IndexType ThisPosition)
Definition: node.h:455
VariablesListDataValueContainer & SolutionStepData()
Definition: node.h:380
bool Has(const Variable< TDataType > &rThisVariable) const
Definition: node.h:498
TVariableType::Type & FastGetSolutionStepValue(const TVariableType &rThisVariable, IndexType SolutionStepIndex)
Definition: node.h:445
LockObject & GetLock()
Definition: node.h:277
const DofType & GetDof(TVariableType const &rDofVariable) const
Get DoF for a given variable.
Definition: node.h:681
DofType::Pointer pGetDof(TVariableType const &rDofVariable, int Position) const
Get DoF counted pointer with a given position. If not found it is search.
Definition: node.h:731
void CloneSolutionStepData()
Definition: node.h:360
DofType & AddDof(TVariableType const &rDofVariable)
Definition: node.h:835
bool IsActive() const
Checks if the GeometricalObject is active.
Definition: node.h:911
DofType::Pointer pAddDof(DofType const &SourceDof)
Definition: node.h:781
const PointType & GetInitialPosition() const
Definition: node.h:559
static int IsInParallel()
Wrapper for omp_in_parallel().
Definition: openmp_utils.h:122
Point class.
Definition: point.h:59
bool operator==(const Point &rOther) const
Definition: point.h:139
Point & operator=(const Point &rOther)
Assignment operator.
Definition: point.h:133
Point()
Default constructor.
Definition: point.h:86
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: point.h:242
double Y() const
Definition: point.h:187
std::size_t SizeType
Definition: point.h:77
double Z() const
Definition: point.h:193
double X() const
Definition: point.h:181
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
void load(std::string const &rTag, TDataType &rObject)
Definition: serializer.h:207
void save(std::string const &rTag, std::array< TDataType, TDataSize > const &rObject)
Definition: serializer.h:545
This class is the base of variables and variable's components which contains their common data.
Definition: variable_data.h:49
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
A shared variable list gives the position of each variable in the containers sharing it.
Definition: variables_list_data_value_container.h:61
void Clear()
Definition: variables_list_data_value_container.h:410
void AssignData(BlockType *Source, SizeType QueueIndex)
Definition: variables_list_data_value_container.h:629
TDataType & FastGetCurrentValue(const Variable< TDataType > &rThisVariable, SizeType ThisPosition)
Definition: variables_list_data_value_container.h:341
void PushFront()
Definition: variables_list_data_value_container.h:660
SizeType QueueSize() const
Definition: variables_list_data_value_container.h:387
void SetVariablesList(VariablesList::Pointer pVariablesList)
Definition: variables_list_data_value_container.h:444
TDataType & GetValue(const Variable< TDataType > &rThisVariable)
Definition: variables_list_data_value_container.h:282
bool Has(const VariableData &rThisVariable) const
This method returns if a certain variable is stored in the data value container.
Definition: variables_list_data_value_container.h:704
void Resize(SizeType NewSize)
Definition: variables_list_data_value_container.h:490
VariablesList::Pointer pGetVariablesList()
Definition: variables_list_data_value_container.h:424
VariablesList::BlockType BlockType
The block type definition.
Definition: variables_list_data_value_container.h:70
TDataType & FastGetValue(const Variable< TDataType > &rThisVariable)
Definition: variables_list_data_value_container.h:314
void CloneFront()
Definition: variables_list_data_value_container.h:641
Short class definition.
Definition: array_1d.h:61
BOOST_UBLAS_INLINE const_reference operator[](size_type i) const
Definition: array_1d.h:173
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
#define KRATOS_ERROR
Definition: exception.h:161
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::unique_ptr< T > unique_ptr
Definition: smart_pointers.h:33
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
namespace KRATOS_DEPRECATED_MESSAGE("Please use std::filesystem directly") filesystem
Definition: kratos_filesystem.h:33
AMatrix::MatrixExpression< TExpressionType, AMatrix::row_major_access > vector_expression
Definition: amatrix_interface.h:490
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
def load(f)
Definition: ode_solve.py:307
tuple const
Definition: ode_solve.py:403
x
Definition: sensitivityMatrix.py:49
integer i
Definition: TensorModule.f:17