MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / specifyConstraintHandler

Function specifyConstraintHandler

SRC/tcl/commands.cpp:3745–3815  ·  view source on GitHub ↗

command invoked to allow the ConstraintHandler object to be built

Source from the content-addressed store, hash-verified

3743// command invoked to allow the ConstraintHandler object to be built
3744//
3745int
3746specifyConstraintHandler(ClientData clientData, Tcl_Interp *interp, int argc,
3747 TCL_Char **argv)
3748{
3749 // make sure at least one other argument to contain numberer
3750 if (argc < 2) {
3751 opserr << "WARNING need to specify a Nemberer type \n";
3752 return TCL_ERROR;
3753 }
3754
3755 // check argv[1] for type of Numberer and create the object
3756 if (strcmp(argv[1],"Plain") == 0)
3757 theHandler = new PlainHandler();
3758
3759 else if (strcmp(argv[1],"Penalty") == 0) {
3760 if (argc < 4) {
3761 opserr << "WARNING: need to specify alpha: handler Penalty alpha \n";
3762 return TCL_ERROR;
3763 }
3764 double alpha1, alpha2;
3765 if (Tcl_GetDouble(interp, argv[2], &alpha1) != TCL_OK)
3766 return TCL_ERROR;
3767 if (Tcl_GetDouble(interp, argv[3], &alpha2) != TCL_OK)
3768 return TCL_ERROR;
3769 theHandler = new PenaltyConstraintHandler(alpha1, alpha2);
3770 }
3771
3772 /****** adding later
3773 else if (strcmp(argv[1],"PenaltyNoHomoSPMultipliers") == 0) {
3774 if (argc < 4) {
3775 opserr << "WARNING: need to specify alpha: handler Penalty alpha \n";
3776 return TCL_ERROR;
3777 }
3778 double alpha1, alpha2;
3779 if (Tcl_GetDouble(interp, argv[2], &alpha1) != TCL_OK)
3780 return TCL_ERROR;
3781 if (Tcl_GetDouble(interp, argv[3], &alpha2) != TCL_OK)
3782 return TCL_ERROR;
3783 theHandler = new PenaltyHandlerNoHomoSPMultipliers(alpha1, alpha2);
3784 }
3785 ***********************/
3786 else if (strcmp(argv[1],"Lagrange") == 0) {
3787 double alpha1 = 1.0;
3788 double alpha2 = 1.0;
3789 if (argc == 4) {
3790 if (Tcl_GetDouble(interp, argv[2], &alpha1) != TCL_OK)
3791 return TCL_ERROR;
3792 if (Tcl_GetDouble(interp, argv[3], &alpha2) != TCL_OK)
3793 return TCL_ERROR;
3794 }
3795 theHandler = new LagrangeConstraintHandler(alpha1, alpha2);
3796 }
3797
3798 else if (strcmp(argv[1],"Transformation") == 0) {
3799 theHandler = new TransformationConstraintHandler();
3800 }
3801
3802 else if (strcmp(argv[1],"Auto") == 0) {

Callers

nothing calls this directly

Calls 2

OPS_ResetInputNoBuilderFunction · 0.50

Tested by

no test coverage detected