[FXC-5449] allow varying refinements on axisymmetric body faces#1882
[FXC-5449] allow varying refinements on axisymmetric body faces#1882alexxu-flex wants to merge 8 commits intomainfrom
Conversation
…ying-refinement-faces
…ying-refinement-faces
…ying-refinement-faces
| ... entities=[cylinder, box, axisymmetric_body, sphere], | ||
| ... spacing=1*fl.u.cm | ||
| ... spacing=1*fl.u.cm, | ||
| ... face_spacing={ |
There was a problem hiding this comment.
This is too nested and confusing. We need to redesign the interface.
There was a problem hiding this comment.
//User interface
face_spacing={
axisymmetric_body.segments[1] : 0.2*fl.u.cm
}
// Storage side
"face_spacing":{
("entioty_id":"$axisymmetric_body.private_attribute_id", "segment_index": 1) : {"value": 0.2, "units":"cm"}
}
There was a problem hiding this comment.
Then you need a Pydantic model for the "segment" class.
It will be similar relationship between Windtunnel farfield and the windtunnel ghost surfaces.
class Segment(BaseModel):
type_name:Literal["Segment"]
entity_id:str
segment_index: int =pd.Field(min=..., )There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Note
Medium Risk
Changes the meshing parameter schema and JSON translation for
UniformRefinementonAxisymmetricBody, which could affect solver/mesher inputs and unit conversion behavior. Also broadens base-model preprocessing to recurse into dicts, which may impact other parameter serialization paths.Overview
Adds optional
face_spacingtoUniformRefinementto allow per-face spacing overrides forAxisymmetricBody, including validation that entity names match and face indices are in range.Updates volume meshing translation to carry these overrides through and expand them into a dense
faceSpacingsarray for axisymmetric refinements, with new tests covering validation, translation output, and mixed-unit conversion.Refactors
Flow360BaseModel.preprocessto use a generalized_preprocess_nestedhelper that recursively converts dimensioned values inside bothlistanddictcontainers (replacing the prior list-only implementation).Written by Cursor Bugbot for commit f77647f. This will update automatically on new commits. Configure here.