class specie update inline operators

This commit is contained in:
ignis 2015-11-24 03:46:12 +09:00
parent 147437386e
commit b912ad59b1

View file

@ -145,6 +145,7 @@ inline void specie::operator=(const specie& st)
//name_ = st.name_;
nMoles_ = st.nMoles_;
molWeight_ = st.molWeight_;
nCharges_ = st.nCharges_;
}
@ -152,6 +153,10 @@ inline void specie::operator+=(const specie& st)
{
scalar sumNmoles = max(nMoles_ + st.nMoles_, SMALL);
nCharges_ =
nMoles_/sumNmoles*nCharges_
+ st.nMoles_/sumNmoles*st.nCharges_;
molWeight_ =
nMoles_/sumNmoles*molWeight_
+ st.nMoles_/sumNmoles*st.molWeight_;
@ -168,6 +173,10 @@ inline void specie::operator-=(const specie& st)
diffnMoles = SMALL;
}
nCharges_ =
nMoles_/diffnMoles*nCharges_
- st.nMoles_/diffnMoles*st.nCharges_;
molWeight_ =
nMoles_/diffnMoles*molWeight_
- st.nMoles_/diffnMoles*st.molWeight_;
@ -192,7 +201,9 @@ inline specie operator+(const specie& st1, const specie& st2)
(
sumNmoles,
st1.nMoles_/sumNmoles*st1.molWeight_
+ st2.nMoles_/sumNmoles*st2.molWeight_
+ st2.nMoles_/sumNmoles*st2.molWeight_,
st1.nMoles_/sumNmoles*st1.nCharges_
+ st2.nMoles_/sumNmoles*st2.nCharges_
);
}
@ -209,7 +220,9 @@ inline specie operator-(const specie& st1, const specie& st2)
(
diffNmoles,
st1.nMoles_/diffNmoles*st1.molWeight_
- st2.nMoles_/diffNmoles*st2.molWeight_
- st2.nMoles_/diffNmoles*st2.molWeight_,
st1.nMoles_/diffNmoles*st1.nCharges_
- st2.nMoles_/diffNmoles*st2.nCharges_
);
}
@ -219,7 +232,8 @@ inline specie operator*(const scalar s, const specie& st)
return specie
(
s*st.nMoles_,
st.molWeight_
st.molWeight_,
st.nCharges_
);
}