13 #if !defined(KRATOS_LINE_3D_N_H_INCLUDED )
14 #define KRATOS_LINE_3D_N_H_INCLUDED
52 template<
class TPo
intType>
170 :
BaseType( ThisPoints, &msGeometryData )
244 template<
class TOtherPo
intType>
258 return typename BaseType::Pointer(
new Line3DN( ThisPoints ) );
281 KRATOS_ERROR <<
"'LumpingFactors' not available for arbitrarty noded line" << std::endl;
306 const double lx = point0.X() - point1.X();
307 const double ly = point0.Y() - point1.Y();
308 const double lz = point0.Z() - point1.Z();
310 const double length = lx * lx + ly * ly + lz * lz;
312 return sqrt( length );
344 KRATOS_ERROR <<
"'DomainSize' not available for arbitrarty noded line" << std::endl;
359 const double Tolerance = std::numeric_limits<double>::epsilon()
362 KRATOS_ERROR <<
"'IsInside' not available for arbitrarty noded line" << std::endl;
386 KRATOS_ERROR <<
"'Jacobian' not available for arbitrarty noded line" << std::endl;
410 KRATOS_ERROR <<
"'Jacobian' not available for arbitrarty noded line" << std::endl;
432 KRATOS_ERROR <<
"'Jacobian' not available for arbitrarty noded line" << std::endl;
449 KRATOS_ERROR <<
"'Jacobian' not available for arbitrarty noded line" << std::endl;
567 KRATOS_ERROR <<
"'ShapeFunctionValue' not available for arbitrarty noded line" << std::endl;
589 std::string
Info()
const override
591 return "1 dimensional line with n nodes in 3D space";
602 rOStream <<
"1 dimensional line with n nodes in 3D space";
625 KRATOS_ERROR <<
"'ShapeFunctionsLocalGradients' not available for arbitrarty noded line" << std::endl;
636 KRATOS_ERROR <<
"'ShapeFunctionsLocalGradients' not available for arbitrarty noded line" << std::endl;
652 KRATOS_ERROR <<
"'ShapeFunctionsLocalGradients' not available for arbitrarty noded line" << std::endl;
663 KRATOS_ERROR <<
"'PointsLocalCoordinates' not available for arbitrarty noded line" << std::endl;
677 KRATOS_ERROR <<
"'ShapeFunctionsGradients' not available for arbitrarty noded line" << std::endl;
744 void save(
Serializer& rSerializer )
const override
768 KRATOS_ERROR <<
"'CalculateShapeFunctionsIntegrationPointsValues' not available for arbitrarty noded line" << std::endl;
785 return integration_points;
792 return shape_functions_values;
799 return shape_functions_local_gradients;
816 template<
class TOtherPo
intType>
friend class Line3DN;
838 template<
class TPo
intType>
843 template<
class TPo
intType>
848 rOStream << std::endl;
857 template<
class TPo
intType>
858 const GeometryData Line3DN<TPointType>::msGeometryData(
861 Line3DN<TPointType>::AllIntegrationPoints(),
862 Line3DN<TPointType>::AllShapeFunctionsValues(),
863 AllShapeFunctionsLocalGradients() );
866 template<
class TPo
intType>
Definition: geometry_data.h:60
IntegrationMethod
Definition: geometry_data.h:76
Definition: geometry_dimension.h:42
Geometry base class.
Definition: geometry.h:71
SizeType PointsNumber() const
Definition: geometry.h:528
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: geometry.h:3834
Geometry & operator=(const Geometry &rOther)
Definition: geometry.h:400
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
std::size_t SizeType
Definition: geometry.h:144
std::size_t IndexType
Definition: geometry.h:137
std::array< Matrix, static_cast< int >GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> ShapeFunctionsValuesContainerType
Definition: geometry.h:172
std::array< IntegrationPointsArrayType, static_cast< int >GeometryData::IntegrationMethod::NumberOfIntegrationMethods)> IntegrationPointsContainerType
Definition: geometry.h:167
LumpingMethods
This defines the different methods to compute the lumping methods.
Definition: geometry.h:109
TPointType const & GetPoint(const int Index) const
Definition: geometry.h:1816
GeometryData::ShapeFunctionsLocalGradientsContainerType ShapeFunctionsLocalGradientsContainerType
Definition: geometry.h:177
GeometryData::IntegrationMethod IntegrationMethod
Definition: geometry.h:122
Short class definition.
Definition: integration_point.h:52
Definition: amatrix_interface.h:41
A arbitrary node 3D line geometry with quadratic shape functions.
Definition: line_3d_n.h:55
virtual ShapeFunctionsGradientsType ShapeFunctionsLocalGradients(IntegrationMethod ThisMethod)
Definition: line_3d_n.h:622
JacobiansType & InverseOfJacobian(JacobiansType &rResult, IntegrationMethod ThisMethod) const override
Definition: line_3d_n.h:499
friend class Line3DN
Definition: line_3d_n.h:816
Line3DN & operator=(Line3DN< TOtherPointType > const &rOther)
Definition: line_3d_n.h:245
BaseType::NormalType NormalType
Definition: line_3d_n.h:141
Matrix & Jacobian(Matrix &rResult, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const override
Definition: line_3d_n.h:430
Line3DN(Line3DN< TOtherPointType > const &rOther)
Definition: line_3d_n.h:198
BaseType::CoordinatesArrayType CoordinatesArrayType
Definition: line_3d_n.h:146
Line3DN(const PointsArrayType &ThisPoints)
Definition: line_3d_n.h:169
double Area() const override
Definition: line_3d_n.h:326
Line3DN(Line3DN const &rOther)
Definition: line_3d_n.h:183
Matrix & InverseOfJacobian(Matrix &rResult, const CoordinatesArrayType &rPoint) const override
Definition: line_3d_n.h:540
double Length() const override
Definition: line_3d_n.h:301
BaseType::IntegrationPointsArrayType IntegrationPointsArrayType
Definition: line_3d_n.h:109
double ShapeFunctionValue(IndexType ShapeFunctionIndex, const CoordinatesArrayType &rPoint) const override
Definition: line_3d_n.h:564
void PrintData(std::ostream &rOStream) const override
Definition: line_3d_n.h:613
BaseType::ShapeFunctionsLocalGradientsContainerType ShapeFunctionsLocalGradientsContainerType
Definition: line_3d_n.h:125
Geometry< TPointType > BaseType
Geometry as base class.
Definition: line_3d_n.h:62
Matrix & Jacobian(Matrix &rResult, const CoordinatesArrayType &rPoint) const override
Definition: line_3d_n.h:447
BaseType::Pointer Create(PointsArrayType const &ThisPoints) const override
Creates a new geometry pointer.
Definition: line_3d_n.h:255
~Line3DN() override
Destructor. Do nothing!!!
Definition: line_3d_n.h:204
void ShapeFunctionsIntegrationPointsGradients(ShapeFunctionsGradientsType &rResult, IntegrationMethod ThisMethod) const override
Definition: line_3d_n.h:573
BaseType::PointsArrayType PointsArrayType
Definition: line_3d_n.h:96
std::string Info() const override
Definition: line_3d_n.h:589
BaseType::SizeType SizeType
Definition: line_3d_n.h:91
Vector & LumpingFactors(Vector &rResult, const typename BaseType::LumpingMethods LumpingMethod) const override
Lumping factors for the calculation of the lumped mass matrix.
Definition: line_3d_n.h:278
BaseType::ShapeFunctionsGradientsType ShapeFunctionsGradientsType
Definition: line_3d_n.h:137
double DomainSize() const override
Definition: line_3d_n.h:342
BaseType::ShapeFunctionsValuesContainerType ShapeFunctionsValuesContainerType
Definition: line_3d_n.h:120
BaseType::JacobiansType JacobiansType
Definition: line_3d_n.h:131
SizeType FacesNumber() const override
Returns the number of faces of the current geometry.
Definition: line_3d_n.h:555
Matrix & PointsLocalCoordinates(Matrix &rResult) const override
Definition: line_3d_n.h:661
BaseType::IntegrationPointsContainerType IntegrationPointsContainerType
Definition: line_3d_n.h:115
BaseType::IndexType IndexType
Definition: line_3d_n.h:84
KRATOS_CLASS_POINTER_DEFINITION(Line3DN)
Pointer definition of Line3DN.
virtual Matrix & ShapeFunctionsGradients(Matrix &rResult, CoordinatesArrayType &rPoint)
Definition: line_3d_n.h:675
bool IsInside(const CoordinatesArrayType &rPoint, CoordinatesArrayType &rResult, const double Tolerance=std::numeric_limits< double >::epsilon()) const override
Returns whether given arbitrary point is inside the Geometry and the respective local point for the g...
Definition: line_3d_n.h:356
Line3DN & operator=(const Line3DN &rOther)
Definition: line_3d_n.h:230
JacobiansType & Jacobian(JacobiansType &rResult, IntegrationMethod ThisMethod) const override
Definition: line_3d_n.h:384
SizeType EdgesNumber() const override
Definition: line_3d_n.h:550
Matrix & ShapeFunctionsLocalGradients(Matrix &rResult, const CoordinatesArrayType &rPoint) const override
Definition: line_3d_n.h:649
BaseType::GeometriesArrayType GeometriesArrayType
Definition: line_3d_n.h:74
Vector & DeterminantOfJacobian(Vector &rResult, IntegrationMethod ThisMethod) const override
Definition: line_3d_n.h:464
BaseType::IntegrationPointType IntegrationPointType
Definition: line_3d_n.h:102
void PrintInfo(std::ostream &rOStream) const override
Definition: line_3d_n.h:600
Matrix & InverseOfJacobian(Matrix &rResult, IndexType IntegrationPointIndex, IntegrationMethod ThisMethod) const override
Definition: line_3d_n.h:522
GeometryData::IntegrationMethod IntegrationMethod
Definition: line_3d_n.h:69
TPointType PointType
Definition: line_3d_n.h:78
JacobiansType & Jacobian(JacobiansType &rResult, IntegrationMethod ThisMethod, Matrix &DeltaPosition) const override
Definition: line_3d_n.h:408
virtual ShapeFunctionsGradientsType ShapeFunctionsLocalGradients()
Definition: line_3d_n.h:634
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Short class definition.
Definition: array_1d.h:61
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#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
Internals::Matrix< double, AMatrix::dynamic, AMatrix::dynamic > Matrix
Definition: amatrix_interface.h:470
const GeometryData Line3DN< TPointType >::msGeometryData & msGeometryDimension(), Line3DN< TPointType >::AllShapeFunctionsValues(), AllShapeFunctionsLocalGradients()
Definition: brep_curve.h:483
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
const GeometryData BrepCurve< TContainerPointType, TContainerPointEmbeddedType >::msGeometryData & msGeometryDimension
Definition: brep_curve.h:483
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
N
Definition: sensitivityMatrix.py:29