And here's an MR to do what you want without any code/arg changes.

https://gitlab.com/petsc/petsc/-/merge_requests/6588

Jed Brown <j...@jedbrown.org> writes:

> Duan Junming <junming.d...@epfl.ch> writes:
>
>> Dear Jed,
>>
>>
>> Thank you for the suggestion.
>>
>> When I run tests/ex33.c with
>>
>> ./ex33 -dm_plex_simplex 0 -dm_plex_box_faces 1,1 -mesh_transform annulus 
>> -dm_coord_space 0 -dm_coord_petscspace_degree 3 -dm_refine 1 -dm_view 
>> cgns:test.cgns
>>
>> and load it using Paraview,
>>
>> the mesh is still with straight lines.
>
> Ah, the viewer is keyed on the field (since the CGNS as supported by Paraview 
> specifies coordinates and fields in the same space). That doesn't exist in 
> your case. If you apply this patch and add `-petscspace_degre 3` to your 
> command, you'll see that high order information is present. Paraview doesn't 
> render as curves in all views, but it has the data.
>
> diff --git i/src/dm/impls/plex/tests/ex33.c w/src/dm/impls/plex/tests/ex33.c
> index 803095bc082..590facfa4f4 100644
> --- i/src/dm/impls/plex/tests/ex33.c
> +++ w/src/dm/impls/plex/tests/ex33.c
> @@ -198,7 +198,6 @@ PetscErrorCode CreateMesh(MPI_Comm comm, AppCtx *ctx, DM 
> *dm)
>    default:
>      SETERRQ(comm, PETSC_ERR_ARG_OUTOFRANGE, "Unknown mesh transform %d", 
> ctx->meshTransform);
>    }
> -  PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view"));
>    PetscFunctionReturn(PETSC_SUCCESS);
>  }
>  
> @@ -227,6 +226,7 @@ static PetscErrorCode CreateDiscretization(DM dm, AppCtx 
> *ctx)
>    PetscCall(DMCreateDS(dm));
>    PetscCall(DMGetDS(dm, &ds));
>    PetscCall(PetscDSSetObjective(ds, 0, volume));
> +  PetscCall(DMViewFromOptions(dm, NULL, "-dm_view"));
>    PetscFunctionReturn(PETSC_SUCCESS);
>  }
>  
>
> I can update the viewer to handle the degenerate case of no field (all my 
> models have fields).

Reply via email to