-
Notifications
You must be signed in to change notification settings - Fork 9
Modular meshing and Snappy #1394
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
* updated translator to list edgeFiles * does not require point in mesh when specifying bounding box * cad is fluid gets translated * cad is fluid added to translator * deleted edgeFiles * fixed multiple body regions in one refinement bug * local retainment of edges * fixed volume validation error
* Add Project Length To ValidationInfo (#1233) * Add project_length_unit to validation_info * Utilize validation_info when parsing multiconstructor model * Add unit test and fix format * Address comments * Address comment again * Address comments round 3 * feat(): add customize user agent for the request from python client (#1221) * feat(): add customize user agent for the request from python client * fix! * fix! * Fix formatting --------- Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> * User expression support [POC] (#789) (#841) * User expression support [POC] (#789) * Added examples of a pydantic model using expressions * Example units support * Migrate to Pydantic V2 * Added variable support * Added units support in variable expressions * Added support for constrained types * Added tests, add support for unary operations * Make core blueprint package framework-agnostic, add support for partial evaluation of builtin solver variables (#858) * Move Flow360 and Tidy3D-specific logic outside of core blueprint module * Add support for partial evaluation of solver variables * Fix Python 3.9 compatibility * Added complete list of usable solver variables (#888) * Added complete list of usable solver variables * Add variable capture when creating simulation params * Serialization improvements * Fix serialization and deserialization issues --------- Co-authored-by: Andrzej Krupka <[email protected]> * Ensure global scope variables are visible within validation service * Fix validation ordering bug * Allow extra fields in variable objects * Improved error messages (#945) * Nested expression support + expression validation endpoints (#946) * Nested variables are now available for use * Added expression validation endpoint support * Extend expressions endpoint to support multiple expressions * Add ability to use expressions in vector fields * Added numpy interop capabilities along with subscript operator support * Apply PR feedback --------- Co-authored-by: Andrzej Krupka <[email protected]> * Reorganized solver variables into target namespaces (#986) * Reorganized solver variables into target namespaces * Apply PR feedback * Added ability to convert expressions to C++ syntax (#1009) Co-authored-by: Andrzej Krupka <[email protected]> * Update CI yaml * Fix unit tests after alias changes * Removed unused __init__.py items --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Add dependency cycle checking and add non-dimensioned array handling to expression validation service (#1013) Co-authored-by: Andrzej Krupka <[email protected]> * Validation service fixes, better error messages (#1030) * Validation service fixes * Fix aliasing issues, fix numpy interop with dimensioned variables * Apply PR feedback * Ready to merge --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Added unit handling to solver code converter (#1049) * Validation service fixes * Fix aliasing issues, fix numpy interop with dimensioned variables * Apply PR feedback * Added unit stripping when converting to solver code * Add a general name preprocessing function instead of unit stripping * Finalize unit -> solver conversion function * Add user variable inlining for solver code generation --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Expressions fixes, demonstrating E2E capability for user-variable expressions (#1082) * Validation service fixes * Fix aliasing issues, fix numpy interop with dimensioned variables * Apply PR feedback * Added unit stripping when converting to solver code * Add a general name preprocessing function instead of unit stripping * Finalize unit -> solver conversion function * Add user variable inlining for solver code generation * Demonstrating E2E case with expressions * Fix variable initialization when loading from file * Removed non-release code * Fixed unit test --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Pylint Fix for `expression` branch (#1083) * wip * More fixes * Another batch of linter fixes * Another round of linter fixes * Fixed most unit test, now fixing extra error * Fixing all the unit tests, pylint etc * Fix unit test * Fix unit test --------- Co-authored-by: Andrzej Krupka <[email protected]> * Rolled back to python list types, no numpy interop as of now because it is not compatible with solver translation (#1108) * Rolled back to python list types, no numpy interop as of now because it is not compatible with solver translation * Format --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Partial expression evaluation, example of a builtin function (#1115) * Cross in Pyhton mode works * WIP now needing for refactor to enable function on-demand import since current structure causes circular import * Some comments * Got symbolic evaluation to work but very HACKY * Refactored expressions module structure to be self-contained (still contains cyclic imports but only runtime, never at init...) * Partial evaluation before solver code translation * More fixes, simplify deserializer logic * Format * Fixed unit test as many as possible, only 1 left * Fixing most of the pylint issues * Fixed allow_inf_nan when evaluating expressions with solver variables * eagerly evaluation and also taking advantage of unyt pacakge * Small fixes * Fix invalid list initialization syntax in the C++ code generator * Added back the as_vector() implementation * Renamed raise_error * Remove extra evaluation call in cross, reduce unnecessary parentheses * some more small changes --------- Co-authored-by: benflexcompute <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> * Fixed merging * Fixed V1 tests * [FL-729] [FLPY-7] Dimensioned Volume Output (#1012) * Added unit test, now pending fixing lint and todos * Ready for review * Fix for windows-1 * Format * Another attempt * Thank you Windows * should work now * Enabled all output types to use UserVariable (#1148) * Added unit test for project_variables and also simplified the translation unit test (#1151) * Added unit test for project_variables and also simplified the translation unit test * Removed print * Fix windows test * Added util function to get the unit from expression (#1157) * Added util function to get the unit from expression * removed print * Added catch for input_params is None * fix lint * Disables vector arithmetics for variables (#1158) * List all solver variables (#1150) * Initial implementation * More variable finished * Fix unit test * Fix pylint * Fix the issue that solver name is not used * Move prepending code to translator * Fix prepending code * Fix deserialize issue that output units is not loaded * self review of prepending code * typo fix * Address comments * fix grad pressure's prepending code * Added support for solver variable in output_fields and also fixed a bug when translating Mach (#1160) --------- Co-authored-by: Ben <[email protected]> * Separate prepending code to declaration and computation parts (#1165) * Initial implementation * More variable finished * Fix unit test * Fix pylint * Fix the issue that solver name is not used * Move prepending code to translator * Fix prepending code * Fix deserialize issue that output units is not loaded * self review of prepending code * typo fix * Address comments * fix grad pressure's prepending code * Added support for solver variable in output_fields and also fixed a bug when translating Mach (#1160) * Replace wall shear stress with its magnitude, add unit test to whitelisted_callables * Fix coordinate, remove mu * Fix the scaling of turbulence solution * Fix the unit conversion for a list of float * Add missing vorticty magnitude * remove declaration when user-specified name is the same as the solver_name * Add velocity magnitude * Address comments * formatting --------- Co-authored-by: Ben <[email protected]> * UserVariable as Token and value from context (#1161) * Implementation done, now checking pylint * Now writing the overwrite checker * Ready for self review * Enabled timestepping->step size to be expression too (#1166) * Enabled timestepping->step size to be expression too * Bumped version * Handles NaN desearilization (#1168) * Added proper base for surface probe output * Ben y/expression front end feedback (#1169) * Updated the project variables schema * rename gradient * Added translator for ValurOrExpression object (#1175) * Added postProcessing flag setter (#1176) * Added postProcessing flag setter * Fixed unit test * Fixed v1 unit test * Decouple solver variable's solver name with user variable name (#1170) * Initial implementation * Fix unit test * Expression validation bundle (#1181) * 1. Single UDF has single dimensionality * Change in_unit to in_units * Change in_unit to in_units Signed-off-by: BenYuan <[email protected]> * Fixed unit test * Fixed all unit tests * Trying to fix windows * Removed unnecessary prints * Added legacy checker * added more test * Disabled degF and degC for the Expression --------- Signed-off-by: BenYuan <[email protected]> * Fix heatflux related solver variables (#1186) * Fix heat flux related solverVariables * Remove unnecessary debug script * [Registry Rescale] Use solutionRescale in the prepending code (#1184) * Fixed unary op not allowed by expression (#1187) * Fix temperature output with user variable (#1194) * Fix the prepending code for temperature * Add unit test * Remove debug script * [TODOs pending] More Math Functions for `Expression` (#1185) * Added math function cross for 2 component * Added dot function * Added sqrt * removed unnecessary callable assingment * added translator unit test * [Angran] More operation added, needs double check * Added some unit tests, removed pow() since it is duplicate --------- Co-authored-by: Angran Li <[email protected]> * Enable more fields to use value or expression (#1199) * Added all unit tests for ValueOrExpression fields * Added configure API to limit acceptance of the runtime expressions * Removed print * removed print, added extra=allow * Add more unit tests and validations for math operations (#1196) * Add validation and unit tests for multiple math operation * Handle mixture of unyt_quantity and expression/variable when using min/max function, add unit test for edge cases * Add more edge cases test * Add more edge cases and replace all dimensionality to dimensions * Add the remaining unit test and clean up todo list * Removed print * Address comments --------- Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> * Added dependency graph and variable pre-sorting (#1202) * added dependency graph, now need to add the topo_sort * added dependency graph, now need to add the topo_sort * Fix lint and format * Added unit test and added the sort to init variable space. What about the validate expresion though???... * Fixed a bug in deserializer where syntax errors are not exposed (#1200) * Fixed a bug in deserializer where syntax errors are not exposed * Fix unit test * Fix lint * Fix unit test * Fixed validaiton service for not cleanning the cache and also that no dependency graph built for sorign (#1204) * Deploy again (#1208) * Add expression support for Isosurface (#1201) * Add validation and unit tests for multiple math operation * Handle mixture of unyt_quantity and expression/variable when using min/max function, add unit test for edge cases * Add more edge cases test * Add more edge cases and replace all dimensionality to dimensions * Add the remaining unit test and clean up todo list * Initial implementation * Validation fix * Add validation for using empty list in UserVariable * Add unit for for isosurface validation * Add validation for iso_value length * Fix translator for IsosurfaceOutput * Fix unit test * Fix unit test * Use new unit system for non-dimensionalization of random units in iso_value * Fix incorrect isovalue for dimensioned output * Update unit test to use a irregular units as iso value * Changed isoValue schema (#1207) * Exclude project_variables from nondimensionalization * Specify exclude in the individual class * some minor patching * Add unit to validate iso value's translation --------- Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> * Removed validate_expression() (#1212) * Using discriminator to differencetiatye Value VS Expresison (#1215) * Added function to print all the output units for all post processing variables (#1213) * Added funciton to print all the output units for all post processing variables * some comments * Add validation to check the usage of surface specific solution variable in non-surface output fields (#1216) * Add validation to check the usage of surface specific solution variable in non-surface output fields * Address comments * Fix unit test * Added check for dependent features (#1218) * Now hand over to helper * Added check for dependent features * Removed print * Added missing check * Update SurfaceIntegralOutput for UserVariable (#1214) * rename node_normals to node_area_vector and add node_unit_normal * Update surfaceIntegral and UDF validation * Automatically multiply area to the surfaceIntegralOutput * Update tests/simulation/params/test_validators_params.py Co-authored-by: Ben <[email protected]> * Create a new user variable for surface integral * Address comments * Address comments --------- Co-authored-by: Ben <[email protected]> * More IsosurfaceOutput changes for Expression (#1220) * Initial implementation * fix get_output_units and corresponding unit test * Add unit test * Improve unit test * address comments * Enable usage of constant value as output variables. (#1219) * Enable usage of constant value as output variables. * Remove print * Added pi (#1222) * Added pi * Removed print * Renamed project_variables to variable_context (#1224) * Temporary disable unit system when validating ValueOrExpression (#1225) * Fixed the iso_value field validator dependency resulting in wrong error (#1230) * Fixed the iso_value field validator dependency resulting in wrong error * Revert accidental comment * formatter * [Expression] Add functions to get/remove/show user variables (#1226) * Reraise a different redeclaration error when loading simulation json * Fix error during translating isosurface * Add functions to get/remove/show user variables * Address comments * Changed texting * Fix lint --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> * Skip feature-dependent validation for expressions that are not used (#1223) * Skip feature-dependent validaiton for expressions that are not used * Added recursive finding of dependendt variables * lint * [SCFD-5773] Fix issue where semicolumn breaks AST (#1231) * replace validated_by with boolean option for clear context (#1232) * Reviewed, improved error message and loc * Some polishing * [SCFD-5806] Add solver side internal variables to the block lsit * Convert number user variables to expression * Fix lint * Removed evaluated value/units * Fix lint and unit test --------- Signed-off-by: BenYuan <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> Co-authored-by: Ben <[email protected]> Co-authored-by: Angran <[email protected]> * Add 'main' branch references * Update auto hotfix workflow (#1241) * Add updater for from_mach_reynolds (#1252) * [25.5] Add prefix option to read_all_v1_BETDisks function (#1253) (#1255) * initial implementation * Add index offset option * Address comment Co-authored-by: Angran <[email protected]> * Enabled power operation on vector variables (#1257) * Enabled power operation on variables * Fix CI --------- Co-authored-by: Angran <[email protected]> * Remove ceil and floor functions (#1259) * Added bounding box info in support of inhouse symmetric (#1258) * Added bounding box info * Ready for testing, proper validaiton pending * deploy now, test pending * Fixed unit tests * Ready for testing * fixed unit test * Ready * Bump version due to addition of the global_bounding_box * Misc expression fixes (#1264) * Added support for front end JSON support when expression is empty/None * Regulated the unit symbols that can be used in the expression * Fixed unit test * Resource reuse logic increase robustness (#1267) * WIP * Now fixing UDD * Fixed udd ordering * Need to know how the density works * Ready * READY * Remove logging to file by default (#1269) * Remove file logger * Try again * try again --------- Co-authored-by: BenYuan <[email protected]> * [FXC-1886] Fix incorrect dimensional output when liquid op is used (#1265) * Fix unit conversion bug for liquid * 1. Use liquid flow360 unit system for UDF conversion when liquid op is used 2. Fix unit test * Fix compare_values and replace all incorrect checks * Address comments * Also fix other conversion factor --------- Co-authored-by: BenYuan <[email protected]> * Move get_flow360_unit_system_liquid out for manifest usage (#1273) * [SCFD-5640] Disable the same surface being used in more than one Surface/TimeaverageSurfaceOutput (#1270) * [SCFD-5825] Remove 'p' and 'rho' from iso field (#1275) * Fix updater of from_mach_reynolds (#1276) * Fix updater of from_mach_reynolds * revert minor change * removed dev from example (#1272) Co-authored-by: Ben <[email protected]> * Added legacy tagging for previous UDFs (#1281) Co-authored-by: Angran Li <[email protected]> * fix(): misuse of .sort() which return None (#1282) * fix(): misuse of .sort() which return None * address comments * [Expression] Removed postProcessing key in the context and also added support for description (#1280) * [Expression] Removed postProcessing key in the context and also added support for description * isort --------- Co-authored-by: Angran <[email protected]> * [SCFD-5945] Fix location of the expression validation error and also fix issues caused by converting the value variable to expression. (#1283) * [SCFD-5945] Corrected the location for expression error * proposed fix * Rebase anyway --------- Co-authored-by: Angran Li <[email protected]> * [SCFD-5015] Projected frontal area support (#1262) * [SCFD-5015] Projected frontal area support * [SCFD-5943] Added translator support for the auto area * fix linter * Fix Deserialize function when handling None description (#1286) * Update to_file implementatino to exclude None when dumpping json * Make sure deserialize can handle None description situation * Add fixed to_yaml * adopted the proposed flex credit example (#1284) * adoptes the proposed flex credit example * black * removed leading spaces * separate get_project_records out (#1287) * Remedy on the GhostCircularPlane existence check (#1288) * Removed the fall back of using Flow360Params (#1289) * Removed the fall back of using Flow360Params * Fix lint * Revert "Removed the fall back of using Flow360Params (#1289)" (#1290) This reverts commit 211ef14. * Remove get expanded entity list during preprocessing params for translator (#1292) * Remove expanded enttiy list * fix pylint * Added v1 fallback original error * Bump version * [Hotfix Main]: Added version command and better project loading error (#1296) * Added version command and better project loading error (#1295) * Added version command and better project loading error * fixed unit tests * resolved conflict --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> * Load the storage region from the backend response (#1299) * load the storage region from the backend response * Bump version * Added updater for entities being in multiple outputs (#1293) * WIP * Added updater for entities being in multiple outputs * Deduplicate first before removing surfaces --------- Co-authored-by: Angran <[email protected]> * bump to 25.5.2b4 (#1300) * Removed aws_region in the model (#1302) * Example python file for post-processing time-averaged isosurfaces (#1291) * example file for time-averaged isosurfaces * added post-processing * added post-processing * added some text * changed temp folder to local folder * black validation * removed paths for download * removed lines * removed lines * removed lines * Some improvement on the `flow360 version` command (#1305) * Some improvement * formatting * Bump version for 25.6 official release (#1306) * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) * Bump to 25.6.3 (#1313) * Fix the hotfix yaml not being able to handle the anti column (#1311) * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json * Fix the hotfix yaml not being able to handle the * Fix auto hotfix * Speed up the loading of the entities by using set and also reduce complexity with supplied known hash set (#1316) (#1320) * Speed up the loading of the entities by using set and also reduce complecity with supplied known hash set * Remove description * Ready * Fix lint * Added a redunet test.. (#1318) (#1323) * [FXC-1974] Dry run for run_case() (#1334) * [FXC-1974] Dry run for run_case() Fix linting [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) (#1312) * Added for sm and vm generations too * revert change on examples * [FXC-2006] Disable boundary completeness and deletion validation (#1330) * [FSC-2006] Disable boundary completness and deletion validation * Fix unit test * [FXC-2059] Added planar_face_tolerance translator for legacy mesher and also unified the validation (#1329) * [FSC-2006] Disable boundary completness and deletion validation * Fix unit test * [FXC-2059] Added planar_face_tolerance translator for legacy mesher and also unified the validaiton * Bumped to 25.6.4 (#1338) * Updated the description of the planar_face_tolerance (#1342) * fix(): `planar_face_tolerance` might be missing and causing validation to fail (#1344) * fix(): planar_face_tolerance might be missing and causing validaiton to fail * ensure valid param * Fixed test * feat: add rename method to v2 assets (#1333) + feat: add tags filtering to Project.get_case_ids, Project.get_project_ids, and metadata (#1346) * feat: Migrate Folder class to v2 API (#1317) * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) (#1312) * bug(): Removed duplicate pressure output when pressure is specified (#1309) * feat: migrate Folder class to v2 API endpoints * remove unused v1 import, run styling + lint checks * rerun isort + lint * disable pylint duplicate code * fix example files * delete test_folder_tree.py * delete examples, remove comments, update pydantic * fix: run linting + formatting --------- Co-authored-by: Ben <[email protected]> * feat: Add folder parameter to project creation (#1325) * feat: add rename method to v2 assets (#1333) * feat: add rename method to v2 assets (Folder, Project, SurfaceMesh, VolumeMesh, Case, etc) * fix: raise rename method to AssetBase class * fix: remove self return after renaming asset * fix: remove return docstring + missed self returns * feat: add tags filtering to Project.get_case_ids, Project.get_project_ids, and metadata (#1341) * feat: add tag filtering support to Project class + metadata and class property, get_case_ids/get_project_ids methods 499f63b * fix: remove unused imports + dangerous default value * feat: add property tags to AssetBase --------- Co-authored-by: dawood <[email protected]> * formatting changes * formatting * Bump to 25.6.5 and also add default value application to planar tolerance (#1348) * fixed plannar tolerance import issue * volume_meshing_translator_fix --------- Signed-off-by: BenYuan <[email protected]> Co-authored-by: Angran <[email protected]> Co-authored-by: JunchengXue <[email protected]> Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> Co-authored-by: Maciej Skarysz <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Wiktor <[email protected]> Co-authored-by: marcvivesmassana <[email protected]> Co-authored-by: dawood <[email protected]> Co-authored-by: Maciej Skarysz <[email protected]>
commit 85fea5a Author: Ben <[email protected]> Date: Wed Aug 27 19:41:50 2025 -0400 Revert "Ensure the geometry tolerance and the planar tolerance are compatible with each other (#1389)" (#1392) This reverts commit ba7bd43. commit 5113e28 Author: Ben <[email protected]> Date: Wed Aug 27 15:35:12 2025 -0400 Added the CustomVolume (#1380) * Added the CustomVolume Expose CustomVolume * Fixed lint and formatting * Skips boundary check for CustomVolume commit ba7bd43 Author: Ben <[email protected]> Date: Tue Aug 26 15:41:01 2025 -0400 Ensure the geometry tolerance and the planar tolerance are compatible with each other (#1389) * Ensure the geometry tolerance and the planar tolerance are compatible with each other * Fix msg commit 3f796a1 Author: Ben <[email protected]> Date: Tue Aug 26 12:06:10 2025 -0400 Improved robustness handling Geometry projects created completely with surface mesh files (#1388) commit d73f48b Author: Ben <[email protected]> Date: Mon Aug 25 20:45:47 2025 -0400 [FXC-2413] Added conflicting grouping handler for the grouping. (#1387) * Added conflicting grouping handler for the grouping. * Fix test commit b84214a Author: Ben <[email protected]> Date: Mon Aug 25 20:39:04 2025 -0400 Disables surface deletion and symmetric existence check when transformation is detected (#1385) * WIP * Disables surface deletion and symmetric existence check when transformtation is detected commit 4b16ed0 Author: benflexcompute <[email protected]> Date: Mon Aug 25 17:14:51 2025 -0400 Remove print commit e756b67 Author: Ben <[email protected]> Date: Mon Aug 25 17:10:38 2025 -0400 Added updater when loading cloud entity info and also added more logging (#1386) * Added updater when loading cloud entity info and also added more logging * fixed lint commit 3d1a33d Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Aug 22 20:37:20 2025 -0400 [Hotfix Main]: [SCFD-6066] Symmetry plane and face deletion logic. (#1384) * [SCFD-6066] Symmetry plane and face deletion logic. (#1383) * Added back validation for deleted surface detection and symmetry plane existence check * ADded expand and default box * fix lint * Fixing unit test --------- Co-authored-by: Ben <[email protected]> Co-authored-by: benflexcompute <[email protected]> commit d451b9c Author: yifan-flex <[email protected]> Date: Fri Aug 22 18:00:54 2025 -0400 fix(): change LiquidOperatingCondition translator so that Compressible solver type is allowed (#1379) commit dd5e64d Author: Ben <[email protected]> Date: Fri Aug 22 12:17:06 2025 -0400 [FXC-743] GAI surface mesher translator (#1266) * run test first and then fix test * Change reference case * GAI translator ready * shorten the line number * Remove print * Added the new parameters commit 848ab40 Author: awccoppFC <[email protected]> Date: Wed Aug 20 15:29:03 2025 -0400 iso surface clipping based on wall distance interface (#1374) * added wall distance clip threshold option to isosurface * updated defautl for wall dist clip threshold in python client and added to solver_translator * fixed typo * added unit test for solver translator with wall distance clip option * added test for output_entities for wall distance clip threshold * formatting * run isort * fixed variable naming for pylint * changes from review * added pylint exception * updated comment associated with isosurface wall_dist_clip_threshold * removed debugging try except statement --------- Co-authored-by: Ben <[email protected]> commit d2768d2 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed Aug 20 15:15:29 2025 -0400 [FXC-2376] Added support for VM error status (#1375) (#1377) Co-authored-by: Ben <[email protected]> commit 7005ff2 Author: Savithru Jayasinghe <[email protected]> Date: Wed Aug 20 14:35:31 2025 -0400 Expose GeometryRefinement class (#1376) * Expose GeometryRefinement class * Linter commit 5d761f0 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Aug 19 10:27:09 2025 -0400 Scheduled sync: main → develop (#1373) * allow n_edge=0 (#1371) * [FXC-2300] Improved error message when using legacy output field names (#1366) (#1367) Co-authored-by: Ben <[email protected]> * [FXC-2301] Fixed the translator not recursively finding solver variable names (#1365) (#1368) Co-authored-by: Ben <[email protected]> * [FXC-1749] make isentropic compressible solve on by default for liquid (#1369) * [FXC-1749] make isentropic compressible solve on by default for liquidOperatingCondition * Fix unit test * Change implementation * [FXC-342] [FXC-343] Add output classes for imported surfaces (#1352) * Add output for imported surfaces * Add docstrings * Address PR comments * Add TimeAverageImportedSurfaceOutput to time-average types --------- Co-authored-by: Feilin <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Ben <[email protected]> Co-authored-by: yifan-flex <[email protected]> commit daf7c95 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Aug 18 13:32:49 2025 -0400 [Hotfix Main]: Fix bug that dimensionalization used wrong velocity scale (#1362) * Fix bug that dimensionalization used wrong velocity scale (#1361) * Fix bug that dimensionalization used wrong velocity scale * Fix unit test * Fix formatting * Fixed unit test --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit caabcfe Author: Ben <[email protected]> Date: Mon Aug 18 12:08:20 2025 -0400 [SCFD-5640] Separating the time averaged output from non time averaged ones in translated JSON (#1263) * [SCFD-5640] Separating the time averaged output from non time averaged ones in translated JSON * Reverted monitor output related changes * Ready commit 16fedf5 Author: Chaitanya Talnikar <[email protected]> Date: Fri Aug 15 16:42:34 2025 -0400 Fix name for geometry refinement (#1363) commit dff2e5b Author: Chaitanya Talnikar <[email protected]> Date: Fri Aug 15 14:28:34 2025 -0400 Add geometry refinement and other GAI related options (#1355) * Add geometry refinement and other GAI related options * Fix formatting * Added geometry refinement explicit cast * Fix some comments * Fix black * Address more comments * Finish adding unit tests * Fix lint and isort * Address comments * Fix json reference unit test failures --------- Co-authored-by: Ben <[email protected]> commit 82c5916 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Aug 14 23:17:44 2025 -0400 Exposing error when boundary is missing compared to metadata (#1357) (#1358) Co-authored-by: Ben <[email protected]> commit 8e38f54 Author: BenYuan <[email protected]> Date: Fri Aug 15 01:54:50 2025 +0000 Change auto merge workflow commit f835ce4 Author: BenYuan <[email protected]> Date: Thu Aug 14 16:27:40 2025 +0000 Added sync-main-to-develop.yml commit f5c2128 Author: awccoppFC <[email protected]> Date: Tue Aug 12 16:27:13 2025 -0400 Porous Jump Python Interface (#1332) * added porous jump bc to python client as well as tests * run black on code * fixed comments and ran isort + black * updated test * formatting * added tests for input validation for porous jump entity pairs * removed unnecessary code * test_validators_params.py * formatting * removed test --------- Co-authored-by: Ben <[email protected]> commit 04074e7 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Aug 11 15:12:26 2025 -0400 Raise on error by default (#1351) (#1354) * Added Python version for user agent * Fix lint * Raise on error by default * Changed the default to raise on error submission to avoid user confusion * Better error message Co-authored-by: Ben <[email protected]> commit cb5324c Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Aug 11 15:12:00 2025 -0400 [Hotfix Main]: Added Python version for user agent (#1353) * Added Python version for user agent (#1350) * Added Python version for user agent * Fix lint * Fix conflict --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit 64d3f9b Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Aug 11 12:21:06 2025 -0400 [Hotfix Main]: Bump to 25.6.5 and also add default value application to planar tolerance (#1349) * Bump to 25.6.5 and also add default value application to planar tolerance (#1348) * Resolve conflict --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit edadff1 Author: dawood <[email protected]> Date: Fri Aug 8 16:19:11 2025 -0400 feat: add tags filtering to Project.get_case_ids, Project.get_project_ids, and metadata (#1341) * feat: add tag filtering support to Project class + metadata and class property, get_case_ids/get_project_ids methods 499f63b * fix: remove unused imports + dangerous default value * feat: add property tags to AssetBase commit 113e6e4 Author: dawood <[email protected]> Date: Fri Aug 8 14:20:48 2025 -0400 feat: add rename method to v2 assets (#1333) * feat: add rename method to v2 assets (Folder, Project, SurfaceMesh, VolumeMesh, Case, etc) * fix: raise rename method to AssetBase class * fix: remove self return after renaming asset * fix: remove return docstring + missed self returns commit c21664b Author: dawood <[email protected]> Date: Fri Aug 8 12:58:57 2025 -0400 feat: Add folder parameter to project creation (#1325) commit 6ff4da5 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Aug 8 11:32:13 2025 -0400 [Hotfix Main]: fix(): `planar_face_tolerance` might be missing and causing validation to fail (#1345) * fix(): `planar_face_tolerance` might be missing and causing validation to fail (#1344) * fix(): planar_face_tolerance might be missing and causing validaiton to fail * ensure valid param * Fixed test * FIX CONFLICT --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit 838fb89 Author: dawood <[email protected]> Date: Fri Aug 8 11:31:50 2025 -0400 feat: Migrate Folder class to v2 API (#1317) * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) (#1312) * bug(): Removed duplicate pressure output when pressure is specified (#1309) * feat: migrate Folder class to v2 API endpoints * remove unused v1 import, run styling + lint checks * rerun isort + lint * disable pylint duplicate code * fix example files * delete test_folder_tree.py * delete examples, remove comments, update pydantic * fix: run linting + formatting --------- Co-authored-by: Ben <[email protected]> commit beb2af9 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Aug 8 10:11:15 2025 -0400 Updated the description of the planar_face_tolerance (#1342) (#1343) Co-authored-by: Ben <[email protected]> commit 1875e27 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Aug 7 13:42:52 2025 -0400 [FXC-2059] Added planar_face_tolerance translator for legacy mesher and also unified the validation (#1329) (#1337) * [FSC-2006] Disable boundary completness and deletion validation * Fix unit test * [FXC-2059] Added planar_face_tolerance translator for legacy mesher and also unified the validaiton Co-authored-by: Ben <[email protected]> commit b479e80 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Aug 7 13:20:58 2025 -0400 [FXC-2006] Disable boundary completeness and deletion validation (#1330) (#1336) * [FSC-2006] Disable boundary completness and deletion validation * Fix unit test Co-authored-by: Ben <[email protected]> commit e4ab04e Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Aug 7 13:19:38 2025 -0400 [FXC-1974] Dry run for run_case() (#1334) (#1335) * [FXC-1974] Dry run for run_case() Fix linting [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) (#1312) * Added for sm and vm generations too * revert change on examples Co-authored-by: Ben <[email protected]> commit ffbfa61 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Aug 5 20:54:19 2025 -0400 [Hotfix Main]: Fix the hotfix yaml not being able to handle the anti column (#1315) * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) (#1312) * bug(): Removed duplicate pressure output when pressure is specified (#1309) * Fix the hotfix yaml not being able to handle the anti column (#1311) * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json * Fix the hotfix yaml not being able to handle the * Fix auto hotfix --------- Co-authored-by: Ben <[email protected]> commit 529aad3 Author: Ben <[email protected]> Date: Tue Aug 5 14:31:43 2025 -0400 Added a redunet test.. (#1318) commit 13af543 Author: Ben <[email protected]> Date: Tue Aug 5 14:01:01 2025 -0400 Speed up the loading of the entities by using set and also reduce complexity with supplied known hash set (#1316) * Speed up the loading of the entities by using set and also reduce complecity with supplied known hash set * Remove description * Ready * Fix lint commit a652eb2 Author: BenYuan <[email protected]> Date: Mon Aug 4 16:10:20 2025 +0000 Update readme commit cba5d97 Author: BenYuan <[email protected]> Date: Wed Jul 30 16:30:49 2025 +0000 Update lock commit 9daf86c Author: Ben <[email protected]> Date: Wed Jul 30 11:53:35 2025 -0400 Bump the version number for 25.7 (#1260) (#1261) commit 607cf42 Author: Ben <[email protected]> Date: Wed Jul 30 10:29:06 2025 -0400 Bump version for 25.6 official release (#1306) commit aba6fa7 Author: Ben <[email protected]> Date: Wed Jul 30 10:01:33 2025 -0400 Some improvement on the `flow360 version` command (#1305) * Some improvement * formatting commit bd0d12a Author: marcvivesmassana <[email protected]> Date: Tue Jul 29 15:48:55 2025 -0400 Example python file for post-processing time-averaged isosurfaces (#1291) * example file for time-averaged isosurfaces * added post-processing * added post-processing * added some text * changed temp folder to local folder * black validation * removed paths for download * removed lines * removed lines * removed lines commit 4860b3a Author: Ben <[email protected]> Date: Tue Jul 29 11:06:52 2025 -0400 Removed aws_region in the model (#1302) commit 8fc2706 Author: Angran <[email protected]> Date: Mon Jul 28 15:25:42 2025 -0400 bump to 25.5.2b4 (#1300) commit 9817108 Author: Ben <[email protected]> Date: Mon Jul 28 15:10:38 2025 -0400 Added updater for entities being in multiple outputs (#1293) * WIP * Added updater for entities being in multiple outputs * Deduplicate first before removing surfaces --------- Co-authored-by: Angran <[email protected]> commit d669f7f Author: Angran <[email protected]> Date: Mon Jul 28 13:16:25 2025 -0400 Load the storage region from the backend response (#1299) * load the storage region from the backend response * Bump version commit 1da335a Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat Jul 26 12:27:00 2025 -0400 [Hotfix Main]: Added version command and better project loading error (#1296) * Added version command and better project loading error (#1295) * Added version command and better project loading error * fixed unit tests * resolved conflict --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit b232ea4 Author: benflexcompute <[email protected]> Date: Fri Jul 25 20:34:06 2025 +0000 Bump version commit 026e261 Author: BenYuan <[email protected]> Date: Fri Jul 25 20:26:09 2025 +0000 Added v1 fallback original error commit ea610f1 Author: Angran <[email protected]> Date: Fri Jul 25 16:22:40 2025 -0400 Remove get expanded entity list during preprocessing params for translator (#1292) * Remove expanded enttiy list * fix pylint commit aaa647e Author: Ben <[email protected]> Date: Fri Jul 25 16:06:07 2025 -0400 Revert "Removed the fall back of using Flow360Params (#1289)" (#1290) This reverts commit 211ef14. commit 211ef14 Author: Ben <[email protected]> Date: Fri Jul 25 13:42:53 2025 -0400 Removed the fall back of using Flow360Params (#1289) * Removed the fall back of using Flow360Params * Fix lint commit 12e8953 Author: Ben <[email protected]> Date: Fri Jul 25 13:24:15 2025 -0400 Remedy on the GhostCircularPlane existence check (#1288) commit 7748bb4 Author: Angran <[email protected]> Date: Fri Jul 25 12:56:13 2025 -0400 separate get_project_records out (#1287) commit c144e21 Author: Wiktor <[email protected]> Date: Thu Jul 24 21:30:59 2025 +0200 adopted the proposed flex credit example (#1284) * adoptes the proposed flex credit example * black * removed leading spaces commit 1bb4dee Author: Angran <[email protected]> Date: Thu Jul 24 13:26:40 2025 -0400 Fix Deserialize function when handling None description (#1286) * Update to_file implementatino to exclude None when dumpping json * Make sure deserialize can handle None description situation * Add fixed to_yaml commit 8ed9998 Author: Ben <[email protected]> Date: Wed Jul 23 17:15:07 2025 -0400 [SCFD-5015] Projected frontal area support (#1262) * [SCFD-5015] Projected frontal area support * [SCFD-5943] Added translator support for the auto area * fix linter commit b9f86f6 Author: Ben <[email protected]> Date: Wed Jul 23 17:06:19 2025 -0400 [SCFD-5945] Fix location of the expression validation error and also fix issues caused by converting the value variable to expression. (#1283) * [SCFD-5945] Corrected the location for expression error * proposed fix * Rebase anyway --------- Co-authored-by: Angran Li <[email protected]> commit 765d010 Author: Ben <[email protected]> Date: Wed Jul 23 09:30:54 2025 -0400 [Expression] Removed postProcessing key in the context and also added support for description (#1280) * [Expression] Removed postProcessing key in the context and also added support for description * isort --------- Co-authored-by: Angran <[email protected]> commit 315de84 Author: Ben <[email protected]> Date: Wed Jul 23 09:18:37 2025 -0400 fix(): misuse of .sort() which return None (#1282) * fix(): misuse of .sort() which return None * address comments commit 8f86c7f Author: Ben <[email protected]> Date: Tue Jul 22 17:26:14 2025 -0400 Added legacy tagging for previous UDFs (#1281) Co-authored-by: Angran Li <[email protected]> commit e12ab71 Author: Wiktor <[email protected]> Date: Tue Jul 22 19:40:46 2025 +0200 removed dev from example (#1272) Co-authored-by: Ben <[email protected]> commit a872acb Author: Angran <[email protected]> Date: Tue Jul 22 13:40:14 2025 -0400 Fix updater of from_mach_reynolds (#1276) * Fix updater of from_mach_reynolds * revert minor change commit 69fea2f Author: Ben <[email protected]> Date: Tue Jul 22 11:28:36 2025 -0400 [SCFD-5825] Remove 'p' and 'rho' from iso field (#1275) commit c0183e0 Author: Ben <[email protected]> Date: Tue Jul 22 09:41:41 2025 -0400 [SCFD-5640] Disable the same surface being used in more than one Surface/TimeaverageSurfaceOutput (#1270) commit 2f1b228 Author: Angran <[email protected]> Date: Tue Jul 22 09:36:03 2025 -0400 Move get_flow360_unit_system_liquid out for manifest usage (#1273) commit 6721ee1 Author: Angran <[email protected]> Date: Mon Jul 21 16:37:06 2025 -0400 [FXC-1886] Fix incorrect dimensional output when liquid op is used (#1265) * Fix unit conversion bug for liquid * 1. Use liquid flow360 unit system for UDF conversion when liquid op is used 2. Fix unit test * Fix compare_values and replace all incorrect checks * Address comments * Also fix other conversion factor --------- Co-authored-by: BenYuan <[email protected]> commit b56fbb9 Author: Angran <[email protected]> Date: Mon Jul 21 16:15:12 2025 -0400 Remove logging to file by default (#1269) * Remove file logger * Try again * try again --------- Co-authored-by: BenYuan <[email protected]> commit 4675b28 Author: Ben <[email protected]> Date: Mon Jul 21 10:56:52 2025 -0400 Resource reuse logic increase robustness (#1267) * WIP * Now fixing UDD * Fixed udd ordering * Need to know how the density works * Ready * READY commit e350b82 Author: Ben <[email protected]> Date: Fri Jul 18 14:13:14 2025 -0400 Misc expression fixes (#1264) * Added support for front end JSON support when expression is empty/None * Regulated the unit symbols that can be used in the expression * Fixed unit test commit 8e1bf21 Author: Ben <[email protected]> Date: Thu Jul 17 10:50:19 2025 -0400 Added bounding box info in support of inhouse symmetric (#1258) * Added bounding box info * Ready for testing, proper validaiton pending * deploy now, test pending * Fixed unit tests * Ready for testing * fixed unit test * Ready * Bump version due to addition of the global_bounding_box commit 771e21e Author: Angran <[email protected]> Date: Fri Jul 11 13:03:44 2025 -0400 Remove ceil and floor functions (#1259) commit a4977dd Author: Ben <[email protected]> Date: Thu Jul 10 20:08:30 2025 -0400 Enabled power operation on vector variables (#1257) * Enabled power operation on variables * Fix CI --------- Co-authored-by: Angran <[email protected]> commit fb5b737 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Jul 10 13:49:36 2025 -0400 [25.5] Add prefix option to read_all_v1_BETDisks function (#1253) (#1255) * initial implementation * Add index offset option * Address comment Co-authored-by: Angran <[email protected]> commit b485c0d Author: Angran <[email protected]> Date: Thu Jul 10 10:33:04 2025 -0400 Add updater for from_mach_reynolds (#1252) commit 047721d Author: Angran <[email protected]> Date: Wed Jul 9 15:17:28 2025 -0400 Update auto hotfix workflow (#1241) commit 1b81c3b Author: BenYuan <[email protected]> Date: Wed Jul 9 17:40:33 2025 +0000 Add 'main' branch references commit 3e15b6c Author: Maciej Skarysz <[email protected]> Date: Wed Jul 9 19:29:45 2025 +0200 User expression support [POC] (#789) (#841) * User expression support [POC] (#789) * Added examples of a pydantic model using expressions * Example units support * Migrate to Pydantic V2 * Added variable support * Added units support in variable expressions * Added support for constrained types * Added tests, add support for unary operations * Make core blueprint package framework-agnostic, add support for partial evaluation of builtin solver variables (#858) * Move Flow360 and Tidy3D-specific logic outside of core blueprint module * Add support for partial evaluation of solver variables * Fix Python 3.9 compatibility * Added complete list of usable solver variables (#888) * Added complete list of usable solver variables * Add variable capture when creating simulation params * Serialization improvements * Fix serialization and deserialization issues --------- Co-authored-by: Andrzej Krupka <[email protected]> * Ensure global scope variables are visible within validation service * Fix validation ordering bug * Allow extra fields in variable objects * Improved error messages (#945) * Nested expression support + expression validation endpoints (#946) * Nested variables are now available for use * Added expression validation endpoint support * Extend expressions endpoint to support multiple expressions * Add ability to use expressions in vector fields * Added numpy interop capabilities along with subscript operator support * Apply PR feedback --------- Co-authored-by: Andrzej Krupka <[email protected]> * Reorganized solver variables into target namespaces (#986) * Reorganized solver variables into target namespaces * Apply PR feedback * Added ability to convert expressions to C++ syntax (#1009) Co-authored-by: Andrzej Krupka <[email protected]> * Update CI yaml * Fix unit tests after alias changes * Removed unused __init__.py items --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Add dependency cycle checking and add non-dimensioned array handling to expression validation service (#1013) Co-authored-by: Andrzej Krupka <[email protected]> * Validation service fixes, better error messages (#1030) * Validation service fixes * Fix aliasing issues, fix numpy interop with dimensioned variables * Apply PR feedback * Ready to merge --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Added unit handling to solver code converter (#1049) * Validation service fixes * Fix aliasing issues, fix numpy interop with dimensioned variables * Apply PR feedback * Added unit stripping when converting to solver code * Add a general name preprocessing function instead of unit stripping * Finalize unit -> solver conversion function * Add user variable inlining for solver code generation --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Expressions fixes, demonstrating E2E capability for user-variable expressions (#1082) * Validation service fixes * Fix aliasing issues, fix numpy interop with dimensioned variables * Apply PR feedback * Added unit stripping when converting to solver code * Add a general name preprocessing function instead of unit stripping * Finalize unit -> solver conversion function * Add user variable inlining for solver code generation * Demonstrating E2E case with expressions * Fix variable initialization when loading from file * Removed non-release code * Fixed unit test --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Pylint Fix for `expression` branch (#1083) * wip * More fixes * Another batch of linter fixes * Another round of linter fixes * Fixed most unit test, now fixing extra error * Fixing all the unit tests, pylint etc * Fix unit test * Fix unit test --------- Co-authored-by: Andrzej Krupka <[email protected]> * Rolled back to python list types, no numpy interop as of now because it is not compatible with solver translation (#1108) * Rolled back to python list types, no numpy interop as of now because it is not compatible with solver translation * Format --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Partial expression evaluation, example of a builtin function (#1115) * Cross in Pyhton mode works * WIP now needing for refactor to enable function on-demand import since current structure causes circular import * Some comments * Got symbolic evaluation to work but very HACKY * Refactored expressions module structure to be self-contained (still contains cyclic imports but only runtime, never at init...) * Partial evaluation before solver code translation * More fixes, simplify deserializer logic * Format * Fixed unit test as many as possible, only 1 left * Fixing most of the pylint issues * Fixed allow_inf_nan when evaluating expressions with solver variables * eagerly evaluation and also taking advantage of unyt pacakge * Small fixes * Fix invalid list initialization syntax in the C++ code generator * Added back the as_vector() implementation * Renamed raise_error * Remove extra evaluation call in cross, reduce unnecessary parentheses * some more small changes --------- Co-authored-by: benflexcompute <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> * Fixed merging * Fixed V1 tests * [FL-729] [FLPY-7] Dimensioned Volume Output (#1012) * Added unit test, now pending fixing lint and todos * Ready for review * Fix for windows-1 * Format * Another attempt * Thank you Windows * should work now * Enabled all output types to use UserVariable (#1148) * Added unit test for project_variables and also simplified the translation unit test (#1151) * Added unit test for project_variables and also simplified the translation unit test * Removed print * Fix windows test * Added util function to get the unit from expression (#1157) * Added util function to get the unit from expression * removed print * Added catch for input_params is None * fix lint * Disables vector arithmetics for variables (#1158) * List all solver variables (#1150) * Initial implementation * More variable finished * Fix unit test * Fix pylint * Fix the issue that solver name is not used * Move prepending code to translator * Fix prepending code * Fix deserialize issue that output units is not loaded * self review of prepending code * typo fix * Address comments * fix grad pressure's prepending code * Added support for solver variable in output_fields and also fixed a bug when translating Mach (#1160) --------- Co-authored-by: Ben <[email protected]> * Separate prepending code to declaration and computation parts (#1165) * Initial implementation * More variable finished * Fix unit test * Fix pylint * Fix the issue that solver name is not used * Move prepending code to translator * Fix prepending code * Fix deserialize issue that output units is not loaded * self review of prepending code * typo fix * Address comments * fix grad pressure's prepending code * Added support for solver variable in output_fields and also fixed a bug when translating Mach (#1160) * Replace wall shear stress with its magnitude, add unit test to whitelisted_callables * Fix coordinate, remove mu * Fix the scaling of turbulence solution * Fix the unit conversion for a list of float * Add missing vorticty magnitude * remove declaration when user-specified name is the same as the solver_name * Add velocity magnitude * Address comments * formatting --------- Co-authored-by: Ben <[email protected]> * UserVariable as Token and value from context (#1161) * Implementation done, now checking pylint * Now writing the overwrite checker * Ready for self review * Enabled timestepping->step size to be expression too (#1166) * Enabled timestepping->step size to be expression too * Bumped version * Handles NaN desearilization (#1168) * Added proper base for surface probe output * Ben y/expression front end feedback (#1169) * Updated the project variables schema * rename gradient * Added translator for ValurOrExpression object (#1175) * Added postProcessing flag setter (#1176) * Added postProcessing flag setter * Fixed unit test * Fixed v1 unit test * Decouple solver variable's solver name with user variable name (#1170) * Initial implementation * Fix unit test * Expression validation bundle (#1181) * 1. Single UDF has single dimensionality * Change in_unit to in_units * Change in_unit to in_units Signed-off-by: BenYuan <[email protected]> * Fixed unit test * Fixed all unit tests * Trying to fix windows * Removed unnecessary prints * Added legacy checker * added more test * Disabled degF and degC for the Expression --------- Signed-off-by: BenYuan <[email protected]> * Fix heatflux related solver variables (#1186) * Fix heat flux related solverVariables * Remove unnecessary debug script * [Registry Rescale] Use solutionRescale in the prepending code (#1184) * Fixed unary op not allowed by expression (#1187) * Fix temperature output with user variable (#1194) * Fix the prepending code for temperature * Add unit test * Remove debug script * [TODOs pending] More Math Functions for `Expression` (#1185) * Added math function cross for 2 component * Added dot function * Added sqrt * removed unnecessary callable assingment * added translator unit test * [Angran] More operation added, needs double check * Added some unit tests, removed pow() since it is duplicate --------- Co-authored-by: Angran Li <[email protected]> * Enable more fields to use value or expression (#1199) * Added all unit tests for ValueOrExpression fields * Added configure API to limit acceptance of the runtime expressions * Removed print * removed print, added extra=allow * Add more unit tests and validations for math operations (#1196) * Add validation and unit tests for multiple math operation * Handle mixture of unyt_quantity and expression/variable when using min/max function, add unit test for edge cases * Add more edge cases test * Add more edge cases and replace all dimensionality to dimensions * Add the remaining unit test and clean up todo list * Removed print * Address comments --------- Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> * Added dependency graph and variable pre-sorting (#1202) * added dependency graph, now need to add the topo_sort * added dependency graph, now need to add the topo_sort * Fix lint and format * Added unit test and added the sort to init variable space. What about the validate expresion though???... * Fixed a bug in deserializer where syntax errors are not exposed (#1200) * Fixed a bug in deserializer where syntax errors are not exposed * Fix unit test * Fix lint * Fix unit test * Fixed validaiton service for not cleanning the cache and also that no dependency graph built for sorign (#1204) * Deploy again (#1208) * Add expression support for Isosurface (#1201) * Add validation and unit tests for multiple math operation * Handle mixture of unyt_quantity and expression/variable when using min/max function, add unit test for edge cases * Add more edge cases test * Add more edge cases and replace all dimensionality to dimensions * Add the remaining unit test and clean up todo list * Initial implementation * Validation fix * Add validation for using empty list in UserVariable * Add unit for for isosurface validation * Add validation for iso_value length * Fix translator for IsosurfaceOutput * Fix unit test * Fix unit test * Use new unit system for non-dimensionalization of random units in iso_value * Fix incorrect isovalue for dimensioned output * Update unit test to use a irregular units as iso value * Changed isoValue schema (#1207) * Exclude project_variables from nondimensionalization * Specify exclude in the individual class * some minor patching * Add unit to validate iso value's translation --------- Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> * Removed validate_expression() (#1212) * Using discriminator to differencetiatye Value VS Expresison (#1215) * Added function to print all the output units for all post processing variables (#1213) * Added funciton to print all the output units for all post processing variables * some comments * Add validation to check the usage of surface specific solution variable in non-surface output fields (#1216) * Add validation to check the usage of surface specific solution variable in non-surface output fields * Address comments * Fix unit test * Added check for dependent features (#1218) * Now hand over to helper * Added check for dependent features * Removed print * Added missing check * Update SurfaceIntegralOutput for UserVariable (#1214) * rename node_normals to node_area_vector and add node_unit_normal * Update surfaceIntegral and UDF validation * Automatically multiply area to the surfaceIntegralOutput * Update tests/simulation/params/test_validators_params.py Co-authored-by: Ben <[email protected]> * Create a new user variable for surface integral * Address comments * Address comments --------- Co-authored-by: Ben <[email protected]> * More IsosurfaceOutput changes for Expression (#1220) * Initial implementation * fix get_output_units and corresponding unit test * Add unit test * Improve unit test * address comments * Enable usage of constant value as output variables. (#1219) * Enable usage of constant value as output variables. * Remove print * Added pi (#1222) * Added pi * Removed print * Renamed project_variables to variable_context (#1224) * Temporary disable unit system when validating ValueOrExpression (#1225) * Fixed the iso_value field validator dependency resulting in wrong error (#1230) * Fixed the iso_value field validator dependency resulting in wrong error * Revert accidental comment * formatter * [Expression] Add functions to get/remove/show user variables (#1226) * Reraise a different redeclaration error when loading simulation json * Fix error during translating isosurface * Add functions to get/remove/show user variables * Address comments * Changed texting * Fix lint --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> * Skip feature-dependent validation for expressions that are not used (#1223) * Skip feature-dependent validaiton for expressions that are not used * Added recursive finding of dependendt variables * lint * [SCFD-5773] Fix issue where semicolumn breaks AST (#1231) * replace validated_by with boolean option for clear context (#1232) * Reviewed, improved error message and loc * Some polishing * [SCFD-5806] Add solver side internal variables to the block lsit * Convert number user variables to expression * Fix lint * Removed evaluated value/units * Fix lint and unit test --------- Signed-off-by: BenYuan <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> Co-authored-by: Ben <[email protected]> Co-authored-by: Angran <[email protected]> commit f21249a Author: JunchengXue <[email protected]> Date: Wed Jul 9 21:40:07 2025 +0800 feat(): add customize user agent for the request from python client (#1221) * feat(): add customize user agent for the request from python client * fix! * fix! * Fix formatting --------- Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> commit c62a968 Author: Angran <[email protected]> Date: Wed Jul 9 08:58:09 2025 -0400 Add Project Length To ValidationInfo (#1233) * Add project_length_unit to validation_info * Utilize validation_info when parsing multiconstructor model * Add unit test and fix format * Address comments * Address comment again * Address comments round 3
* Snappy multizone python interface and ModularMeshingWorkflow refactor * SimulationParams validator fix * fixed validation error * disable checking missing boundaries when snappy multizone enabled * porous media support of SeedpointZone * seedpoint zone in rotation * potential bug fixes * remove commented parts for prototyping * fix validation context init * formatting part 1 * formatting part 2 * formatting last part * updated doc strings * formatting + automatic detection of beta mesher for snappy * updated doc strings, ready for review * version bump * fix bug with translating surface output with missing boundaries * handle same boundary names in differen vm blocks * added cube notebook * deleted print debug line * exmple formatting --------- Co-authored-by: marcvivesmassana <[email protected]>
* Squashed commit of the following: commit 16393e9df112b3c083f003c8e53339df0cc700ce Author: Feilin <[email protected]> Date: Thu Sep 25 11:36:20 2025 -0400 [FXC-2999] Remove error emission on geometry tag != used_tags and geometry tag != default tag in simuParams (#1434) * remove error on geometry tag != used_tags in simuParams * Fixed unit test and also improved message --------- Co-authored-by: Ben <[email protected]> Co-authored-by: benflexcompute <[email protected]> commit e110f12162871a35d2300b61449f1cd9a4f66f7b Author: Feilin <[email protected]> Date: Thu Sep 25 11:01:32 2025 -0400 pythonUI of imported surface output (#1437) * upload imported surfaces for draft commit 7b6e97924a6a9e92cedfbf194345a18ca549734a Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Sep 25 10:09:37 2025 -0400 Bump h2 from 4.2.0 to 4.3.0 (#1407) Bumps [h2](https://github.com/python-hyper/h2) from 4.2.0 to 4.3.0. - [Changelog](https://github.com/python-hyper/h2/blob/master/CHANGELOG.rst) - [Commits](https://github.com/python-hyper/h2/compare/v4.2.0...v4.3.0) --- updated-dependencies: - dependency-name: h2 dependency-version: 4.3.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ben <[email protected]> commit eef1072b45bee35bb213466152fe0cf507dc3b46 Author: johnmoore4 <[email protected]> Date: Wed Sep 24 14:39:43 2025 -0400 Add probe name into translated JSON (#1438) * Changed interface for probes. We are now passing them to the solver as key/value pairs, with the names as keys and location as values * Update flow360/component/simulation/validation/validation_output.py Co-authored-by: Ben <[email protected]> * Update flow360/component/simulation/validation/validation_output.py Co-authored-by: Ben <[email protected]> * Update flow360/component/simulation/validation/validation_output.py Co-authored-by: Ben <[email protected]> * Update tests/simulation/params/test_validators_output.py Co-authored-by: Ben <[email protected]> * Update tests/simulation/params/test_validators_output.py Co-authored-by: Ben <[email protected]> * applied Ben's PR suggestions * fixed failing unit tests * fix formatting * apply Ben's latest PR comment --------- Co-authored-by: John Moore <[email protected]> Co-authored-by: Ben <[email protected]> commit 348b0efbb7cc8b9d56a5ef330c257d8d118c1644 Author: Wiktor <[email protected]> Date: Wed Sep 24 13:36:40 2025 +0200 added inputs to report namespace (#1439) commit ae0fa232d99fecf28ca1eaa761fc08e3e4d13937 Author: Ben <[email protected]> Date: Tue Sep 23 16:27:43 2025 -0400 [FLPY-77] Added CPT_AUTO (#1436) * [FLPY-77] Added CPT_AUTO * Removed comments * testagain * Fixed unit test * Remove duplicate code commit 0a363f8d27d0e89a2fb854be25aa48ce62ac74e6 Author: Ben <[email protected]> Date: Mon Sep 22 12:55:23 2025 -0400 [FXC-2899] Removing deleted surface check on GeometryRefinement (#1432) commit f34663618ca81f2d5defab118487437094b1b137 Author: Wiktor <[email protected]> Date: Mon Sep 22 15:33:58 2025 +0200 removed version from fl namespace (#1431) commit 75e75d6bb1c16c2187f63a34eab44f5826e750fd Author: Wiktor <[email protected]> Date: Mon Sep 22 14:08:05 2025 +0200 changed default solver_version argument in report (#1430) * changed default argument * updated examples * black and isort * brought back cell execution count commit f8afc61bd50d82249300921bba68ef8b6eea6376 Author: Wiktor <[email protected]> Date: Thu Sep 18 16:15:11 2025 +0200 updated CFL docstrings to include default values for steady and unsteady (#1424) * updated CFL docstrings to include default values for steady and unsteady * black * pylint fixes commit c328726253571e74657312a773305df1ea5ccbe7 Author: Angran Li <[email protected]> Date: Wed Sep 17 05:34:51 2025 -0700 [SCFD-4997][SCFD-4998] Customized Stopping criteria and Monitoring value (#1285) * Initial implementation * Interface improvement v1 * Fix pylint * Fix unit test * Update translator to add flags for stopping criterion and process monitor output * Add dimensional tolerance support * Fix unit test * Add unit tests for validation * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) (#1312) * Add output_id and use output_id to reference monitor output in stopping criterion * Add stopping criterion support when moving statistic is None * allow n_edge=0 (#1371) * [FXC-2300] Improved error message when using legacy output field names (#1366) (#1367) Co-authored-by: Ben <[email protected]> * [FXC-2301] Fixed the translator not recursively finding solver variable names (#1365) (#1368) Co-authored-by: Ben <[email protected]> * Fix validation issue and replace output_id with private_attribute_id * [FXC-1749] make isentropic compressible solve on by default for liquid (#1369) * [FXC-1749] make isentropic compressible solve on by default for liquidOperatingCondition * Fix unit test * Change implementation * [FXC-342] [FXC-343] Add output classes for imported surfaces (#1352) * Add output for imported surfaces * Add docstrings * Address PR comments * Add TimeAverageImportedSurfaceOutput to time-average types * Fix case resource reuse issue * Fix unit test * Fix validation error (NoneType) * Add support to use unit system in tolerance * Fix pylint to remove duplicate code * Expose GeometryRefinement class (#1376) * Expose GeometryRefinement class * Linter * [FXC-2376] Added support for VM error status (#1375) (#1377) Co-authored-by: Ben <[email protected]> * iso surface clipping based on wall distance interface (#1374) * added wall distance clip threshold option to isosurface * updated defautl for wall dist clip threshold in python client and added to solver_translator * fixed typo * added unit test for solver translator with wall distance clip option * added test for output_entities for wall distance clip threshold * formatting * run isort * fixed variable naming for pylint * changes from review * added pylint exception * updated comment associated with isosurface wall_dist_clip_threshold * removed debugging try except statement --------- Co-authored-by: Ben <[email protected]> * Fix validation of simulation json from frontend * Add hash for monitor processor * Add missing private_atribute_id to output * unify comment location * Fix unit test * Add missing validation for legacy output fields and unit test * Fix a bug where the missing boudnary is not skiped for part of tranlstaion: (#1399) * Fix unit test * Address comments * Support using solver variable as monitor_field --------- Co-authored-by: Ben <[email protected]> Co-authored-by: Ben <[email protected]> Co-authored-by: Feilin <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: yifan-flex <[email protected]> Co-authored-by: Savithru Jayasinghe <[email protected]> Co-authored-by: awccoppFC <[email protected]> commit 5e964bd08dfcbac0b5f9b5a721674ec4bb9dafb1 Author: piotrkluba <[email protected]> Date: Mon Sep 15 11:50:47 2025 +0200 Expand report to support more result types (#1356) * requirements for additional results added * formatter * bug fixes to report * require case params always * test_fixed * added testcases, support for udds and monitors with from_local_storage * futureproofed the downloads overwriting * formatters * report title latex escaping * repaired test simulation json * another update to avoid translation errors * Fix recursion issue (#1410) Co-authored-by: Ben <[email protected]> * [HOTFIX] Fix a bug where a geometry is specified as a background of Chart2D (#1413) (#1414) * Fix recursion issue (#1410) * bump version to 25.6.7 * fix bug with geometry in the background * formatter changes --------- Co-authored-by: piotrkluba <[email protected]> Co-authored-by: Ben <[email protected]> * Update flow360/plugins/report/report_items.py Co-authored-by: Wiktor <[email protected]> * review suggestions * reqs bug fix --------- Co-authored-by: Ben <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Wiktor <[email protected]> commit c044d79d0b67913ab5903b12d0050226183d2be8 Author: Savithru Jayasinghe <[email protected]> Date: Thu Sep 11 13:22:53 2025 -0400 Added local and global options for preserve_thin_geometry (#1423) * Added local and global options for preserve_thin_geometry * Fix translation of surface meshing json --------- Co-authored-by: Chaitanya Talnikar <[email protected]> commit 216e7fe5d78be4cfc56666240d0e2050c04de462 Author: Savithru Jayasinghe <[email protected]> Date: Thu Sep 11 03:57:38 2025 -0400 Add private_attribute_id to output (#1420) Co-authored-by: Ben <[email protected]> commit 2298f27b4c2a8e7f183ab0d5b3359cbc49724147 Author: Jim Bungener <[email protected]> Date: Thu Sep 11 09:01:13 2025 +0200 Jim/update dynamic derivatives (#1416) * updated the dynamic_derivatives.py example to remove the steady state initialization step. USE adaptive CFL instead of Ramp. * added description at top of file * ran black on dynamic_derivatives.py commit 6436a18621b6f73a91bc85bcb6296041d9b46d73 Author: awccoppFC <[email protected]> Date: Fri Sep 5 11:40:36 2025 -0400 Low reynolds SA correction interface (#1408) * added option for low reynolds number correction for SA * added solver translator test for SA low reynolds correction option * fixed unit tests and changed default value for low_reynolds_correction to none and made it optional * added low_reynolds_correction to json file to get test to pass * changed default for low_reynolds_correction in SA model from None to False updated json files in solver translator to add default false option * updated json file to add new default option * updated more json files * added option to change C_w4 and C_w5 in python interface updated json files for unit tests commit 0c6e0a50aa0d79e6cd73b4e91826e025d680dbd3 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Sep 4 18:06:51 2025 -0400 [HOTFIX] Fix a bug where a geometry is specified as a background of Chart2D (#1413) (#1414) * Fix recursion issue (#1410) * bump version to 25.6.7 * fix bug with geometry in the background * formatter changes --------- Co-authored-by: piotrkluba <[email protected]> Co-authored-by: Ben <[email protected]> commit 5af89efaf43c4f4267c61a3fd5389be7c9da8f65 Author: piotrkluba <[email protected]> Date: Thu Sep 4 12:26:31 2025 -0400 Fix recursion issue (#1410) Co-authored-by: Ben <[email protected]> commit 1285f67ee91bc3186c9874f5ed43c1d800a05294 Author: Feilin <[email protected]> Date: Wed Sep 3 12:32:13 2025 -0400 Revert "Revert "upgrade numpy to 2.x (#1400)"" (#1409) This reverts commit 155b4c35723a3923476c695567e78ad72d42273f. commit 155b4c35723a3923476c695567e78ad72d42273f Author: benflexcompute <[email protected]> Date: Tue Sep 2 16:06:40 2025 -0400 Revert "upgrade numpy to 2.x (#1400)" This reverts commit f90a69cb2b50f9c3d297115a3b671de1f9f23289. commit 4ddedd9c3f19d56720f8fe760049dd4484e04c01 Author: Ben <[email protected]> Date: Tue Sep 2 14:59:23 2025 -0400 [SCFD-6046] Added back the post processing output variable flag. --> 25.7.2 (#1402) commit 71a85879ba751e645b43c8243af9965606b60e20 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Sep 2 14:59:12 2025 -0400 Fix a bug for overloaded division in the expression/variable system (#1404) (#1405) Co-authored-by: Ben <[email protected]> commit 1de32bb59a015c6f1056dfe19008d90a24d65f09 Author: Ben <[email protected]> Date: Tue Sep 2 13:46:09 2025 -0400 Streamline output fields and time averaging (#1397) (#1403) * added animation_frequency to streamline translator * added timeAveragedStreamlineOutput and helicity as option for output * updated __init__.py with new classes * add support for time-averaged streamline outputs * addressed Ben's PR comments * added 'helicity' to unique list * removed helicty as output option --------- Co-authored-by: johnmoore4 <[email protected]> Co-authored-by: John Moore <[email protected]> commit 12363c1c6de5a5a7bc38043a90b44139bc473181 Author: Ben <[email protected]> Date: Tue Sep 2 13:45:55 2025 -0400 [SCFD-6253] Avoided changing the length unit in the BETDisk asset cache (#1401) * Fix a bug where the missing boudnary is not skiped for part of tranlstaion: (#1399) * [SCFD-6253] Avoided changing the length unit in the BETDisk asset cache commit f90a69cb2b50f9c3d297115a3b671de1f9f23289 Author: Feilin <[email protected]> Date: Tue Sep 2 11:11:14 2025 -0400 upgrade numpy to 2.x (#1400) * upgrade numpy to 2.x * update poetry.lock commit 719cf1b4864dc6f53bc398733f1aec9801b40562 Author: Ben <[email protected]> Date: Fri Aug 29 23:00:58 2025 -0400 Fix a bug where the missing boudnary is not skiped for part of tranlstaion: (#1399) commit 679d16a062acce7c7ee7d92996014a9937606eed Author: Ben <[email protected]> Date: Thu Aug 28 15:20:31 2025 -0400 [SCFD-6161] Skip converting the project length unit (#1395) * [SCFD-6161] Skip converting the project length unit * Removed unnecessary changes commit d024f81b2152d957813dde4d99b9c28d38a3a0d3 Author: Ben <[email protected]> Date: Fri Aug 29 14:59:07 2025 -0400 Added support for CustomVolume to be used in the PorousMedium, Rotation (#1398) * Added support for CustomVolume to be used in the PorousMedium, Rotation * fixed draft entity commit 5575dd55e218dc7ee4a1407c29a98bd9d945f1b7 Author: Ben <[email protected]> Date: Thu Aug 28 12:05:47 2025 -0400 Skip boundaries during translation if the boundary is not found in volume mesh (#1393) commit 85fea5abd794301e51d35b900b1c499e5c5fd46f Author: Ben <[email protected]> Date: Wed Aug 27 19:41:50 2025 -0400 Revert "Ensure the geometry tolerance and the planar tolerance are compatible with each other (#1389)" (#1392) This reverts commit ba7bd43838ce93cc778d131e89d7321073559f05. commit 5113e280d016d0b44848ad9063634ba8719efa37 Author: Ben <[email protected]> Date: Wed Aug 27 15:35:12 2025 -0400 Added the CustomVolume (#1380) * Added the CustomVolume Expose CustomVolume * Fixed lint and formatting * Skips boundary check for CustomVolume commit ba7bd43838ce93cc778d131e89d7321073559f05 Author: Ben <[email protected]> Date: Tue Aug 26 15:41:01 2025 -0400 Ensure the geometry tolerance and the planar tolerance are compatible with each other (#1389) * Ensure the geometry tolerance and the planar tolerance are compatible with each other * Fix msg commit 3f796a105aea5c58053bfd552d7deed84668bf19 Author: Ben <[email protected]> Date: Tue Aug 26 12:06:10 2025 -0400 Improved robustness handling Geometry projects created completely with surface mesh files (#1388) commit d73f48b9ce75ef56a42ce54139e9db09e033f709 Author: Ben <[email protected]> Date: Mon Aug 25 20:45:47 2025 -0400 [FXC-2413] Added conflicting grouping handler for the grouping. (#1387) * Added conflicting grouping handler for the grouping. * Fix test commit b84214a60f4a0fff0720abdf690ee91289108922 Author: Ben <[email protected]> Date: Mon Aug 25 20:39:04 2025 -0400 Disables surface deletion and symmetric existence check when transformation is detected (#1385) * WIP * Disables surface deletion and symmetric existence check when transformtation is detected commit 4b16ed0eb16e870d9bc7a7990dc3b34abeaeaf47 Author: benflexcompute <[email protected]> Date: Mon Aug 25 17:14:51 2025 -0400 Remove print commit e756b677a176cf55bc033d3ea8395baa049f8d85 Author: Ben <[email protected]> Date: Mon Aug 25 17:10:38 2025 -0400 Added updater when loading cloud entity info and also added more logging (#1386) * Added updater when loading cloud entity info and also added more logging * fixed lint commit 3d1a33dfe177d7fde3b0257901a6dbf7b4a961ef Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Aug 22 20:37:20 2025 -0400 [Hotfix Main]: [SCFD-6066] Symmetry plane and face deletion logic. (#1384) * [SCFD-6066] Symmetry plane and face deletion logic. (#1383) * Added back validation for deleted surface detection and symmetry plane existence check * ADded expand and default box * fix lint * Fixing unit test --------- Co-authored-by: Ben <[email protected]> Co-authored-by: benflexcompute <[email protected]> commit d451b9cedc1d5231bcb786a57bbb9957c85851fc Author: yifan-flex <[email protected]> Date: Fri Aug 22 18:00:54 2025 -0400 fix(): change LiquidOperatingCondition translator so that Compressible solver type is allowed (#1379) commit dd5e64d94f91f6ca989be09b32e57a9b3759fa25 Author: Ben <[email protected]> Date: Fri Aug 22 12:17:06 2025 -0400 [FXC-743] GAI surface mesher translator (#1266) * run test first and then fix test * Change reference case * GAI translator ready * shorten the line number * Remove print * Added the new parameters commit 848ab40eb14aa3d8f160e26f9b0ed832965d97aa Author: awccoppFC <[email protected]> Date: Wed Aug 20 15:29:03 2025 -0400 iso surface clipping based on wall distance interface (#1374) * added wall distance clip threshold option to isosurface * updated defautl for wall dist clip threshold in python client and added to solver_translator * fixed typo * added unit test for solver translator with wall distance clip option * added test for output_entities for wall distance clip threshold * formatting * run isort * fixed variable naming for pylint * changes from review * added pylint exception * updated comment associated with isosurface wall_dist_clip_threshold * removed debugging try except statement --------- Co-authored-by: Ben <[email protected]> commit d2768d216497b9e687bfa5cef92ca330396d8e98 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed Aug 20 15:15:29 2025 -0400 [FXC-2376] Added support for VM error status (#1375) (#1377) Co-authored-by: Ben <[email protected]> commit 7005ff2fd894c93115ef557fbfa011e4e67bb03a Author: Savithru Jayasinghe <[email protected]> Date: Wed Aug 20 14:35:31 2025 -0400 Expose GeometryRefinement class (#1376) * Expose GeometryRefinement class * Linter commit 5d761f0d7a3e17094d1d2b2ed327d0e8c233fb52 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Aug 19 10:27:09 2025 -0400 Scheduled sync: main → develop (#1373) * allow n_edge=0 (#1371) * [FXC-2300] Improved error message when using legacy output field names (#1366) (#1367) Co-authored-by: Ben <[email protected]> * [FXC-2301] Fixed the translator not recursively finding solver variable names (#1365) (#1368) Co-authored-by: Ben <[email protected]> * [FXC-1749] make isentropic compressible solve on by default for liquid (#1369) * [FXC-1749] make isentropic compressible solve on by default for liquidOperatingCondition * Fix unit test * Change implementation * [FXC-342] [FXC-343] Add output classes for imported surfaces (#1352) * Add output for imported surfaces * Add docstrings * Address PR comments * Add TimeAverageImportedSurfaceOutput to time-average types --------- Co-authored-by: Feilin <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Ben <[email protected]> Co-authored-by: yifan-flex <[email protected]> commit daf7c9591e8d8ead57fc3cdd5be460f2ba4293fa Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Aug 18 13:32:49 2025 -0400 [Hotfix Main]: Fix bug that dimensionalization used wrong velocity scale (#1362) * Fix bug that dimensionalization used wrong velocity scale (#1361) * Fix bug that dimensionalization used wrong velocity scale * Fix unit test * Fix formatting * Fixed unit test --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit caabcfe25172d245913236fb34491bccedb487eb Author: Ben <[email protected]> Date: Mon Aug 18 12:08:20 2025 -0400 [SCFD-5640] Separating the time averaged output from non time averaged ones in translated JSON (#1263) * [SCFD-5640] Separating the time averaged output from non time averaged ones in translated JSON * Reverted monitor output related changes * Ready commit 16fedf52add00930eb5561e9038406e35e7de49c Author: Chaitanya Talnikar <[email protected]> Date: Fri Aug 15 16:42:34 2025 -0400 Fix name for geometry refinement (#1363) commit dff2e5b0dfb2cd8a953b573e99c4210affa4be7a Author: Chaitanya Talnikar <[email protected]> Date: Fri Aug 15 14:28:34 2025 -0400 Add geometry refinement and other GAI related options (#1355) * Add geometry refinement and other GAI related options * Fix formatting * Added geometry refinement explicit cast * Fix some comments * Fix black * Address more comments * Finish adding unit tests * Fix lint and isort * Address comments * Fix json reference unit test failures --------- Co-authored-by: Ben <[email protected]> commit 82c591678756392ceffecba727cc34a3e0933e48 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Aug 14 23:17:44 2025 -0400 Exposing error when boundary is missing compared to metadata (#1357) (#1358) Co-authored-by: Ben <[email protected]> commit 8e38f54fd1405ce4dee5f79b1cd780c3a070387d Author: BenYuan <[email protected]> Date: Fri Aug 15 01:54:50 2025 +0000 Change auto merge workflow commit f835ce41f10b4fc2feb9036ebc4aa2731bf8e43c Author: BenYuan <[email protected]> Date: Thu Aug 14 16:27:40 2025 +0000 Added sync-main-to-develop.yml commit f5c2128cc40f6911f3fc873c05eb891e5bf8bf38 Author: awccoppFC <[email protected]> Date: Tue Aug 12 16:27:13 2025 -0400 Porous Jump Python Interface (#1332) * added porous jump bc to python client as well as tests * run black on code * fixed comments and ran isort + black * updated test * formatting * added tests for input validation for porous jump entity pairs * removed unnecessary code * test_validators_params.py * formatting * removed test --------- Co-authored-by: Ben <[email protected]> commit 04074e798afc317fabd2a2d4fb96da983d2d38d4 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Aug 11 15:12:26 2025 -0400 Raise on error by default (#1351) (#1354) * Added Python version for user agent * Fix lint * Raise on error by default * Changed the default to raise on error submission to avoid user confusion * Better error message Co-authored-by: Ben <[email protected]> commit cb5324cc446a18a79325b084961e79dca4fb6aea Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Aug 11 15:12:00 2025 -0400 [Hotfix Main]: Added Python version for user agent (#1353) * Added Python version for user agent (#1350) * Added Python version for user agent * Fix lint * Fix conflict --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit 64d3f9bd213bc73c57fceb2dc054f9878118c23e Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Aug 11 12:21:06 2025 -0400 [Hotfix Main]: Bump to 25.6.5 and also add default value application to planar tolerance (#1349) * Bump to 25.6.5 and also add default value application to planar tolerance (#1348) * Resolve conflict --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit edadff15ac8c4e41a80b84b456454a12d87ef06f Author: dawood <[email protected]> Date: Fri Aug 8 16:19:11 2025 -0400 feat: add tags filtering to Project.get_case_ids, Project.get_project_ids, and metadata (#1341) * feat: add tag filtering support to Project class + metadata and class property, get_case_ids/get_project_ids methods 499f63b * fix: remove unused imports + dangerous default value * feat: add property tags to AssetBase commit 113e6e417c3b8dca1a1ed2aa3ce507e73ddb6627 Author: dawood <[email protected]> Date: Fri Aug 8 14:20:48 2025 -0400 feat: add rename method to v2 assets (#1333) * feat: add rename method to v2 assets (Folder, Project, SurfaceMesh, VolumeMesh, Case, etc) * fix: raise rename method to AssetBase class * fix: remove self return after renaming asset * fix: remove return docstring + missed self returns commit c21664b8fba2d944a13a532d8588f2c671c219e9 Author: dawood <[email protected]> Date: Fri Aug 8 12:58:57 2025 -0400 feat: Add folder parameter to project creation (#1325) commit 6ff4da50eecf24c520bbad5a5a42807aeb3c9e81 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Aug 8 11:32:13 2025 -0400 [Hotfix Main]: fix(): `planar_face_tolerance` might be missing and causing validation to fail (#1345) * fix(): `planar_face_tolerance` might be missing and causing validation to fail (#1344) * fix(): planar_face_tolerance might be missing and causing validaiton to fail * ensure valid param * Fixed test * FIX CONFLICT --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit 838fb893e1538e93ed8336718fd87a39c357ca6e Author: dawood <[email protected]> Date: Fri Aug 8 11:31:50 2025 -0400 feat: Migrate Folder class to v2 API (#1317) * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) (#1312) * bug(): Removed duplicate pressure output when pressure is specified (#1309) * feat: migrate Folder class to v2 API endpoints * remove unused v1 import, run styling + lint checks * rerun isort + lint * disable pylint duplicate code * fix example files * delete test_folder_tree.py * delete examples, remove comments, update pydantic * fix: run linting + formatting --------- Co-authored-by: Ben <[email protected]> commit beb2af9a6b31d02fdda59c126d78d4a02d09aa45 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Aug 8 10:11:15 2025 -0400 Updated the description of the planar_face_tolerance (#1342) (#1343) Co-authored-by: Ben <[email protected]> commit 1875e27c7f2efe2addb65b034ca9cfd2a9b2b8e8 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Aug 7 13:42:52 2025 -0400 [FXC-2059] Added planar_face_tolerance translator for legacy mesher and also unified the validation (#1329) (#1337) * [FSC-2006] Disable boundary completness and deletion validation * Fix unit test * [FXC-2059] Added planar_face_tolerance translator for legacy mesher and also unified the validaiton Co-authored-by: Ben <[email protected]> commit b479e80061ce19b9df2c8d513b39ffdcfa40188f Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Aug 7 13:20:58 2025 -0400 [FXC-2006] Disable boundary completeness and deletion validation (#1330) (#1336) * [FSC-2006] Disable boundary completness and deletion validation * Fix unit test Co-authored-by: Ben <[email protected]> commit e4ab04ed4b151e1a0f93d5fc7615a04bdce4a17b Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Aug 7 13:19:38 2025 -0400 [FXC-1974] Dry run for run_case() (#1334) (#1335) * [FXC-1974] Dry run for run_case() Fix linting [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) (#1312) * Added for sm and vm generations too * revert change on examples Co-authored-by: Ben <[email protected]> commit ffbfa61d315d82ba45e66f856a59fd191c4ab683 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Aug 5 20:54:19 2025 -0400 [Hotfix Main]: Fix the hotfix yaml not being able to handle the anti column (#1315) * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json (#1310) (#1312) * bug(): Removed duplicate pressure output when pressure is specified (#1309) * Fix the hotfix yaml not being able to handle the anti column (#1311) * [FXC-2051] Removed unsteady initial_blade_direction check and also removed comments in v1 json * Fix the hotfix yaml not being able to handle the * Fix auto hotfix --------- Co-authored-by: Ben <[email protected]> commit 529aad34e830e324eeabc36a5fa40ae16d632dcf Author: Ben <[email protected]> Date: Tue Aug 5 14:31:43 2025 -0400 Added a redunet test.. (#1318) commit 13af5434c96cfbc33070bc88c3cd4d3b46e17ca6 Author: Ben <[email protected]> Date: Tue Aug 5 14:01:01 2025 -0400 Speed up the loading of the entities by using set and also reduce complexity with supplied known hash set (#1316) * Speed up the loading of the entities by using set and also reduce complecity with supplied known hash set * Remove description * Ready * Fix lint commit a652eb2e8ddb37a9c0f89a8769c979b543954455 Author: BenYuan <[email protected]> Date: Mon Aug 4 16:10:20 2025 +0000 Update readme commit cba5d97df385eed42b4507a603678663f38d0dc0 Author: BenYuan <[email protected]> Date: Wed Jul 30 16:30:49 2025 +0000 Update lock commit 9daf86cdbf0ee3024cb82261abe0c70f73fd2256 Author: Ben <[email protected]> Date: Wed Jul 30 11:53:35 2025 -0400 Bump the version number for 25.7 (#1260) (#1261) commit 607cf42ed63897030f4490ccee72914106d084f5 Author: Ben <[email protected]> Date: Wed Jul 30 10:29:06 2025 -0400 Bump version for 25.6 official release (#1306) commit aba6fa74459c312317878dc00046d70b99f1c725 Author: Ben <[email protected]> Date: Wed Jul 30 10:01:33 2025 -0400 Some improvement on the `flow360 version` command (#1305) * Some improvement * formatting commit bd0d12a2a1fe0bb67883b11caa6841b8caf58249 Author: marcvivesmassana <[email protected]> Date: Tue Jul 29 15:48:55 2025 -0400 Example python file for post-processing time-averaged isosurfaces (#1291) * example file for time-averaged isosurfaces * added post-processing * added post-processing * added some text * changed temp folder to local folder * black validation * removed paths for download * removed lines * removed lines * removed lines commit 4860b3a32b4fa1e9316abfebf48983bf082ac583 Author: Ben <[email protected]> Date: Tue Jul 29 11:06:52 2025 -0400 Removed aws_region in the model (#1302) commit 8fc270697754c544cbebf4d163bf6d9a4a3730f8 Author: Angran <[email protected]> Date: Mon Jul 28 15:25:42 2025 -0400 bump to 25.5.2b4 (#1300) commit 98171089b9c2710cd7e267d67f4fddb88f4cb74f Author: Ben <[email protected]> Date: Mon Jul 28 15:10:38 2025 -0400 Added updater for entities being in multiple outputs (#1293) * WIP * Added updater for entities being in multiple outputs * Deduplicate first before removing surfaces --------- Co-authored-by: Angran <[email protected]> commit d669f7f1f4d61c9b05c8ff686550d429920a3ebc Author: Angran <[email protected]> Date: Mon Jul 28 13:16:25 2025 -0400 Load the storage region from the backend response (#1299) * load the storage region from the backend response * Bump version commit 1da335aa9598f6ac6b23f8afa8c59a50b925b510 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat Jul 26 12:27:00 2025 -0400 [Hotfix Main]: Added version command and better project loading error (#1296) * Added version command and better project loading error (#1295) * Added version command and better project loading error * fixed unit tests * resolved conflict --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> commit b232ea4bd8c1582ee5634d9f4413abb0a19f796b Author: benflexcompute <[email protected]> Date: Fri Jul 25 20:34:06 2025 +0000 Bump version commit 026e2610f23868d522846905920ecbfb57e79cfd Author: BenYuan <[email protected]> Date: Fri Jul 25 20:26:09 2025 +0000 Added v1 fallback original error commit ea610f162d45a8a4ea06252b4a4f489bd1f30b02 Author: Angran <[email protected]> Date: Fri Jul 25 16:22:40 2025 -0400 Remove get expanded entity list during preprocessing params for translator (#1292) * Remove expanded enttiy list * fix pylint commit aaa647e1049506fe53bf0dafe9bb8078348c0fb0 Author: Ben <[email protected]> Date: Fri Jul 25 16:06:07 2025 -0400 Revert "Removed the fall back of using Flow360Params (#1289)" (#1290) This reverts commit 211ef14aa05c51360c4f93a7ac15307dc931eb82. commit 211ef14aa05c51360c4f93a7ac15307dc931eb82 Author: Ben <[email protected]> Date: Fri Jul 25 13:42:53 2025 -0400 Removed the fall back of using Flow360Params (#1289) * Removed the fall back of using Flow360Params * Fix lint commit 12e8953b7635165fed0a5dd86d9c71c42b53202e Author: Ben <[email protected]> Date: Fri Jul 25 13:24:15 2025 -0400 Remedy on the GhostCircularPlane existence check (#1288) commit 7748bb4310e6306e3fef6084afdbeb32172db443 Author: Angran <[email protected]> Date: Fri Jul 25 12:56:13 2025 -0400 separate get_project_records out (#1287) commit c144e21b06eb7d2f1abe164794dbc40dc1323429 Author: Wiktor <[email protected]> Date: Thu Jul 24 21:30:59 2025 +0200 adopted the proposed flex credit example (#1284) * adoptes the proposed flex credit example * black * removed leading spaces commit 1bb4dee35be43f2055b5278109a6adf87d8c19ff Author: Angran <[email protected]> Date: Thu Jul 24 13:26:40 2025 -0400 Fix Deserialize function when handling None description (#1286) * Update to_file implementatino to exclude None when dumpping json * Make sure deserialize can handle None description situation * Add fixed to_yaml commit 8ed9998db3cb7726e9440a2d46af4b551c2cddca Author: Ben <[email protected]> Date: Wed Jul 23 17:15:07 2025 -0400 [SCFD-5015] Projected frontal area support (#1262) * [SCFD-5015] Projected frontal area support * [SCFD-5943] Added translator support for the auto area * fix linter commit b9f86f6930aa463fd1e36f34c6fd6640ad634e45 Author: Ben <[email protected]> Date: Wed Jul 23 17:06:19 2025 -0400 [SCFD-5945] Fix location of the expression validation error and also fix issues caused by converting the value variable to expression. (#1283) * [SCFD-5945] Corrected the location for expression error * proposed fix * Rebase anyway --------- Co-authored-by: Angran Li <[email protected]> commit 765d010a4c955304b40b69ed665b983afaac98d0 Author: Ben <[email protected]> Date: Wed Jul 23 09:30:54 2025 -0400 [Expression] Removed postProcessing key in the context and also added support for description (#1280) * [Expression] Removed postProcessing key in the context and also added support for description * isort --------- Co-authored-by: Angran <[email protected]> commit 315de8417a75f211b2707597362fbee2688720c3 Author: Ben <[email protected]> Date: Wed Jul 23 09:18:37 2025 -0400 fix(): misuse of .sort() which return None (#1282) * fix(): misuse of .sort() which return None * address comments commit 8f86c7fd4183cbcb0dc41df08c8683d9ff28def7 Author: Ben <[email protected]> Date: Tue Jul 22 17:26:14 2025 -0400 Added legacy tagging for previous UDFs (#1281) Co-authored-by: Angran Li <[email protected]> commit e12ab71241d18f9eb49d65c50337259b7d5c2fa2 Author: Wiktor <[email protected]> Date: Tue Jul 22 19:40:46 2025 +0200 removed dev from example (#1272) Co-authored-by: Ben <[email protected]> commit a872acbe77add3adccab97115b3a976bf65823c4 Author: Angran <[email protected]> Date: Tue Jul 22 13:40:14 2025 -0400 Fix updater of from_mach_reynolds (#1276) * Fix updater of from_mach_reynolds * revert minor change commit 69fea2fdfed2340476d16ff9baef27986b229b06 Author: Ben <[email protected]> Date: Tue Jul 22 11:28:36 2025 -0400 [SCFD-5825] Remove 'p' and 'rho' from iso field (#1275) commit c0183e0b294f7483587c9de5ceec072b6f97a803 Author: Ben <[email protected]> Date: Tue Jul 22 09:41:41 2025 -0400 [SCFD-5640] Disable the same surface being used in more than one Surface/TimeaverageSurfaceOutput (#1270) commit 2f1b228dd90e9dacd9c274df2b975725eb5e1c8f Author: Angran <[email protected]> Date: Tue Jul 22 09:36:03 2025 -0400 Move get_flow360_unit_system_liquid out for manifest usage (#1273) commit 6721ee1604457625119c6fb494ef11f41a454655 Author: Angran <[email protected]> Date: Mon Jul 21 16:37:06 2025 -0400 [FXC-1886] Fix incorrect dimensional output when liquid op is used (#1265) * Fix unit conversion bug for liquid * 1. Use liquid flow360 unit system for UDF conversion when liquid op is used 2. Fix unit test * Fix compare_values and replace all incorrect checks * Address comments * Also fix other conversion factor --------- Co-authored-by: BenYuan <[email protected]> commit b56fbb93271cc9e8c4d854c74b18cdb2368b2a81 Author: Angran <[email protected]> Date: Mon Jul 21 16:15:12 2025 -0400 Remove logging to file by default (#1269) * Remove file logger * Try again * try again --------- Co-authored-by: BenYuan <[email protected]> commit 4675b2883a353859ad3b8fa8080f1274cb5623d3 Author: Ben <[email protected]> Date: Mon Jul 21 10:56:52 2025 -0400 Resource reuse logic increase robustness (#1267) * WIP * Now fixing UDD * Fixed udd ordering * Need to know how the density works * Ready * READY commit e350b82037bf4813698560c5c96a97ca2f5aa70a Author: Ben <[email protected]> Date: Fri Jul 18 14:13:14 2025 -0400 Misc expression fixes (#1264) * Added support for front end JSON support when expression is empty/None * Regulated the unit symbols that can be used in the expression * Fixed unit test commit 8e1bf21d79f8ee6cd7513ba51dca7401bac9c425 Author: Ben <[email protected]> Date: Thu Jul 17 10:50:19 2025 -0400 Added bounding box info in support of inhouse symmetric (#1258) * Added bounding box info * Ready for testing, proper validaiton pending * deploy now, test pending * Fixed unit tests * Ready for testing * fixed unit test * Ready * Bump version due to addition of the global_bounding_box commit 771e21e0c593a7b986847da05847bc68aecb9f9f Author: Angran <[email protected]> Date: Fri Jul 11 13:03:44 2025 -0400 Remove ceil and floor functions (#1259) commit a4977ddca41dbe8fc5f8506174bd32441c608a9a Author: Ben <[email protected]> Date: Thu Jul 10 20:08:30 2025 -0400 Enabled power operation on vector variables (#1257) * Enabled power operation on variables * Fix CI --------- Co-authored-by: Angran <[email protected]> commit fb5b7376342838cd6a7361919c2540197282e4f1 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Jul 10 13:49:36 2025 -0400 [25.5] Add prefix option to read_all_v1_BETDisks function (#1253) (#1255) * initial implementation * Add index offset option * Address comment Co-authored-by: Angran <[email protected]> commit b485c0d7c7f5386e8319149a77c83726ef6235b9 Author: Angran <[email protected]> Date: Thu Jul 10 10:33:04 2025 -0400 Add updater for from_mach_reynolds (#1252) commit 047721d3c8368a9d5ad4f65695be4eb1e5fcb253 Author: Angran <[email protected]> Date: Wed Jul 9 15:17:28 2025 -0400 Update auto hotfix workflow (#1241) commit 1b81c3b087bb90f9c335b09c6f4c11bd1cb2a14b Author: BenYuan <[email protected]> Date: Wed Jul 9 17:40:33 2025 +0000 Add 'main' branch references commit 3e15b6c8de59ed0d48bb06e20df2655626849d3b Author: Maciej Skarysz <[email protected]> Date: Wed Jul 9 19:29:45 2025 +0200 User expression support [POC] (#789) (#841) * User expression support [POC] (#789) * Added examples of a pydantic model using expressions * Example units support * Migrate to Pydantic V2 * Added variable support * Added units support in variable expressions * Added support for constrained types * Added tests, add support for unary operations * Make core blueprint package framework-agnostic, add support for partial evaluation of builtin solver variables (#858) * Move Flow360 and Tidy3D-specific logic outside of core blueprint module * Add support for partial evaluation of solver variables * Fix Python 3.9 compatibility * Added complete list of usable solver variables (#888) * Added complete list of usable solver variables * Add variable capture when creating simulation params * Serialization improvements * Fix serialization and deserialization issues --------- Co-authored-by: Andrzej Krupka <[email protected]> * Ensure global scope variables are visible within validation service * Fix validation ordering bug * Allow extra fields in variable objects * Improved error messages (#945) * Nested expression support + expression validation endpoints (#946) * Nested variables are now available for use * Added expression validation endpoint support * Extend expressions endpoint to support multiple expressions * Add ability to use expressions in vector fields * Added numpy interop capabilities along with subscript operator support * Apply PR feedback --------- Co-authored-by: Andrzej Krupka <[email protected]> * Reorganized solver variables into target namespaces (#986) * Reorganized solver variables into target namespaces * Apply PR feedback * Added ability to convert expressions to C++ syntax (#1009) Co-authored-by: Andrzej Krupka <[email protected]> * Update CI yaml * Fix unit tests after alias changes * Removed unused __init__.py items --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Add dependency cycle checking and add non-dimensioned array handling to expression validation service (#1013) Co-authored-by: Andrzej Krupka <[email protected]> * Validation service fixes, better error messages (#1030) * Validation service fixes * Fix aliasing issues, fix numpy interop with dimensioned variables * Apply PR feedback * Ready to merge --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Added unit handling to solver code converter (#1049) * Validation service fixes * Fix aliasing issues, fix numpy interop with dimensioned variables * Apply PR feedback * Added unit stripping when converting to solver code * Add a general name preprocessing function instead of unit stripping * Finalize unit -> solver conversion function * Add user variable inlining for solver code generation --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Expressions fixes, demonstrating E2E capability for user-variable expressions (#1082) * Validation service fixes * Fix aliasing issues, fix numpy interop with dimensioned variables * Apply PR feedback * Added unit stripping when converting to solver code * Add a general name preprocessing function instead of unit stripping * Finalize unit -> solver conversion function * Add user variable inlining for solver code generation * Demonstrating E2E case with expressions * Fix variable initialization when loading from file * Removed non-release code * Fixed unit test --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Pylint Fix for `expression` branch (#1083) * wip * More fixes * Another batch of linter fixes * Another round of linter fixes * Fixed most unit test, now fixing extra error * Fixing all the unit tests, pylint etc * Fix unit test * Fix unit test --------- Co-authored-by: Andrzej Krupka <[email protected]> * Rolled back to python list types, no numpy interop as of now because it is not compatible with solver translation (#1108) * Rolled back to python list types, no numpy interop as of now because it is not compatible with solver translation * Format --------- Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> * Partial expression evaluation, example of a builtin function (#1115) * Cross in Pyhton mode works * WIP now needing for refactor to enable function on-demand import since current structure causes circular import * Some comments * Got symbolic evaluation to work but very HACKY * Refactored expressions module structure to be self-contained (still contains cyclic imports but only runtime, never at init...) * Partial evaluation before solver code translation * More fixes, simplify deserializer logic * Format * Fixed unit test as many as possible, only 1 left * Fixing most of the pylint issues * Fixed allow_inf_nan when evaluating expressions with solver variables * eagerly evaluation and also taking advantage of unyt pacakge * Small fixes * Fix invalid list initialization syntax in the C++ code generator * Added back the as_vector() implementation * Renamed raise_error * Remove extra evaluation call in cross, reduce unnecessary parentheses * some more small changes --------- Co-authored-by: benflexcompute <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> * Fixed merging * Fixed V1 tests * [FL-729] [FLPY-7] Dimensioned Volume Output (#1012) * Added unit test, now pending fixing lint and todos * Ready for review * Fix for windows-1 * Format * Another attempt * Thank you Windows * should work now * Enabled all output types to use UserVariable (#1148) * Added unit test for project_variables and also simplified the translation unit test (#1151) * Added unit test for project_variables and also simplified the translation unit test * Removed print * Fix windows test * Added util function to get the unit from expression (#1157) * Added util function to get the unit from expression * removed print * Added catch for input_params is None * fix lint * Disables vector arithmetics for variables (#1158) * List all solver variables (#1150) * Initial implementation * More variable finished * Fix unit test * Fix pylint * Fix the issue that solver name is not used * Move prepending code to translator * Fix prepending code * Fix deserialize issue that output units is not loaded * self review of prepending code * typo fix * Address comments * fix grad pressure's prepending code * Added support for solver variable in output_fields and also fixed a bug when translating Mach (#1160) --------- Co-authored-by: Ben <[email protected]> * Separate prepending code to declaration and computation parts (#1165) * Initial implementation * More variable finished * Fix unit test * Fix pylint * Fix the issue that solver name is not used * Move prepending code to translator * Fix prepending code * Fix deserialize issue that output units is not loaded * self review of prepending code * typo fix * Address comments * fix grad pressure's prepending code * Added support for solver variable in output_fields and also fixed a bug when translating Mach (#1160) * Replace wall shear stress with its magnitude, add unit test to whitelisted_callables * Fix coordinate, remove mu * Fix the scaling of turbulence solution * Fix the unit conversion for a list of float * Add missing vorticty magnitude * remove declaration when user-specified name is the same as the solver_name * Add velocity magnitude * Address comments * formatting --------- Co-authored-by: Ben <[email protected]> * UserVariable as Token and value from context (#1161) * Implementation done, now checking pylint * Now writing the overwrite checker * Ready for self review * Enabled timestepping->step size to be expression too (#1166) * Enabled timestepping->step size to be expression too * Bumped version * Handles NaN desearilization (#1168) * Added proper base for surface probe output * Ben y/expression front end feedback (#1169) * Updated the project variables schema * rename gradient * Added translator for ValurOrExpression object (#1175) * Added postProcessing flag setter (#1176) * Added postProcessing flag setter * Fixed unit test * Fixed v1 unit test * Decouple solver variable's solver name with user variable name (#1170) * Initial implementation * Fix unit test * Expression validation bundle (#1181) * 1. Single UDF has single dimensionality * Change in_unit to in_units * Change in_unit to in_units Signed-off-by: BenYuan <[email protected]> * Fixed unit test * Fixed all unit tests * Trying to fix windows * Removed unnecessary prints * Added legacy checker * added more test * Disabled degF and degC for the Expression --------- Signed-off-by: BenYuan <[email protected]> * Fix heatflux related solver variables (#1186) * Fix heat flux related solverVariables * Remove unnecessary debug script * [Registry Rescale] Use solutionRescale in the prepending code (#1184) * Fixed unary op not allowed by expression (#1187) * Fix temperature output with user variable (#1194) * Fix the prepending code for temperature * Add unit test * Remove debug script * [TODOs pending] More Math Functions for `Expression` (#1185) * Added math function cross for 2 component * Added dot function * Added sqrt * removed unnecessary callable assingment * added translator unit test * [Angran] More operation added, needs double check * Added some unit tests, removed pow() since it is duplicate --------- Co-authored-by: Angran Li <[email protected]> * Enable more fields to use value or expression (#1199) * Added all unit tests for ValueOrExpression fields * Added configure API to limit acceptance of the runtime expressions * Removed print * removed print, added extra=allow * Add more unit tests and validations for math operations (#1196) * Add validation and unit tests for multiple math operation * Handle mixture of unyt_quantity and expression/variable when using min/max function, add unit test for edge cases * Add more edge cases test * Add more edge cases and replace all dimensionality to dimensions * Add the remaining unit test and clean up todo list * Removed print * Address comments --------- Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> * Added dependency graph and variable pre-sorting (#1202) * added dependency graph, now need to add the topo_sort * added dependency graph, now need to add the topo_sort * Fix lint and format * Added unit test and added the sort to init variable space. What about the validate expresion though???... * Fixed a bug in deserializer where syntax errors are not exposed (#1200) * Fixed a bug in deserializer where syntax errors are not exposed * Fix unit test * Fix lint * Fix unit test * Fixed validaiton service for not cleanning the cache and also that no dependency graph built for sorign (#1204) * Deploy again (#1208) * Add expression support for Isosurface (#1201) * Add validation and unit tests for multiple math operation * Handle mixture of unyt_quantity and expression/variable when using min/max function, add unit test for edge cases * Add more edge cases test * Add more edge cases and replace all dimensionality to dimensions * Add the remaining unit test and clean up todo list * Initial implementation * Validation fix * Add validation for using empty list in UserVariable * Add unit for for isosurface validation * Add validation for iso_value length * Fix translator for IsosurfaceOutput * Fix unit test * Fix unit test * Use new unit system for non-dimensionalization of random units in iso_value * Fix incorrect isovalue for dimensioned output * Update unit test to use a irregular units as iso value * Changed isoValue schema (#1207) * Exclude project_variables from nondimensionalization * Specify exclude in the individual class * some minor patching * Add unit to validate iso value's translation --------- Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> * Removed validate_expression() (#1212) * Using discriminator to differencetiatye Value VS Expresison (#1215) * Added function to print all the output units for all post processing variables (#1213) * Added funciton to print all the output units for all post processing variables * some comments * Add validation to check the usage of surface specific solution variable in non-surface output fields (#1216) * Add validation to check the usage of surface specific solution variable in non-surface output fields * Address comments * Fix unit test * Added check for dependent features (#1218) * Now hand over to helper * Added check for dependent features * Removed print * Added missing check * Update SurfaceIntegralOutput for UserVariable (#1214) * rename node_normals to node_area_vector and add node_unit_normal * Update surfaceIntegral and UDF validation * Automatically multiply area to the surfaceIntegralOutput * Update tests/simulation/params/test_validators_params.py Co-authored-by: Ben <[email protected]> * Create a new user variable for surface integral * Address comments * Address comments --------- Co-authored-by: Ben <[email protected]> * More IsosurfaceOutput changes for Expression (#1220) * Initial implementation * fix get_output_units and corresponding unit test * Add unit test * Improve unit test * address comments * Enable usage of constant value as output variables. (#1219) * Enable usage of constant value as output variables. * Remove print * Added pi (#1222) * Added pi * Removed print * Renamed project_variables to variable_context (#1224) * Temporary disable unit system when validating ValueOrExpression (#1225) * Fixed the iso_value field validator dependency resulting in wrong error (#1230) * Fixed the iso_value field validator dependency resulting in wrong error * Revert accidental comment * formatter * [Expression] Add functions to get/remove/show user variables (#1226) * Reraise a different redeclaration error when loading simulation json * Fix error during translating isosurface * Add functions to get/remove/show user variables * Address comments * Changed texting * Fix lint --------- Co-authored-by: Ben <[email protected]> Co-authored-by: BenYuan <[email protected]> * Skip feature-dependent validation for expressions that are not used (#1223) * Skip feature-dependent validaiton for expressions that are not used * Added recursive finding of dependendt variables * lint * [SCFD-5773] Fix issue where semicolumn breaks AST (#1231) * replace validated_by with boolean option for clear context (#1232) * Reviewed, improved error message and loc * Some polishing * [SCFD-5806] Add solver side internal variables to the block lsit * Convert number user variables to expression * Fix lint * Removed evaluated value/units * Fix lint and unit test --------- Signed-off-by: BenYuan <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: Andrzej Krupka <[email protected]> Co-authored-by: benflexcompute <[email protected]> Co-authored-by: Ben <[email protected]> Co-authored-by: Angran <[email protected]> commit f21249a2d1f883310b3d153232e893659f094166 Author: JunchengXue <[email protected]> Date: Wed Jul 9 21:40:07 2025 +0800 feat(): add customize user agent for the request from python client (#1221) * feat(): add customize user agent for the request from python client * fix! * fix! * Fix formatting --------- Co-authored-by: BenYuan <[email protected]> Co-authored-by: Ben <[email protected]> commit c62a968730706e0c8496fb39b445a5bdcf3e962a Author: Angran <[email protected]> Date: Wed Jul 9 08:58:09 2025 -0400 Add Project Length To ValidationInfo (#1233) * Add project_length_unit to validation_info * Utilize validation_info when parsing multiconstructor model * Add unit test and fix format * Address comments * Address comment again * Address comments round 3 * merge fixes * deleted unnecessary settings from smooth controls * formatting
registry_lookup=registry_lookup, | ||
) | ||
elif isinstance(value, list): | ||
elif isinstance(value, (list, tuple)): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_preprocess_nested_list
returns a list, if value
is a tuple then we are changing the data type by assigning a list back to it?
requests = "2.32.4" | ||
Sphinx = "*" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why there is change in the lock file? Is it just update?
==== | ||
""" | ||
|
||
type: Literal["MeshingParams"] = pd.Field("MeshingParams", frozen=True) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we change this to type_name? type is not a reserved keyword but is a builtin.
|
||
if total_custom_volume: | ||
total_user_defined_farfield = 0 | ||
log.warning( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we raise error instead if total_user_defined_farfield>0? The log only goes to the stdout and won't be monitored by backend / show on webUI.
return None | ||
|
||
|
||
class SnappySurfaceMeshingParams(Flow360BaseModel): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remember we had discussion on the name spacing of these new parameters.
What do you think we put this in a snappy.py file and change the name to SurfaceMeshingParams
? So user would import it as fl.snappy.SurfaceMeshingParams
? This reduce typing by from flow360 import snappy if user only uses snappy?
For discriminator we do not change since it discriminates against other meshers' setting.
) | ||
# pylint: disable=no-member | ||
spacing: LengthType.Positive = pd.Field(description="The required refinement spacing.") | ||
project_to_surface: Optional[bool] = pd.Field(True) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This applies to snappy only? If so what is the plan on the data class design? Do we just mix features of different meshers into a single class?
If so we should have validaiton to ensure that invalid/not-used settings are not allowed in the simulation.json
type: Literal["UserDefinedFarfield"] = pd.Field("UserDefinedFarfield", frozen=True) | ||
name: Optional[str] = pd.Field(None) | ||
name: Optional[str] = pd.Field("farfield") | ||
# point_in_mesh: Optional[LengthType.Point] = pd.Field( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this commented code for?
if zone["type"] == "UserDefinedFarfield": | ||
return "user-defined" | ||
return None | ||
if zone["type"] in ["UserDefinedFarfield", "CustomVolume", "SeedpointZone"]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we consider CustomVolume
being equivalent to user-defined farfield? What if AutomatedFarfield was specified after the CustomVolume?
if param_as_dict.get("meshing", None) is not None: | ||
beta_mesher_triggers.append( | ||
param_as_dict.get("meshing", {}).get("surface_meshing", {}).get("type", "") | ||
== "SnappySurfaceMeshingParams" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the Snappy is also considered "beta mesher"?
|
||
def test_version(): | ||
assert __version__ == "25.7.4b0" | ||
assert __version__ == "25.8.0b3" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the introduction of these new schema we need to bump "real" version. The beta version is not used anywhere (for example updated) in Python client.
assert __version__ == "25.8.0b3" | |
assert __version__ == "25.8.1b3" |
Merging the snappy python interface as well as the newly discussed ModularMeshingWorkflow to the main python branch.