28 #if !defined(INITIAL_CURRENT)
29 #define INITIAL_CURRENT
132 for (std::size_t
i = 0;
i < 3; ++
i) {
147 interpol.
resize(nG, 6,
false);
152 for (
unsigned int i = 0;
i < 6;
i++)
154 interpol(0,
i) = 1.0;
159 for (
unsigned int i = 0;
i < 3;
i++)
161 interpol(0,
i) = 1.0;
162 interpol(1,
i) = 0.0;
164 for (
unsigned int i = 3;
i < 6;
i++)
166 interpol(0,
i) = 0.0;
167 interpol(1,
i) = 1.0;
172 for (
unsigned int i = 0;
i < 3;
i++)
174 interpol(0,
i) = 0.745326;
175 interpol(1,
i) = 0.254644;
176 interpol(2,
i) = 0.0;
178 for (
unsigned int i = 3;
i < 6;
i++)
180 interpol(0,
i) = 0.0;
181 interpol(1,
i) = 0.254644;
182 interpol(2,
i) = 0.745326;
187 for (
unsigned int i = 0;
i < 3;
i++)
189 interpol(0,
i) = 0.455467382132614037538;
190 interpol(1,
i) = 0.544532617867385962462;
191 interpol(2,
i) = 0.0;
192 interpol(3,
i) = 0.0;
194 for (
unsigned int i = 3;
i < 6;
i++)
196 interpol(0,
i) = 0.0;
197 interpol(1,
i) = 0.0;
198 interpol(2,
i) = 0.544532617867385962462;
199 interpol(3,
i) = 0.455467382132614037538;
204 for (
unsigned int i = 0;
i < 3;
i++)
206 interpol(0,
i) = 0.062831503549096234958;
207 interpol(1,
i) = 0.907868;
208 interpol(2,
i) = 0.0293;
209 interpol(3,
i) = 0.0;
210 interpol(4,
i) = 0.0;
212 for (
unsigned int i = 3;
i < 6;
i++)
214 interpol(0,
i) = 0.0;
215 interpol(1,
i) = 0.0;
216 interpol(2,
i) = 0.0293;
217 interpol(3,
i) = 0.907868;
218 interpol(4,
i) = 0.062831503549096234958;
223 for (
unsigned int i = 0;
i < 3;
i++)
225 interpol(0,
i) = 0.0;
226 interpol(1,
i) = 0.51090930312223869755;
227 interpol(2,
i) = 0.48909069687776130245;
228 interpol(3,
i) = 0.0;
229 interpol(4,
i) = 0.0;
230 interpol(5,
i) = 0.0;
231 interpol(6,
i) = 0.0;
233 for (
unsigned int i = 3;
i < 6;
i++)
235 interpol(0,
i) = 0.0;
236 interpol(1,
i) = 0.0;
237 interpol(2,
i) = 0.0;
238 interpol(3,
i) = 0.0;
239 interpol(4,
i) = 0.48909069687776130245;
240 interpol(5,
i) = 0.51090930312223869755;
241 interpol(6,
i) = 0.0;
246 for (
unsigned int i = 0;
i < 3;
i++)
248 interpol( 0,
i) = 0.0;
249 interpol( 1,
i) = 0.0;
250 interpol( 2,
i) = 0.27601287860590845062;
251 interpol( 3,
i) = 0.72398712139409154938;
252 interpol( 4,
i) = 0.0;
253 interpol( 5,
i) = 0.0;
254 interpol( 6,
i) = 0.0;
255 interpol( 7,
i) = 0.0;
256 interpol( 8,
i) = 0.0;
257 interpol( 9,
i) = 0.0;
258 interpol(10,
i) = 0.0;
260 for (
unsigned int i = 3;
i < 6;
i++)
262 interpol( 0,
i) = 0.0;
263 interpol( 1,
i) = 0.0;
264 interpol( 2,
i) = 0.0;
265 interpol( 3,
i) = 0.0;
266 interpol( 4,
i) = 0.0;
267 interpol( 5,
i) = 0.0;
268 interpol( 6,
i) = 0.0;
269 interpol( 7,
i) = 0.72398712139409154938;
270 interpol( 8,
i) = 0.27601287860590845062;
271 interpol( 9,
i) = 0.0;
272 interpol(10,
i) = 0.0;
301 q = -0.5 * (
b + std::sqrt(disc));
305 q = -0.5 * (
b - std::sqrt(disc));
329 for (
unsigned int iNode = 0; iNode < Geom.
size(); iNode++)
332 if (ThisConfiguration ==
Current)
335 Radius += CurrentPosition[0] *
N[iNode];
339 const array_1d<double, 3 > DeltaDisplacement = Geom[iNode].FastGetSolutionStepValue(DISPLACEMENT) - Geom[iNode].FastGetSolutionStepValue(DISPLACEMENT,1);
342 Radius += ReferencePosition[0] *
N[iNode];
361 if (ThisConfiguration ==
Current)
364 return CurrentPosition[0];
368 const array_1d<double, 3 > DeltaDisplacement = Geom[0].FastGetSolutionStepValue(DISPLACEMENT) - Geom[0].FastGetSolutionStepValue(DISPLACEMENT,1);
371 return ReferencePosition[0];
395 for(
int i=0;
i<TDim;
i++){
396 for(
int j=0;
j<TDim;
j++){
412 for(
int i=0;
i<TDim;
i++){
413 for(
int j=0;
j<TDim;
j++){
415 column(target_right_dual,
i) += inv_metric_right(
i,
j)*
column(rTargetRight,
j);
421 for(
int k=0;
k<TDim;
k++){
422 for(
int l=0;
l<TDim;
l++){
423 for(
int i=0;
i<TDim;
i++){
424 for(
int j=0;
j<TDim;
j++){
430 rTensor = transformed_tensor;
Geometry base class.
Definition: geometry.h:71
SizeType size() const
Definition: geometry.h:518
Definition: amatrix_interface.h:41
void resize(std::size_t NewSize1, std::size_t NewSize2, bool preserve=0)
Definition: amatrix_interface.h:224
static T CrossProduct(const T &a, const T &b)
Performs the vector product of the two input vectors a,b.
Definition: math_utils.h:762
static BoundedMatrix< double, TDim, TDim > InvertMatrix(const BoundedMatrix< double, TDim, TDim > &rInputMatrix, double &rInputMatrixDet, const double Tolerance=ZeroTolerance)
Calculates the inverse of a 2x2, 3x3 and 4x4 matrices (using bounded matrix for performance)
Definition: math_utils.h:197
This class defines the node.
Definition: node.h:65
Definition: structural_mechanics_math_utilities.hpp:34
Geometry< NodeType > GeometryType
Definition: structural_mechanics_math_utilities.hpp:44
Node NodeType
Definition: structural_mechanics_math_utilities.hpp:42
static void Comp_Orthonor_Vect(array_1d< double, 3 > &t1g, array_1d< double, 3 > &t2g, array_1d< double, 3 > &t3g, const array_1d< double, 3 > &vxe, const array_1d< double, 3 > &vye)
Definition: structural_mechanics_math_utilities.hpp:55
static void TensorTransformation(BoundedMatrix< double, TDim, TDim > &rOriginLeft, BoundedMatrix< double, TDim, TDim > &rOriginRight, BoundedMatrix< double, TDim, TDim > &rTargetLeft, BoundedMatrix< double, TDim, TDim > &rTargetRight, BoundedMatrix< double, TDim, TDim > &rTensor)
Definition: structural_mechanics_math_utilities.hpp:385
static bool SolveSecondOrderEquation(const RealType &a, const RealType &b, const RealType &c, std::vector< RealType > &solution)
Definition: structural_mechanics_math_utilities.hpp:287
static double CalculateRadiusPoint(const GeometryType &Geom, const Configuration ThisConfiguration=Current)
Definition: structural_mechanics_math_utilities.hpp:355
static void Comp_Orthonor_Base(BoundedMatrix< double, 3, 3 > &t, const array_1d< double, 3 > &vxe, const array_1d< double, 3 > &Xdxi, const array_1d< double, 3 > &Xdeta)
Definition: structural_mechanics_math_utilities.hpp:108
static Matrix InterpolPrismGiD(const int nG)
Definition: structural_mechanics_math_utilities.hpp:144
long double RealType
Definition: structural_mechanics_math_utilities.hpp:40
static void Comp_Orthonor_Base(array_1d< double, 3 > &t1g, array_1d< double, 3 > &t2g, array_1d< double, 3 > &t3g, const array_1d< double, 3 > &vxe, const array_1d< double, 3 > &Xdxi, const array_1d< double, 3 > &Xdeta)
Definition: structural_mechanics_math_utilities.hpp:84
static double CalculateRadius(const Vector &N, const GeometryType &Geom, const Configuration ThisConfiguration=Current)
Definition: structural_mechanics_math_utilities.hpp:321
solution
Definition: KratosDEM.py:9
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Configuration
Definition: structural_mechanics_math_utilities.hpp:30
@ Current
Definition: structural_mechanics_math_utilities.hpp:30
@ Initial
Definition: structural_mechanics_math_utilities.hpp:30
TExpressionType::data_type norm_2(AMatrix::MatrixExpression< TExpressionType, TCategory > const &TheExpression)
Definition: amatrix_interface.h:625
KratosZeroMatrix< double > ZeroMatrix
Definition: amatrix_interface.h:559
Internals::Matrix< double, AMatrix::dynamic, AMatrix::dynamic > Matrix
Definition: amatrix_interface.h:470
TExpression1Type::data_type inner_prod(AMatrix::MatrixExpression< TExpression1Type, TCategory1 > const &First, AMatrix::MatrixExpression< TExpression2Type, TCategory2 > const &Second)
Definition: amatrix_interface.h:592
AMatrix::MatrixColumn< const TExpressionType > column(AMatrix::MatrixExpression< TExpressionType, TCategory > const &TheExpression, std::size_t ColumnIndex)
Definition: amatrix_interface.h:637
q
Definition: generate_convection_diffusion_explicit_element.py:109
a
Definition: generate_stokes_twofluid_element.py:77
b
Definition: generate_total_lagrangian_mixed_volumetric_strain_element.py:31
c
Definition: generate_weakly_compressible_navier_stokes_element.py:108
int t
Definition: ode_solve.py:392
int n
manufactured solution and derivatives (u=0 at z=0 dudz=0 at z=domain_height)
Definition: ode_solve.py:402
int k
Definition: quadrature.py:595
int j
Definition: quadrature.py:648
N
Definition: sensitivityMatrix.py:29
integer i
Definition: TensorModule.f:17
integer l
Definition: TensorModule.f:17