Skip to content

Commit

Permalink
Merge pull request #11743 from KratosMultiphysics/core/element_condit…
Browse files Browse the repository at this point in the history
…ion/extend_gp_calcs

[Core] Add mising methods on GaussPoints to Elements and Conditions
  • Loading branch information
sunethwarna authored Nov 10, 2023
2 parents d0fab22 + cea523f commit fd8a4f4
Show file tree
Hide file tree
Showing 3 changed files with 204 additions and 106 deletions.
126 changes: 84 additions & 42 deletions kratos/includes/condition.h
Original file line number Diff line number Diff line change
Expand Up @@ -703,45 +703,66 @@ class Condition : public GeometricalObject
* CalculateValueOnIntegrationPoints: calculates the values of given Variable.
*/

virtual void CalculateOnIntegrationPoints(const Variable<bool>& rVariable,
std::vector<bool>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<bool>& rVariable,
std::vector<bool>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<int>& rVariable,
std::vector<int>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<int>& rVariable,
std::vector<int>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<double>& rVariable,
std::vector<double>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<double>& rVariable,
std::vector<double>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<array_1d<double, 3 > >& rVariable,
std::vector< array_1d<double, 3 > >& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<array_1d<double, 3>>& rVariable,
std::vector< array_1d<double, 3>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<array_1d<double, 6 > >& rVariable,
std::vector< array_1d<double, 6 > >& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<array_1d<double, 4>>& rVariable,
std::vector< array_1d<double, 4>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<Vector >& rVariable,
std::vector< Vector >& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<array_1d<double, 6>>& rVariable,
std::vector<array_1d<double, 6>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<Matrix >& rVariable,
std::vector< Matrix >& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<array_1d<double, 9>>& rVariable,
std::vector<array_1d<double, 9>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(
const Variable<Vector>& rVariable,
std::vector<Vector>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(
const Variable<Matrix>& rVariable,
std::vector<Matrix>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

Expand All @@ -758,45 +779,66 @@ class Condition : public GeometricalObject

//SET ON INTEGRATION POINTS - METHODS

virtual void SetValuesOnIntegrationPoints(const Variable<bool>& rVariable,
const std::vector<bool>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<bool>& rVariable,
const std::vector<bool>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(
const Variable<int>& rVariable,
const std::vector<int>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(
const Variable<double>& rVariable,
const std::vector<double>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<int>& rVariable,
const std::vector<int>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<array_1d<double, 3>>& rVariable,
const std::vector<array_1d<double, 3>>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<double>& rVariable,
const std::vector<double>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<array_1d<double, 4>>& rVariable,
const std::vector<array_1d<double, 4>>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<array_1d<double, 3 > >& rVariable,
const std::vector<array_1d<double, 3 > >& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<array_1d<double, 6>>& rVariable,
const std::vector<array_1d<double, 6>>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<array_1d<double, 6 > >& rVariable,
const std::vector<array_1d<double, 6 > >& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<array_1d<double, 9>>& rVariable,
const std::vector<array_1d<double, 9>>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<Vector>& rVariable,
const std::vector<Vector>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<Vector>& rVariable,
const std::vector<Vector>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<Matrix>& rVariable,
const std::vector<Matrix>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<Matrix>& rVariable,
const std::vector<Matrix>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

Expand Down
152 changes: 98 additions & 54 deletions kratos/includes/element.h
Original file line number Diff line number Diff line change
Expand Up @@ -716,39 +716,73 @@ class Element : public GeometricalObject
* CalculateValueOnIntegrationPoints: calculates the values of given Variable.
*/

virtual void CalculateOnIntegrationPoints(const Variable<bool>& rVariable,
std::vector<bool>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<bool>& rVariable,
std::vector<bool>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<int>& rVariable,
std::vector<int>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<int>& rVariable,
std::vector<int>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<double>& rVariable,
std::vector<double>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<double>& rVariable,
std::vector<double>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<array_1d<double,3>>& rVariable,
std::vector< array_1d<double,3>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<array_1d<double, 3>>& rVariable,
std::vector< array_1d<double, 3>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<array_1d<double,6>>& rVariable,
std::vector<array_1d<double,6>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<array_1d<double, 4>>& rVariable,
std::vector< array_1d<double, 4>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(const Variable<Vector>& rVariable,
std::vector<Vector>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
virtual void CalculateOnIntegrationPoints(
const Variable<array_1d<double, 6>>& rVariable,
std::vector<array_1d<double, 6>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(
const Variable<array_1d<double, 9>>& rVariable,
std::vector<array_1d<double, 9>>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(
const Variable<Vector>& rVariable,
std::vector<Vector>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(
const Variable<Matrix>& rVariable,
std::vector<Matrix>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void CalculateOnIntegrationPoints(
const Variable<ConstitutiveLaw::Pointer>& rVariable,
std::vector<ConstitutiveLaw::Pointer>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

Expand All @@ -764,12 +798,6 @@ class Element : public GeometricalObject
// {
// }

virtual void CalculateOnIntegrationPoints(const Variable<Matrix>& rVariable,
std::vector<Matrix>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

// virtual void CalculateOnIntegrationPoints(const Variable<ConstitutiveLaw::VoigtSizeMatrixType>& rVariable,
// std::vector<ConstitutiveLaw::VoigtSizeMatrixType>& rOutput,
// const ProcessInfo& rCurrentProcessInfo)
Expand All @@ -782,12 +810,6 @@ class Element : public GeometricalObject
// {
// }

virtual void CalculateOnIntegrationPoints(const Variable<ConstitutiveLaw::Pointer>& rVariable,
std::vector<ConstitutiveLaw::Pointer>& rOutput,
const ProcessInfo& rCurrentProcessInfo)
{
}

/**
* Access for variables on Integration points.
* This gives access to variables stored in the constitutive law on each integration point.
Expand All @@ -800,50 +822,72 @@ class Element : public GeometricalObject
*/

//SET ON INTEGRATION POINTS - METHODS
virtual void SetValuesOnIntegrationPoints(const Variable<bool>& rVariable,
const std::vector<bool>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<bool>& rVariable,
const std::vector<bool>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}
virtual void SetValuesOnIntegrationPoints(const Variable<int>& rVariable,
const std::vector<int>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<int>& rVariable,
const std::vector<int>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(
const Variable<double>& rVariable,
const std::vector<double>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(
const Variable<array_1d<double, 3>>& rVariable,
const std::vector<array_1d<double, 3>>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<double>& rVariable,
const std::vector<double>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<array_1d<double, 4>>& rVariable,
const std::vector<array_1d<double, 4>>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<array_1d<double, 3 > >& rVariable,
const std::vector<array_1d<double, 3 > >& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<array_1d<double, 6>>& rVariable,
const std::vector<array_1d<double, 6>>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<array_1d<double, 6 > >& rVariable,
const std::vector<array_1d<double, 6 > >& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<array_1d<double, 9>>& rVariable,
const std::vector<array_1d<double, 9>>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<Vector>& rVariable,
const std::vector<Vector>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<Vector>& rVariable,
const std::vector<Vector>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<Matrix>& rVariable,
const std::vector<Matrix>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<Matrix>& rVariable,
const std::vector<Matrix>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

virtual void SetValuesOnIntegrationPoints(const Variable<ConstitutiveLaw::Pointer>& rVariable,
const std::vector<ConstitutiveLaw::Pointer>& rValues,
const ProcessInfo& rCurrentProcessInfo)
virtual void SetValuesOnIntegrationPoints(
const Variable<ConstitutiveLaw::Pointer>& rVariable,
const std::vector<ConstitutiveLaw::Pointer>& rValues,
const ProcessInfo& rCurrentProcessInfo)
{
}

Expand Down
Loading

0 comments on commit fd8a4f4

Please sign in to comment.