Skip to content

Commit

Permalink
Moved surface tension term calculation into boundary material
Browse files Browse the repository at this point in the history
  • Loading branch information
lindsayad authored and cticenhour committed Dec 19, 2018
1 parent add389e commit 8512805
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
5 changes: 5 additions & 0 deletions include/materials/CrazyKCPlantFitsBoundary.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ class CrazyKCPlantFitsBoundary : public ADMaterial<compute_stage>
const Real _T0;
ADMaterialProperty(Real) & _surface_tension;
ADMaterialProperty(RealVectorValue) & _grad_surface_tension;
const typename PointType<compute_stage>::type & _ad_normals;
const ADVariableValue & _ad_curvatures;
ADMaterialProperty(RealVectorValue) & _surface_term_curvature;
ADMaterialProperty(RealVectorValue) & _surface_term_gradient1;
ADMaterialProperty(RealVectorValue) & _surface_term_gradient2;

usingMaterialMembers;
};
Expand Down
12 changes: 11 additions & 1 deletion src/materials/CrazyKCPlantFitsBoundary.C
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
//* https://www.gnu.org/licenses/lgpl-2.1.html

#include "CrazyKCPlantFitsBoundary.h"
#include "Assembly.h"

registerADMooseObject("ArticunoApp", CrazyKCPlantFitsBoundary);

Expand Down Expand Up @@ -64,7 +65,12 @@ CrazyKCPlantFitsBoundary<compute_stage>::CrazyKCPlantFitsBoundary(
_surface_tension(
adDeclareADProperty<Real>(adGetParam<MaterialPropertyName>("surface_tension_name"))),
_grad_surface_tension(adDeclareADProperty<RealVectorValue>(
adGetParam<MaterialPropertyName>("grad_surface_tension_name")))
adGetParam<MaterialPropertyName>("grad_surface_tension_name"))),
_ad_normals(this->_assembly.template adNormals<compute_stage>()),
_ad_curvatures(this->_assembly.template adCurvatures<compute_stage>()),
_surface_term_curvature(adDeclareADProperty<RealVectorValue>("surface_term_curvature")),
_surface_term_gradient1(adDeclareADProperty<RealVectorValue>("surface_term_gradient1")),
_surface_term_gradient2(adDeclareADProperty<RealVectorValue>("surface_term_gradient2"))
{
}

Expand All @@ -82,4 +88,8 @@ CrazyKCPlantFitsBoundary<compute_stage>::computeQpProperties()

_surface_tension[_qp] = _sigma0 + _alpha * (_temperature[_qp] - _T0);
_grad_surface_tension[_qp] = _alpha * _grad_temperature[_qp];
_surface_term_curvature[_qp] =
-2. * _ad_curvatures[_qp] * _surface_tension[_qp] * _ad_normals[_qp];
_surface_term_gradient1[_qp] = -_grad_surface_tension[_qp];
_surface_term_gradient2[_qp] = _ad_normals[_qp] * (_ad_normals[_qp] * _grad_surface_tension[_qp]);
}

0 comments on commit 8512805

Please sign in to comment.