9 #ifndef __PZ__TPZLagrangeMultiplier__ 10 #define __PZ__TPZLagrangeMultiplier__ 43 TPZDiscontinuousGalerkin(copy), fNStateVariables(copy.fNStateVariables), fDimension(copy.fDimension), fMultiplier(copy.fMultiplier)
80 virtual std::string
Name()
override 82 return "TPZLagrangeMultiplier";
103 int nref_left = datavec_left.
size();
104 for(
int iref = 0; iref<nref_left; iref++){
105 datavec_left[iref].SetAllRequirements(
false);
109 int nref_right = datavec_right.
size();
110 for(
int iref = 0; iref<nref_right; iref++){
111 datavec_right[iref].SetAllRequirements(
false);
253 std::cout << __PRETTY_FUNCTION__ <<
" should never be called\n";
284 int &errorid)
override {
285 PZError <<
"Method not implemented\n";
292 int &errorid)
override {
293 PZError <<
"Method not implemented\n";
302 virtual int ClassId()
const override;
306 virtual void Write(
TPZStream &buf,
int withclassid)
const override;
Defines the interface which material objects need to implement for discontinuous Galerkin formulation...
virtual void ContributeInterfaceBCErrors(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZVec< STATE > &nk, TPZBndCond &bc, int &errorid) override
TPZLagrangeMultiplier & operator=(const TPZLagrangeMultiplier ©)
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
It computes a contribution to the stiffness matrix and load vector at one integration point...
Material which implements a Lagrange Multiplier.
virtual void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
It computes a contribution to stiffness matrix and load vector at one BC integration point...
clarg::argBool bc("-bc", "binary checkpoints", false)
virtual void ContributeBC(TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
It computes a contribution to the stiffness matrix and load vector at one BC integration point to mul...
TPZMaterial * NewMaterial() override
To create another material of the same type.
clarg::argInt dimension("-d", "Matrices dimension M x M", 1000)
TPZMaterial & operator=(const TPZMaterial ©)
operator =
virtual void FillDataRequirementsInterface(TPZMaterialData &data, TPZVec< TPZMaterialData > &datavec_left, TPZVec< TPZMaterialData > &datavec_right) override
This method defines which parameters need to be initialized in order to compute the contribution of i...
virtual void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
void SetAllRequirements(bool set)
Set all flags at once.
TPZLagrangeMultiplier(const TPZLagrangeMultiplier ©)
Copy constructor.
virtual int Dimension() const override
Returns the integrable dimension of the material.
virtual void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
It computes a contribution to residual vector at one BC integration point.
TPZLagrangeMultiplier()
Simple constructor.
This class implements a simple vector storage scheme for a templated class T. Utility.
virtual void InterfaceJump(TPZVec< REAL > &x, TPZSolVec &leftu, TPZSolVec &rightu, TPZSolVec &jump) override
Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces...
virtual void ContributeInterfaceErrors(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZVec< STATE > &nkL, TPZVec< STATE > &nkR, int &errorid) override
void SolutionDisc(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, int var, TPZVec< STATE > &Solout)
Returns the solution associated with the var index based on the finite element approximation.
virtual void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
This abstract class defines the behaviour which each derived class needs to implement.
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
It computes a contribution to the residual vector at one integration point.
int64_t size() const
Returns the number of elements of the vector.
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
It computes a contribution to the stiffness matrix and load vector at one BC integration point...
virtual ~TPZLagrangeMultiplier()
Destructor.
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
It computes a contribution to the stiffness matrix and load vector at one BC integration point...
virtual int ClassId() const override
Unique identifier for serialization purposes.
#define DebugStop()
Returns a message to user put a breakpoint in.
This class defines the boundary condition for TPZMaterial objects.
virtual std::string Name() override
Returns the name of the material.
virtual void FillDataRequirementsInterface(TPZMaterialData &data) override
Fill material data parameter with necessary requirements for the ContributeInterface method...
int fNStateVariables
Number of state variables.
virtual void SetMultiplier(STATE mult)
TPZLagrangeMultiplier(int nummat, int dimension, int nstate)
Constructor with the index of the material object within the vector.
virtual void ContributeBCInterface(TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
It computes a contribution to stiffness matrix and load vector at one BC integration point to multiph...
virtual void ContributeInterface(TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ef) override
Computes a contribution to residual vector at one integration point.
virtual int NStateVariables() const override
Returns the number of state variables associated with the material.
Defines the interface for saving and reading data. Persistency.
Contains the TPZDiscontinuousGalerkin class which implements the interface for discontinuous Galerkin...
int fDimension
Dimensiona associated with the material.
virtual void ContributeInterface(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
It computes a contribution to stiffness matrix and load vector at one integration point...
#define PZError
Defines the output device to error messages and the DebugStop() function.