| 822 | } |
| 823 | |
| 824 | void |
| 825 | PFEMElement2DBubble::getFp(Vector& fp) const |
| 826 | { |
| 827 | Matrix Gbub(2,3); |
| 828 | getGbub(Gbub); |
| 829 | double Mbub = getMbub(); |
| 830 | |
| 831 | Matrix Kbub(2,2); |
| 832 | getKbub(Kbub); |
| 833 | |
| 834 | if (ops_Dt > 0) { |
| 835 | Kbub(0,0) += Mbub/ops_Dt; |
| 836 | Kbub(1,1) += Mbub/ops_Dt; |
| 837 | } |
| 838 | |
| 839 | Matrix invKbub(2,2); |
| 840 | Kbub.Invert(invKbub); |
| 841 | |
| 842 | Vector Fbub(2); |
| 843 | getFbub(Fbub); |
| 844 | |
| 845 | // bubble force |
| 846 | fp.resize(3); |
| 847 | fp.Zero(); |
| 848 | fp.addMatrixTransposeVector(0.0, Gbub, invKbub*Fbub, -1.0); |
| 849 | } |
| 850 | |
| 851 | int |
| 852 | PFEMElement2DBubble::setParameter(const char **argv, int argc, |
nothing calls this directly
no test coverage detected