Changeset 20659


Ignore:
Timestamp:
05/27/16 14:56:35 (9 years ago)
Author:
Mathieu Morlighem
Message:

NEW: extended stress calculation to FS and HO in tria

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r20645 r20659  
    482482        int domaintype,dim=2;
    483483
     484        /*Get approximation*/
     485        int approximation;
     486        inputs->GetInputValue(&approximation,ApproximationEnum);
     487
    484488        /* Get node coordinates and dof list: */
    485489        ::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
     
    487491        /*Retrieve all inputs we will be needing: */
    488492        this->FindParam(&domaintype,DomainTypeEnum);
    489         if(domaintype!=Domain2DhorizontalEnum) _error_("deviatoric stress tensor calculation not implemented for mesh of type " <<EnumToStringx(domaintype));
    490493        Input* vx_input=inputs->GetInput(VxEnum);             _assert_(vx_input);
    491494        Input* vy_input=inputs->GetInput(VyEnum);             _assert_(vy_input);
     
    498501                /*Compute strain rate and viscosity: */
    499502                this->StrainRateSSA(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input);
    500                 this->material->ViscositySSA(&viscosity,dim,&xyz_list[0][0],gauss,vx_input,vy_input);
     503                switch(approximation){
     504                        case SSAApproximationEnum:
     505                                this->material->ViscositySSA(&viscosity,dim,&xyz_list[0][0],gauss,vx_input,vy_input);
     506                                break;
     507                        case HOApproximationEnum:
     508                                this->material->ViscosityHO(&viscosity,dim,&xyz_list[0][0],gauss,vx_input,vy_input);
     509                                break;
     510                        case FSApproximationEnum:
     511                                this->material->ViscosityFS(&viscosity,dim,&xyz_list[0][0],gauss,vx_input,vy_input,NULL);
     512                                break;
     513                        default:
     514                                _error_("not supported yet");
     515                }
    501516
    502517                /*Compute Stress*/
Note: See TracChangeset for help on using the changeset viewer.