KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Static Public Member Functions | List of all members
Kratos::EnrichmentUtilitiesforPFEM2 Class Reference

#include <enrichmentutilities.h>

Collaboration diagram for Kratos::EnrichmentUtilitiesforPFEM2:

Static Public Member Functions

static int CalculateEnrichedShapeFuncions (BoundedMatrix< double,(2+1), 2 > &rPoints, BoundedMatrix< double,(2+1), 2 > &DN_DX, array_1d< double,(2+1)> &rDistances, array_1d< double,(3 *(2-1))> &rVolumes, BoundedMatrix< double, 3 *(2-1),(2+1) > &rGPShapeFunctionValues, array_1d< double,(3 *(2-1))> &rPartitionsSign, std::vector< Matrix > &rGradientsValue, BoundedMatrix< double, 3 *(2-1),(2)> &NEnriched, array_1d< double,(3)> &rGPShapeFunctionValues_in_interfase, array_1d< double,(3)> &NEnriched_in_interfase, double &InterfaseArea)
 
static int CalculateEnrichedShapeFuncionsExtendedmodified (BoundedMatrix< double,(2+1), 2 > &rPoints, BoundedMatrix< double,(2+1), 2 > &DN_DX, array_1d< double,(2+1)> &rDistances, array_1d< double,(3 *(2-1))> &rVolumes, BoundedMatrix< double, 3 *(2-1),(2+1) > &rGPShapeFunctionValues, array_1d< double,(3 *(2-1))> &rPartitionsSign, std::vector< Matrix > &rGradientsValue, BoundedMatrix< double, 3 *(2-1),(5)> &NEnriched, BoundedMatrix< double, 10, 2 > &rGradientpositive, BoundedMatrix< double, 10, 2 > &rGradientnegative, BoundedMatrix< int, 3, 3 > &father_nodes)
 
static int CalculateEnrichedShapeFuncionsExtendedmodified_gausspoints (Geometry< Node > &trianglegeom, BoundedMatrix< double,(2+1), 2 > &rPoints, BoundedMatrix< double,(2+1), 2 > &DN_DX, array_1d< double,(2+1)> &rDistances, array_1d< double,(3 *(2-1))> &rVolumes, BoundedMatrix< double, 3 *(2-1),(2+1) > &rGPShapeFunctionValues, array_1d< double,(3 *(2-1))> &rPartitionsSign, std::vector< Matrix > &rGradientsValue, BoundedMatrix< double, 3 *(2-1),(5)> &NEnriched, BoundedMatrix< double, 10, 2 > &rGradientpositive, BoundedMatrix< double, 10, 2 > &rGradientnegative, BoundedMatrix< int, 3, 3 > &father_nodes, std::vector< Matrix > &PRUEBA, array_1d< double, 6 > &weight)
 
static int CalculateEnrichedShapeFuncions_Simplified (Geometry< Node > &rGeom, BoundedMatrix< double,(3+1), 3 > &rPoints, BoundedMatrix< double,(3+1), 3 > &DN_DX, array_1d< double,(3+1)> &rDistances, array_1d< double,(3 *(3-1))> &rVolumes, BoundedMatrix< double, 3 *(3-1),(3+1) > &rShapeFunctionValues, array_1d< double,(3 *(3-1))> &rPartitionsSign, std::vector< Matrix > &rGradientsValue, std::vector< Matrix > &rGradientsValueaux, BoundedMatrix< double, 3 *(3-1),(2)> &NEnriched, int &number_interface_elements, BoundedMatrix< double, 2, 3 > &coord_interface_nodes, array_1d< double, 6 > &area_interface, array_1d< double, 6 > &area_inter, array_1d< double, 6 > &N_Star, bool &switch_off_e, std::vector< Matrix > &edges_t, std::vector< Matrix > &nodes, std::vector< Matrix > &original_edges, std::vector< Matrix > &rGradientaux1, int &totalnodes, std::vector< Matrix > &interface_nodes, BoundedMatrix< double, 3 *(3-1), 8 > &Ngauss_new, std::vector< Matrix > &Tres, std::vector< Matrix > &PRUEBA, array_1d< double, 6 > &weight)
 

Detailed Description

This utility can be used to calculate the enriched shape function for tetrahedra element. The metodology consists in partitioning the tetrahedra in a set of sub-tetrahedra and cacluate the enrichment information using these partitions.

Member Function Documentation

◆ CalculateEnrichedShapeFuncions()

static int Kratos::EnrichmentUtilitiesforPFEM2::CalculateEnrichedShapeFuncions ( BoundedMatrix< double,(2+1), 2 > &  rPoints,
BoundedMatrix< double,(2+1), 2 > &  DN_DX,
array_1d< double,(2+1)> &  rDistances,
array_1d< double,(3 *(2-1))> &  rVolumes,
BoundedMatrix< double, 3 *(2-1),(2+1) > &  rGPShapeFunctionValues,
array_1d< double,(3 *(2-1))> &  rPartitionsSign,
std::vector< Matrix > &  rGradientsValue,
BoundedMatrix< double, 3 *(2-1),(2)> &  NEnriched,
array_1d< double,(3)> &  rGPShapeFunctionValues_in_interfase,
array_1d< double,(3)> &  NEnriched_in_interfase,
double InterfaseArea 
)
inlinestatic

◆ CalculateEnrichedShapeFuncions_Simplified()

static int Kratos::EnrichmentUtilitiesforPFEM2::CalculateEnrichedShapeFuncions_Simplified ( Geometry< Node > &  rGeom,
BoundedMatrix< double,(3+1), 3 > &  rPoints,
BoundedMatrix< double,(3+1), 3 > &  DN_DX,
array_1d< double,(3+1)> &  rDistances,
array_1d< double,(3 *(3-1))> &  rVolumes,
BoundedMatrix< double, 3 *(3-1),(3+1) > &  rShapeFunctionValues,
array_1d< double,(3 *(3-1))> &  rPartitionsSign,
std::vector< Matrix > &  rGradientsValue,
std::vector< Matrix > &  rGradientsValueaux,
BoundedMatrix< double, 3 *(3-1),(2)> &  NEnriched,
int number_interface_elements,
BoundedMatrix< double, 2, 3 > &  coord_interface_nodes,
array_1d< double, 6 > &  area_interface,
array_1d< double, 6 > &  area_inter,
array_1d< double, 6 > &  N_Star,
bool switch_off_e,
std::vector< Matrix > &  edges_t,
std::vector< Matrix > &  nodes,
std::vector< Matrix > &  original_edges,
std::vector< Matrix > &  rGradientaux1,
int totalnodes,
std::vector< Matrix > &  interface_nodes,
BoundedMatrix< double, 3 *(3-1), 8 > &  Ngauss_new,
std::vector< Matrix > &  Tres,
std::vector< Matrix > &  PRUEBA,
array_1d< double, 6 > &  weight 
)
inlinestatic

para el elemento global

para las coordenadas globales

◆ CalculateEnrichedShapeFuncionsExtendedmodified()

static int Kratos::EnrichmentUtilitiesforPFEM2::CalculateEnrichedShapeFuncionsExtendedmodified ( BoundedMatrix< double,(2+1), 2 > &  rPoints,
BoundedMatrix< double,(2+1), 2 > &  DN_DX,
array_1d< double,(2+1)> &  rDistances,
array_1d< double,(3 *(2-1))> &  rVolumes,
BoundedMatrix< double, 3 *(2-1),(2+1) > &  rGPShapeFunctionValues,
array_1d< double,(3 *(2-1))> &  rPartitionsSign,
std::vector< Matrix > &  rGradientsValue,
BoundedMatrix< double, 3 *(2-1),(5)> &  NEnriched,
BoundedMatrix< double, 10, 2 > &  rGradientpositive,
BoundedMatrix< double, 10, 2 > &  rGradientnegative,
BoundedMatrix< int, 3, 3 > &  father_nodes 
)
inlinestatic

◆ CalculateEnrichedShapeFuncionsExtendedmodified_gausspoints()

static int Kratos::EnrichmentUtilitiesforPFEM2::CalculateEnrichedShapeFuncionsExtendedmodified_gausspoints ( Geometry< Node > &  trianglegeom,
BoundedMatrix< double,(2+1), 2 > &  rPoints,
BoundedMatrix< double,(2+1), 2 > &  DN_DX,
array_1d< double,(2+1)> &  rDistances,
array_1d< double,(3 *(2-1))> &  rVolumes,
BoundedMatrix< double, 3 *(2-1),(2+1) > &  rGPShapeFunctionValues,
array_1d< double,(3 *(2-1))> &  rPartitionsSign,
std::vector< Matrix > &  rGradientsValue,
BoundedMatrix< double, 3 *(2-1),(5)> &  NEnriched,
BoundedMatrix< double, 10, 2 > &  rGradientpositive,
BoundedMatrix< double, 10, 2 > &  rGradientnegative,
BoundedMatrix< int, 3, 3 > &  father_nodes,
std::vector< Matrix > &  PRUEBA,
array_1d< double, 6 > &  weight 
)
inlinestatic

The documentation for this class was generated from the following file: