[FXC-5449] allow varying refinements on axisymmetric body faces#1882
[FXC-5449] allow varying refinements on axisymmetric body faces#1882alexxu-flex wants to merge 13 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.
…ying-refinement-faces
…ying-refinement-faces

Note
Medium Risk
Adds new per-face refinement spacing behavior for
AxisymmetricBodyand changes nested preprocessing to recurse through dicts as well as lists, affecting meshing JSON generation and unit conversion paths. Risk is moderate due to new validation/translation logic and potential schema/output differences for volume meshing.Overview
Enables per-face spacing overrides for
UniformRefinementonAxisymmetricBodyvia a newFacereference (AxisymmetricBody.face(i)) andUniformRefinement.face_spacing, with validation to ensure referenced bodies/faces are in-range and part of the refinement.Updates volume-meshing translation to emit dense
faceSpacingsarrays for axisymmetric refinements (derived from sparse overrides) while keeping defaultspacingfor unspecified faces, and extendsFlow360BaseModel.preprocessrecursion to also preprocess nesteddictvalues (not just lists) for unit conversion. Adds comprehensive tests for the newFacetype, validation, translation output, unit handling, and JSON round-trips.Written by Cursor Bugbot for commit b19cd53. This will update automatically on new commits. Configure here.