| 1680 | } |
| 1681 | |
| 1682 | int OPS_Integrator() |
| 1683 | { |
| 1684 | if (OPS_GetNumRemainingInputArgs() < 1) { |
| 1685 | opserr << "WARNING insufficient args: integrator type ...\n"; |
| 1686 | return -1; |
| 1687 | } |
| 1688 | |
| 1689 | const char* type = OPS_GetString(); |
| 1690 | |
| 1691 | // create integrator |
| 1692 | StaticIntegrator* si = 0; |
| 1693 | TransientIntegrator* ti = 0; |
| 1694 | if (strcmp(type,"LoadControl") == 0) { |
| 1695 | |
| 1696 | si = (StaticIntegrator*)OPS_LoadControlIntegrator(); |
| 1697 | |
| 1698 | } else if (strcmp(type,"DisplacementControl") == 0) { |
| 1699 | |
| 1700 | si = (StaticIntegrator*)OPS_DisplacementControlIntegrator(); |
| 1701 | |
| 1702 | } else if (strcmp(type,"ParallelDisplacementControl") == 0) { |
| 1703 | |
| 1704 | si = (StaticIntegrator*)OPS_ParallelDisplacementControl(); |
| 1705 | |
| 1706 | } else if (strcmp(type,"ArcLength") == 0) { |
| 1707 | si = (StaticIntegrator*)OPS_ArcLength(); |
| 1708 | |
| 1709 | } else if (strcmp(type,"ArcLength1") == 0) { |
| 1710 | si = (StaticIntegrator*)OPS_ArcLength1(); |
| 1711 | |
| 1712 | } else if (strcmp(type,"HSConstraint") == 0) { |
| 1713 | si = (StaticIntegrator*)OPS_HSConstraint(); |
| 1714 | |
| 1715 | } else if (strcmp(type,"MinUnbalDispNorm") == 0) { |
| 1716 | si = (StaticIntegrator*)OPS_MinUnbalDispNorm(); |
| 1717 | |
| 1718 | } else if (strcmp(type,"HarmonicSteadyState") == 0 || strcmp(type,"HarmonicSS") == 0) { |
| 1719 | si = (StaticIntegrator*)OPS_HarmonicSteadyState(); |
| 1720 | |
| 1721 | } else if (strcmp(type,"Newmark") == 0) { |
| 1722 | ti = (TransientIntegrator*)OPS_Newmark(); |
| 1723 | |
| 1724 | } else if (strcmp(type,"GimmeMCK") == 0 || strcmp(type,"ZZTop") == 0) { |
| 1725 | ti = (TransientIntegrator*)OPS_GimmeMCK(); |
| 1726 | |
| 1727 | } else if (strcmp(type,"TRBDF2") == 0 || strcmp(type,"Bathe") == 0) { |
| 1728 | ti = (TransientIntegrator*)OPS_TRBDF2(); |
| 1729 | |
| 1730 | } else if (strcmp(type,"TRBDF3") == 0 || strcmp(type,"Bathe3") == 0) { |
| 1731 | ti = (TransientIntegrator*)OPS_TRBDF3(); |
| 1732 | |
| 1733 | } else if (strcmp(type,"Houbolt") == 0) { |
| 1734 | ti = (TransientIntegrator*)OPS_Houbolt(); |
| 1735 | |
| 1736 | } else if (strcmp(type,"BackwardEuler") == 0) { |
| 1737 | ti = (TransientIntegrator*)OPS_BackwardEuler(); |
| 1738 | |
| 1739 | } else if (strcmp(type,"PFEM") == 0) { |
no test coverage detected