37 int nmesh = datavec.
size();
42 int phrq = phiQ.
Rows();
43 int phrp = phiP.
Rows();
47 for(iq = 0; iq<phrq; iq++) {
48 for(jp=0; jp<phrp; jp++) {
49 ek(iq, phrq+jp) +=
fMultiplier*weight*phiQ(iq,0)*phiP(jp,0);
56 for(ip=0; ip<phrp; ip++) {
57 for(jq=0; jq<phrq; jq++) {
58 ek(ip + phrq,jq) +=
fMultiplier*weight*phiP(ip,0)*phiQ(jq,0);
76 for (
int i=0; i<dataleft.
size(); i++) {
77 if (dataleft[i].phi.Rows() != 0) {
78 phiLPtr = &dataleft[i].phi;
82 for (
int i=0; i<dataright.
size(); i++) {
83 if (dataright[i].phi.Rows() != 0) {
84 phiRPtr = &dataright[i].phi;
89 if(!phiLPtr || !phiRPtr)
97 int nrowl = phiL.
Rows();
98 int nrowr = phiR.
Rows();
103 std::cout<<
"ek.Rows() "<< ek.
Rows()<<
104 " nrowl " << nrowl <<
105 " nrowr " << nrowr <<
" may give wrong result " << std::endl;
113 for(il=0; il<nrowl; il++) {
114 for(jr=0; jr<nrowr; jr++) {
116 ek(fNStateVariables*il+ist,fNStateVariables*jr+ist+secondblock) += weight *
fMultiplier * (phiL(il) * phiR(jr));
122 for(ir=0; ir<nrowr; ir++) {
123 for(jl=0; jl<nrowl; jl++) {
125 ek(ir*fNStateVariables+ist+secondblock,jl*fNStateVariables+ist) += weight *
fMultiplier * (phiR(ir) * phiL(jl));
155 int nrowl = phiL.
Rows();
156 int nrowr = phiR.
Rows();
167 for(il=0; il<nrowl; il++) {
168 for(jr=0; jr<nrowr; jr++) {
170 ek(fNStateVariables*il+ist,fNStateVariables*jr+ist+secondblock) += weight *
fMultiplier * (phiL(il) * phiR(jr));
176 for(ir=0; ir<nrowr; ir++) {
177 for(jl=0; jl<nrowl; jl++) {
179 ek(ir*fNStateVariables+ist+secondblock,jl*fNStateVariables+ist) += weight *
fMultiplier * (phiR(ir) * phiL(jl));
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...
int ClassId() const override
Unique identifier for serialization purposes.
void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
virtual void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
This class implements a simple vector storage scheme for a templated class T. Utility.
TPZFNMatrix< 220, REAL > phi
vector of shapefunctions (format is dependent on the value of shapetype)
virtual void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
int64_t size() const
Returns the number of elements of the vector.
virtual void Write(const bool val)
void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
virtual int ClassId() const override
Unique identifier for serialization purposes.
#define DebugStop()
Returns a message to user put a breakpoint in.
int64_t Rows() const
Returns number of rows.
int fNStateVariables
Number of state variables.
int32_t Hash(std::string str)
Defines the interface for saving and reading data. Persistency.
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...
virtual void Read(bool &val)