Line data Source code
1 : /**********************************************************************/ 2 : /* DO NOT MODIFY THIS HEADER */ 3 : /* MAGPIE - Mesoscale Atomistic Glue Program for Integrated Execution */ 4 : /* */ 5 : /* Copyright 2017 Battelle Energy Alliance, LLC */ 6 : /* ALL RIGHTS RESERVED */ 7 : /**********************************************************************/ 8 : #ifdef GSL_ENABLED 9 : 10 : #pragma once 11 : 12 : #include "DPAUserObjectBase.h" 13 : #include "ParkinCoulterInterface.h" 14 : 15 : class ParkinCoulterDPAUserObject : public DPAUserObjectBase, public ParkinCoulterInterface 16 : { 17 : public: 18 : static InputParameters validParams(); 19 : 20 : ParkinCoulterDPAUserObject(const InputParameters & parameters); 21 : void finalize() override; 22 : void execute() override; 23 : void initialSetup() override; 24 : 25 : protected: 26 : virtual void initDamageFunctions() override; 27 : virtual std::vector<unsigned int> atomicNumbers() const override; 28 : virtual std::vector<Real> massNumbers() const override; 29 : virtual std::vector<Real> numberFractions() const override; 30 4 : virtual Real maxEnergy() const override { return getMaxEnergy(); } 31 : virtual Real integralDamageFunction(Real T, unsigned int i, unsigned int j) const override; 32 : virtual void onCompositionChanged() override; 33 : }; 34 : 35 : #endif // GSL_ENABLED